将旋转矩形分割成更小的矩形,如何旋转它们以保持原始的大矩形

Splitting a rotating rect into smaller rects, how to rotate them to maintain the original big rect?

本文关键字:旋转 原始 分割 何旋转      更新时间:2023-10-16

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

现在由于不相关的原因,我不得不将矩形分割成6个较小的矩形(每个大小为512x360)。

这些较小的矩形只是r切割后的较大矩形;它们的位置是这样的,它们"拼接在一起"形成了原来的矩形(所以它看起来仍然是原来的大矩形)

说明:

形象

由于矩形r不断地围绕它自己的中心旋转,将它分成更小的矩形就引入了以下问题:

如何围绕原中心p旋转缝合在一起的矩形(即较小的矩形),以保持原来的较大矩形?这可能吗?

我的英语不是很好,所以解释起来有点棘手。如果你需要更多的解释,我可以用油漆或其他东西把场景画出来

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

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