geometry - 平行线的凸包

标签 geometry convex-hull

我在 3D 空间中有任意多条线,它们都彼此平行。现在我想找到这些线的凸包。为了说明这一点,我画了一张图: enter image description here

我知道所有线的起点和终点(蓝点)。线路的长度并不相同。如果观看者朝线条方向(在图中标记为观看者方向)看,他只会看到点。现在我想找到这些点的凸包。希望我的意思很清楚。

我的想法是将起点或终点投影在垂直于线方向的平面上。之后,我可以对这些点应用某种凸包算法。但我不知道怎么办。

最佳答案

你的想法完全正确。实现此目的的一种方法是沿您的观察方向定义一个矢量v,然后将v旋转到z轴。相同的旋转会将直线转换为垂直线。然后放下端点的 z 坐标以获得投影点。然后计算凸包。网络上到处都有船体算法,包括我自己的 here .

关于geometry - 平行线的凸包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17729784/

相关文章:

android - 圆形按钮动态大小android

c++ - 3D 重心点交点

algorithm - 在段和连接器的集合中检测所有闭合路径的最有效方法是什么?

actionscript-3 - AS3 - 几何 - 点在 2D 平面上的透视投影

algorithm - 如何有效地确定多边形是凸面、非凸面还是复杂面?

algorithm - 凸包由最大组成。 n 点

matlab - 获取属于凸包的点

Python - 具有一些允许的内部点的凸包

java - 按极角排序

algorithm - 使用 minkowski 和进行碰撞预测