向量的旋转

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
 

转载自:http://www.cppblog.com/guijie/archive/2009/03/16/76766.html

基础的2-D绕原点旋转

在2-D的迪卡尔坐标系中,一个位置向量的旋转公式可以由三角函数的几何意义推出。比如上图所示是位置向量R逆时针旋转角度B前后的情况。在左图中,我们有关系:

  x0 = |R| * cosA

  y0 = |R| * sinA

  =>

  cosA = x0 / |R|

  sinA = y0 / |R|

  在右图中,我们有关系:

  x1 = |R| * cos(A+B)

  y1 = |R| * sin(A+B)

  其中(x1, y1)就是(x0, y0)旋转角B后得到的点,也就是位置向量R最后指向的点。我们展开cos(A+B)和sin(A+B),得到

  x1 = |R| * (cosAcosB - sinAsinB)

  y1 = |R| * (sinAcosB + cosAsinB)

  现在把

  cosA = x0 / |R|

  sinA = y0 / |R|

  代入上面的式子,得到

  x1 = |R| * (x0 * cosB / |R| - y0 * sinB / |R|)

  y1 = |R| * (y0 * cosB / |R| + x0 * sinB / |R|)

  =>

  x1 = x0 * cosB - y0 * sinB

  y1 = x0 * sinB + y0 * cosB

  这样我们就得到了2-D迪卡尔坐标下向量围绕圆点的逆时针旋转公式。顺时针旋转就把角度变为负:

  x1 = x0 * cos(-B) - y0 * sin(-B)

  y1 = x0 * sin(-B) + y0 * cos(-B)

  =>

  x1 = x0 * cosB + y0 * sinB

  y1 = -x0 * sinB + y0 * cosB

  现在我要把这个旋转公式写成矩阵的形式,有一个概念我简单提一下,平面或空间里的每个线性变换(这里就是旋转变换)都对应一个矩阵,叫做变换矩阵。对一个点实施线性变换就是通过乘上该线性变换的矩阵完成的。好了,打住,不然就跑题了。

所以2-D旋转变换矩阵就是:

[cosA  sinA]      [cosA -sinA]
[-sinA cosA] 或者 [sinA cosA]

旋转向量-旋转矩阵 今天接触到摄像机标定,其中用到旋转矩阵的知识,就具体恶补学习了一下,顺便做个笔记。物体在空间中的旋转物体在三维空间中的旋转,可以被分为解为在直接坐标系下,分别先后围绕x,y,z坐标轴旋转得到。旋转的角度也就是我们常听到的角度roll,pitch,yew。如果已知这几个角度,就可以直接通过每一步的矩阵相乘得到整个旋转矩阵。 R=R(yaw)R(pitch)R(roll) R=R(yaw)R(pitc 阅读详情

相关推荐

[学习SLAM]两平面法向量旋转向量/旋转矩阵,根据两平面法向量进行旋转

根据旋转前后的向量值求旋转矩阵 如果已知旋转前后的一向量的变化,那么该如何求这个旋转矩阵呢?本篇结合Rodrigues' rotation formula,介绍一下该旋转矩阵的求法。 1.旋转角度 已知旋转向量为P, 旋转后变为Q。由点积定义可知: 可推出P,Q之间的夹角为: 2. 旋转轴 由1中可知,旋转角所在的平面为有P和Q所构成的平面,那么旋转轴必垂直该平面。 假定旋转前...

开源节流 5948

二维坐标系中的向量旋转公式

  1、在二维坐标系中,一个向量可以使用三角函数来表示,左图中的向量用三角函数表示为: x0 = |R| * cosA y0 = |R| * sinA 2、右图是将左图中向量逆时针旋转B之后得到的向量,它的向量可表示为: x1 = |R| * cos(A + B) = |R| * cosA * cosB - |R|* sinA * sinB y1 = |R| * sin(A + B) ...

whocarea的博客 3万+

python 实现二维向量旋转

python实现二维向量旋转问题描述选定基向量计算两向量夹角使用叉积二次判断旋转角大小构建旋转矩阵计算新向量坐标 问题描述 现有一起点在点 (0,0) 处的向量 (-5,-8)。选择一个基向量 (此基向量可以选任意方向、大小)。要将现有向量旋转至基向量方向,该怎么做? 选定基向量 设定基向量为 (0,2)。则: # 基向量 v1 = np.asarray((0,1)) v2 = np.asarray((-5,-8)) 计算两向量夹角 # 计算方向向量 unit_v1 = v1 / np.linalg.

原来是我的网线掉了啊 3641

向量旋转公式

在二维坐标系中,一个位置向量旋转公式可以由三角函数的几何意义推出。 比如上图所示是位置向量R逆时针旋转角度B前后的情况。 在左图中,我们有关系:   x0 = |R| * cosA => cosA = x0 / |R|   y0 = |R| * sinA => sinA = y0 / |R|  在右图中,我们有关系:   x1 = |R| * cos(A+B)   y1 = |R| * sin(A+B)...

qq_23158477的博客 2758

ie 滤镜 向量旋转公式:

在二维坐标系中,一个位置向量旋转公式可以由三角函数的几何意义推出。 向左转|向右转 比如上图所示是位置向量R逆时针旋转角度B前后的情况。 在左图中,我们有关系:   x0 = |R| * cosA => cosA = x0 / |R|   y0 = |R| * sinA => sinA = y0 / |R|  在右图

OnePiece 1101

IMU学习系列(三)---旋转向量旋转矩阵和四元数的关系

引言: 刚体在空间中的一次旋转可以用旋转矩阵,四元数和旋转向量三种方式表示,以下总结三者的数学转化关系 文章目录1.向量旋转公式2.旋转矩阵和旋转向量2.1旋转矩阵微分和旋转向量的推导2.2罗德旋转公式3.四元数和旋转向量3.1 由欧拉参数推导四元数3.2旋转向量表示四元数4.旋转矩阵和四元数5.欧拉角和旋转向量角 1.向量旋转公式 旋转向量的定义:方向是旋转轴,大小是旋转角的向量,表示刚体...

鬼技的博客 4509

旋转与复数

此文章讲解了2D平面的旋转与复数之间紧密的联系,希望可以帮到大家。

weixin_51963007的博客 2524

旋转向量旋转矩阵的相互转化

当刚体在三维空间中运动时,如果已知旋转向量,根据罗德格斯公式是比较容易求得旋转矩阵的,如下 /cos

xueliang2007的博客 2万+

旋转向量

旋转矩阵 在三维世界的坐标变换中,我们经常用一个旋转矩阵来旋转一个点,比如: 绕任意轴旋转则可以分解成绕三个坐标轴旋转的叠加,最终得到的旋转矩阵 R 便是上述三个矩阵的乘积。 然而,用矩阵来表示一个旋转关系有两个缺点: 首先,通过旋转矩阵不能直观地看出旋转的方向和角度,假设给定一个旋转矩阵,要求旋转方向不变,旋转角度变成一半,那么新的旋转矩阵计算起来就比较麻烦了。 另一方面,旋转变换本身只有3...

一只鱼的博客 3万+

旋转矩阵与旋转向量

欧拉角遵循的是右手系规则,即大拇指指向坐标轴正方向,四指旋转的方向即为转动的正方向,欧拉角包含三个自由量:yaw(偏航角)、pitch(俯仰角)、roll(翻滚角)。四元数的三维表达晦涩难懂,但是四元数的表达式可以优雅的表达三维中的旋转操作,不但避免了欧拉角的死锁问题而且也避免了旋转矩阵的复杂计算。当任何一个坐标轴旋转角度为90度时,就会有两个轴的旋转动作起到对总体旋转结果相同的效果,这就被称为“死锁“符号^ 是向量到反对称矩阵的转换符,而U代表向量u转换的反对称矩阵u^旋转角所在的平面为有。

zjh2883的博客 1036

向量旋转矩阵

那么,这一理论的数学机理是什么呢?以及,这个旋转角度该怎么用矩阵表示呢?本文用二维向量旋转来推导旋转矩阵的公式。假设,我们有一个向量。我们用极坐标表示向量P和向量Q,默认点是向量的起点,分别表示P和Q与x轴正向的夹角。,准备通过一个旋转矩阵将其旋转到。矩阵的乘法可以表示旋转

木盏 2064

三维向量旋转

v∣∣​v⊥​v。

gongfuyd的博客 1642

向量点云旋转

在点云处理过程中,我们有时需要根据法向量把点云旋转到指定方向。例如,我们需要把激光雷达点云中地面旋转到与xoy平面平行。本节将详细介绍其中理和python代码。 平面方程可以用如下公式表示:则(A, B, C)为平面的一个法向量,推导方式请参考博客:python三维点云投影(一)_Coding的叶子的博客-CSDN博客_点云投影。 如下图所示,假设向量n0是始法向量,n1是目标向量方向。我们的目标是将n0旋转到n1方向。n0的坐标为(x0, y0, z0),n1的坐标为(x1

叶子的博客 6069

旋转向量和平移向量的本质

旋转向量和平移向量的本质 文章目录旋转向量和平移向量的本质1. 平移向量的本质2. 旋转矩阵的本质 1. 平移向量的本质 如图所示,坐标系1和坐标系2平行但不重合,所以空间点从坐标系2到坐标系1的变换只有平移,空间的一点PPP在坐标系2和坐标系1的坐标分别设为P2P_{2}P2​和P1P_{1}P1​,设平移向量为t⃗\vec{t}t,即,空间点从坐标系2到坐标系1的变换可以表示为:P1=P2+t⃗P_{1}=P_{2}+\vec{t}P1​=P2​+t 本质:空间点从坐标系2变换到坐标系1的平移向量t

暴雨梨花博客 4026

【入门】(一)旋转向量旋转矩阵

目录 一、基本概念  二、转换公式 三、应用场景 一、基本概念 旋转向量为三维向量表示形式,用旋转向量表示旋转变换,可以将其方向为旋转轴方向,模为旋转角度。三维空间的旋转变换为绕任意轴r旋转角,可以分解为分别绕X,Y,Z轴旋转角,将绕坐标轴旋转表达为矩阵形式有: 图源:https://blog.csdn.net/hongbin_xu/article/details/7892900...

qq_28602183的博客 1万+

【三维向量旋转】基于Matlab的三维坐标旋转

若空间中存在三个点A,B,C,其中A点是不动点,B点是当前方向向量上的一个点,C是目标方向上的一个点。如果要让AB向量沿着BC方向进行旋转,使得AB最终旋转到AC。这个过程就是三维向量旋转过程。

u013367499的博客 1865

神奇的向量旋转

在计算几何中最常用的就是向量(叉积)  今天来一起研究一下向量旋转:  首先考虑一个向量 p = (x,y) , 那么它写成坐标的形式就是x+iy,这个就是P点在复平面的坐标.  问题: 假设现在有一个角度d,并且使向量p沿逆时针方向旋转d角度并且不改变其模的大小.请问旋转后 的向量p'是什么呢?  问题分析:  简单举例.....  对于一个向量p (1,0),使它

seven_13的专栏 4342

向量旋转

Q:在计算几何中,知道一个坐标表示的向量和它的旋转方向及角度,求旋转后得到的向量。 A:在Pascal中是有反三角函数的,因此就能用解三角形硬搞。但是如果我们要对精度进行严格限制,用函数的风险就会很大。那么,怎样才能求到精度很高的旋转向量呢?   ①将一个向量正交分解成a,b两个向量。 ②按要求旋转a,b两个向量。 ③对a,b两个向量进行正交分解得到四个向量。 ④这四个向量的矢量和就是向量经旋

JokerPoker的专栏 762
上一篇: 旋转
下一篇: polya定理应用
TT_last
博客等级 码龄17年 0粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值