繁体   English   中英

Three.js 3D多维数据集在轴上旋转

[英]Three.js 3D Cube rotation on axis

我目前有一个要在角上旋转的立方体。 我需要它像下面的照片一样在角落旋转。

http://www.flickr.com/photos/fiu/2198328580/

我是Three.js的新手,很抱歉,这是一个愚蠢的问题。

这是我目前拥有的代码

var geometry= new THREE.CubeGeometry (200,200,200, 4, 4, 4);
             // material

            var material = new THREE.MeshLambertMaterial({
            map: THREE.ImageUtils.loadTexture('inc/cube.jpg'), overdraw: true
             }); 



            cube = new THREE.Mesh( geometry, material );
            cube.overdraw = true;
            cube.position.y = 80;
            cube.position.x = 5;
            cube.position.z = 6;
            cube.rotation.z = 14.9;
            cube.rotation.y = 0 ;
            cube.rotation.x = 0 ;


            scene.add(cube);

另一个注意事项....由于我在多维数据集上具有cube.jpg纹理,因此如果我将THREE.CubeGeometry的值设置为(200,200,200)而没有设置4,则纹理会翘曲...任何人都知道如何停止翘曲?

这就是我用来渲染的内容:

renderer = new THREE.CanvasRenderer(); renderer.setClearColorHex(0xffffff, 0); renderer.setSize( window.innerWidth, window.innerHeight ); container.appendChild( renderer.domElement );

它似乎可以在大多数浏览器上使用,但是如果我使用WebGL渲染器,则会出现画布不透明度的问题。

要查看当前的项目,请访问http://fiudevspace.com/spincube

从概念上讲,您需要做的是将多维数据集与已旋转的45度在不同的轴上旋转45度-我不使用“三”,因为它会在我和我的解决方案之间带来更多的帮助-记住物体上的经验法则旋转:首先将对象的中心平移回原点(如果尚不存在),然后围绕所需的每个轴旋转,最后将对象平移回原位(与先前平移相反)-希望这会有所帮助

该链接将帮助您围绕立方体的边缘旋转立方体。 https://github.com/mrdoob/three.js/issues/1254

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM