plottools[rotate] - PLOT および PLOT3D データ構造の回転
使い方
rotate(p, ang, pt_2d)
rotate(q,alpha,beta,gamma)
rotate(q,alpha,[pt_3d_1,pt_3d_2])
パラメータ
p - PLOT データ構造、または、2-D オブジェクト
ang - 反時計方向の回転角(ラジアン)
pt_2d - (オプション) 回転の中心を指定する 2個の実数のリスト (2D の場合)
q - PLOT3D データ構造、または、3-D オブジェクト
alpha - x 軸の周りの回転角(ラジアン)
beta - y 軸の周りの回転角(ラジアン)
gamma - z 軸の周りの回転角 (ラジアン)
pt_3d_1, pt_3d_2 - (オプション) 3個の実数のリスト
|
説明
|
|
•
|
rotate 関数は、PLOT データ構造またはオブジェクトから、指定された角度だけ回転した新しいプロット構造またはオブジェクトを生成します。
|
•
|
入力 p と q は、PLOT および PLOT3D データ構造またはオブジェクトでなくてはいけません。2-D プロットとオブジェクトに対して、ang は反時計方向の回転角度を表しています。
|
•
|
3-D プロットとオブジェクトに関しては、x, y, z 軸からなるもとの直交座標系は、もとの座標軸と原点を同じにした後、 x 軸の周りを角度 alpha だけ回転させ、次に y 軸の周りを角度 beta だけ回転させ、最後に z 軸の周りを角度 gamma だけ回転させて得られる、 x1, y1, z1 軸からなる 第2の直交座標系に対応します。すべての回転は、左手則に従います。すなわち、もし、左親指を回転軸の正の方向に向けると、指は回転方向に向かって握られたようになっているのです。
|
•
|
呼び出し手順が rotate(q,alpha,[pt_3d_1,pt_3d_2]) の形のとき、 pt_3d_1 と pt_3d_2 は回転軸を定義します。
|
•
|
コマンド with(plottools,rotate) を用いると、このコマンドの省略形の使用が可能になります。
|
|
|
例
|
|
>
|
with(plottools):
p := plot([sin(x),x,x=0..2*Pi]):
rotate(p, Pi/3);
p := plot3d([(1.3)^x * sin(y),x,y],x=-1..2*Pi,y=0..Pi):
rotate(p,Pi/3,Pi/4,Pi/5);
plots[display](rotate (hyperbola([0,0],1,1,-2..2), Pi/4));
r[0] := sphere([3,0,0],1.):
l := [[0,0,0],[0,0,1]]:
a := Pi/4: c := 1:
while evalf(a-2*Pi) < 0 do
r[c] := rotate(r[0],a,l);
a := a+Pi/4;
c := c+1;
end do:
plots[display]([seq(r[i],i=0..c-1)]);
|
|
|