Войти
ПрограммированиеФорумФизика

Помогите написать физический движок :) (11 стр)

Страницы: 110 11 12 1335 Следующая »
#150

Я сейчас подкидываю момент сил трения в зависимости от разности скорости вращения.

25 мая 2018 (Правка: 19:22)


#151

vindast
я писал только motor joint'ы для шаговых двигателей, электрических. но если бы писал для ДВС, то сделал бы так: хранил бы внутреннее состояние двигателя как угловую скорость вращения коленвала. если сцепление выжато, то джойнтом передачи соединил бы угловую скорость дифференциала колёс с этим коленвалом. то есть джойнт на три тела, одно из которых существует только внутри джойнта. все правила — те же самые.

рекомендую начать просто с реализации дифференциала.

25 мая 2018

#152

Suslik, Вы переоценили мои способности.
Там джоинтов внутри машины нет никаких.
Я сейчас считаю трение на сцеплении как (скорость вала двигателя - скорость вращения со стороны коробки) * базовую силу * степень сжатия сцепления.
Но при таком подходе возникает проблема как с тормозами, когда скорости почти сравнялись сила териня начинает быть обращенной то туда то сюда.

26 мая 2018

#153

Начал делать collision detection, но что-то сложно.
Решил начать с obb vs obb, со сферами и неориентированными боксами понятно.
В общем саму коллизию нахожу нормально (вроде как), проблема начинается тогда, когда я пытаюсь найти точки контакта.
Пытался читать Ваши туториалы по support mapping и collision detection, но там полетели картинки, и не очень все от того понятно.

30 мая 2018

#154

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

vindast
> Пытался читать Ваши туториалы по support mapping и collision detection, но там полетели картинки, и не очень все от того понятно.
отстойно. когда я писал статью, imageshack казался железобетонным хостингом, который никогда не сможет упасть.

30 мая 2018

#155


Suslik
> отстойно. когда я писал статью, imageshack казался железобетонным хостингом,
> который никогда не сможет упасть.
Почините?)

30 мая 2018

#156

Вот до того как принялся делать obb vs obb был уверен в том что этот случай вообще решен точно кем нибудь умным...

30 мая 2018

#157

Suslik
> это ж самое интересное. обычно этот код просто воруют откуда-то и не парятся,
> как он работает.
Замутил свой код )

30 мая 2018

#158

Думаю скачусь пока что до уровня проверки каждой пары ребро (отрезок) vs четырехугольник (ограниченный участок плоскости) для каждого бокса.

30 мая 2018

#159

В общем, сделал я коллизию бокс-бокс ( с нахождением всех точек пересечений боксов).
Но у меня возникла проблема, а куда направлена нормаль контакта? Как только начал думать, так ведь если взять нормаль плоскости (самый простой вариант), то может получится что два джоинта будут тянуть в обратных направлениях. А других вариантов я  не вижу.

1 июня 2018

#160

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

1 июня 2018

#161

Я вот подумал просчитать скорости встречи боксов в каждой точке контакта, приняв ее (нормализированую) за нормаль контакта. Но есть "но", не всегда эти скорости есть, на сколько я могу судить.

1 июня 2018

#162

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

1 июня 2018

#163

Вот что сейчас получается.
На видео, за нормаль контакта принят Y-вектор одного из тел, потому они и рассыпаются когда появляется вращения.

1 июня 2018

#164

vindast
> Я вот подумал просчитать скорости встречи боксов в каждой точке контакта,
> приняв ее (нормализированую) за нормаль контакта. Но есть "но"
это полная ерунда

vindast
> После всех раздумий, я понял что для всех точек по которым у меня тела
> пересеклись - нормаль должна быть одна.
это верно

в общем случае для любых выпуклых геометрий план такой:
- найти ось минимального проникновения (minimal translation distance). эта ось будет нормалью для всех контактов.
- на каждом из тел найти область поверхности, нормали которой находятся в пределах небольшой погрешности от найденной оси.
- волшебным образом найти пересечение этих областей, представив его множеством точек — это и будут точки контактов.

1 июня 2018

Страницы: 110 11 12 1335 Следующая »
ПрограммированиеФорумФизика