旋轉變換1,目標圖形圍繞原點逆時針旋轉theta弧度,變換矩陣為:
[ cos(theta) -sin(theta) 0 ]
[ sin(theta) cos(theta) 0 ]
[ 0 0 1 ]
public static AffineTransform getRotateInstance(double theta, double x, double y)
旋轉變換2,目標圖形以(x, y)為軸心逆時針旋轉theta弧度,變換矩陣為:
[ cos(theta) -sin(theta) x-x*cos+y*sin]
[ sin(theta) cos(theta) y-x*sin-y*cos ]
相當於兩次平移變換與一次原點旋轉變換的複合:
[1 0 x][cos(theta) -sin(theta) 0][1 0- x]
[0 1 y][sin(theta) cos(theta) 0][0 1 -y]
[0 0 1 ][ 0 0 1 ][0 0 1]
這裡是以空間任一點為圓心旋轉的情況。
旋轉變換1,目標圖形圍繞原點逆時針旋轉theta弧度,變換矩陣為:
[ cos(theta) -sin(theta) 0 ]
[ sin(theta) cos(theta) 0 ]
[ 0 0 1 ]
public static AffineTransform getRotateInstance(double theta, double x, double y)
旋轉變換2,目標圖形以(x, y)為軸心逆時針旋轉theta弧度,變換矩陣為:
[ cos(theta) -sin(theta) x-x*cos+y*sin]
[ sin(theta) cos(theta) y-x*sin-y*cos ]
[ 0 0 1 ]
相當於兩次平移變換與一次原點旋轉變換的複合:
[1 0 x][cos(theta) -sin(theta) 0][1 0- x]
[0 1 y][sin(theta) cos(theta) 0][0 1 -y]
[0 0 1 ][ 0 0 1 ][0 0 1]
這裡是以空間任一點為圓心旋轉的情況。