点の領域内判定(三角形) 3次元座標

26 views (last 30 days)
ST
ST on 20 Jan 2021
Commented: Shunichi Kusano on 21 Jan 2021
任意の点Pが三角形ABCの内側(平面上、線上は含まない)にあるかどうかを判定したいです。
2次元のものはできたのですが、3次元座標の場合はどのようにしたら良いですか。
P(px,py) A(p0x,p0y) B(p1x,p1y) C(p2x,p2y)・・・2次元の場合
2次元の場合は、inpolygonを用いたものまたは、ベクトルの計算で判定できましたが、3次元のものがうまくできません。
P(px,py,pz) A(p0x,p0y,p0z) B(p1x,p1y,p1z) C(p2x,p2y,p2z)・・・3次元の場合
  1 Comment
Shunichi Kusano
Shunichi Kusano on 21 Jan 2021
2次元ができているということなので、3次元の三角形を2次元になるように座標変換するというのはいかがでしょうか。変換後三角形がxy平面上になっているというイメージです。2辺の外積を計算すれば、三角形が成す面に直交するベクトルが得られるのでそれがz軸になるように変換すればいいかと思います。

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!