グラフの回転
関数で書いたグラフを回転するには以下の式を使います。
- 例:サイン波とリサージュ波形を回転してみました。
- 左が元のグラフ、右が回転したグラフです
x=x*Math.cos(angle)-y*Math.sin(angle)
y=x*Math.sin(angle)+y*Math.cos(angle)
- 回転する角度を angle とする。
- 回転の中心は座標原点です。
- 回転角angの単位はラジアンです
sin wave
- SinWave描画
ny=a*Math.sin(time*Math.PI) ;
nx=time;
- 回転
ang=degreesToRadians(40);
x=nx*Math.cos(ang)-ny*Math.sin(ang);
y=nx*Math.sin(ang)+ny*Math.cos(ang);
[x, y]
リサージュ
- リサージュ描画
nx=Math.cos(Math.PI*2*time);
ny=Math.sin(Math.PI*2*time*2);
- 回転
ang=degreesToRadians(-30);
x=nx*Math.cos(ang)-ny*Math.sin(ang);
y=nx*Math.sin(ang)+ny*Math.cos(ang);
[x, y]