3

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

例如 (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 渲染空间坐标。我正在尝试创建一个函数来创建要渲染的几何对象。然而,设置顶点和面似乎相当棘手。

有没有一种简单的方法可以将 xyz 坐标渲染到 three.js 中的几何图形?

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

4

1 回答 1

2

概念

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

  • 3D空间中的点;和
  • 有关您的积分如何连接的信息。

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

或者,如果您对您的形状做出假设(例如,根据您的示例坐标,您似乎正在绘制一个直立的盒子),您可能只需要提供坐标。

例子

从上面的示例中,您的盒子似乎有:

高度:3000;宽度:1848;深度:5177

这使您能够使用:

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

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

于 2017-02-24T12:15:37.077 回答