Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Принадлежность точки к сектору

253
29 декабря 2008 года
Proger_XP
1.5K / / 07.08.2004
Есть координаты центра круга и его радиус, первый и второй углы, а так же координаты точки, принадлежность которой нужно определить. Принадлежность точки к кругу определяется просто - по формуле круга, а вот к сектору... Фактически нужно найти угол, на котором находится точка по отношению к центру круга. Гугл не помог :)
Заранее спасибо
11
29 декабря 2008 года
oxotnik333
2.9K / / 03.08.2007
Строишь вектор от центра круга к точке, если угол его наклона находится между двумя радиусами (углами их наклонов), ограничивающими сектор, и находится в самом круге, то все становится прозрачно.
Если можно делать приближенные вычисления, тогда можно представить сектор в виде треугольника, и искать на вхождение точки в треугольник, это сводится к нахождению площадей 3-х треугольников, образованных из вершин основного треугольника к нужной точке и сравнением сумм этих площадей с площадью основного треугольника.
341
29 декабря 2008 года
Der Meister
874 / / 21.12.2007
Полярные координаты подарят вам щастье в новом году.
 
Код:
r = ((x - x0) ^ 2 + (y - y0) ^ 2) ^ 0.5;
phi = arctg((y - y0)/(x - x0));
ибо
 
Код:
x = r*cos(phi) + x0;
y = r*sin(phi) + y0;
, а (x0, y0) - координаты центра круга, из которого получен сектор.
253
31 декабря 2008 года
Proger_XP
1.5K / / 07.08.2004
Спасибо oxotnik333, Der Meister. Остановился на варианте с полярными координатами. С переводом phi в градусы я разобрался, выглядит это так (поправьте если ошибаюсь):
 
Код:
grad = phi * (180 / pi);
  if x < 0 then
    grad = grad + 180;
    else if y < 0 then
      grad = grad + 360;

Т. о. 0 градусов получается в правой точке круга.
А градусы соответственно получаются как phi = grad * (pi / 180)

С Новым Годом! :)
63
31 декабря 2008 года
Zorkus
2.6K / / 04.11.2006
Глядя на эти ваши "phi" напросился вопрос -- а как там, есть у воблы плагин для LaTeX, или что-то подобное? ;)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог