向量(x, y)逆时针绕起点旋转α\alphaα度后得到的向量(x’, y’):
x′=xcosα−ysinαx' = xcos\alpha - ysin\alphax′=xcosα−ysinα
y′=xsinα+ycosαy' = xsin\alpha+ ycos\alphay′=xsinα+ycosα
推导过程:
d=x2+y2d = \sqrt{x^2+y^2}d=x2+y2
cosθ=x/dcos\theta = x/dcosθ=x/d
sinθ=y/dsin\theta = y/dsinθ=y/d
cos(θ+α)=x′/dcos(\theta+\alpha) = x' /dcos(θ+α)=x′/d
sin(θ+α)=y′/dsin(\theta+\alpha) = y' /dsin(θ+α)=y′/d
由:
cos(α+θ)=cosαcosθ−sinαsinθcos(\alpha+\theta) = cos\alpha cos\theta - sin\alpha sin\thetacos(α+θ)=cosαcosθ−sinαsinθ
sin(α+θ)=sinαcosθ+cosαsinθsin(\alpha+\theta) = sin\alpha cos\theta + cos\alpha sin\thetasin(α+θ)=sinαcosθ+cosαsinθ
得:
cos(θ+α)=cosαcosθ−sinαsinθcos(\theta+\alpha) = cos\alpha cos\theta - sin\alpha sin\thetacos(θ+α)=cosαcosθ−sinαsinθ
=cosαxd−sinαyd=x′d = cos\alpha\frac{x}{d} - sin\alpha \frac{y}{d} = \frac{ x'}{d}=cosαdx−sinαdy=dx′
sin(θ+α)=sinαcosθ+cosαsinθsin(\theta+\alpha) = sin\alpha cos\theta + cos\alpha sin\thetasin(θ+α)=sinαcosθ+cosαsinθ
=sinαxd+cosαyd=y′d = sin\alpha\frac{x}{d} + cos\alpha \frac{y}{d} = \frac{ y'}{d}=sinαdx+cosαdy=dy′
消除ddd得:
x′=cosα⋅x−sinα⋅yx' = cos\alpha\cdot x - sin\alpha\cdot yx′=cosα⋅x−sinα⋅y
y′=sinα⋅x+cosα⋅yy' = sin\alpha\cdot x + cos\alpha\cdot yy′=sinα⋅x+cosα⋅y