用python做我的世界代码,怎么用代码做地球

  用python做我的世界代码,怎么用代码做地球

  最终效果

  其思路是利用全局地形图,根据灰度生成不同高度的柱,用UV铺开球的UV展开柱,利用曲面流到球上来准备地形图。在这里,我随便找了一张全球地形图。最好用灰度来区分高度,但是色差的相对高度不够真实。打开rhino,画一个球,展开球的UV。

  根据UV的大小画一个面,用来拾取范围作为grasshopper中生成的地形。

  打开grasshopper,拿起这张脸,按如下方式连接电池。UV的计数可以调整划分网格的数量。值越大,分辨率越高。域的开始和结束调整拉伸的映射,其中开始是负的,也就是说,最低的拉伸开始向下,最高的拉伸结束向上。高程的提取这里之所以用蓝色通道图,是因为这张图用颜色区分了高度。如果直接用灰度不能正确区分(陆地向上,海洋向下),可以看出海洋的蓝色浅,灰度低,陆地的蓝色深,灰度高,可以使拉伸方向大体正确。

  设置参数并将结果烘焙到rhino。

  切换到阴影显示模式。在曲面流动之前,检查球和平面的法线和UV方向。如果没有,就需要调整UV或者调整法线。否则,地球将是奇形怪状的,看不见的。

  最后,层被划分,列被分组,然后表面流到球体上。

  好吧,看看大洋彼岸。

  这种改进可以通过使用dem和彩色地形图来制作更真实的地球来实现。可以在grasshopper中把网格图改成点图,然后用tessellation工具生成一个平滑的地球注意尺度。地球的平均半径是6371km,模型的半径是多少?那么,对应的最高点(珠峰8848m以上)和最低点(11km以上)应该是多少呢?做到以上三点,我们就可以研究地球表面的不平整对地球有多圆有多大的影响。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: