Форум: "Прочее";
Текущий архив: 2013.08.18;
Скачать: [xml.tar.bz2];
ВнизИщу программиста, для разовой работы Найти похожие ветки
← →
@!!ex © (2013-03-15 12:33) [0]Есть регулярная сетка:
http://www.gamedev.ru/files/images/84864_1358958647_m1.jpg
На нее наложены треугольники. Композиция треугольников не предсказуема. Единственное что точно известно - треугольники не заходят за край сетки.
http://www.gamedev.ru/files/images/84865_1358958655_m2.jpg
Необходимо сгенерировать стыковочный меш(отмечен зеленым), который соединит треугольники с регулярной сеткой:
http://www.gamedev.ru/files/images/m3.jpg
Собственно нужна функция, которые будет принимать на входе набор точек задающих регулярную сетку и набор треугольников и выдавать набор стыковочных треугольников.
Все это в 2D.
Естественно не бесплатно.
← →
Ega23 © (2013-03-15 12:42) [1]Казармы в СтарКрафте строить собрался?
← →
@!!ex © (2013-03-15 12:49) [2]В данном случае задача относится к разрабатываемому мной редактору ландшафтов(http://youtu.be/2WHOZO9bX0o), и ее решение необходимо для склейки дорог, площадей и прочей геометрии и карты высот.
Задача достаточно сложная и, к сожалению, на данный момент моей математической подготовки не хватает, чтобы ее полноценно решить.
← →
O'ShinW © (2013-03-15 13:05) [3]
> http://youtu.be/2WHOZO9bX0o
вау.. Ты крут (если сам написал все это)
← →
O'ShinW © (2013-03-15 13:15) [4]Основной критерий - Скорость?
зы
так понимаю, в 3 ошибочка, правильно так?
http://www.fotolink.su/v.php?id=258cb6253847e338fe98c486b3821181
придирка, просто для ясности
← →
@!!ex © (2013-03-15 13:34) [5]Все самописное. Вот только склейку не могу осилить.
Ну естественно кроме контролов. Контроллов всего три штуки пришлось самому писать.
> Основной критерий - Скорость?
Основной критерий - чтобы работало. :) Конечно, в идеале получить систему, которая бы в реалтайме строила склейке, прямо непосредстенно во время редактирования дорог. Но даже если склейки будет отдельной достаточно долго операцией - это все равно лучше чем ее полное отсутствие.
> так понимаю, в 3 ошибочка, правильно так?
да, верно. допустил косяк, когда рисовал пример.
← →
Kerk © (2013-03-15 13:38) [6]Круто, круто. На видео очень солидно выглядит.
Успехов в поисках исполнителя, сам не очень силен в математике.
← →
БарЛог © (2013-03-15 14:12) [7]Круть!
← →
O'ShinW © (2013-03-15 14:18) [8]
> Все самописное.
Молодец!
> Основной критерий - чтобы работало. :)
Хороший критерий :)
1. белые треугольники - они имеют в вершинах дробные координаты?
2. зачем квадраты координатной сетки разбиты на 2 треугольника?
← →
Ega23 © (2013-03-15 14:21) [9]
> к разрабатываемому мной редактору ландшафтов
Солидно выглядит. Очень.
Успехов!
← →
O'ShinW © (2013-03-15 14:27) [10]
> 1. белые треугольники - они имеют в вершинах дробные координаты?
видимо, да.
И в общем случае, всеми тремя вершинами могут быть не в узле.
А сопряженные, видимо, хотя бы одной вершиной в узле
> 2. зачем квадраты координатной сетки разбиты на 2 треугольника?
? открыт :)
← →
MBo © (2013-03-15 14:29) [11]Вот это не смотрел? http://www.cs.cmu.edu/~quake/triangle.html
Твой случай относится к constrained триангуляции
← →
xayam © (2013-03-15 14:30) [12]
> > 2. зачем квадраты координатной сетки разбиты на 2 треугольника?
> ? открыт :)
сетка на вход подаётся в треугольниках?
← →
@!!ex © (2013-03-15 14:52) [13]Парни, спасибо за поддержку, приятно читать такое от почитаемых людей.
> белые треугольники - они имеют в вершинах дробные координаты?
да.
> зачем квадраты координатной сетки разбиты на 2 треугольника?
это можно игнорировать, работать чисто с квадратами.
на треугольники разбито, потому что это в итоге на видеокарту идет, а она только треугольники хавает.
> Вот это не смотрел? http://www.cs.cmu.edu/~quake/triangle.html
> Твой случай относится к constrained триангуляции
Не смотрел. Спасибо за наводку, почитаю.
← →
Empleado © (2013-03-15 15:33) [14]
> @!!ex © (15.03.13 12:33)
Gooood!
← →
Лукошко (2013-03-15 15:35) [15]
> @!!ex © (15.03.13 12:49) [2]
Огромное количество человекочасов, вы молодец!
← →
icelex © (2013-03-15 15:47) [16]Совсем круто! Больше всего мне понравилось, как лес посадили. Еще таким темпом дома настроить и сынов народить... И задача на 500 реинкарнаций вперед выполнена :)))
← →
xayam © (2013-03-15 16:06) [17]
> выдавать набор стыковочных треугольников
с алгоритмом интересно, какой подход лучше использовать?
для простоты на входе - точки периметра белого объекта (1)
на выходе - огибающий зеленый квадратичный периметр (2) и соответствие "многое-ко-многим" между (2)<->(1) для треугольников
проблема видно не в (2), а как раз в (2)<->(1)
в общем виде наверное сложно решить...
← →
xayam © (2013-03-15 17:26) [18]примерно так
http://ic.pics.livejournal.com/xayam/26173943/16820/16820_original.png
← →
O'ShinW © (2013-03-15 17:49) [19]
> в общем виде наверное сложно решить...
не должно
1ш. Полное ребро координатного квадрата - всегда сторона сопряженного треугольника.
Далее из мн-ва вершин белых треугольников выбираем ближайшую к этому отрезку-стороне точку - это третья вершина сопряженного треугольника.
2ш. берем соседнее Полное ребро координатного квадрата , повторяем.
Если треугольники не соприкасаются (не к одной точке), значит на белой фигуре остались еще точки, между теми двумя, к которым мы провели вершины.
Тогда тупо - добиваем из них отрезками до треугольников.
http://www.fotolink.su/v.php?id=0926e2716dd89214f0455ade7c902090
пример:
1. Красное - объединение белых треугольников
2. Синие и более синее :) - два шага из алгоритма
3. Зеленое- добиваем до треугольников промежуток.
4. зеленое штрих - если точек между вершинами Синих треугольников окажется больше чем одна - тоже добиваем.
← →
alexdn © (2013-03-15 19:54) [20]А что за графический движек интересно использовался?..
← →
@!!ex © (2013-03-15 20:01) [21]Где использовался?
← →
@!!ex © (2013-03-15 20:05) [22]Если речь о редакторе, то там все самописное. в том числе и рендер.
← →
robt (2013-03-15 20:30) [23]
> alexdn © (15.03.13 19:54) [20]
почему в принципе, должен быть какой то движок? у тебя явный синдром батонокидателя
← →
@!!ex © (2013-03-15 20:40) [24]> MBo © (15.03.13 14:29) [11]
> Вот это не смотрел? http://www.cs.cmu.edu/~quake/triangle.html
> Твой случай относится к constrained триангуляции
Ознакомился с теорией. Либа делает именно то что мне нужно. Осталось теперь интегрировать ее и проверить на практике.
← →
asail © (2013-03-15 23:04) [25]
> @!!ex © (15.03.13 12:49) [2]
> В данном случае задача относится к разрабатываемому мной
> редактору ландшафтов(http://youtu.be/2WHOZO9bX0o),
Красива, однако...
← →
robt (2013-03-16 13:25) [26]
> Красива, однако...
остался вопрос а нафига ?
← →
alexdn © (2013-03-16 13:28) [27]> robt (16.03.13 13:25) [26]
> остался вопрос а нафига ?
+1 Это интересно для игры какой то, или для картографических работ?
← →
DVM © (2013-03-16 14:41) [28]
> alexdn © (16.03.13 13:28) [27]
> или для картографических работ?
Смеетесь что ли? Ландшафты менять? Конечно это для игр.
← →
clickmaker © (2013-03-16 14:50) [29]> Ландшафты менять? Конечно это для игр.
Ну почему только для игр? "Пока противник рисует карту наступления, мы меняем ландшафты, причём вручную" (c)
← →
@!!ex © (2013-03-16 16:08) [30]Есть достаточно много задач, где требуются ландшафты.
К сожалению адекватных и доступных инструментов найти не удалось, особенно в плане прокладки дорог. Большинство моделлеров до сих пор делают ландшафты в максе, что во первых не отвечает должному качеству, т.к. в максе банально нет подходящих инструментов, а во-вторых очень долго, по той же причине.
Редактор планируется использовать в нескольких своих проектах, на работе и опубликовать его для использования сторонними разработчиками.
← →
@!!ex © (2013-03-16 16:20) [31]одна из областей применения - создание ландшафтов для стрелкового комплекса Страйкер, который работает на моем движке:
http://www.youtube.com/watch?v=aeSOLJnw8p4
Но в целом это не важно. Областей применения достаточно много. надеюсь что в геймдеве редактор будет много кому полезен.
← →
Eraser © (2013-03-16 22:37) [32]
> @!!ex ©
оффтоп.
граф. движок это очень круто, единственное что могу сказать - нужно делать сразу кроссплатформенно, чтобы легко было портировать на всякие Mac OS, iOS, андройд и т.п. это в разы увеличит ценность проекта.
← →
@!!ex © (2013-03-17 12:29) [33]В целом вопрос можно считать закрытым. Triangle не плохо показал себя на тестах, буду интегрировать.
> нужно делать сразу кроссплатформенно
Редактор нет никакого смысла портировать на тот же Андроид. да и интерфейс на ПК и мобильных платформах сильно разный.
Плюс проблема с портированием - система плагинов. Большая часть работы редактора вынесена в плагины, чтобы дать пользователю больший контроль над редактором, дать возможность создавать свои инструменты, кисти и форматы файлов.
Да и не нужен редактор нигде кроме Windows, во всяком случае пока. Это же инструмент для очень ограниченного круга пользователей, которые в силу специфики профессии почти всегда работают под виндой.
Страйкер портировать также не имеет никакого смысла. Это сложный АПК, опять же модульный и заточенный на работу на мощных ПК. У нас уже несколько лет висит на сайте текст вида "возможно доработка для Linux и Mac OS", но народ к этому не стремится. Дешевле купить лицензию винды, чем заказывать нам портирование. Тем более стоимость лицензии винды - это даже не 1% от стоимости комплекса.
Проектов на ПК, которые бы имело смысл делать кроссплатформенными у меня просто нет.
А сделать кроссплатформу ПК<->Мобильные устройства настолько сложно, что разработка двух отдельных движков представляется более адекватной идеей.
← →
Eraser © (2013-03-17 12:51) [34]
> @!!ex © (17.03.13 12:29) [33]
да я скорее не про редактор и конечные продукты, про движок.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.08.18;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.003 c