我正在使用Fractal Brownian Motion创建高度图。然后我根据高度对它进行着色并将其映射到球体。我的问题是高度图无法无缝包装。我已经使用了Diamond Square算法,使用它可以很容易地使用它,但我似乎无法弄清楚如何用fBm来做这件事,我似乎无法在网上找到它的解释。
通过“无缝”澄清,我的意思是当我将它映射到球体时,它会在球体上创建一个无缝地图。
答案 0 :(得分:1)
不是计算高度图上每个像素的高度图,而是根据球体上的每个点计算3D空间中的高度图,然后将其映射到图像像素。除非你从球体开始计算,否则你将难以将像这样的2D矩形高度图包装到球体上而不会在极点上产生难看的结果。
fBM推广到3个维度,因此在球体上给定一个点,您可以获得该点的高度,然后您可以进行数学运算以将该值映射到应该存储在高度图图像中的位置。
答案 1 :(得分:0)
或者您可以使用传统的地图投影之一。圆柱形投影(x,y) - >(x,sin y)会给你一个只有一个子午线的缝隙,你可以旋转到后面。或者你可以通过一种或另一种手段“消除”边缘。
使用立体投影(x,y,z) - >(x /(z + 1),y /(z + 1)),只有一个酸点(投影点本身)。