Сообщение от Dmitry
|
|
По центру и осям - самый простой из них.
|
Э, у эллипса два центра. И не центрами их зовут, а фокусами.
|
Цитата:
|
|
Но нужен вариант который бы нарисовал эллипс, по точкам, лежащим на нем, пусть их будет и не 4.
|
По пяти можно.
Эллипс, как я уже сказал, можно параметризовать так: координаты фокусов и сумма расстояний от фокусов до точек эллипса (это свойство/определение эллипса, что эта сумма постоянна). Ну, вот значит и выписывается система уравнений:
|p[i] - A| + |p[i] - B| = d, i=1..5,
или
sqrt((x[i] - Ax)^2 + (y[i] - Ay)^2) + sqrt((x[i] - Bx)^2 + (y[i] - By)^2) = d, i=1..5,
где p[i] = (x[i], y[i]) - заданные точки (5 штук), A, B - фокусы, d - расстояние.
Решаешь ее и будет тебе счастье. Я бы не заморачивался с формулами, а просто решал численно - минимизируй невязку (сумму квадратов) между левой и правой частями, например, градиентным спуском.