如何在three.js中将x、y、z坐标数据转换为几何(顶点、面)?

How to convert x, y, z coordiate data to geometry (vertex, face) in three.js?

我有一组[x,y,z]坐标数据,它们形成一个space。

例如 (0,0,-3000),(1848,0,-3000),(1848,-5177,-3000),(0,-5177,-3000), (0,0,0),(1848,0,0),(1848,-5177,0),(0,-5177,0)

我想使用 three.js 渲染 space 坐标。 我正在尝试创建一个函数来创建要渲染的几何对象。 但是,设置顶点和面似乎很棘手。

在three.js中是否有一种简单的方法将xyz坐标渲染为几何图形?

或者是否可以绘制 2D 形状(带 x、z)并使其成为 3D(带 z)? 因为对于每个几何图形,它的高度与您在给定坐标示例中看到的一样。

概念

要在 3D 中定义几何图形,您需要:

  • 3D 中的点 space;和
  • 有关您的点如何连接的信息。

对于任意形状,您需要指定连接 3 个或更多点的

或者,如果你对你的形状做出假设(例如,从你的示例坐标来看,你似乎在画一个直立的盒子)你可能只需要提供坐标.

例子

从你上面的例子来看,你的盒子似乎有:

身高:3000;宽度:1848; depth:5177

这使您能够使用:

geometry = new THREE.BoxGeometry( 1848 , 3000 , 5177 );

旁注:一个盒子应该有 8 个顶点,而不是 10 个。您已经包含了 [0,0,-3000] 和 [0,0,0] 两次。