アプリ版:「スタンプのみでお礼する」機能のリリースについて

3次元空間内で自己交差、曲率のない平面の法線ベクトルの求め方を教えてください。
平面は、(x0,y0,z0), (x1,y1,z1), ... (xn,yn,zn) という頂点配列で与えられています。

凸多角形ならば、一直線上にない任意の連続した3点の外積を取れば求まることは
簡単に分かるのですが、凹多角形の場合に、この方法を採用すると、逆向きの法線が
求まってしまう可能性があるという点で困っています。

凹凸の任意多角形平面の法線ベルトルを求めるアルゴリズムを探しています。
よろしくお願いいたします。

A 回答 (2件)

面積ベクトルを求めちゃえばいいので、


P_k = (xk,yk,zk) に対して
Σ[k=1…(n-1)] (→P_0P_k)×(→P_0P_{k+1})

コンピュータグラフィクスで使うのなら、
多角形の面積ベクトルは、ライブラリにある
のではないでしょうか?
    • good
    • 0

3次元上の平面の裏表って決まっているわけじゃないと思うのですが。



「逆向きの法線」とは、なにに対して逆向きなんでしょうか?

この回答への補足

3D空間での面の向きに関しては、例えば、コンピュータグラフィックス関連のサイトや書籍等をご参照ください。

2次元平面からの拡張を考えて、隣辺同士の外積ベクトルを全て求めて、そのベクトル平均が面の向きになると直感的には思えるのですが、正しいかどうかの確信が持てません。

ご存知の方、よろしくお願いいたします。

補足日時:2012/07/27 20:00
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!