非直角平面坐标系下的坐标换算

由于机械装配的原因,现实中很多轴装配是不严格的垂直的。这往往就会导致在坐标换算时的误差,特别是在2到3米长的轴上,从一端定位到另一端,这种角度上的误差会被放大。这里做一下非直角坐标系下的角度换算的备忘记录。很多时候,甚至在轴上的不同位置,轴与轴的夹角还不一样。通常,我们只对其取个均值。但还是视设备的精度要求和轴的长度而采用不同的计算策略。

在平面直角坐标系下,两个坐标系的换算可以通过简单的旋转加平移得到,具体计算如下:

\begin{bmatrix} x\\ y \end{bmatrix}= \begin{bmatrix} cos\Theta & -sin\Theta \\ sin\Theta & cos\Theta \end{bmatrix}\begin{bmatrix} x'\\ y' \end{bmatrix}+\begin{bmatrix} t1\\ t2 \end{bmatrix}

考虑如图所示的坐标系:

 黑色为原坐标系,坐标系X轴和Y轴之间夹角为\beta。红色为原坐标系旋转了\theta后的坐标系。现假设在红色坐标系中有一个点P(x^{'},y^{'})。则求P在黑色坐标系下的坐标(x,y)

求的步骤是这样:

一、求x^{'}在黑色坐标系下的投影。

二、求y^{'}在黑色坐标系下的投影。

三、将两个投影的分量相加,就得到(x,y) 。

首先,考虑x^{'} 在黑色坐标系下的投影。参考如下图:

 x^{'}x轴上的投影为cos\theta -\frac{sin\theta }{tan\beta } ,在y轴上的投影为\frac{sin\theta }{sin\beta } 。

接着,考虑y'在黑色坐标系下的投影。参考如下图:

 

 y'x轴上的投影为cos(\beta +\theta )-\frac{sin(\beta +\theta )}{tan\beta } ,在y轴上的投影为cos\theta +\frac{sin\vartheta }{tan\beta } 。

综合以上,得到非垂直坐标系下的旋转矩阵为:

\begin{bmatrix} cos\theta -\frac{sin\theta}{tan\beta} & cos(\beta+\theta)-\frac{sin(\beta+\theta)}{tan\beta}\\ \frac{sin\theta}{sin\beta} & cos\theta+\frac{sin\theta}{tan\beta} \end{bmatrix}

=\begin{pmatrix} \frac{sin(\beta -\theta ))}{sin\beta } & -\frac{sin\theta }{sin\beta }\\ \frac{sin\theta }{sin\beta }&\frac{sin(\beta +\theta ))}{sin\beta }\\ \end{pmatrix}

将此矩阵替换掉文章开头的旋转矩阵,就得到非垂直坐标系下的坐标转换关系。

另外的问题就是,我们如何知道平面坐标系下两坐标轴的夹角。这里给出我的测量方法。考虑如下图:

其中P1(x1,y1),P2(x2,y2),P3(x3,y3) 。\vec{P_{1}P_{2}}=(x1-x2,y1-y2),\vec{P_{2}P_{3}}=(x3-x2,y3-y2)

由于P1,P2,P3三点构成一个直角,则其数量积\vec{P_{1}P_{2}}\cdot \vec{P_{2}P_{3}}=0

(x1-x2)(x3-x2)+(x1-x2)(y3-y2)cos\beta+(y1-y2)(x3-x2)cos\beta+(y1-y2)(y3-y2)=0

cos\beta=\frac{\left [ (x1-x2)(x3-x2)+(y1-y2)(y3-y2) \right ]}{-\left [ (x1-x2)(y3-y2)+(y1-y2)(x3-x2) \right ]}  。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值