プラットフォーム毎の座標系、ベクトル、行列の取り扱い
AGX |
Unity |
Unreal |
ROS |
SpaceClaim |
OpenGL |
DirectX |
|
---|---|---|---|---|---|---|---|
ハンドネス |
Right [1] |
Left |
Left |
Right |
Right |
Right |
Left |
上方軸 |
Z |
Y |
Z |
Z |
Z |
||
カメラ前方軸 |
X |
Z |
X |
||||
長さの単位 |
m |
m |
cm |
m |
|||
Row |
Column |
Row |
Column |
Row |
|||
Pre |
Post |
Pre [2] |
Post |
Pre |
|||
RxC |
RxC |
RxC |
CxR |
RxC |
|||
Row |
Column |
Row |
Column |
Row |
|||
反時計 |
時計 |
||||||
左下 |
左上 |
ベクトルの種類
v = Vector3(v0, v1, v2)
を行ベクトルとして扱うか、列ベクトルとして扱うか。
- Row:
行ベクトル
- Column:
列ベクトル
行列とベクトルの掛け算順
行列 A
とベクトル v
の掛け算の順番がベクトル-行列(Pre-Multiplication)か行列-ベクトル(Post-Multiplication)か。
- Pre:
v * A
。v
は行ベクトル。- Post:
A * v
。v
は列ベクトル。
行列の要素アクセス順
各要素へのアクセスを行列(row, column)の順番とするか行列(column, row)とするか。
- RxC:
行列アクセス
A[row, column]
。 0行1列A[0, 1]
= 。- CxR:
列行アクセス
A[column, row]
。 0列1行A[0, 1]
= 。
行列のメモリレイアウト
行列の要素の配列への保存順が行オーダー(Row-major order)か列オーダー(Column-major order)か。
- Row:
行オーダー
A = [a00, a01, a02, a10, a11, a12, a20, a21, a22]
- Column:
列オーダー
A = [a00, a10, a20, a01, a11, a21, a02, a12, a22]
三角形メッシュの頂点順

テクスチャ、スクリーン座標原点
