Я работаю над программой, которая отображает графику cgm. Для эллиптической дуги я получаю векторы для начального и конечного углов, поэтому после того, как я вычисляю углы и пытаюсь использовать их в дуге, я получаю неправильные углы.
На изображении ниже:
Есть ли способ, которым я могу это исправить?
Краткий пример кода:
/*213 and 113 are the angles calculated from the vectors from the center blue mark at(300, 200) to the points (-75, -50) and (75, -50) which are shown by the dark yellow lines*/
QPainter p;
//draw elliptical arc
p.drawPie(200,150, 200, 100, 213*16, 113*16);
//draw circular arc
p.drawPie(250,150, 100, 100, 213*16, 113*16);
редактировать:
Я нашел свою проблему. Моя геометрия была неверной, предполагая, что угол был одинаковым для кругов и эллипсов. Спасибо @KubaOber за упоминание этого.
редактировать 2:
Сейчас мне нужна помощь в поиске правильной формулы для вычисления угла вектора для эллипса. Если кто-то может указать мне в правильном прямом. Благодарю.
Задача ещё не решена.
Других решений пока нет …