Работая над реализацией SVG для Internet Explorer, основанной на собственном формате VML, я столкнулся с проблемой преобразования эллиптической дуги SVG в эллиптическую дугу VML.
В VML дуга задается: двумя углами для двух точек на эллипсе и длинами радиусов, в SVG дуга задается: двумя парами координат для двух точек на эллипсе и размерами граничного прямоугольника эллипса.
Итак, вопрос: как выразить углы двух точек на эллипсе двумя парами их координат. Промежуточным вопросом может быть: как найти центр эллипса по координатам пары точек на его кривой.
Обновление: давайте предположим, что эллипс размещается нормально (его радиусы параллельны оси линейной системы координат), поэтому вращение не применяется.
Обновление: этот вопрос не относится к элементу svg: ellipse, а скорее к команде "a" эллиптической дуги в элементе svg: path (Пути SVG: команды для кривой эллиптической дуги)