// helixのグラフ表示 2006.05.21 clf() t=[0:0.1:5*%pi]'; scale = 4; deg1 = 45; //Z軸回転(Z軸 +方向 右ねじ) deg2 = 60; //Y軸回転(Y軸 +方向 右ねじ) rad1 = %pi/180*deg1; rad2 = %pi/180*deg2; xx = [0:scale]; yy = [0:scale]; zz = [0:scale]; xx2 = [(scale*0.99):scale]; yy2 = [(scale*0.99):scale]; zz2 = [(scale*0.99):scale]; param3d(xx,0*yy,0*zz,deg1,deg2,"X@Y@Z",[2,0]) // X軸 param3d(0*xx,yy,0*zz,deg1,deg2,"X@Y@Z",[2,0]) // Y軸 param3d(0*xx,0*yy,zz,deg1,deg2,"X@Y@Z",[2,0]) // Z軸 // x軸の先端 [Edit]-[axis property]でPolylineの // StyleのMarkStyleをTriangleに設定. // MarkBackGroundを-1に設定する. param3d(xx2,0*yy2,0*zz2,deg1,deg2,"X@Y@Z",[2,0]) //X軸先端 param3d(0*xx2,yy2,0*zz2,deg1,deg2,"X@Y@Z",[2,0]) //Y軸先端 param3d(0*xx2,0*yy2,zz2,deg1,deg2,"X@Y@Z",[2,0]) //Z軸先端 //helixの記述 param3d(2*sin(t),2*cos(t),t/10,deg1,deg2,"X@Y@Z",[2,0]) a=gca(); h = a.children; //get the handle of the param3d entity: an Compound composed of 2 curves h(2).mark_style = 6; //Z軸先端が三角 h(2).mark_background = -1; //マークを黒 h(3).mark_style = 6; //Y軸先端が三角 h(3).mark_background = -1; //マークを黒 h(4).mark_style = 6; //X軸先端が三角 h(4).mark_background = -1; //マークを黒 h(1).polyline_style = 4; //PolyLineStyleをarrowedに設定 h(1).arrow_size_factor = 0; //arrow_sizeを0に設定 h(1).thickness = 2; //線幅を設定 //原点O //xstring(-0.1,0,'0'); // X xstring(scale*1.1,0,'X'); // Y xstring(0,scale*1.1,'Y'); // Z // 視点ベクトルに平行でZ軸の頂点を通る直線とXY平面との交点のXY座標を用いて'Z'のラベルを記述 xstring(-1.1*scale*tan(rad2)*cos(rad1),-1.1*scale*tan(rad2)*sin(rad1),'Z'); //