//Zeichnen von mathematischen Funktionen // var c = new Canvas(1); c.clear(); // Zeichenfläche löschen var t = new Turtle(1); // neuer Turtle auf Zeichenfläche 1 // Maßstab: 1 Einheit = 20px t.home(); t.penColor(500,500,500); t.backward(200); t.penColor(0,0,0); t.forward(200); t.backward(300); t.forward(100); t.right(90); t.forward(400); t.backward(800); t.forward(400); t.left(90); for (var i=1; i<20;i++) { t.forward(i*20); t.right(90); t.forward(5); t.forward(-10); t.forward(5); t.left(90); t.backward(i*20);} t.right(90); for (var j=1; j<20;j++) { t.forward(j*20); t.right(90); t.forward(5); t.forward(-10); t.forward(5); t.left(90); t.backward(j*20);} t.left(180); for (var k=1; k<20;k++) { t.forward(k*20); t.right(90); t.forward(5); t.forward(-10); t.forward(5); t.left(90); t.backward(k*20);} t.right(-90); for (var l=1; l<20;l++) { t.forward(l*20); t.right(90); t.forward(5); t.forward(-10); t.forward(5); t.left(90); t.backward(l*20);} t.right(180); // y=mx+n function lineareFunktion (m,n) { t.home(); t.backward(200); var W=Math.atan2(m,1) *180/Math.PI t.forward(n*20); t.penColor(20,300,20); t.penWidth(3); t.right(90); t.left(W); t.forward(-2000); t.forward(4000); // x0 var x0=-n/m; console.log("Nullstelle:" + x0 ); t.penColor(0,0,0); t.penWidth(1); } // y=ax^2+q function quadratischeFunktion (a,q){ t.home(); t.backward(200); t.forward(q*20); if (a>0){}else{t.right(180);} t.penColor(300,20,20); t.penWidth(3); t.right(90); for (var p=0;p<20;p++){ var h=(p+1)*(p+1)*a var V=Math.atan2(h,p+1) *180/Math.PI var d=Math.sqrt((p+1)*(p+1)+(p+1)*(p+1)) t.left(V); t.forward(d*20); t.right(V); } t.home(); t.penColor(0,0,0); t.penWidth(1); t.backward(200); t.forward(q*20); if (a>0){}else{t.right(180);} t.penColor(300,20,20); t.penWidth(3); t.left(90); for (var p=0;p<20;p++){ var h=(p+1)*(p+1)*a var V=Math.atan2(h,p+1) *180/Math.PI var d=Math.sqrt((p+1)*(p+1)+(p+1)*(p+1)) t.right(V); t.forward(d*20); t.left(V); } // x0 if (q==0){ console.log("Nullstelle:0"); }else if (q>=0 && a>=0){ console.log("Es gibt keine Nullstelle"); }else if (q<=0 &&a<=0){ console.log("Es gibt keine Nullstelle"); }else { var D=q/a var x01=- Math.sqrt(-D); var x02=Math.sqrt(-D); console.log("Nullstellen:" + x01 + "," + x02); } t.penColor(0,0,0); t.penWidth(1); } // y=b*sinx+c function Sinusfunktion(b,c){ t.home(); t.backward(200); t.forward(c*20); t.penColor(20,20,300); t.penWidth(3); t.right(90); if (b==0){ console.log("b sollte nicht 0 sein"); } var Q =Math.atan2(b,Math.PI/2) *180/Math.PI var F=Math.sqrt(b*20*b*20+Math.PI*Math.PI/4*400) t.left(Q); t.forward(F); var QQ= 180-(180-2*Q) for (var r=0;r<20;r++){ t.right(QQ); t.forward(2*F); t.left(QQ); t.forward(2*F); } t.penColor(0,0,0); t.penWidth(1); t.home(); t.backward(200); t.forward(c*20); t.penColor(20,20,300); t.penWidth(3); t.left(90); t.left(Q); t.forward(F); for (var s=0;s<20;s++){ t.right(QQ); t.forward(2*F); t.left(QQ); t.forward(2*F); } // x0 if (c>b){ console.log("Es gibt keine Nullstellen"); } if (c==0){ console.log("Nullstellen: k*PI"); } if (b-c==0 ){ console.log("Nullstellen: 3/2*PI+k*2PI"); } if (b-c!==0){ console.log("DARAN ARBEITE ICH NOCH"); } }
lineareFunktion(-0.5,4); quadratischeFunktion(0.5,-2); Sinusfunktion(3,2);
ausführen