Показать сообщение отдельно
Старый 19.11.2012, 06:08   #18
radiobutton
Бывалый
 
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений
(для 546 пользователей)
Ответ: Радиус среза круга

Сообщение от WISHMASTER35 Посмотреть сообщение
Это я так понимаю синяя точка на моем рисунке?
да.
Но если известна длина красной линии, то все проще. По той формуле, что в самом начале написал.

Сообщение от WISHMASTER35 Посмотреть сообщение
А вот если из центра эллипса ведет вектор, то как определить расстояние от центра до края эллипса в этом направлении?
Пытался так:
dir.setLength(radX);
float len = distance(dir, radX, radY);
dir.div(len);

private static float distance(Vector2f point, float a, float b) {
   //1 - на краю эллипса. 0 - в центре
   return (point.x*point.x) / (a*a) + (point.y*point.y) / (b*b);
}
Но не работает, хотя теоретически должно работать.
Попробуй так.

private static float distance(Vector2f point, float a, float b) {
float c = point.y / point.x;
float x = (a*b) / Mathf.sqrt(b*b + c*c*a*a);
float y = c*x;

return x*x + y*y;
}
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
WISHMASTER35 (19.11.2012)