2011-03-02 62 views
0

在我的节目,我已经创建网格看起来像这样:3D。 “手工制作”丘陵山区

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 
      } 
     } 

问题是...如果我w蚂蚁爬山...我怎么能这样做?我知道“山”顶的坐标(例如x10-y2),山的半径是2个平面,山的高度是10个像素。

我需要做什么计算才能得到这个结果?

http://en.wikibooks.org/wiki/File:Blender3DNoobToPro-Molding_the_Mountains_02.jpg

回答

2

在正确的点上应用Gaussian function可能做的伎俩。

编辑: 在Two-dimensional Gaussian function,你有一般f(x,y)公式,和参数的解释。现在,你只需要使用你喜欢的语言的数学函数!

+0

该函数在任何程序语言中的外观如何?你能举一个简单的例子吗? – 2011-03-02 13:39:38