povrayでのmesh2

povrayのmesh2関数ではまった。

mesh2は三角メッシュを生成する関数。三角メッシュは、ようは小さい三角形の平面の集合。
mesh2{
vertex_verctors{N
,
,

}
face_indices{M
,
,

}
}
vertex_vectorsでN個の頂点を宣言。face_indicesでM個のパッチを宣言するわけなんだけど、問題は各メッシュの法線方向。平面なので、法線方向に関する曖昧性がある。それを指定するのはinside_vectorで、これを設定すれば、オブジェクトの内側がどこかとかが設定できるとマニュアルに書いてあったが、どうもそんな感じじゃなかった。
traceマクロでnormalを取ってみると、パッチ毎に法線方向がバラバラだった。
どうも、face_indicesでパッチの頂点を指定する時に、頂点番号の並び順に左手系で進行方向を決めるようだ。例えば、以下のように頂点0,1,2がそれぞれ左上、左下、右下にあるとする。この時、頂点番号をと記述すると画面の裏側に突き進む方向を向いたパッチという風になり、と記述すると逆に画面から飛び出てくる方向を向いたパッチになる。

頂点0

頂点1     頂点2

今回はprimitiveなシーンを自作メッシュで・・・という事をやる必要があったため、はまったものの面白い設定に気づけた。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s