|
0 / 0 / 0
Регистрация: 09.11.2019
Сообщений: 1
|
||||||
Правильна ли формула столкновения круга и прямоугольника?09.11.2019, 10:28. Показов 3652. Ответов 2
Правильна ли формула столкновения круга и пямоугольника, если нет то в чем ошибка?
Z-точка,R-центр круга ,r-радиус круга A,B,C,D-координаты прямоугольника Ответ нужен чисто с математичеркой точки зрения Не нужно говорить про ошибки в коде, Если решение не верно ,поясните почему P.S (решаю задачу столкновения прямоугольника и круга )
0
|
||||||
| 09.11.2019, 10:28 | |
|
Ответы с готовыми решениями:
2
Правильна ли формула (С++) Столкновения прямоугольника с окружностью Площадь круга и прямоугольника |
|
11077 / 7377 / 3991
Регистрация: 14.01.2014
Сообщений: 16,813
|
|
| 09.11.2019, 17:34 | |
|
Чтобы дать математический ответ, необходимо сформулировать понятно вопрос, что надо найти! Вы обрисовали только ситуацию - столкновение круга и прямоугольника. Это звучит примерно так - мяч столкнулся с коробкой и что будет дальше? При этом не указаны ни скорость мяча, ни его направление...
1
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
| 10.11.2019, 20:22 | |
Сообщение было отмечено NIKIId как решение
Решение
По идее это пошаговый алгоритм.
1)сначала проверяют квадрат расстояния от центра окружности до центра описанной окружности прямоугольника, если окружности пересекаются то проверки дальше. 2) проверяют расстояние между центром окружности и параллельным осям ограничивающий параллелепипед описанный вокруг прямоугольника. https://ru.wikipedia.org/wiki/AABB если подозрение на пересечение то проверки дальше. 3) Может увеличить прямоугольник на величину радиуса окружности. Тогда факт пересечения это проверить принадлежность четырем полуплоскостям Как проверить принадлежит ли точка треугольнику? точки центра окружности. Вроде этот прием это пространство Мннковского. 4)место пересечении наверно решить систему уравнение окружности и прямой. Как вариант зная угол поворота прямоугольника можно повернуть его и окружность так чтобы грани был параллельны осям координат. Тогда место пересечения просто подставить в уравнение окружности Y координату грани прямоугольника. Задан прямоугольник ABCD и окружность радиуса R центр E. Получаем координаты вершин красного и зеленого прямоугольника прибавляя нужным вершинам R. Чтобы проверять пересечение в углах нужно туда ставить 4 окружности радиуса R. Если точка E принадлежит двум четырехугольникам (красный и зеленый) или четырем окружностям то окружность пересекает ABCD. Принадлежность четырехугольнику проста: Если x(E)<x(A) и x(E)>x(B) и y(E)< y(A) и y(E)>y(C) то принадлежит. Принадлежность окружности тоже проста проверять квадрат расстояния: Если (x(E)-x(A))^2+(y(E)-y(A))^2-R^2<=0 то E принадлежит окружности центр A радиуса R. Для произвольно повернутого прямоугольника нужно будет повернуть его вершины и центр окружности так чтобы грани были параллельны осям.
1
|
|
| 10.11.2019, 20:22 | |
|
Помогаю со студенческими работами здесь
3
Рисование круга, прямоугольника, треугольника Движения круга и прямоугольника в круге нахождение площади круга, прямоугольника и треугольника Посчитать площади круга, прямоугольника, треугольника Определить точки пересечения круга и прямоугольника Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|