作者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/cn.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