Вниз
Скачать: CL | DM;

Тело и ландшафт   Найти похожие ветки 

 
марсианин   (2003-09-20 09:40) [0]

Привет мастерам! Есть такая задача: нужно смоделировать поведение твердого тела (скажем там танка, трактора) на ландшафте. Ландшафт представляет собой сетку треугольников, а у тела есть набор точек. короче получить координаты точек опоры тела (и вектор нормали к поверхности) - не вопрос. а вот сам алгоритм каков? как силы опоры там распределить чтоб все было реалистично? чтоб и лежало и ударялось при падении....  как это делается по-человечески??

заранее thanx...


 
Koreolis ©   (2003-10-15 09:49) [1]

Не занимался этим специально, но мысли есть.
1) У объекта должен быть не набор точек, а прямоугольник(дно).
2) в области ладшафта(над которой находится обжэкт) ищем две самые высокие точки.
3) ложим дно прямоуКольника на эти две точки.
4) Затем момент: берём центр тяжести объекта(определённая точка на этом прямоугольнике).
5) Ищем третью по высоте точку, но не везде: только среди тех точек ландшафта, которые находятся по ту же сторону от прямой(см пункт №2) что и центр тяжести.
6) Теперь перемещаем дно объекта в пространстве так, чтобы оно касалось всех трёх найденных точек.(в пункте 2 и 5)

Естественно, плавности здесь не будет. Для стратегии оч даже подойдёт.(для реалистичной стратегии, т.к. учитывается центр тяжести) Для симулятора уже надо искать не только точки ландшафта, а ещё и точки пересечения отрезков ландшафта и отрезков дна.
PS на счёт плавности - танк просто будет прилипать к поверхности, т.е не булет зависаний над пропастью и т.д. Да и расстояние между точками ладшафта не должно превышать расстояние между точками дна объекта. Зато скорость гарантированна...


 
MeF88 ©   (2003-10-15 11:00) [2]

http://dev.dtf.ru/articles/read.php?id=406


 
cyborg ©   (2003-10-15 11:15) [3]

На delphigfx.mastak.ru есть пример, ездит танчик по ландшафту, смотри.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: -0.975 c
4-1076593411
_r00t_
2004-02-12 16:43
2004.04.18
Как отследить какой именно файл изменился в директории?


1-1080670936
TALLA
2004-03-30 22:22
2004.04.18
Импорт CBuilder DLL по имени функций не получается, по индексу ок


14-1079559965
Soft
2004-03-18 00:46
2004.04.18
Бессмертие души или околосмертный опыт?


7-1077205347
TankMan
2004-02-19 18:42
2004.04.18
Можно вопрос по WMessages...


14-1079472831
Andy BitOff
2004-03-17 00:33
2004.04.18
Приколитесь




   Наверх