【问题标题】:3D Trianglular Prism Closest Point3D 三棱柱最近点
【发布时间】:2015-02-27 13:45:43
【问题描述】:

我有一个 3D 非退化三角形,其正面和背面由顶点缠绕确定。这个三角形和深度d一起描述了一个直角三棱柱*(三角形的背面是“里面”,另一个三角形的面是隐含定义的)。

给定第四个点,我需要检查该点是否在棱镜内,如果是,则在给定三角形面的表面上找到离它最近的点。

注意事项:

  • This question 类似,但不是我想要的。
  • *不一定有直角三角形脸。

【问题讨论】:

  • 你知道如何在数学上做到这一点吗?
  • 我想出了一个 klugey 算法,但它很糟糕。我特意不描述,因为我真正需要的是一个好的。或者至少还不错。

标签: algorithm geometry


【解决方案1】:

使用https://stackoverflow.com/a/8361714/15472中的答案来判断一个点是否在三角形上方,可以先查看是否在底部三角形上方,然后是否在顶部三角形下方(此处反绕),如果两者都是真的,你现在知道它介于两者之间。最近的点要么是它在顶部的投影,要么是它在底部的投影。也就是说,如果你知道如何解决How can I find out if point is within a triangle in 3D?,你就可以轻松解决这个问题。

进行旋转以解决 2D 问题可能在计算上更有效;检查(现在单个)三角形是否包含该点,然后再次旋转以检查到两个投影中的每一个的距离。

【讨论】:

    猜你喜欢
    • 2015-11-27
    • 2015-05-17
    • 1970-01-01
    • 2015-01-27
    • 2016-03-12
    • 2012-05-10
    • 1970-01-01
    • 2012-09-30
    • 2018-06-17
    相关资源
    最近更新 更多