怎样将一个图形绕某一点旋转90度

2025-04-10 00:40:03
推荐回答(1个)
回答1:

看你说是90度,估计是二维旋转,三维一般会说三个角或者旋转轴的。

假如点P的坐标为(a, b) 取转置
假如旋转角度为 phi
假如矩阵求逆函数为inv()
假如变换系统为矩阵在左,列向量在右:

令T = [
1, 0, a
0, 1, b,
0, 0, 1 ];

令R = [
cos(phi), -sin(phi), 0

sin(phi), cos(phi), 0

0, 0,1]

令P2为变换后的点:
P2 = T * R * inv(T)

数学上是这么算的,如果是写程序实现一般没这么复杂,用DX、OGL或者GDI都有工具函数你可以使用的。