将旋转的矩形拆分成较小的部分,如何旋转它们以保持原来的大直径?

时间:2016-10-15 05:39:58

标签: c++ rotation sfml

我有一个尺寸为1536x720的矩形r,我围绕它自己的中心点p(768, 360)旋转,这很容易使用内置的sf :: Sprite :: rotate函数

现在由于无关的原因,我必须将矩形分成6个较小的矩形(每个矩形为512x360)。

这些较小的矩形只是较大的矩形r切成薄片;它们的定位方式是“缝合在一起”#34;它们形成了原始的矩形(所以看起来它仍然是原始的大矩形)

插图: image

由于矩形r不断围绕自己的中心旋转,因此将其拆分为较小的矩形会引入问题:

如何围绕原始中心p旋转拼接在一起的矩形(即较小的矩形),以便保留原始较大的矩形?这甚至可能吗?

我的英语不是很好,所以解释起来有点棘手。如果您需要更多解释,我可以在油漆或其他东西中绘制场景

1 个答案:

答案 0 :(得分:1)

您可以使用sf::Transformable::setOrigin将每个小矩形的变换原点设置为大矩形的中心点。

请注意,它将成为所有转换的起源,例如小矩形也将相对于新中心缩放,但这可能是所期望的行为。