在我的程序中,我创建了一个如下所示的网格:
http://en.wikibooks.org/wiki/File:Blender3DNoobToPro-Creating_The_Canvas.jpg
我希望得到这样的东西:
http://en.wikibooks.org/wiki/File:Blender3DNoobToPro-Molding_the_Mountains_02.jpg
我用这个简单的代码
创建了这个网格for (int i = -(xPlanesCount / 2); i < (xPlanesCount / 2); i++)
{
for (int j = -(yPlanesCount / 2); j < (yPlanesCount / 2); j++)
{
var xOffset = i * size;
var yOffset = j * size;
//code that create a plane
}
}
问题是......如果我想要一座山......我怎么能这样做?我知道“山”顶部的坐标(例如x10 - y2),山的半径是2个平面,山的高度是10个像素。
我需要进行哪些计算才能获得此结果?
http://en.wikibooks.org/wiki/File:Blender3DNoobToPro-Molding_the_Mountains_02.jpg
答案 0 :(得分:2)
在正确的位置应用Gaussian function可能会有所帮助。
编辑:
在Two-dimensional Gaussian function中,您可以使用常规f(x,y)
公式以及参数说明。现在,您只需要使用您喜欢的语言中的数学函数!