如何在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] 两次。
我有一组[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] 两次。