作者chu1216 (chu)
看板R_Language
標題[問題] 判斷空間中的一點在三角柱裡
時間Fri Jul 1 22:30:27 2022
各位好,
P,A,B,C,D這五點3D座標已知.
假設P點是(x=0.1, y=0.1, z=0.1)
並假設,ABCD四點座標如下
A=(x=0, y=0.5, z=0)
B=(x=0.5, y=0, z=0)
C=(x=0, y=0, z=0.5)
D=(x=0, y=0.5, z=0.5)
ABCD是一個3D的三角錐(四面體),
請問要怎麼用R判斷P點有沒有落在這三角錐裡面
感謝各位.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.67.178 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1656685829.A.1CE.html
※ 編輯: chu1216 (123.193.67.178 臺灣), 07/01/2022 22:47:02
1F:→ Gjerry: 檢查該點與5個構成三角柱的相對位置 07/01 23:18
2F:→ xiangying: 用3個between? 07/02 00:19
※ 編輯: chu1216 (123.193.67.178 臺灣), 07/02/2022 05:48:39
3F:推 lycantrope: ABC,ABD,ACD,BCD 4個平面方程式代入算正負 07/02 09:23
4F:→ yhliu: 覺得樓上的方法不錯, 可以用在平面上的三角形, 空間中的三 07/02 10:37
5F:→ yhliu: 角錐,及更高維空間類似問題, 甚至可用在凸多邊形, 多面體. 07/02 10:40
6F:→ andrew43: 直覺3個point.in.polygon() 07/02 10:43
7F:→ andrew43: 三個的投影面各做一次 07/02 10:45
8F:→ wayturn: 每3點求1平面,得4平面,再交集4個不等式 07/02 22:31
9F:→ yhliu: 把 4 個點(A~D) 的座標排成陣列再加一行 1 構成 4x4 矩陣, 07/03 00:19
10F:→ yhliu: 計算其行列式. 再逐一將4個點之一以欲測點替代, 如正負號全 07/03 00:21
11F:→ yhliu: 未發生變化, 即表示在四面體內; 有任一發生正轉負或負轉正, 07/03 00:23
12F:→ yhliu: 即是在四面體之外. 有一行列式變 0, 即待測點在對應3點決定 07/03 00:24
13F:→ yhliu: 的平面上. 07/03 00:25
14F:→ chu1216: 請問樓上yhliu大 算座標的行列式是根據什麼理論呢?謝謝 07/03 14:35
15F:→ chu1216: ! 07/03 14:35
16F:推 lycantrope: 複習一下高中數學向量跟平面吧.. 07/03 22:27