利用Godot演示球体生成的4种不同的方法

时间:2023-08-06 22:04:02 来源: 哔哩哔哩

项目地址: /stanleylam19/godot-generate-sphere

许可证: WTFPL ("你他妈的想干嘛就干嘛")

视频演示: Godot写的4种生成球体的方法演示


(资料图)

演示操作可以参考上面视频,本文的作用主要是解释程序上这4种方法理论上的生成过程

1. Polar Sphere (基于极坐标生成的球体)

根据上述公式中的θ和φ这两个角度的变化来得到球体的点

演示程序中得到球体是把θ和φ分成 100 等分后渲染的结果

可修改程序中 的 X_SEGMENTS 和 Y_SEGMENTS 变量来调整θ和φ的分割数量以观察不同的球体渲染结果

2. Cube Sphere (基于正方体生成的球体)

这种生成方法也可以很直观的理解,有六面的正方体,按照一个数n来分成n个小正方形

然后将得到的点作归一化 (Normalize) 处理就可以得到球体了

演示程序中得到的球体是每个面被分成 50*50 个正方形渲染的结果

可修改程序中  的 cube_points 变量来调整正方形的分割数量以观察不同的球体渲染结果,建议设置的数值不宜超过100,否则数值太大程序会卡死

3. Icophere (基于正八面体生成的球体)

基本原理就是透过分裂正三角形来逼近球体

正八面体每个正三角形的面都按照一个数n来分成n个正三角形

然后将所有三角形的点作归一化 (Normalize) 处理就可以得到球体了

演示程序中得到的球体是 n=6 即每个面被分成1024三角形后渲染出来的结果

可修改程序中  的 tri_splitting_level 变量来调整三角形的分割次数以观察不同的球体渲染结果,建议设置的数值不宜超过9,否则数值太大程序会卡死

以下是不同n的情况的数据列表:

4. Hexphere (基于正二十面体生成的六边形表面的球体)

正二十面体生成的球体固定会有12个五边形和若干个六边形

六边形数量公式: 

2 * (m*(m+1)/2 + m) * 5      +        (m+1)*5*m         注: m = 2^n-1

(在球两边 (非赤道) 的六边形数量)   (在球的中间 (赤道) 的六边形数量) 

简化后的公式: 10*m*(m+2)

并且五边形之间都是等距步数,步长为2的倍数

生成过程前期基本原理与IcoSphere相同,首先都是透过分裂正三角形得到更多得正三角形

但需要再进一步处理才能得到正五边形和正六边形

用分裂法得到的结果显示五边形都固定在两极和中间位置,六边形也是按一定规律增减的

分裂完成后再找到每个正三角形的中心点按照发现的规律进行联立就可以了 (可参考代码)

演示程序中得到的球体是 n=5 即分成共10230个六边形并且五边形间的步距为32

可修改程序中  的 hexasphere_n 变量来调整三角形的分割次数以观察不同的球体渲染结果,建议设置的数值不宜超过7,否则数值太大程序会卡死

以下是不同n的情况的数据列表:

注:其实用正八面体按照述方法也能生成表面为六边形球体

两极和赤道的东南西北向分别都是正方形共有6个固定的正方形

感兴趣的朋友可以自己推导出来,演示代码就不包含此内容了

标签:

精彩推送

猪血属于发物吗

血液食物分类调查是目前较为流行的一种饮食方式,它的理念是通过血型对

来源:2023.08.02

成都活水公园地址 成都活水公园水车)

【快来推荐你心目中的 夏日避暑好去处 】 成都城市服务台 有布粉咨询哪

来源:2023.08.02

泡脚可以天天进行吗(泡脚可以天天进行吗?)

1、泡脚可以天天进行。泡脚是一种很好的养生保健方式,可以帮助人体缓

来源:2023.08.02

“大家放心!到北京了!” 直击K396滞留旅客“回家”

上午8时32分,因强降雨被困于门头沟落坡岭的K396次列车首批328名乘

来源:2023.08.02

蔷薇彩(关于蔷薇彩简述)

,你们好,今天0471房产来聊聊一篇薇彩,薇彩简述的文章,网友们对这件

来源:2023.08.02

公羊救援队用直升机救出 26 名涿州被困群众,包括一名婴儿

文 羊城晚报驻京全媒体记者刘克洪图 公羊救援队提供7月29日8时至8月1日

来源:2023.08.02

见疆见昆仑·AI大模型算力前沿论坛举行

围绕人工智能大模型算力的研究和发展,从技术、应用和产业等多个角度进

来源:2023.08.02

文字找茬大师心眼子对话攻略解析

文字找茬大师心眼子对话是一个选择关卡,大家要进行心眼子练习,选出正

来源:2023.08.02

天弘基金携手南开大学代表队摘得首届“大学生基金知识竞赛”亚军

近日,成都第31届世界大学生夏季运动会如火如荼地进行着,让大家领略到

来源:2023.08.02

新闻快讯

X 关闭

X 关闭

新闻快讯