ODE и столкновения.
|
|
ASGAlex7571 | Дата: Пятница, 05.06.2009, 17:22 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
| Здравствуйте, недавно занялся изучением Панды & C++, вот появился такой вопросец, связанный с ОДЕ. Вот две строчки кода: Code odeWorld.init_surface_table(2); odeWorld.set_surface_entry(0, 0, 150, 0.0, 9.1, 0.0, 0.0, 0.0, 0.002); Скажите, правильно ли я понимаю, что команда "set_surface_entry" устанаавливает то, как будут взаимодействовать материалы при столкновении? То есть она определяет не свойства материалов в отдельности, а их свойства при столкновении, верно? И сопутствующий вопрос, если моё предположене было верно. Да, я плохо учил физику в школе, признаюсь сразу... но... откуда можно взять эту информацию? ))))) Как мне узнать, какие параметры устанавливать, к примеру, для воды и пенапласта? Стены и черепной коробки?.. Очень интересно...
|
|
| |
dpsstudio | Дата: Пятница, 05.06.2009, 21:44 | Сообщение # 2 |
Сержант
Группа: Модераторы
Сообщений: 29
Награды: 0
Репутация: 1
Статус: Offline
| Хотя никогда не менял свойства материалов в ОДЕ,я согласен с твоим предположением,т.к. ОДЕ для расчёта силы,которая будет отталкивать объект при столкновении,явно использует свойства материалов,значит ты прав.Насчёт сопутствующего вопроса:ИМХО я бы подбирал коэффициенты экспериментально,но вроде в физике для расчёта таких вещей есть коэффициент упругости,который вроде посчитан для отдельных материалов в виде таблиц,думаю его в инете найти можно.
|
|
| |
ninth | Дата: Пятница, 05.06.2009, 21:54 | Сообщение # 3 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Да, верно. В данном случае это функция пандовской обёртки над ОДЕ, в самом ОДЕ для этого служат каллбэк функции, в которых уже задаются параметры точки контакта. Раз уж пишешь на С, то в принципе можешь заглянуть в исходники обёртки и написать свою функцию вместо этой ) А вообще, параметры подбираются экспериментальным путём, т.к. они условны и не выражаются в общепринятых единицах измерений (соответственно и сводных таблиц на них нет :))
|
|
| |
ASGAlex7571 | Дата: Четверг, 11.06.2009, 23:48 | Сообщение # 4 |
Рядовой
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
| хмм, забавно, спасибо. В принципе, меня всё устраивает в имеющемся механизме, нет смысла что-то переписывать в исходниках. Панда вообще мощная штука, умеет больше чем я ожидал.
|
|
| |
ASGAlex | Дата: Суббота, 13.06.2009, 13:01 | Сообщение # 5 |
Рядовой
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
| А не подскажете, как можно узнать список сил, воздействующих на тело? Что-то я не нашел нигде такой функции... или плохо искал? Просто при изменении направления движения объекта мне надо определить его старое направление и скорректировать. Ой, точнее даже не так... не список сил, они ведь воздействуют однократно, а скорость и направление движения и вращения... Это не getAngularVel и getLinearVel? Кстати, а в чем ODE измеряет силу? И в чем выдаёт скорость?
Сообщение отредактировал ASGAlex - Суббота, 13.06.2009, 13:47 |
|
| |
ninth | Дата: Воскресенье, 14.06.2009, 01:49 | Сообщение # 6 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Да getAngularVel и getLinearVel возвращают угловую и линейную скорости соответственно. Возвращаемое значени является трёхкомпонентным вектором. По поводу единиц измерения см. ответ выше ))
|
|
| |
ASGAlex | Дата: Воскресенье, 14.06.2009, 17:39 | Сообщение # 7 |
Рядовой
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
| Quote По поводу единиц измерения см. ответ выше )) Нипонял, то есть как это получается? 48 попугаев? )))) Нынче скорость (velocity) измеряется не в метрах в секунду, а в "трёхкомпонентных векторах"? Забавно :-D А Сила, приложенная к телу, тоже измеряется в попугаях "трёхкомпонентных векторах"? Ладно, отбросим сарказм =) В самом деле, вот надо мне вычислить, сколько силы надо приложить к телу, чтобы разогнать его до нужной мне скорости... что в таком случае надо делать? Ясно, что сила != скорость, а значит мне надо что-то во что-то переводить... Добавлено (14.06.2009, 17:39) --------------------------------------------- как-то не верится, что ODE использует какие-то абстрактные единицы для указания силы и скорости, ведь плотность указывается во вполне реальных единицах: kg/m³. Или я не правильно понял мануал по использованию Панды в связке с ODE?
|
|
| |
ninth | Дата: Среда, 17.06.2009, 08:55 | Сообщение # 8 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Ну, ты конечно можешь подогнать это всё под привычные метры в секунду и т.д., но закон относительности никто не отменял ) Всё зависит от общего состояния системы. А если решил блеснуть остроумием, то задай ка мне линейную скорость в трёхмерном пространстве скалярной величиной, можешь в попугаях, можешь в метрах в секунду, тоже самое касается угловой скорости.
|
|
| |
BlackCat | Дата: Среда, 17.06.2009, 12:27 | Сообщение # 9 |
Подполковник
Группа: Проверенные
Сообщений: 144
Награды: 0
Репутация: 1
Статус: Offline
| Трехкомпонентный вектор - это просто 3 проекции вектора на соответствующие оси координат. Т.е. каждый вектор показывает значение компоненты скорости по каждой из осей. По-моему это самый лучший способ задания скорости и направления по трем осям минимумом данных.
http://alphahole.do.am - версия 0.015 вышла 22.02.10
|
|
| |
ninth | Дата: Четверг, 18.06.2009, 08:15 | Сообщение # 10 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Ах да, ещё забыл, что бы ты ни указал в скорости движения, это всё меняется одним мановением волшебной палочки... т.е. парой нажатий клавиш - задаётся шаг симуляции и общая скорость изменяется.
|
|
| |
ASGAlex | Дата: Вторник, 23.06.2009, 12:43 | Сообщение # 11 |
Рядовой
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
| ninth, ага, то есть получается скорость указывается не в метрах в секунду а в координатах за шаг симуляции?
Сообщение отредактировал ASGAlex - Вторник, 23.06.2009, 13:19 |
|
| |
ninth | Дата: Четверг, 25.06.2009, 23:59 | Сообщение # 12 |
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
| Ну можно и так сказать
|
|
| |
BVOG | Дата: Понедельник, 16.11.2009, 13:46 | Сообщение # 13 |
Полковник
Группа: Проверенные
Сообщений: 184
Награды: 0
Репутация: 4
Статус: Offline
| С ODE - хороший RagDoll получится.
Skype: thebvog
|
|
| |