はじめに
Profile Prametric Mk3 の各機能の動作をまとめてみた
Line To
- 現在のポイントから指定した座標へ線を引く
- L
(<2v coordinate>)+ ["n = " num_segments] [z]
- 大文字は絶対座標、小文字は相対座標
default x = 2; default y = 3; L x,y;
HorLineTo To
- x分平行線を描く
H {x})+ ["n = " num_segments] ";"
- 大文字は絶対座標、小文字は相対座標
default straight_length = 5; H straight_length;
VertLineTo
- y分水直線を描く
V (<y>)+ ["n =" num_segments] ";"
- 大文字は絶対座標、小文字は相対座標
default straight_length = 5; V straight_length;
CurveTo
- control1 は始点の制御点, control2 は終点の制御点, knot2 は終点の座標
C (<2v control1> <2v control2> <2v knot2>)+ ["n = " num_verts] [z]
- 大文字は絶対座標、小文字は相対座標
default h1_x = 2; default h1_y = 2; default h2_x = 3; default h2_y = 4; default to_x = 5; default to_y = 0; default n = 10; C h1_x,h1_y h2_x,h2_y to_x,to_y n = n;
SmoothCurveTo
- 現在の地点から x,y へ三次ベジェ曲線を描く
S (<2v control2> <2v knot2>)+ ["n = " num_verts] [z]
- 始点側の制御点は、直前の命令の終点側の制御点と現在の点を挟む対象点とみなす
- control2 は終点側の制御点
- knot2 は終点の座標
- 大文字は絶対座標、小文字は相対座標
default h1_x = 2; default h1_y = 2; default to_x = 5; default to_y = 0; default n = 10; S h1_x,h1_y to_x,to_y n = n;
QuadCurveTo
Q (<2v control> <2v knot2>)+ ["n = " num_segments] [z]
- 2次ベジェ曲線を描く
- 現在の点から knot2へ2次ベジェ曲線を描く
- 大文字は絶対座標、小文字は相対座標
default h1_x = 2; default h1_y = 2; default to_x = 5; default to_y = 0; default n = 10; q h1_x,h1_y to_x,to_y n = n;
SmthQuadCurve
- T (<2v knot2>)+ [“n = ” num_segments] [z]
- 現在の点から滑らかな2次ベジェ曲線を描く
- 大文字は絶対座標、小文字は相対座標
default to_x = 5; default to_y = 0; default n = 10; t to_x,to_y n = n;
ArcTo
- 楕円弧を描く
A <2v rx,ry> <float rot> <int flag1> <int flag2> <2v x,y> ["n = " num_verts] [z]
- 現在の点から x,y へ楕円弧を描く。楕円のサイズは rx, ryで定義される
- 楕円の方位は rot で定義される。※現在の座標系において楕円を deg単位で何度回転するかを指示する
- flag1(large arc flag)とflag2(sweed flag)は弧をどのように描くかを定める
- 大文字は絶対座標、小文字は相対座標
フラグの例
default radius_x = 5; default radius_y = 3; default x_axis_rotation = 0; default flag_large_arc = 0; default flag_sweep = 0; default to_x = 4; default to_y = 3; default n = 20; a radius_x,radius_y x_axis_rotation flag_large_arc flag_sweep to_x,to_y n = n