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

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

Страницы: 111 12 13 1435 Следующая »
#165

Suslik
> найти ось минимального проникновения (minimal translation distance). эта ось
> будет нормалью для всех контактов.
Помогло, но не все оказалось так просто)
Нужно еще с направлением нормали контакта (имеется в виду положительное или отрицательное).

Вот что вышло.
Масса брусков 1500, масса машинки тоже.

2 июня 2018


#166

Suslik
> сделать честное трение
кхе кхе кхе

3 июня 2018

#167

Suslik, Вы в своей статье упомянули про ассиметричный тензор инерции. Эта штука мне не ясна. Допустим, я нашел моменты инерции по осям тела. А вот как из них получить момент для джоинта мне не ясно.
Поможете?

5 июня 2018 (Правка: 21:12)

#168


И еще один вопрос. А можно как нибудь вытянуть плоскость пересечения до нахождения точек пересечения?
По идее нормаль плоскости  это и есть
Suslik
> ось минимального проникновения
А вот как вытащить точку на этой плоскости?

5 июня 2018 (Правка: 22:10)

#169

vindast
по тензорному исчислению советую что-нибудь почитать за пределами моей статьи. можно начать со статьи по тензору инерции на википедии.

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

6 июня 2018 (Правка: 2:38)

#170

Suslik, Вы не поняли идею, я хочу найти сечение каждого объекта одной плоскостью, что дешевле чем сейчас, а сейчас это 2 * 6 плоскостей * 12 прямых.
Эта точка нужна только для того что бы задать плоскость по нормали и точке.

6 июня 2018

#171

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

Что я делаю не так?

10 июня 2018

#172

vindast
когда обнаруживается контакт, которого на самом деле быть не должно, то подумай, чем именно образована разделяющая ось. в общем случае кандидаты на разделяющие оси — это любые прямые, которые могут быть кратчайшим расстоянием при некоторой ориентации взаимодействующих тел. ты же их, судя по всему, выбрал вообще от балды, потому что ни одна из 6 осей, которые ты описал, под этот критерий не подходят, лол. могу сразу сказать. что искать коллижены для цилиндра — боль. гораздо проще искать для капсулы.

10 июня 2018

#173

Буду думать, эх.
Есть еще проблема. Что делать с тем, что проекция у треугольника на его нормаль 0?

10 июня 2018 (Правка: 14:29)

#174

vindast
> Что делать с тем, что проекция у треугольника на его нормаль 0?
тебя это вообще не должно волновать. для поиска одномерного пересечения(проекций) используются только функции min и max.

10 июня 2018

#175

Я уже про глубину проникновения для псевдоскоростей.

10 июня 2018

#176

Там получается 0 в некоторых случаях.

10 июня 2018

#177

vindast
аналогично, делений там нет. представь себе, что у тебя два одномерных отрезка : [cht][a_0, a_1], [b_0, b_1][/cht]. для того, чтобы найти длину их пересечения, тебя не должно интересовать, вырождены ли они.

10 июня 2018 (Правка: 14:37)

#178

Тела начинают проваливаться друг в друга при минимальной длине проекции равной нулю.

10 июня 2018

#179

В том то и дело, что их общая длина может быть 0.

10 июня 2018

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