旋转矩形,使它们保持与画布的相对位置

时间:2016-06-03 10:46:34

标签: algorithm math rotation

我有一个背景像素图,基本上是一个画布,我画了一堆 矩形开,我需要旋转像素图和矩形。 但是,需要旋转背景像素图和矩形 单独地,即背景pixmap的旋转通过一个来处理 外部库例程,我需要旋转和重绘矩形 在手动上。

到目前为止,我实际上可以通过应用来旋转矩形 transformation matrix I got from Wikipedia 到每个顶点。我不知道的是如何翻译每个矩形保持其相对于画布的位置。

这是一个快速绘图,用于说明我想要实现的目标: enter image description here

我需要使用C和Xlib执行此操作,但我不一定要查找代码,但会欣赏一些常规提示/算法。

2 个答案:

答案 0 :(得分:1)

要获取子对象的平移位置,您需要旋转子对象的相对位置向量,然后将其添加到原点:

Notice that the relative vector is rotated

伪代码将是:

chef-client

请注意,您的示例图像不仅会旋转父对象,还会对其进行平移:左侧图像会旋转(0,300),但此点会转换为(0,0)。

enter image description here

答案 1 :(得分:-1)

请求的转换是

X' = 300 - Y
Y' = X