作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个像这样的球体:
var geometry = new THREE.SphereGeometry( 1, 32, 32 );
window.sphere = new THREE.Mesh( geometry, material );
scene.add( window.sphere );
然后我如何围绕球体的直径画一条线?优选地平行于x轴。这里的最终目标是使用这样一条线与文本结合来说明尺寸(例如,该球体的直径为 10m)。
最佳答案
你可以使用这个技巧:
var material = new THREE.MeshBasicMaterial( { color: 0xaaaaaa } );
var geometry = new THREE.SphereGeometry( 32, 32, 32 );
var sphere = new THREE.Mesh( geometry, material );
scene.add( sphere );
var geometry = new THREE.TorusGeometry( 31.9, 0.16, 64, 100 );
var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
var torus = new THREE.Mesh( geometry, material );
torus.rotation.x = Math.PI/2;
scene.add( torus );
http://jsfiddle.net/10hemttk/36/
更新。嗯,这种方式更正确:
var rad = 32,
delta = 0.05,
segs = 64,
material = null,
geometry = null,
circle = null,
sphere = null;
material = new THREE.LineBasicMaterial( { color: 0xffff00 } ),
geometry = new THREE.CircleGeometry( rad+delta, segs ),
geometry.vertices.shift();
circle = new THREE.Line( geometry, material );
circle.rotation.x = Math.PI/2;
scene.add( circle );
material = new THREE.MeshBasicMaterial( { color: 0xaaaaaa } );
geometry = new THREE.SphereGeometry( rad, segs, segs );
sphere = new THREE.Mesh( geometry, material );
scene.add( sphere );
关于javascript - 如何在ThreeJs中在球体直径上画一条线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30804066/
我是一名优秀的程序员,十分优秀!