推导坐标旋转公式(转)

最终公式

该公式仅仅针对旋转中心在坐标原点的情况。

x1=cos(angle)*x-sin(angle)*y;
y1=cos(angle)*y+sin(angle)*x;
//angle为旋转的角度,x、y是旋转前的坐标
推导过程
  • 从数学上来说,此公式可以用来计算某个点绕另外一点旋转一定角度后的坐标,例如:A(x,y)绕B(a,b)旋转β度后的位置为C(c,d),则x,y,a,b,β,c,d有如下关系式:

  1. 设A点旋转前的角度为δ,则旋转(逆时针)到C点后角度为δ+β

  2. 求A,B两点的距离:dist1=|AB|=y/sin(δ)=x/cos(δ)

  3. 求C,B两点的距离:dist2=|CB|=d/sin(δ+β)=c/cos(δ+β)

  4. 显然dist1=dist2,设dist1=r所以:

```
r=x/cos(δ)=y/sin(δ)=d/sin(δ+β)=c/cos(δ+β)
```
  1. 由三角函数两角和差公式知:

sin(δ+β)=sin(δ)cos(β)+cos(δ)sin(β)
cos(δ+β)=cos(δ)cos(β)-sin(δ)sin(β)
所以得出:
c=rcos(δ+β)=rcos(δ)cos(β)-rsin(δ)sin(β)=xcos(β)-ysin(β)
d=r
sin(δ+β)=rsin(δ)cos(β)+rcos(δ)sin(β)=ycos(β)+xsin(β)
```
即旋转后的坐标c,d只与旋转前的坐标x,y及旋转的角度β有关。

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
坐标差四参数公式,也称作七参数换,是地图投影中常用的一种换方式。其基本思想是通过对源坐标系和目标坐标系的七个参数进行求解,来实现坐标系之间的换。这七个参数包括三个平移参数(dx、dy、dz)、三个旋转参数(w、p、k)和一个尺度参数(m)。 推导坐标差四参数公式的步骤如下: 1. 定义源坐标系和目标坐标系,并确定其坐标系原点及坐标轴方向。 2. 假设源坐标系和目标坐标系之间存在一组坐标差(ΔX,ΔY,ΔZ),表示源坐标系与目标坐标系间的平移差异。 3. 假设源坐标系绕x、y、z轴分别旋转了wx、wy、wz角度,而目标坐标系绕x、y、z轴分别旋转了px、py、pz角度,表示源坐标系与目标坐标系间的旋转差异。 4. 假设源坐标系与目标坐标系之间存在一个尺度差异m,表示坐标系间的尺度不同。 5. 根据以上假设,可得到以下公式: ΔX = m*(Y*wz - Z*wy) + dx ΔY = m*(Z*wx - X*wz) + dy ΔZ = m*(X*wy - Y*wx) + dz X' = X + m*(-Z*py + Y*pz) + m*X*wz - m*Y*wy + m*Z*wx + dx Y' = Y + m*(Z*px - X*pz) + m*X*wy + m*Y*wz - m*Z*wx + dy Z' = Z + m*(-Y*px + X*py) + m*X*wz - m*Y*wy + m*Z*wx + dz 其中,(X,Y,Z)为源坐标系下的坐标,(X',Y',Z')为目标坐标系下的坐标。 6. 对上述公式进行求解,即可得到七个参数的值,从而完成坐标差四参数换。 需要注意的是,以上公式中的所有角度均为弧度制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值