2011-03-02 36 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