朋友您好我正在处理一个项目,但我遇到了问题。 见下图
这个紫色的矩形是我想要旋转和变换的主要区域。我使用Qtransform旋转30度旋转,尺寸(180,173)。我已经计算了内部区域的绳索并将它们传递给paint事件,当我调整外部Rectangle时,这个内部矩形是使用painterpath绘制的,请参见下图 现在img 2中的这个紫色区域看起来变形了,因为当我缩小外部直肠的大小时,我只绘制了绳索。
所以我的问题是,是否有任何方法可以计算内部区域变换的角度如果是,请帮助我们。
答案 0 :(得分:1)
我假设您能够获得目标图形的坐标(应用变换后)。您可以使用atan2
函数获取矢量和X轴之间的角度(辐射亮度):
QPointF vector = vector_end - vector_start;
double angle = atan2(vector.y(), vector.x());
两个向量的angle
值的差异将给出这两个向量之间的角度。您可能需要通过添加或减去2π来确保差异在[0,2π]范围内。