使用three.js,如何将圆柱体从球体测量中挤出?

使用three.js,如何将圆柱体从球体测量中挤出?,three.js,Three.js,我有一个三球仪。我想做的是让用户指向它的一个给定部分,投影一个圆,然后在用户输入时,从球体中挤出一个圆柱体,圆柱体的半径和高度与用户输入成比例。我该怎么做?如果您不介意使用一些冗余三角形和看不见的对象交点,为什么不使用THREE.Cylinder geometry向场景添加一个新网格,并对其进行着色以匹配球体(比尝试修改球体几何体容易得多)?可以相对于球体的原点放置它,然后使用Sphere.add(圆柱体)而不是scene.add(cyclinder),以便新的cyclinder网格始终相对于该

我有一个三球仪。我想做的是让用户指向它的一个给定部分,投影一个圆,然后在用户输入时,从球体中挤出一个圆柱体,圆柱体的半径和高度与用户输入成比例。我该怎么做?

如果您不介意使用一些冗余三角形和看不见的对象交点,为什么不使用
THREE.Cylinder geometry
向场景添加一个新网格,并对其进行着色以匹配球体(比尝试修改球体几何体容易得多)?可以相对于球体的原点放置它,然后使用
Sphere.add(圆柱体)
而不是
scene.add(cyclinder)
,以便新的cyclinder网格始终相对于该球体保持不变


要解决问题的“指向球体表面”部分,请查看THREE.js
Raycaster
示例。使用光线投射器确定它们指向的位置,然后从那里画图。

问题是,当人们想“打孔”球体而不是取出球体时;而且,整个东西的纹理可能看起来有点糟糕,那么你还没有很清楚地定义问题,是吗?在这种情况下,我建议绘制几何体所需的基本体与表示此类几何体所需的基本体并不完全相同。你应该在一个高层次上考虑你需要的操作,然后在飞行中进行调整。