Javascript 在八面体几何3.js中选择六边形面
我有一个测地线球体-它是使用Javascript 在八面体几何3.js中选择六边形面,javascript,coffeescript,three.js,geometry,Javascript,Coffeescript,Three.js,Geometry,我有一个测地线球体-它是使用THREE.八面体几何法创建的-我想将三角形面分组为六角形面,以便可以选择它们。我不知道如何处理这个问题,或者它是否可行。如有任何见解,将不胜感激 下面是一个例子: 很可能这是不可能的,但您可以尝试一个非常接近六边形的voronoi图:。谢谢您的指针。我要研究一下这个问题。如果它是平的,我会把你的答案标记正确的。“我想六角形瓷砖是不一样的。我同意,我很确定,不可能用同样大小的六边形来覆盖一个球体。”非常感谢。谢谢,在做了更多的研究之后,你的回答帮助我找到了一个更好的
THREE.八面体几何法创建的-我想将三角形面分组为六角形面,以便可以选择它们。我不知道如何处理这个问题,或者它是否可行。如有任何见解,将不胜感激
下面是一个例子:
很可能这是不可能的,但您可以尝试一个非常接近六边形的voronoi图:。谢谢您的指针。我要研究一下这个问题。如果它是平的,我会把你的答案标记正确的。“我想六角形瓷砖是不一样的。我同意,我很确定,不可能用同样大小的六边形来覆盖一个球体。”非常感谢。谢谢,在做了更多的研究之后,你的回答帮助我找到了一个更好的方向。
createGeodesicSphere =->
geometry = new THREE.OctahedronGeometry(200, 3)
material = new THREE.MeshBasicMaterial({
color : 0xFFFFFF,
shading : THREE.FlatShading,
side : THREE.DoubleSide,
vertexColors : THREE.FaceColors,
overdraw : true
})
# Explode geometry so each face has unique vertices
explodeModifier = new THREE.ExplodeModifier()
explodeModifier.modify(geometry)
geodesicMesh = new THREE.Mesh(geometry , material)
geodesicFaces = geometry.faces
for i in [0..geodesicFaces.length-1]
geodesicFaces[i].color.setRGB(Math.random(), Math.random(), Math.random())
geodesicMesh.position.x = 0
geodesicMesh.position.y = 0
geodesicMesh.position.z = 0
scene.add(geodesicMesh)