Как определить, содержится ли точка (X, Y) в дуговом сечении окружности (т.е. Кусочек пирога)?

Представьте себе круг. Представьте себе пирог. Представьте, что вы пытаетесь вернуть bool, который определяет, содержатся ли предоставленные параметры X, Y внутри одной из этих частей пирога.

Что я знаю о дуге:

У меня есть CenterX, CenterY, Radius, StartingAngle, EndingAngle, StartingPoint (точка по окружности), EndingPoint (точка по окружности).

Учитывая координату X, Y, я хотел бы определить, содержится ли эта координата где-нибудь в пределах слайда пирога.

Ответы

Ответ 1

Check:

  • Угол от центра X, от центра Y до X, Y должен находиться между начальным и конечным.
  • Расстояние от центра X, от центра Y до X, Y должно быть меньше радиуса

И у вас будет ваш ответ.

Ответ 2

Преобразуйте X, Y в полярные координаты, используя это:

Angle = arctan (y/x); Радиус = sqrt (x * x + y * y);

Затем угол должен быть между StartingAngle и EndingAngle, а радиус между 0 и вашим радиусом.