【发布时间】:2018-06-08 04:28:04
【问题描述】:
用three.js 制作的三角形如何围绕其边缘之一旋转?当我尝试旋转它时,它看起来像它的中心一样。
三角形由以下组成:
var triangleMesh;
var triangleGeometry = new THREE.Geometry();
triangleGeometry.vertices.push( new THREE.Vector3( 0.0, 1.0, 0.0 ) );
triangleGeometry.vertices.push( new THREE.Vector3( -1.0, -1.0, 0.0 ) );
triangleGeometry.vertices.push( new THREE.Vector3( 1.0, -1.0, 0.0 ) );
triangleGeometry.faces.push( new THREE.Face3( 0, 1, 2 ) );
triangleGeometry.faces[0].vertexColors[0] = new THREE.Color(0xFF0000);
triangleGeometry.faces[0].vertexColors[1] = new THREE.Color(0x00FF00);
triangleGeometry.faces[0].vertexColors[2] = new THREE.Color(0x0000FF);
var triangleMaterial = new THREE.MeshBasicMaterial({ vertexColors:THREE.VertexColors, side:THREE.DoubleSide });
triangleMesh = new THREE.Mesh( triangleGeometry, triangleMaterial );
triangleMesh.position.set(-1.5, 0.0, 4.0 );
triangleMesh.position.z -= 5;
triangleMesh.rotation.z += angle * Math.PI / 180; // angle is from outer for loop
parent.add( triangleMesh );
我需要围绕一个边缘旋转它来构建棱镜/六边形。
【问题讨论】:
-
您能否说明一下您的意思是 “我需要围绕一个边缘旋转它来构建棱镜/六边形。”?
-
当三角形在屏幕上时,你可以看到它的整个平面,一个边向上,我想把三角形旋转60度,比如说顺时针旋转60度,围绕这个上边,把它进入父对象,所以我可以旋转下一个三角形,围绕其上边缘旋转 120 度,依此类推,直到六边形在 6 次运行后存在(因此每个图块 60 度)。
-
我想,你的意思是你想围绕它的顶部顶点旋转那个三角形
[0.0, 1.0, 0.0]?如果不是,那么最好显示所需结果的解释性图片。
标签: javascript object three.js rotation