绕点旋转公式

*在平面坐标上,任意点P(x1,y1),绕一个坐标点Q(x2,y2)旋转θ角度后,新的坐标设为(x, y)的计算公式:
*x= (x1 - x2)*cos(θ) - (y1 - y2)*sin(θ) + x2 ;
*y= (x1 - x2)*sin(θ) + (y1 - y2)*cos(θ) + y2 ;

此公式在视觉引导上有重要应用。

坐标系绕圆环旋转通常涉及到三维空间中的旋转变换,特别是当我们要描述物体在固定轴上围绕另一个旋转中心(比如圆环的中心)旋转的情况。这个过程可以使用矩阵乘法来表示,其中旋转矩阵结合平移矩阵来完成。假设我们有一个直角坐标系XYZ,原O是圆环的中心,圆环的半径分别为R和r(外径和内径),需要绕Z轴旋转θ角度。 首先,我们需要分两步进行变换: 1. **绕Z轴旋转**:这是通过旋转矩阵来完成的,对于绕Z轴逆时针旋转θ的角度,旋转矩阵(绕Z轴正方向看)为: \[ R_z(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} \] 2. **绕圆环中心旋转**:如果物体还要相对于圆环中心旋转,先将坐标平移至圆环中心,然后进行旋转,最后再平移回原位置。平移矩阵T是一个加法操作,而复合平移就是先减去圆环中心的位置,再加上新的位置。 \[ T_{to\_center}(x', y', z') = \begin{bmatrix} 1 & 0 & 0 & -R \\ 0 & 1 & 0 & -r \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} x' \\ y' \\ z' \\ 1 \end{bmatrix} \] \[ T_{back\_to\_origin}(x'', y'', z'') = \begin{bmatrix} 1 & 0 & 0 & R \\ 0 & 1 & 0 & r \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} x'' \\ y'' \\ z'' \\ 1 \end{bmatrix} \] 最终变换为 \( P_{new} = T_{back\_to\_origin} \cdot R_z(\theta) \cdot T_{to\_center}(P_{old}) \),这里的\( P_{old} \)和\( P_{new} \)分别是原始和新坐标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值