Я пытаюсь создать алгоритм столкновений и реализовать его в своем приложении Win32 2D GUI. Задача состоит в том, что я получил один вектор, который определил середину дна изображения .bmp и еще четыре вектора в положении ромба. Я хотел, чтобы он работал так, чтобы алгоритм знал, идет ли изображение слева, справа, вверх или вниз. В Интернете есть много учебников по обнаружению столкновений прямоугольников, кругов и расстояний, но у меня возникают трудности с их применением для ромба. Существует также что-то, что называется axis-aligned bounding, но я думаю, что это для 3d векторов. Я очень слаб, когда речь заходит об этой теме, поэтому, если есть какой-нибудь опытный программист на C++, который может направить меня на какую-то хорошую электронную книгу, в которой упоминается эта тема, или если код мал, может быть, напечатайте его. Я пробовал делать итерации X, Y координат над ABCD целым ромбом и неудачно провалился.Простое обнаружение столкновения 2D с векторами
Спасибо всем, кто помогает.
2 вопроса: 1) Это домашнее задание? (Это прекрасно, если это так, но его следует пометить [tag: домашнее задание]) и 2) Что вы пробовали до сих пор? – bitmask
выровненных по осям ограничительным рамкам (AABB для краткости) являются полезными для 2d, а также 3d. Идея состоит в том, чтобы окружить сложный объект простой формой, которую легко проверить на наличие столкновений. Тогда, если ограничивающие поля * не совпадают, вам не нужно проверять все детали сложного объекта внутри. Вам все равно нужно написать код, чтобы столкнуться с реальным объектом, но ему не нужно будет запускать тысячи раз каждый кадр ... – comingstorm
Это так. Извините за то, что не помечен как домашнее задание, этот сайт для меня новый. Я знаю, как делать столкновение для прямоугольника и круга, и это было для предыдущей домашней работы. Кроме этого, я попытался выполнить идеальное столкновение с пикселями, но потом понял, что его будет сложнее реализовать в моем текущем коде. – Marko