Рисование эллиптической дуги с помощью QPainter создает неправильный угол

Я работаю над программой, которая отображает графику 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:
Сейчас мне нужна помощь в поиске правильной формулы для вычисления угла вектора для эллипса. Если кто-то может указать мне в правильном прямом. Благодарю.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector