Comments 13
Посмотрел гитхаб, код писать ты умеешь. Лови плюс в карму. :)
Не моя тема ни разу, но прочитал не без удовольствия
Теперь разберём все возможные случаи при проверке пересечений.
1. Обе точки внутри фигуры. Самый простой случай, просто добавляем их в контактный буфер
2. Только одна точка внутри фигуры. Вот это уже сложный случай. Нам необходимо проверить с каким именно ребром произошло пересечение, а после найти точку, в которой произошло пересечение. Когда речь пойдет о коде, я расскажу как это сделать.
А как же такой случай?
Какая интересная проблема!
Хотелось бы еще почитать про математическую сторону алгоритма и оценку сложности. Быть может кто-нибудь напишет.
Когда был на младших курсах универа, тоже решал такую проблему, нашел простой и интересный алгоритм, который основан на теореме о разделяющей гиперплоскости. На хабре не было информации по этому алгоритму, поэтому даже написал статью
Спасибо за статью, мне как движко‑писцу подобный материал весьма интересен)
P.S. Что-то мне подсказывает что в классе с виртуальными методами, деструктор также должен быть виртуальным.
По опыту - лучше использовать библиотеку Eigen, чем писать свою матричную математику. Ее можно использовать просто как header-only, время компиляции может увеличиться, но это потенциально избавит от многих проблем.
Разве я где-то говорил о матрицах в своей статье?
В любом случае я давно уже перешёл на glm для матриц.
Возможно вы глянули мой гитхаб и увидели там самописные матрицы. Писал я их давно и больше из интереса к данной теме. Позже же сменил на нормальные. Просто лежат они в ветке физики, которая уже на более чем 20 коммитов оверхед. Нужно будет вскоре её соединить с мейном, чтобы реже возникали такие вопросы.
Определение области коллизии