sub_set02へ戻る

名称 ・・・・・・・

アフィン変換用マトリックス(Y軸中心の回転移動)

ルーチン名 ・・・・・・・

RoteMatY

スクリプトNo ・・・・・・・ sub_set02- 004
file名 ・・・・・・・ ScriptSet02.lzh
sub_set02のページからセットごとダウンロードしてください。
概略 ・・・・・・・

Y軸の正方向から見て反時計回りに指定角度分だけ回転移動する変換マトリックスを戻す。

使用例実行前 使用例実行後
使用前提 ・・・・・・・

戻り値を受け取る通常のバリアント変数(配列では無く)を宣言して用意しておく。

依存関係 ・・・・・・・

iniMat

:マトリックス内の要素をすべて0に初期化する(sub_set02-001)

引数説明 ・・・・・・・

Delta

:(in)Y軸周りの回転角度(ラヂアン)

戻り値説明 ・・・・・・・

4行4列の回転移動変換マトリックス [mat(3,3)形式]

変数説明 ・・・・・・・

mat(3,3)

4行4列の買い手に同変換マトリックス [mat(3,3)形式]

注意点 ・・・・・・・

引数の角度はラヂアン指定なので注意
呼び出し側では通常のバリアント変数で戻値を受ける。

 
スクリプト
'---アフィン変換用マトリックス(Y軸周り回転移動)
Function RoteMatY(Delta)
'Y軸を中心に回転する時の変換マトリックスを取得する
'戻値--4行4列の回転移動変換マトリックス[mat(3,3)]形式
'引数--
' Delta  :(in)Y軸周の回転角度(ラヂアン)

  Dim mat(3,3)      ':マトリックスを保持する変数

  call iniMat(mat)
  mat(0,0)=cos(Delta)
  mat(0,2)=-sin(Delta)
  mat(1,1)=1
  mat(2,0)=sin(Delta)
  mat(2,2)=cos(Delta)
  mat(3,3)=1
  RoteMatY=mat
end Function
使用例

'線形状が入っているパートを選択して実行してください 'X軸を中心に回転テスト dim mat0 mat0=GetTransMat() mat0=transMat(mat0,RoteMatY(xshade.pi/4)) ApplyTransMat(mat0)

sub_set02へ戻る