Okej, więc chce narysować wykres funkcji, iteruje sobie po osi xów, jest super, aż tu nagle patrzę:
myślę, łotaafak? :o a tu się okazuje że dla liczb całkowitych (i o dziwo połówek) funkcja mi dziwnie mnoży przez 10 :/
Oto kod, jak dodam bardzo małą liczbę tak że x już nie jest całkowity, problem znika. Widocznie z jakiegoś powodu zmienna musi być doublem :| pisanie 1.0 * x
zamiast x
nie pomaga.
function Function(a,b,c) {
this.a = a;
this.b = b;
this.c = c;
this.valueOf = function(x) {
// x += 0.000000001;
return this.a*x*x + this.b*x + this.c;
}
}
// ...
for (var i = range.min; i <= range.max; i++) {
xx = horizontalStep * i;
yy = this.scale * func.valueOf(xx / this.scale);
console.log((xx/this.scale) + " => " + yy);
if (i == range.min) {
ctx.moveTo(center.x + xx, center.y - yy);
continue;
}
ctx.lineTo(center.x + xx, center.y - yy);
}
Ja już nie rozumiem jak ten js działa :c halp