|
发表于 2010-12-10 23:10:00
|
显示全部楼层
Re:关于一个2D旋转算法的问题。
要么只有在特殊象限才正确,要么不知道转到哪里去了.
========================================================
怎么可能?
你想通过用新点坐标求出世界矩阵:
P_old * M_world =P_new;
想求这个M_world?
这个我不会求.干吗要求呢?矩阵是自己去设计的.
因为,你说的是2D的;
那,设:向量是以P_old(x,y,w=1)形式;
如果你想平移,那就设计矩阵M为:
1, 0, 0
0, 1, 0
x_dis,y_dis,1
P_old * M =P_new; P_new=(x + x_dis,y + y_dis,1);
这就实现了平移.向量多个w不难理解吧.就为了应对矩阵运算.
缩放:
手动操作 就是乘0.9是缩放.乘1.1是扩大.数可自己变.
矩阵:
0.9, 0 , 0
0 ,0.9, 0
0 , 0 , 1
旋转:
三角学的应用.可参看大师技巧一书.
2D绕Z轴旋转呗.
公式
矩阵M:
cos(a),sina(a),0
-sin(a),cos(a),0
0 , 0 ,1
大师技巧都有介绍... |
|