可以改变倾斜平面的坐标系吗?

时间:2013-06-18 15:04:55

标签: three.js coordinate-systems

我在场景中添加了一个新的THREE.PlaneGeometry(),它在XY平面中以[0,0,0]直立显示,其法线朝向+ Z轴。然后我发出plane.rotation.x = -Math.PI / 2来放下飞机,使它的法线正面朝上。

我遇到的问题是现在平面的+ Y轴沿着全局-Z轴定向。

由于飞机代表地形,我希望能够调整顶点的高度以模拟海拔高度(海拔高度)。因此,我想要能够在代码中编写的内容是这样的:

plane.geometry.vertices[i].y = 3;

...但是这样做只是沿着Z轴移动顶点-3单位,使平面像平头一样平坦。

可以编写一个抽象函数来为我映射坐标,但我宁愿不这样做,因为它增加了代码并阻碍了对数据结构的直接访问(这在试验时很好)

是否存在永久更改平面坐标系以使其与全局坐标系匹配的方法?这样的plane.geometry.vertices [i] .y ++实际上会导致地形上的撞击?

干杯。

1 个答案:

答案 0 :(得分:1)

在创建网格之前,不要旋转网格,而是对几何体本身应用旋转。

geometry.applyMatrix( new THREE.Matrix4().makeRotationX( - Math.PI / 2 ) );

three.js r.58

相关问题