MGetAxis2

基本軸上のベクトルを指定の3軸上のベクトルに変換する行列を取得する

val = MGetAxis2(XAxis, YAxis, ZAxis, Pos)

VECTOR XAxis : 任意のX軸の基本軸上での方向
VECTOR YAxis : 任意のY軸の基本軸上での方向
VECTOR ZAxis : 任意のZ軸の基本軸上での方向
VECTOR Pos : 任意の3軸の基本軸上での原点

(プラグイン / モジュール : DxLibW)

解説

基本軸上のXYZ値を任意の3軸上のXYZ値に変換する行列を作成します。

戻り値行列
m[0][0]=XAxis.x m[0][1]=YAxis.x m[0][2]=ZAxis.x m[0][3]=0.0f
m[1][0]=XAxis.y m[1][1]=YAxis.y m[1][2]=ZAxis.y m[1][3]=0.0f
m[2][0]=XAxis.z m[2][1]=YAxis.z m[2][2]=ZAxis.z m[2][3]=0.0f
m[3][0]=-( Pos.x * XAxis.x + Pos.y * XAxis.y + Pos.z * XAxis.z )
m[3][1]=-( Pos.x * YAxis.x + Pos.y * YAxis.y + Pos.z * YAxis.z )
m[3][2]=-( Pos.x * ZAxis.x + Pos.y * ZAxis.y + Pos.z * ZAxis.z )
m[3][3]=1.0f

※ この関数は #cfuncst (MATRIX) で宣言されています。
戻り値は構造体 MATRIX (64バイト) です。

代入するだけで自動的に構造体変数が作成されます:
  v = MGetAxis2(...)   ; auto dim + copy
代入後はメンバにアクセスできます:
  mes v->m00
  mes v->m01
  mes v->m02
  ...

関連項目

MGetAxis2D基本軸上のベクトルを指定の3軸上に投影したベクトルに変換する行列を取得する( x' = XAxis.x * ( x - Pos.x ) + XAxis.y * ( x - Pos.x ) + XAxis.z * ( x - Pos.x ) y' = YAxis.x * ( x - Pos.x ) + YAxis.y * ( x - Pos.x ) + YAxis.z * ( x - Pos.x ) z' = ZAxis.x * ( x - Pos.x ) + ZAxis.y * ( x - Pos.x ) + ZAxis.z * ( x - Pos.x ) )(DxLibW)

情報

プラグイン / モジュールDxLibW
バージョン3.24f
作成日2026/04/12
著作者DxLib: Takumi Yamada / HSP binding: IronHSP Project
URLhttps://dxlib.xsrv.jp/
備考hspdxlib.as をインクルードして使用
タイプDxLib ゲームライブラリ
グループDxLib その他
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\hspdxlib.hs