0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

3Dライブラリのカメラ座標系の違い

Last updated at Posted at 2023-03-16

この記事は?

3Dモデルを扱うライブラリは実装によって軸の向きが違います。それぞれの違いをまとめた備忘録。

3Dライブラリのカメラ座標系の違い

カメラを原点にしたときのそれぞれの軸の向き。画像の左右方向がx、上下方向がy、カメラから画像平面に下ろした垂線方向がzなのはどれも共通だが、軸の向きは実装によって異なる。レアな実装は太字にした。

ライブラリ x y z 備考
OpenGL 手前
Blender 手前
NeRF 手前 オリジナル実装
pytorch3d
COLMAP
OpenCV
Unity

変換メモ

軸向きを変えるには反転させる軸に -1 、反転させない軸に 1 をかければ良い。numpyなどによって変換前の点群が (num_points, 3) で表される場合には、反転軸に対応する要素が -1 、そうでない軸に対応する要素が 1 である対角行列を右からかければ良い。

# COLMAP -> OpenGL
new_points = points @ np.diag([1, -1, -1])  # points.shape = (num_points, 3)

その他メモ

  • バックエンドでOpenGLを使っているものはOpenGLの座標系を採用しているはず

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?