空间两点绕某一固定点旋转公式
2013-04-29 13:21
381 查看
旋转公式的推导
在《Flash actionScript 3.0 动画教程》一书中有一个旋转公式:x1=cos(angle)*x-sin(angle)*y;
y1=cos(angle)*y+sin(angle)*x;
其中x,y表示物体相对于旋转点旋转angle的角度之前的坐标,x1,y1表示物体旋转angle后相对于旋转点的坐标
从数学上来说,此公式可以用来计算某个点绕另外一点旋转一定角度后的坐标,例如: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(δ+β)
5。由三角函数两角和差公式知:
sin(δ+β)=sin(δ)cos(β)+cos(δ)sin(β)
cos(δ+β)=cos(δ)cos(β)-sin(δ)sin(β)
所以得出:
c=r*cos(δ+β)=r*cos(δ)cos(β)-r*sin(δ)sin(β)=xcos(β)-ysin(β)
d=r*sin(δ+β)=r*sin(δ)cos(β)+r*cos(δ)sin(β)=ycos(β)+xsin(β)
即旋转后的坐标c,d只与旋转前的坐标x,y及旋转的角度β有关
从图中可以很容易理解出A点旋转后的C点总是在圆周上运动,圆周的半径为|AB|,利用这点就可以使物体绕圆周运动,即旋转物体。
原文来自:http://hi.baidu.com/goodwjs/item/17d7d8f58983a7c5a835a28d
相关文章推荐
- 3D 空间中物体绕任意轴旋转公式
- 已知空间中某个3d物体的欧拉角(p,h,b),求该物体绕固定轴(v)旋转固定角度(theta)后该物体的欧拉角p',h',b'
- 仿射变换-空间曲线绕定点旋转的公式推导
- 空间点绕轴旋转公式&程序(C++)
- 惯导姿态角的解释和固定的变换公式
- 关于感知学习模型机中空间任一点到超平面的距离公式的推导过程
- 点击ImageView旋转固定角度
- 三维旋转(根据转轴和角度)的公式。罗德里格旋转公式
- iOS 开发设置空间旋转中心点的代码
- 3D坐标绕轴旋转公式推导
- 关于感知学习模型机中空间任一点到超平面的距离公式的推导过程
- 二维向量旋转公式
- 求三维空间中距离最近的两点
- PCL 利用空间同名点求取旋转和平移矩阵
- 用友U8数据库修复用友t3数据库修复用友/823错误824错误/检测到基于一致性的逻辑 I O 错误/ tempdb 空间用尽或某一系统表不一致
- div层固定在页面某一位置
- 二维,三维坐标旋转算法(公式)
- 向量旋转公式(转)
- 三维空间几何变换原理[平移、旋转、错切]
- 動態使表頭和某一列固定(fixed)--zhuan