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 5 years have passed since last update.

超ど素人がRendarManをいじってみる~RIBファイルのカメラの視点編~

Posted at

カメラの視点がよくわらない

参考にしたサイトです。 [lucille](http://lucille.sourceforge.net/docs/japanese/tutorial/tutorial1.html)  レンダラの一つです。 フォトリアリスティックな表現を高速に行うことができるGIレンダラーということで「lucille」っていうのが紹介されていました。

最初に、lucilleを取得するつもりはないです。
ただ、カメラの視点っていうのがわからないので、理解しやすかったページを載せているだけです。。

座標について

RenderManは左手座標系(left-handed coordinate system)でジオメトリの位置を定義しているそうです。 左手座標系ってこんなイメージ ![スクリーンショット 2015-04-09 17.17.03.png](https://qiita-image-store.s3.amazonaws.com/0/39911/6cba00ae-9c6f-f35f-a7b5-a899a51054bb.png)親指がX軸、人差し指がY軸、中指がZ軸

カメラの設定やライトの設定がRIBファイルに記載していなくても、デフォルトの設定が持ちいられるので画像が出力されるとのことです。

例えば、こんなソースだとデフォルト設定ってことです。

sample2.rib
# sample2.rib : sample2 rib file
Display "sample2.tiff" "file" "rgba"
WorldBegin
Color [ 0.2 0.4 0.6 ] 
Polygon "P" [ 0.5 0.5 0.5    #右上
              0.5 -0.5 0.5   #右下
              -0.5 -0.5 0.5  #左下
              -0.5 0.5 0.5 ] #左上
WorldEnd

スクリーンショット 2015-04-09 17.36.25.png

デフォルトでは、
・カメラは原点 (0,0,0) 、(0,0,1) の方向
・平行投影カメラ

Polygonは多角形表示するそうです。
"P" は position 頂点の位置を意味してます。
角括弧の中の数値は、スペースで区切ります。[]でくくらないとエラーになります。
四角形を作っているので、頂点は4箇所。XYZ軸なので、3 つの組が必要です。

sample2.rib
# sample2.rib : sample2 rib file
Display "sample2.tiff" "file" "rgba"

# カメラの設定
Projection "perspective" "fov" [90.0]

WorldBegin
Surface "constant"
Color [ 0.2 0.4 0.6 ]
Polygon "P" [ 0.5 0.5 0.5    #右上
              0.5 -0.5 0.5   #右下
              -0.5 -0.5 0.5  #左下
              -0.5 0.5 0.5 ] #左上
WorldEnd

スクリーンショット 2015-04-09 18.06.36.png

Projectionによって、投影方法を指定できます。
・平行投影("orthographic") <-デフォルトはこっち
・透視投影("perspective")  <-今回こっち
ここでは投影方法だけを指定しているので、カメラは原点にあり、z軸正方向を向いているそうで、どうやら、原点 (0,0,0) 、(0,0,0) の方向ってことで大きくなったみたいです。
数値は視野角で [0, 180] の間で度数で設定できます。
角度の値を小さくすると望遠レンズ、大きくすると魚眼レンズとなるみたいです。

sample2.rib
# sample2.rib : sample2 rib file
Display "sample2.tiff" "file" "rgba"

# カメラの設定
Projection "perspective" "fov" [90.0]
Translate 0.0 0.0 1.0

WorldBegin
Surface "constant"
Color [ 0.2 0.4 0.6 ]
Polygon "P" [ 0.5 0.5 0.5    #右上
              0.5 -0.5 0.5   #右下
              -0.5 -0.5 0.5  #左下
              -0.5 0.5 0.5 ] #左上
WorldEnd

スクリーンショット 2015-04-09 17.36.25.png

TranslateのZ軸の方向に1.0を設定すると、最初のデフォルトの表示と同じになりました。
Translateを (0,0,-1) 移動する、画面手前(負のz軸)に移動させるとシーンはカメラから遠ざかるので、画像が消えます。
2次元の平べったい四角なので。。。

回転を加えてみる

sample2.rib
# sample2.rib : sample2 rib file
Display "sample2.tiff" "file" "rgba"

# カメラの設定
Projection "perspective" "fov" [90.0]
Translate 0.0 0.0 1.0
# 回転
Rotate 45.0 1.0 0.0 0.0

WorldBegin
Surface "constant"
Color [ 0.2 0.4 0.6 ]
Polygon "P" [ 0.5 0.5 0.5    #右上
              0.5 -0.5 0.5   #右下
              -0.5 -0.5 0.5  #左下
              -0.5 0.5 0.5 ] #左上
WorldEnd

Rotateは原点を中心にして回転させてます。
1番目に回転量(度)、その後ろに、回転軸(x,y,z軸)
X軸に45度回転
スクリーンショット 2015-04-09 19.12.51.png

Rotate 45.0 0.0 1.0 0.0

今度はY軸に45度回転に指定してみます。
スクリーンショット 2015-04-09 19.14.48.png

Rotate 45.0 0.0 0.0 1.0

今度はZ軸に45度回転に指定してみます。
スクリーンショット 2015-04-09 19.16.00.png

なんとなくわかったかな。。

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?