Здравствуйте, alex_hunter, Вы писали:
_>Приветствую All!
_>Пару вопросов если можно
_>1. Как узнать принадлежит ли точка произвольному эллипсу
смотря как задан эллипс. имхо можно так:
обозначим
r — вектор направленный от какого-либо фокуса эллипса к заданной точке.
* находим косинус угла между большой осью эллипса и
r (обыкновенным скалярным произведением ортов)
* подставляем этот косинус в фокальное ур-е эллипса
R=p/(1-e*cos(f))
и смотрим: если r<R — точка внутри, r>R — снаружи r==R — на поверхности эллипса.
_>2. Как самомтоятельно реализовать вывод произвольной дуги, так как это делается в API функции Arc
а в чём реализуем?
можно так:
рисуем (glBegin(GL_LINE_STRIP)

просто дугу единичного радиуса с центром в начале координат: от угла
f_start до
f_stop. потом зумим glScale3d() — в каком нужно направлении на величину ексцентриситета эллипса. и наконец как обычно glTranslated() и glRotated вигаем и врашаем то что получилось.