抱歉我的英语不好。
我想在 3D 中绘制几何对象的轮廓。
我有一组由 3D 中的两个点定义的线:
Line1 : P1(x1, y1, z1), P2(x2, y2, z2)
Line2 : P1(x3, y3, z3), P2(x4, y4, z4)
...
第 N 行:Pn,P(n + 1)
每条线都是几何对象的一条边:四面体、立方体、...
你知道是否有一种算法可以说:LineX 是轮廓的一部分。
或者您知道基于 3D 中的线或点计算轮廓的算法吗?
注意:我发现了一些关于凸/凹包和 alpha 形状的有趣的东西。但这对我来说太复杂了。因此,如果您有一些现有的实现,将会非常有帮助。
谢谢
最佳答案
对于二维,如果线定义了一个凸多边形,convex hull可以使用 convex hull algorithm 确定顶点的多边形, 其中 Jarvis march和 Graham scan算法是众所周知的技术。如果多边形不是凸面,则很难确定所需结果是什么。
在三个维度上,至少对于凸体,我可以想象 simplex algorithm 的修改通过depth-first search在顶点上可用于查找凸包的所有边;但实现过程并非完全直截了当。
关于算法 : Find contour from lines in 3D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29331598/