Да, это может быть сделано, вращение с последующим неравномерным масштабированием и обратным вращением. Подробности вы можете найти здесь в третьем вопросе http://www.cs.cmu.edu/~djames/15-462/Fall03/assts/15-462-Fall03-wrAssign1-answer.pdf., вы также можете попробовать следующий код openGL. Он поворачивает прямоугольник на 45 градусов, затем масштабируется по оси X. и затем вращается в -26 градусах, то есть атан (0,5). 0,5 получается из определения угла между осью X и одной стороной после масштабирования в направлении X.
glRotatef (-26,0, 0,0, 0,0, 1,0);
glScalef (2,1,1);
glRotatef (45,0, 0,0, 0,0, 1,0);
glRectf (0, 0, 25,0, 25,0);