介绍
最近浏览到一个很有意思的问题,参考自游戏《戴森球计划》的开发日志,对于星球模型的生成,整个团队花费了很多时间调试和试验,球表面的分块网格划分,不仅影响着后期表面山脉平原的形成和渲染,也影响建筑物的排列放置。最终选择了如下方案。从最终的结果来看,整个游戏非常流畅也非常成功。
球表面划分
深沟球轴承和角接触球轴承在机械设计中很常见,为了得到更为细致的分析结果,需要对球进行网格的划分,如何对表面进行分块以获得更为均匀的表面非常重要。
Step 1: 首先从最简单的图形开始,2个点组成一条线,3个点可以组成一个面,4个点组成一个体,那我们先在球的表面均匀的放置4个点如下:
Step 2 :我们得到了一个三角锥,但它也是个球,因为每个顶点到中心的距离一样。为了让它看着不像三角锥了,我们可以放置更多的点,并按照一定的规则,我们在这个模型的每个面上均匀的加一个点,并将其投影到球面上:
Step 3 : 我们得到了新的图形,比第一步的网格更类似于球,但还远远不够,接着不停的放置点并投影到表面,直到点足够多,此时得到了球表面的网格如下,下图不同区块采用了不同的网格划分方式,因此·可以很明显的观察到第一步分块的特征。
选择不同的表面分块,可以得到不同的效果,虽然每个球体看上去类似,但在网格的排布上千差万别。
体网格
上节介绍了表面网格的划分,我们将其拓展到体网格,为了得到更好的计算效果,将各个分块区域的表面网格有三角形改为四边形。滚子接触是有一定深度的,为了看出层深的影响,在体网格外部设置边界层,这样就能得到更为规整的球体网格,也能更方便的在对应深度位置设置缺陷。
参考文献
[1] https://www.bilibili.com/opus/321911913414357894/?from=readlist
[2] https://www.feacat.com/2025/02/19/Mesh/
本网站基于Hexo 3-Hexz主题生成。如需转载请标注来源,如有错误请批评指正,欢迎邮件至 392176462@qq.com