Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Three.js 查找顶点的相邻顶点_Three.js_3d_Vertex_Vertices_Cannon.js - Fatal编程技术网

Three.js 查找顶点的相邻顶点

Three.js 查找顶点的相邻顶点,three.js,3d,vertex,vertices,cannon.js,Three.js,3d,Vertex,Vertices,Cannon.js,我正在做一个项目,寻找一个顶点的相邻顶点,例如在一个矩形网格中,一个特定顶点(Xi,Yj,Zk)的相邻顶点 Xi+1 , Yj , Zk (right vertex) Xi-1 , Yj , Zk (left vertex) Xi , Yj+1 , Zk (top vertex) Xi , Yj-1 , Zk (bottom vertex) Xi , Yj , Zk+1 (front vertex) Xi , Yj , Zk-1 (back vertex) 但是三角形网格怎么能找到它们呢。

我正在做一个项目,寻找一个顶点的相邻顶点,例如在一个矩形网格中,一个特定顶点(Xi,Yj,Zk)的相邻顶点

Xi+1 , Yj , Zk (right vertex)
Xi-1 , Yj , Zk (left vertex)
Xi , Yj+1 , Zk (top vertex)
Xi , Yj-1 , Zk (bottom vertex)
Xi , Yj , Zk+1 (front vertex)
Xi , Yj , Zk-1 (back vertex)

但是三角形网格怎么能找到它们呢。 是否有代码可用于查找它们附近或特定范围内的顶点

我目前正在使用js脚本,特别是three.js脚本
我加载了一个3d obj模型,它是一个缓冲区几何体,然后我使用它的几何体属性得到了网格的顶点。现在对于每个顶点,我想找到它的连接顶点。。。希望找到与给定顶点共享其边的顶点。。 任何小小的引用都会大有帮助。 提前谢谢

是否有代码可用于查找它们附近或特定范围内的顶点

不,至少不在存储库中。但是,您可以自己实现一个基本的解决方案。其思想是创建一个实例来表示邻域的概念。
center
属性将是您的顶点,
radius
属性将是您的范围。然后可以迭代所有其他顶点,并调用以验证顶点是否位于定义的邻域中


three.js R115

three.js没有现成的东西,但是您可以修改一个脚本以获得所需的结果

需要比较相邻顶点位置以计算位置平均值。为了实现这一点,它将缓冲区几何体转换为带缓冲区的几何体

geometry=new THREE.geometry().fromBufferGeometry(几何体)

然后,它使用每条边查找与该边连接的两个三角形(面)。你可以从它的图片中看到这一点。如果将此脚本复制粘贴到源代码中,则可以进行修改以执行所需操作:

  • 仅搜索连接到顶点的边
  • 返回位于这些边另一侧的顶点

  • 我知道这不是一个完整的答案,但这是我能想到的最接近解决您问题的建议。

    谢谢。将尝试…但此方法也可以获取未链接到中心顶点的顶点。。如何确保只获取与中心顶点连接的对象。你说的“与中心顶点连接”是什么意思?如果你指的是三角形的其他顶点,那么,你可以从缓冲区几何体中得到这些信息。根据是索引的还是非索引的,您必须计算
    position
    buffer属性或相应的索引。我正在写一个回复,但它开始变得非常深入。我认为这个问题需要更多的注意力来集中在单个问题上,或者至少通过精确定义使用的几何体类型和绘制模式来缩小问题的范围。我加载了一个3d obj模型,它将是一个缓冲几何体。然后,我使用其几何体属性获取网格的顶点。现在对于每个顶点,我想找到它的连接顶点。。。喜欢找到给定顶点共享其边的顶点..我也对Mugen87的答案发表了评论。如果我读对了这个问题,你想要的是三角形中的邻域,而不是局部空间中的邻域。不管怎样,我认为这个问题需要更多的关注。具体来说,您使用的几何图形类型是什么<代码>几何图形
    <代码>缓冲几何体?如果是后者,它被索引了吗?是的,不在局部空间内。但更具体地说,只有那些直接连接的,比如它被包围并共享其边缘的。。这是一个索引的缓冲区几何体。谢谢你的回复。但是我是初学者,我不能让它工作。你能为它编写代码吗?@PopupDev我很乐意为你编写代码,作为一份付费合同。如果你感兴趣的话,请告诉我。我能知道要花多少钱吗。。只是出于好奇。