坐标旋转的公式

感觉计算几何还是一如既往地不会
如果这样的话,比赛出了简单的计算几何就会很亏。。
并且听说ACM很多计算几何
那还是学点皮毛吧(雾
反正出了我也不会
这个东西感觉还是很常用的啊
并且推导也很简单

点的旋转

坐标旋转的公式_第1张图片
比如说这个图,由A点旋转到B点
首先,可以知道,长度 r r r肯定是不会变的
于是我们先表示出 r r r
r c o s α = x rcosα=x rcosα=x
r s i n α = y rsinα=y rsinα=y
尝试表示 ( s , t ) (s,t) (s,t)
s = r c o s ( α + β ) = r c o s α c o s β + r s i n α s i n β = x c o s β − y s i n β s=rcos(α+β)=rcosαcosβ+rsinαsinβ=xcosβ-ysinβ s=rcos(α+β)=rcosαcosβ+rsinαsinβ=xcosβysinβ
t = r s i n ( α + β ) = r s i n α c o s β + r c o s α s i n β = y c o s β + x s i n β t=rsin(α+β)=rsinαcosβ+rcosαsinβ=ycosβ+xsinβ t=rsin(α+β)=rsinαcosβ+rcosαsinβ=ycosβ+xsinβ

坐标系的旋转

可以用同样的方法推导
但其实,坐标系的旋转就相当于点往相反的方向旋转
把上面的 β β β改为 − β -β β就可以了
可以得到
s = r c o s ( α + β ′ ) = r c o s α c o s β ′ + r s i n α s i n β ′ = x c o s β ′ − y s i n β ′ = x c o s β + y s i n β s=rcos(α+β')=rcosαcosβ'+rsinαsinβ'=xcosβ'-ysinβ'=xcosβ+ysinβ s=rcos(α+β)=rcosαcosβ+rsinαsinβ=xcosβysinβ=xcosβ+ysinβ
t = r s i n ( α + β ′ ) = r s i n α c o s β ′ + r c o s α s i n β ′ = y c o s β ′ + x s i n β ′ = y c o s β − x s i n β t=rsin(α+β')=rsinαcosβ'+rcosαsinβ'=ycosβ'+xsinβ'=ycosβ-xsinβ t=rsin(α+β)=rsinαcosβ+rcosαsinβ=ycosβ+xsinβ=ycosβxsinβ

你可能感兴趣的