極座標ベクトル表示と三角関数波形の学習用のデモプログラム
極座標と三角関数波形の学習用のデモプログラム
processingで作成しました
視覚的効果はかなりあったように感じています。
ご自由にお使いください。
/* * vector */ // float radian = 0.0; float kakudo = 0.0; float isou; float a, b, c; void setup() { size(1220, 400); background(255,255,255); //isou = atan(150.0/100.0); } void draw() { // 振幅設定 a = 100; b = -150; c = sqrt(a*a + b*b); kakudo=kakudo+0.5; radian=kakudo*3.14159/180; isou = atan(b/a); // 座標軸 stroke(0,0,0); strokeWeight( 1 ); fill(255, 255, 255); circle(200, 200, c*2); circle(200, 200, b*2); circle(200, 200, a*2); line(200, 0, 200, 400); // y軸 line(500, 0, 500, 400); // 時間軸 line(0, 200, 1220, 200); // x軸 // line(200, 200-a, 1220, 200-a); line(200, 200+a, 1220, 200+a); // line(200, 200-b, 1220, 200-b); line(200, 200+b, 1220, 200+b); // line(200, 200-c, 1220, 200-c); line(200, 200+c, 1220, 200+c); // vector stroke(255, 0, 0); strokeWeight( 3 ); line(200, 200,200+cos(radian)*a, 200-sin(radian)*a); stroke(0, 0, 255); strokeWeight( 3 ); line(200, 200,200-sin(radian)*b, 200-cos(radian)*b); stroke(0, 255, 0); strokeWeight( 3 ); line(200, 200,200+cos(radian+isou)*c, 200-sin(radian+isou)*c); delay(10); noStroke(); // red sin() fill(255, 0, 0); ellipse(500+kakudo, 200-sin(radian)*a, 3, 3); // blue cos() fill(0, 0, 255); ellipse(500+kakudo, 200-cos(radian)*b, 3, 3); // green sin() fill(0, 255, 0); ellipse(500+kakudo, 200-sin(radian+isou)*c, 3, 3); // if(kakudo == 720){ kakudo = 0.0; delay(5000); background(255, 255, 255); } }