首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >网格沿z轴移动的顶点

网格沿z轴移动的顶点
EN

Stack Overflow用户
提问于 2015-11-16 08:46:30
回答 1查看 240关注 0票数 0

我试图沿着z轴移动,一个网格的顶点。网格与球体相似,不是球体,而是球体。这是从搅拌机进口的网眼。

问题是,当我沿着z轴移动一个顶点/顶点时,它就像世界坐标,我需要沿着指向网格中心的轴移动它。

例如,在3d模型软件中,我可以将轴改变为法线,以获得这种效果。

我已经检查过了,我可以用multiplyScalar方法来完成这个任务,但是它不能很好的工作,因为我需要在效果和位置之间切换。

得到它的three.js是什么?

警察:对不起,我问了个问题。多年来,我一直在使用javascript,但在three.js的书籍/教程中,我还没有学习到这个概念,我不知道如何获得它。

EN

回答 1

Stack Overflow用户

发布于 2015-11-16 11:55:34

解决这个问题的方法之一是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
            var box1 = new THREE.Mesh(
                new THREE.BoxGeometry(10,10,10),
                new THREE.MeshBasicMaterial({color: 0xff0000})
            );
            scene.add(box1);

            var box2 = new THREE.Mesh(
                new THREE.BoxGeometry(10,10,10),
                new THREE.MeshBasicMaterial({color: 0x00ff00})
            );
            box2.position.set(100,100,100);
            scene.add(box2);
            var box3 = new THREE.Mesh(
                new THREE.BoxGeometry(10,10,10),
                new THREE.MeshBasicMaterial({color: 0x0000ff})
            );
            box3.position.set(100,100,100);
            scene.add(box3);

            var direction = box1.position.clone().sub(box2.position).normalize();
            var move = new THREE.Vector3(0,0,100);
            var moveCorrected = direction.multiplyScalar( move.length() );
            box3.position.add(moveCorrected);

那里的例子 -绿色立方体以0,100的初始矢量从蓝色和红色向同一方向移动。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33740428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文