Создание бесшовных карт мира с Fractal Brownian Motion - PullRequest
2 голосов
/ 20 октября 2011

Я создаю карты высот, используя Fractal Brownian Motion. Затем я раскрашиваю его по высоте и сопоставляю его сферой. Моя проблема в том, что карта высот не переносится незаметно. Я использовал алгоритм Diamond Square, и с его помощью довольно легко разобраться, но я не могу понять, как это сделать с помощью fBm, и мне кажется, что я не могу найти объяснение этому в Интернете.

Чтобы уточнить, под "бесшовным" я подразумеваю, что когда я сопоставляю его со сферой, он создает бесшовную карту на сфере.

Ответы [ 2 ]

1 голос
/ 05 декабря 2011

Вместо расчета карты высот на пиксель на карте высот, рассчитайте карту высот в трехмерном пространстве на основе каждой точки на сфере, а затем сопоставьте ее с пикселем изображения.У вас будут проблемы с наложением 2D, прямоугольной карты высот, подобной этой, на сферу, без получения уродливых результатов на полюсах, если только вы не начнете свои вычисления с сферы.на сфере вы можете получить высоту в этой точке, а затем вы можете сделать математику, чтобы сопоставить это значение с тем местом, где оно должно храниться в изображении карты высот.

0 голосов
/ 20 сентября 2012

Или вы можете использовать одну из традиционных картографических проекций.Цилиндрическая проекция (x, y) -> (x, sin y) даст вам шов всего одного меридиана, который вы можете повернуть назад.Или вы можете «сгладить» край тем или иным способом.

С помощью стереографической проекции (x, y, z) -> (x / (z + 1), y / (z + 1))есть только одна кислая точка (сама точка проекции).

...