获取顶点之间的边(外部多边形)

时间:2019-10-14 21:02:36

标签: math three.js geometry computational-geometry

我正在使用THREE.JS,并且我有一个具有不同表面的网格。在每个表面上,我都有其顶点。现在,我要创建边(将顶点与线连接)。顶点按任意顺序排列,所以我不能简单地将v1与v2连接,将v2与v3连接,依此类推。我认为我必须顺时针或逆时针用射线穿过它们,并以某种方式将它们放置在正确的位置,并且我必须以某种方式检查它们的距离,以使内部顶点之间的水平线不会出现,而应该走沿着真实的边缘,但是我不知道如何...有什么想法吗?

(球体是顶点,是表面的真实角,橙色线是需要校正的错误边缘,蓝色线是每个单面的边缘) enter image description here

我需要创建这8条边(红色) enter image description here

1 个答案:

答案 0 :(得分:0)

假设您能够为顶点分配一个唯一的数字,并且能够将每个三角形唯一地关联到一个面,并且三角剖分是水密的,则一个面的边缘就是该面的三角形所共有的那些边和另一个三角形。当您拥有一张脸的所有边缘时,将它们链接到一个多边形中就很简单了。