名称 | ・・・・・・・ |
座標データのマトリックスによる変換 |
|||
ルーチン名 | ・・・・・・・ |
transVecByMat |
|||
スクリプトNo | ・・・・・・・ | sub_set02- 010 | |||
file名 | ・・・・・・・ | ScriptSet02.lzh sub_set02のページからセットごとダウンロードしてください。 |
|||
概略 | ・・・・・・・ |
位置ベクトル(または方向ベクトル等)vecに変換matをかける |
|||
|
|||||
使用前提 | ・・・・・・・ |
座標データ[vec(2)形式]と変換マトリックス[mat(3,3)形式]を用意しておく |
|||
依存関係 | ・・・・・・・ |
特になし |
|||
引数説明 | ・・・・・・・ |
vec |
:(in)元の位置ベクトル(または方向ベクトル等)配列[vec(2)]形式 |
||
戻り値説明 | ・・・・・・・ |
変換後の位置ベクトル(または方向ベクトル等)配列[vec(2)]形式 |
|||
変数説明 | ・・・・・・・ |
newVec(2) |
:ベクトルを保持する変数 |
||
注意点 | ・・・・・・・ |
vecとmatは配列構造が違うので引数の順番を間違わないように注意 |
|||
スクリプト | |||||
'---座標データのマトリックスによる変換 Function transVecByMat(vec,mat) '位置ベクトル(または方向ベクトル等)vecに変換matをかける '戻値--変換後の位置ベクトル(または方向ベクトル等)配列[vec(2)]形式 '引数-- ' vec :(in)元の位置ベクトル(または方向ベクトル等)配列[vec(2)]形式 ' mat :(in)適用する変換マトリックス 配列[mat(3,3)]形式 Dim newVec(2) ':ベクトルを保持する変数 Dim i,j ':カウンタ用変数 for i=0 to 2 newVec(i)=0 for j=0 to 3 if j=3 then newVec(i)=newVec(i)+mat(j,i) else newVec(i)=newVec(i)+vec(j)*mat(j,i) end if next next transVecByMat=newVec end Function |
|||||
使用例 | |||||
|