Рисование QRect вокруг QLine

#c #qt #algebra

Вопрос:

Этот вопрос больше об алгебре, чем о программировании, но, возможно, я найду здесь некоторую помощь 🙂 Я пытаюсь создать QRect вокруг QLine с заданным смещением(см. Рисунок ниже). Имея сегмент AB и смещение, как найти все недостающие точки для создания QRect?

введите описание изображения здесь

Ответ №1:

предполагая, что у вас нет вращения, вы можете наблюдать, что:

ваша линия рисуется над двумя 2D точками: давайте назовем их Pa и Pb

и более конкретно

 Pa is defined as Pa_x, Pa_y
Pb is defined as Pb_x, Pb_y
 

сейчас:

 the point F is located at Pa_x-X;Pa_y-X
the point D is located at Pb_x X;Pb_y X
 

в qt вы можете нарисовать прямоугольник с этими 2 точками

если включено вращение, то вы можете сделать небольшую тригонометрию и использовать cos(тета) sin(тета), чтобы получить эти проекции в реальной плоскости x;y

Комментарии:

1. Действительно, я должен рассмотреть возможность ротации. Не могли бы вы рассказать мне немного больше об использовании тригонометрии? Тета — это угол с осью X?