名称 | ・・・・・・・ |
ベジエ制御点P0〜P3の座標値の取得 |
|
ルーチン名 | ・・・・・・・ |
GetnVec |
|
スクリプトNo | ・・・・・・・ | sub_set01- 012 | |
file名 | ・・・・・・・ | ScriptSet01.lzh sub_set01のページからセットごとダウンロードしてください。 |
|
概略 | ・・・・・・・ |
与えられた線形状の座標データVec3と指定したアンカーポイント番号PtNoとPtNo+1の区間にあるbezier曲線の制御点P0からP3の座標値を取得する。 |
|
使用前提 | ・・・・・・・ |
PtNoに最終ポイントを指定するとエラーになります。(閉じた線形状の最後の弧には対応していないということです。) |
|
依存関係 | ・・・・・・・ |
直接の依存は無い |
間接的にはGetVec3(sub-004)との併用になります。 |
引数説明 | ・・・・・・・ |
Vec3 |
(in)線型状の座標データ【3次元配列】が格納されている。 |
戻り値説明 | ・・・・・・・ |
ベジエ制御点P0〜P3の座標値[2次元、3×4要素の配列] が戻りますので普通のバリアント変数で受けてください。 |
|
変数説明 | ・・・・・・・ |
i |
カウンタ用変数 |
注意点 | ・・・・・・・ |
閉じた線形状の最後の弧に対応していないことに注意!! 作ったときに必要がなかったので・・・ |
|
スクリプト | |||
'------------------------------ベジェ計算に使うP0〜P3の座標をVecから拾い出す Function GetnVec(Vec3,PtNo) '戻値---'3次のベジエ制御点P0〜P3の座標値(2次元) '引数--- ' Vec3 :(in)座標データ(アンカーポイント番号、座標軸方向[x,y,z]、ポイントの種類[アンカー,In,Out]) ' PtNo :(in)取り出す座標値のアンカーポイント番号(指定する) Dim j,P(3,2) for j=0 to 2 P(0,j)=Vec3(PtNo,j,0) 'P0:最初のポイントの座標値 P(1,j)=Vec3(PtNo,j,2) 'P1:最初のポイントのInハンドル座標値 P(2,j)=Vec3(PtNo+1,j,1) 'P2:次のポイントのOutハンドル座標値 P(3,j)=Vec3(PtNo+1,j,0) 'P3:次のポイントの座標値 next GetnVec=P End Function |
|||
使用例 | |||
主サブルーチンの例題を参照してください。 |