Javascript 从顶点创建边,仅创建面

Javascript 从顶点创建边,仅创建面,javascript,graphics,3d,Javascript,Graphics,3d,我需要尝试并计算OBJ文件中使用的边,现在OBJ文件不包括边,因此仅使用顶点和面,我需要创建边以适合我的模型结构 如何仅使用面创建边 顶点数据片段 v 1.6946 0.0000 -39.7987 //V1 v 8.5498 6.3593 -32.5369 //V2 v 10.1957 0.0000 -38.6795 //V3 v 1.6946 6.3593 -33.4394 //V4 v 6.9039 -0.0000 -26.3943 //V5 人脸数据片段 f 1 2 3 f

我需要尝试并计算OBJ文件中使用的边,现在OBJ文件不包括边,因此仅使用顶点和面,我需要创建边以适合我的模型结构

如何仅使用面创建边

顶点数据片段

v  1.6946 0.0000 -39.7987 //V1
v  8.5498 6.3593 -32.5369 //V2
v  10.1957 0.0000 -38.6795 //V3
v  1.6946 6.3593 -33.4394 //V4
v  6.9039 -0.0000 -26.3943 //V5
人脸数据片段

f 1 2 3 
f 1 4 2 
f 4 5 2 
f 4 6 5 
所以面1由顶点1、2和3组成
我是否应该创建边,即1对2、2对3和3对1?

你是对的。面1将是(v1、v2、v3),面2将是(v2、v3、v4),等等。

是的,为每个面创建1到2、2到3和3到1的边将提供对象中的所有边。请注意,当在多个面中使用某些边时,可能(也可能会)有重复的边。

我找到了要做的事情,我取了前两个顶点,然后做了一个for循环,检查它们是否是我制作的边数组,如果不是,则将它们推到数组上,如果是,则不,然后告诉我的面部结构像这样接受for循环“i”值

var tempVer1 = faces[i][0];
            var tempVer2 = faces[i][1];

            tempEdge1 = tempEdges.length;
            var change = false;
            for(k=0;k<tempEdges.length;k++)
            {
                if(tempEdges[k][0] == tempVer1 && tempEdges[k][1] == tempVer2) 
                    {
                    change = true;
                    tempEdge1 = k;
                    }
                    else if(tempEdges[k][0] == tempVer2 && tempEdges[k][1] == tempVer1)
                    {
                    change = true;
                    tempEdge1 = -k;
                    }
            }
var tempVer1=faces[i][0];
var tempVer2=面[i][1];
tempEdge1=tempEdges.length;
var变化=假;

对于(k=0;kI不认为这有什么关系,因为我只是想把模型粘贴到我的结构中,这样我就可以使用我的方法:)