利用Godot演示球体生成的4种不同的方法
项目地址: /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个固定的正方形
感兴趣的朋友可以自己推导出来,演示代码就不包含此内容了
标签:
精彩推送
新闻快讯
X 关闭
X 关闭
新闻快讯
- 利用Godot演示球体生成的4种不同的方法
- 暑期古装剧混战,为何杨紫新剧《长相思》能赢?
- 女子长江舰艇公园中暑,长航民警狂奔800米紧急救助
- 坚决不卖!曼城告知巴黎、巴萨,什么条件都不出售B席
- 中信证券:四大拐点共振,年内第三个做多窗口开启
- 紫琅湖人才夜市挑灯觅才 连办十场将推五千余岗位
- 蓝魔RM850+(4GB)(关于蓝魔RM850+(4GB)简述)
- 这个夏天还有谁不知道“多巴胺”色彩情绪消费?
- 两部门再次预拨3.5亿元资金 支持京津冀等地及东北地区防汛救灾工作
- “桃花潭水深千尺”李白在这里留下了什么故事?
- 太空奇观:韦伯望远镜拍摄到环状星云的绝美细节
- 伊朗卡塔尔谁是中国男足历史上最大的苦主?我对他们的所见所闻
- 生动弘扬黄河文化!《杜甫·大河之子》倾情试演
- 创新,为产业集群强身健骨
- 深夜21点,中国女篮再夺冠,韩旭18+10+9进化完成,恭喜郑薇姚明
- 2023年中国游戏笔记本市场规模预计将达82亿美元 超亚太及欧洲市场总和
- 云南省昆明市2023-08-05 23:36发布雷电黄色预警
- LOL:JDG拿下冠军成为LPL一号种子,BLG自动晋级成为LPL二号种子
- 成都大运会|国际大体联秘书长艾瑞克·森超:大运会让世界看到真实的中国
- “雪龙2”号完成一个“小”目标!接下来它还要做些啥?
- 甲第之上 星耀皇冠,济南润华皇冠假日酒店大型招聘会顺利举办
- 张亮麻辣烫羊肉检测出猪鸭肉 官方:门店私自采购
- 浙江解除“卡努”海上防台应急响应 沿海港口复工复产
- 南洋是哪里的哪个省的城市啊(南洋是哪里)
- 亿级曝光!腾讯广告“域见超新星”计划走进杭州产业带
- 同享科技入选第五批国家级专精特新“小巨人”企业
- 球场清洁工找梅西签名被解雇:我喊了声世界冠军并得到签名,每一秒都值得
- 499元!B760mini ITX主板上市
- 与字组词(与字)
- 水位逐渐回落 河北涿州同步开展搜救和灾后重建工作
- 河北降水追踪:回波目前覆盖这些地区,局地雨势依然较大
- 非婚生子女权力和义务有哪些
- 快速安全登录怎么取消(快速安全登录)
- 以名为誓!他的微信昵称叫“逆行”
- 接入Llama 2等33个大模型,百度智能云千帆大模型平台重磅升级
- 福建省教育局电话 泉州市教育局电话
- 股票行情快报:山东钢铁(600022)8月4日主力资金净卖出855.84万元
- 暑假自习室解决假期“看管难”
- 7月下旬21个城市5大品种钢材社会库存941万吨 环比上升1%
- 抖音电商综合女装商达启动会正式召开
- 南非总统府为女足争取同工同酬待遇发声
- 微博大V作家陈岚回应被都美竹起诉:多次联系和解,但我不
- 2023爱分析·信创云市场厂商评估报告:中国电子云
- 麦卡利斯特:希望防守端能像马斯切拉诺 克洛普的战术很适合我
- 郭京飞任敏王源“逆袭”圆梦,《追光的日子》广东卫视将播
- 华为:鸿蒙生态设备已达7亿台
- 滨海新区确保泄洪分洪过程安全平稳 宁车沽防潮闸开启闸门敞泄
- 新华全媒+|排涝、抢修、消杀……河北部分地区开启灾后修复
- 快讯 | 奇瑞控股前7个月销量达89.2万辆
- win10电脑c盘怎么格式化(电脑c盘怎么格式化)