forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Диаграмма Вороного (http://forum.boolean.name/showthread.php?t=15052)

dsd 03.07.2011 22:53

Диаграмма Вороного
 

Кто-нибудь делал на блитз3д? Если не жалко дайте посчупать, пожалста :)

Триангуляция Делоне тоже пойдет :)

Taugeshtu 03.07.2011 23:12

Ответ: Диаграмма Вороного
 
А чем версия на б3д будет принципиально отличаться от версии на любом другом языке?
  1. Берём список точек с 2д-координатами, сортируем по одному измерению (массив int-ов, которые не int-ы, а handle объектов кастомного типа)
  2. Реализуем необходимую математику математику
  3. Рисуем результат с помощью хотя бы даже примитивных линий
  4. ...
  5. PROFIT!!!111

Математическую основу я думаю найти не проблема (картинку же нашёл).

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

dsd 03.07.2011 23:23

Ответ: Диаграмма Вороного
 
Тем, что это единственный язык сквозь который я вижу на глаз без копания в команд референс. Мне интересно в основном как генератор поверхности, вроде если отсортировать вершины, то можно из большого массива делать поверхность охватывающую некоторый участок данных массива быстро.

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

Taugeshtu 03.07.2011 23:35

Ответ: Диаграмма Вороного
 
Цитата:

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

Формулировка не очень понятная...

dsd 03.07.2011 23:52

Ответ: Диаграмма Вороного
 
Хм. В общем, я сделал массив с большим числом точек, долго генерируется, но результат похож на землю. Если натягивать поверхность на все точки, то получается хренова туча треугольников.

Я же хочу прилепить к камере меш по форме похожий на треугольник между у=х и y=-x, И уже деформировать этот небольшой по полигонам но детальный меш. Проблема в том, что походу меш должен динамически синтезироваться, чтобы поверхность не дрожала. Простой расчет высот вершин для припарентеного меша к камере дает хреновый результат, меш дрожит.

Taugeshtu 04.07.2011 00:09

Ответ: Диаграмма Вороного
 
Цитата:

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

В чём вообще проявляется дрожь?
Вообще может помочь статичная математическая модель (вершины просчитаны заранее), с определением, какие треугольники пойдут в отрисовку. Тут можно примитивно брать вершинки и проверять угол в горизонтальной плоскости между направлением взгляда камеры и направлением на эту вершину, попадает ли он в пирамиду видимости по одному измерению...

Но это всё велик с квадратными колёсами, ни разу не встречал подобного подхода.
В твоём случае имеет смысл поискать на "этцетере" пример с ROAM-ландшафтом (там он статичный был) как пример оптимизации полигонажа ландшафта.

dsd 04.07.2011 00:17

Ответ: Диаграмма Вороного
 
За неделю сам догрызу, если не получится треугольный меш, сделаю под камерой детализированый + 3 низкодетализированных от краев меша в зоне видимости камеры, плюс смещать меш под камерой в зависимости от наклона и угла поворота, что проще. Но мне этот подход не нравится, поэтому хочу сложного :)

L.D.M.T. 04.07.2011 22:19

Ответ: Диаграмма Вороного
 
http://www.blitzbasic.com/codearcs/c....php?code=2394


Часовой пояс GMT +4, время: 04:03.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot