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

Пересечение сферы и полигональной модели (2 стр)

Страницы: 1 2
#15
15:57, 11 июля 2014

gammaker
> Не понял, каким образом получится трёхмерный массив? Сортировать ведь можно
> только по одной оси.
Ну-у... Как минимум, никто не запрещает сделать 3 списка указателей на вершины для каждой оси. Но был и какой-то другой способ. Нарою или вспомню - напишу.


#16
16:01, 11 июля 2014

Aroch
> ну что же так всё плохо :) Кто тебе запрещает анимировать сферы коллизии вместе
> с персонажем?
Приседание же не мгновенно происходит, сферы надо постепенно менять. На каком этапе третья сфера должна пропасть?

#17
16:07, 11 июля 2014

gammaker
анимируй же, так трудно линейную анимацию прикрутить?

#18
16:19, 11 июля 2014

Aroch
> анимируй же, так трудно линейную анимацию прикрутить?
Ладно короче, мне пока это не нужно. Просто вопрос был в том, чтобы придумать то, для чего может быть нужно масштабирование. А так конечно это обсуждение смысла не имеет. Когда надо будет это реализовывать, тогда и буду спрашивать, если сам не додумаюсь.

#19
16:56, 11 июля 2014

gammaker

Может вместо того чтобы масштабировать модель с тысячей вершин смасштабировать сферу к модели?  :))

#20
17:05, 11 июля 2014

dave
> Может вместо того чтобы масштабировать модель с тысячей вершин смасштабировать
> сферу к модели?  :))
Вот я об этом и писал в самом начале темы. Но если масштабирование непропорциональное, то сфера превратится в эллипсоид, с которым непонятно как проверять столкновения.

#21
17:28, 11 июля 2014

Что тут не понятного?
Тебе нужна формула иллипсойда?

#22
17:30, 11 июля 2014

А ведь на самом деле, сколько геммороя из-за одного лишь "улучшения". :)

#23
18:15, 11 июля 2014

dave
> Что тут не понятного?
> Тебе нужна формула иллипсойда?
Уравнение эллипсоида я как бы знаю, но мне непонятно как его использовать. Тем более, что эллипсоид будет повёрнут непонятно как. У меня при проверке столкновений используются три функции, которые работают со сферами. Я не вижу способа как их адаптировать к эллипсоидам, кроме как умножить вершины на обратную матрицу.

dave
> А ведь на самом деле, сколько геммороя из-за одного лишь "улучшения". :)
Да нет особо геморроя никакого. Проблемы решились ещё вчера, пусть и не самым лучшим образом. Напомню: при непропорциональном масштабировании умножать все вершины на матрицы, переводя модель в локальные координаты сферы. А в остальных случаях, которые более распространены, наоборот, переводить сферу в систему координат меша. Но если сталкивать с полигональным мешем не сферу, а эллипсоид, то всегда будет иметь место первый, тормозной, случай.

#24
18:21, 11 июля 2014

Это только коллизии.
Ты потом еще будешь переписывать физику возможно, приводя ее к локальной системе координат.

#25
18:26, 11 июля 2014

dave
> Ты потом еще будешь переписывать физику возможно, приводя ее к локальной
> системе координат.
Своей физики у меня нет, но возможно я соберусь прикрутить Bullet. Там же наверняка проблем с системами координат не возникнет?

#26
19:08, 11 июля 2014

Нашёл тут пару тем с эллипсами и у меня появились смутные сомнения, будет ли вообще моя идея работать.
Значит так. Есть эллипсоид, нужно определить вектор его смещения при столкновении с мешем. Я собираюсь преобразовать меш в систему координат, в которой эллипсоид превращается в сферу, потом полученное смещение умножить на верхнюю 3x3 подматрицу обратного преобразования. Но не будут ли искажаться расстояния из-за таких непропорциональных систем координат?

Страницы: 1 2
ПрограммированиеФорумФизика

Тема в архиве.