2012-02-17 6 views
7

В настоящее время я пытаюсь реализовать алгоритм маршевых кубов в моем проекте. Он использует Unity 3 и C#. Но мне нужно найти правильный пример реализации, чтобы по-настоящему понять его внутреннюю работу.Хороший пример кода, как реализовать маршевые кубы?

Я нашел один из них, называемый Metaballs, но он слишком сложный в том смысле, что этот конкретный случай использует маршевый куб для динамического изменения сетки с течением времени.

Я ищу простой случай, так что новичок может понять, что происходит.

Благодаря

+0

внутренней работу Марширующих Кубиков? Это * таблица поиска *, которая содержит данные сетки. Как правило, сложная часть не реализует алгоритм; он создает таблицу поиска данных сетки. –

ответ

2

Вы читали original paper? Это очень хорошо объяснено.

+0

Спасибо за бумагу. Полезно, но не то, что я ищу. – B3y0nd3r

2

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

http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/exploring-metaballs-and-isosurfaces-in-2d-r2556

+0

Спасибо за ссылку, но поскольку моя цель - использовать маршевые кубики для генерации ландшафта, то направление, которое я могу принять, отличается. – B3y0nd3r

3

Взгляните на эту link Пола Бурк. Это объяснение о маршевых кубах и пример кода. Это очень просто понять. Другой, который я нашел, это тот, который находится в Python, он проще первого. Вам нужно только взглянуть на метод сетки из класса Iso.

1

Как и я, я искал пример алгоритма Marching Cubes - я особенно интересуюсь графикой неявно определенных поверхностей. Так как я не мог найти, я написал вводный пример Маршевых Кубиков, который использует Three.js и отправил его по адресу:

http://stemkoski.github.com/Three.js/Marching-Cubes.html