首先,如果您的旋转在 2D 空间中,则该公式非常好。您不能从公式中删除角度,因为没有角度的旋转是没有意义的!!想想看。
你真正需要的是在做你想做的事情之前学习更多基本的东西。例如,您应该了解:
更新
如果您别无选择,只能绘制直矩形,则需要手动旋转图像,创建新图像。此链接包含您需要查找的所有关键字。但简而言之,它是这样的:
for every point (dr,dc) in destination image
find inverse transform of (dr,dc) in original image, named (or, oc)
// Note that most probably or and oc are fractional numbers
from the colors of:
- (floor(or), floor(oc))
- (floor(or), ceil(oc))
- (ceil(or), floor(oc))
- (ceil(or), ceil(oc))
using bilinear interpolation, computing a color (r,g,b)
dest_image[dr][dc] = (r,g,b)