【问题标题】:Select Hexagonal Face in OctahedronGeometry THREE.js在 OctahedronGeometry THREE.js 中选择六边形面
【发布时间】:2015-03-20 19:04:53
【问题描述】:

我有一个测地线球体——它是使用THREE.OctahedronGeometry 创建的——我想将三角形​​面分组为六边形面,以便可以选择它们。我不知道如何解决这个问题,或者它是否可行。任何见解将不胜感激。

这是一个例子:

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)

【问题讨论】:

    标签: javascript coffeescript three.js geometry


    【解决方案1】:

    这很可能是不可能的,但您可以尝试一个非常接近六边形的 voronoi 图:Spherical Voronoi Tessellation with Java 7: need fix for winding vertices around faces

    【讨论】:

    • 感谢您的指点。我将对此进行调查 - 如果成功,我会将您的答案标记为正确。
    • @ForeignObject:我认为六边形平铺不相等。
    • 我同意,我很确定不可能覆盖相同大小的六边形球体。
    • @ForeignObject:如果我的回答有帮助,请考虑接受和/或投票!谢谢!
    • 谢谢,在做了更多研究之后,您的回答帮助我找到了更好的方向。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多