Форум программистов, компьютерный форум, киберфорум
Геометрия
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 09.11.2019
Сообщений: 1

Правильна ли формула столкновения круга и прямоугольника?

09.11.2019, 10:28. Показов 3652. Ответов 2

Студворк — интернет-сервис помощи студентам
Правильна ли формула столкновения круга и пямоугольника, если нет то в чем ошибка?


Z-точка,R-центр круга ,r-радиус круга A,B,C,D-координаты прямоугольника Ответ нужен чисто с математичеркой точки зрения

Не нужно говорить про ошибки в коде,
Если решение не верно ,поясните почему
P.S
(решаю задачу столкновения прямоугольника и круга )

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Z=R+ P(r,0)
if(Ay <= Zy && Zy <= By)
    {
        if(Ax <=Zx && Zx<= By)
            {    ........}
        Z=R- P(r,0)
        if(Ax <=Zx && Zx<= By)
           {    ........}
Z=R+P(0,r)
if(Ax <= Zx && Zx <= Bx)
    {
        if(Ay <=Zy && Zy<= By)
            {    ........}
        Z=R-P(0,r)
        if(Ay <=Zy && Zy<= By)
           {    ........}
    }
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.11.2019, 10:28
Ответы с готовыми решениями:

Правильна ли формула (С++)
Правильна ли формула, посмотрите, пожалуйста y=pow(pow(pow(x,4)+pow((exp,x-4),1/5),1/5),1/2+log10(fabs(x-2.5); или что то совсем не...

Столкновения прямоугольника с окружностью
Пишу арканоид. Есть окружность (биток) и прямоугольник. Реализовал столкновение между ними: Прямоугольник, это 4 уравнения прямой...

Площадь круга и прямоугольника
Составьте программу для вычисления площади круга и прямоугольника. Радиус круга, размер ширины и высоты прямоугольника должны задаваться...

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.

Для произвольно повернутого прямоугольника нужно будет повернуть его вершины и центр окружности так чтобы грани были параллельны осям.
Название: ScreenShot00420.jpg
Просмотров: 46

Размер: 11.7 Кб
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.11.2019, 20:22
Помогаю со студенческими работами здесь

Рисование круга, прямоугольника, треугольника
я рисую круг, прямоугольник делаю это так: переменные у меня здесь implementation var y0,x0, xpos, ypos:integer; в процедуре ...

Движения круга и прямоугольника в круге
Здравствуйте,мне нужна помощь. Решил сделать программу в которой при нажатии на стрелки,круг и прямоугольник в круге будут двигаться. Когда...

нахождение площади круга, прямоугольника и треугольника
мне нужна помощь в написании программы. написать надо не в консоли, а в Windows Forms, поэтому и незнаю как..помогите пожалуйста, последняя...

Посчитать площади круга, прямоугольника, треугольника
Доброго времени суток! Играю в Empire or code. Задача: написать функцию, которая посчитает площадь круга-прямоугольника-треугольника. Я...

Определить точки пересечения круга и прямоугольника
Помогите, пожалуйста!( Даны вещественные числа x1, y1, r, x2, y2, x3, y3. Определите, существуют ли общие точки у круга с центром в точке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
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-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru