3D."Hand made" холмы и горы - PullRequest
       12

3D."Hand made" холмы и горы

0 голосов
/ 02 марта 2011

В моей программе я создал меш, который выглядит следующим образом:

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

1 Ответ

2 голосов
/ 02 марта 2011

Применение функции Гаусса в правильной точке может помочь.

EDIT: В Двумерной гауссовой функции у вас есть общая формула f(x,y) и пояснение параметров. Теперь вам нужно использовать только математические функции из вашего любимого языка!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...