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

任意の点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 件のコメント

Shunichi Kusano
Shunichi Kusano 2021 年 1 月 21 日
2次元ができているということなので、3次元の三角形を2次元になるように座標変換するというのはいかがでしょうか。変換後三角形がxy平面上になっているというイメージです。2辺の外積を計算すれば、三角形が成す面に直交するベクトルが得られるのでそれがz軸になるように変換すればいいかと思います。

サインインしてコメントする。

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMatrix Indexing についてさらに検索

質問済み:

ST
2021 年 1 月 20 日

コメント済み:

2021 年 1 月 21 日

Community Treasure Hunt

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

Start Hunting!