在THREE.js中以任何方式在轮换后获得Cylinder的顶级中锋?

时间:2014-09-27 13:01:05

标签: 3d rotation three.js

我是WebGL和Three.js的新手。然后我将圆柱的原点指向底部中心。

代码:

var cylinderGeometry = new THREE.CylinderGeometry( topRadius, botRadius, randomCyliderHeight);
cylinderGeometry.applyMatrix( new THREE.Matrix4().makeTranslation( 0, randomCyliderHeight/2, 0 ) );
var cylinder = new THREE.Mesh( cylinderGeometry, material );

然后我将圆柱旋转:

cylinder.rotation.x = θ1;
cylinder.rotation.y = θ2;
cylinder.rotation.z = θ3;

如果圆柱原点的坐标是(x,y,z)。

THREE.js中是否有任何方法可以在旋转后获得气缸的顶部中心?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

翻译圆柱体几何体后,顶部中心为:

var point = new THREE.Vector3( 0, randomCyliderHeight, 0 );

现在将相同的旋转应用于您应用于圆柱的点:

point.applyEuler( cylinder.rotation );

three.js r.68