如何在OpenGL中创建一个带三角形的偶数球?

Ren*_*ger 13 opengl

是否有公式生成一组三角坐标,其顶点位于球体上?

我可能正在寻找与之类似的东西gluSphere.然而,我需要用特定颜色为不同的三角形着色,这样我似乎无法使用gluSphere.

另外:我确实理解gluSphere沿着具有相同经度和格度的线绘制边缘,这使得三角形在极点处与其在赤道处的尺寸相比较小.现在,如果这样的公式将生成三角形,使得它们的大小差异最小化,那将是很好的.

Fat*_*tie 22

计算法线紫外线图.

幸运的是,在球体上计算法线有一个惊人的技巧.如果你考虑一下,球体上的法线实际上只不过是从球体中心到这一点的方向!此外,如果你认为它,这意味着法线在字面上等于这一点!即,它是相同的向量! - 正常情况下,不要忘记将长度标准化.

你可以赢得那一个的赌注:"是否有一个形状,所有法线碰巧正好......等于顶点?" 乍一看,你会想,这是不可能的,没有这种巧合的形状可能存在.但当然答案只是"一个半径为一的球体!" 嘿!

关于紫外线.假设你以"明显"的方式投射到2D,即"矩形"地图投影,它在球体上相对容易.在这种情况下,u和v基本上只是任何点的经度/纬度,归一化为0,1.

希望能帮助到你!

这是历史悠久的经典网页,精美地解释了如何构建一个icosphere .. http://blog.andreaskahler.com/2009/06/creating-icosphere-mesh-in-code.html


dat*_*olf 5

从单位二十面体开始.然后应用三角形的多个均匀细分,将得到的顶点距离归一化到原点.