Уравнение круга: x^2 + y^2 = r^2
Вам нужно работать, только если одна из линий квадрата сталкивается с кругом, чтобы увидеть любые, если они сталкиваются, так как они выровнены в центре. Уравнение линии равно x = c
, где c
- константа. Вы можете подставить значение x или y в уравнение окружности. Например, для x = 2
:
2^2 + y^2 = r^2 => 4 + y^2 = r^2
r
вам тоже дается, поэтому замените его на r = 1 => 4 + y^2 = 1^2 = 1
=> y^2 = -3
Следовательно, поскольку нет (реального) квадратного корня из -3
, они не сталкиваются.
Если круг достаточно большой относительно квадрата, будет реальное решениедо последней части. Наше уравнение линии, которая представляет сторону квадрата, на самом деле должно быть ограничено, так как квадраты прямые линии не продолжаются вечно, они останавливаются на x = y = +- square_length/2
. Так что проверьте, если y(from equation) < y(square_height)
(или x
и width
, они одинаковы). Итак, по сути, есть 2 случая, которые нужно проверить. Вы можете превратить это в код.