【发布时间】:2017-07-09 22:15:19
【问题描述】:
我想使用 three.js 创建一个应用程序,用户可以在其中在网格上绘制多边形(实际上是面部循环)。
用户将使用鼠标和光线投射器选择面 A 和 B,然后我想找到 A 和 B 之间最短路径上的所有面并为它们着色。
是否有任何内置实用程序可以帮助解决此问题,或者有任何示例可供使用?
我还没有找到任何东西,除非你能指导我做一些事情,否则我将自己实现一个最短路径算法......我想我必须从创建 threejs 几何的邻接列表开始。
【问题讨论】:
-
使用
THREE.Geometry,您可以访问facesproperty,它是几何体中所有面的列表。THREE.BufferGeometry没有这种便利,但如果您担心的话,效率会更高。您仍然知道position属性中的每三个值都是一个顶点。这些通常由index属性引用,每三个索引组成一个面。