我有一个3D非简并三角形,正面和背面由顶点绕组决定。此三角形与深度 d 一起描述了一个直角三角形棱镜*(三角形的背面是“内部”,另一个三角形面是隐式定义的。)
鉴于第四点,我需要检查该点是否在棱镜内,如果是,在给定三角形面的表面找到最接近点。
注意:
答案 0 :(得分:1)
使用https://stackoverflow.com/a/8361714/15472中的答案来查找某个点是否在三角形上方,您可以先检查它是否在底部三角形上方,然后检查它是否位于顶部三角形下方(此处反向缠绕),如果两者都是真的,你现在知道它介于两者之间。最近点是其顶部投影或底部投影。也就是说,如果你知道如何解决How can I find out if point is within a triangle in 3D?,你可以轻松解决这个问题。
进行旋转可能会在计算上更有效率,从而导致2D问题;检查(现在是单个)三角形是否包含该点,然后再次旋转以检查两个投影中每个投影的距离。