座标的旋转与平移的困惑
坐标的旋转与平移的困惑
最近遇到个坐标的旋转与平移的问题(不是坐标系的平移于旋转),如下:
我已知两个标准的坐标点A(ax,ay),B(bx,by);
在线段AB的平面中有点P(x,y)坐标也已知;
我把AB的平面旋转和平移得到AB两点在原坐标系的坐标C(cx,cy),D(dx,dy);
那么我在原坐标系里的P点坐标是多少?
------解决方案--------------------
平面问题
1:A平移到C,得到一个移动向量V1
2:按V1将B移动到B1
3:计算CB1和CD的夹角alpha
4: 用此夹角构造绕Z轴的旋转矩阵M (此处有方向问题)
5:P_NEW = M*(P+V1)
仅提供思路,有代码但是不给
------解决方案--------------------
在二维上p点相对于a.b的坐标不变
------解决方案--------------------
已知一条线段经旋转和平移,生成另一条线段。其中有某条线段上的点C,求在另一条线段上的对应点坐标
算出已知点C在对应线AB上的长度百分比,XX = AC的长度/AB的长度
返回该百分比在另一条线段上的对应点即可。
如果线段是有序的,也就是知道对应的AB两点顺序,就很简单,否则会有歧义。这个歧义是:可以返回为 XX 或 1-XX的点。其中 0 >= XX >=1
------解决方案--------------------
二维空间
在二维空间中,旋转可以用一个单一的角 θ 定义。作为约定,正角表示逆时针旋转。把笛卡尔坐标的列向量关于原点逆时针旋转θ 的矩阵是:
cosθ -sinθ
sinθ cosθ
该矩阵的逆矩阵为:
cosθ sinθ
-sinθ cosθ
表示较原来反方向旋转θ ,也即逆时针旋转 -θ
最近遇到个坐标的旋转与平移的问题(不是坐标系的平移于旋转),如下:
我已知两个标准的坐标点A(ax,ay),B(bx,by);
在线段AB的平面中有点P(x,y)坐标也已知;
我把AB的平面旋转和平移得到AB两点在原坐标系的坐标C(cx,cy),D(dx,dy);
那么我在原坐标系里的P点坐标是多少?
------解决方案--------------------
平面问题
1:A平移到C,得到一个移动向量V1
2:按V1将B移动到B1
3:计算CB1和CD的夹角alpha
4: 用此夹角构造绕Z轴的旋转矩阵M (此处有方向问题)
5:P_NEW = M*(P+V1)
仅提供思路,有代码但是不给
------解决方案--------------------
在二维上p点相对于a.b的坐标不变
------解决方案--------------------
已知一条线段经旋转和平移,生成另一条线段。其中有某条线段上的点C,求在另一条线段上的对应点坐标
算出已知点C在对应线AB上的长度百分比,XX = AC的长度/AB的长度
返回该百分比在另一条线段上的对应点即可。
如果线段是有序的,也就是知道对应的AB两点顺序,就很简单,否则会有歧义。这个歧义是:可以返回为 XX 或 1-XX的点。其中 0 >= XX >=1
------解决方案--------------------
二维空间
在二维空间中,旋转可以用一个单一的角 θ 定义。作为约定,正角表示逆时针旋转。把笛卡尔坐标的列向量关于原点逆时针旋转θ 的矩阵是:
cosθ -sinθ
sinθ cosθ
该矩阵的逆矩阵为:
cosθ sinθ
-sinθ cosθ
表示较原来反方向旋转θ ,也即逆时针旋转 -θ