罗德里格斯公式

1.点乘

A ⃗ ⋅ B ⃗ = ∣ A ⃗ ∣ ∣ B ⃗ ∣ c o s ⟨ A ⃗ , B ⃗ ⟩ \vec{A} \cdot \vec{B} = \left | \vec{A} \right | \left | \vec{B} \right | cos\left \langle \vec{A}, \vec{B} \right \rangle A B = A B cosA ,B

  • 对应几何意义:向量 A ⃗ \vec{A} A 在向量 B ⃗ \vec{B} B 方向上投影与 ∣ B ⃗ ∣ \left | \vec{B} \right | B 的乘积,反应两个向量在方向上的相似度,结果越大越相似;
    请添加图片描述

2.叉乘

A ⃗ × B ⃗ = ∣ A ⃗ ∣ ∣ B ⃗ ∣ s i n ⟨ A ⃗ , B ⃗ ⟩ n ⃗ \vec{A} \times \vec{B} = \left | \vec{A} \right | \left | \vec{B} \right | sin\left \langle \vec{A}, \vec{B} \right \rangle \vec{n} A ×B = A B sinA ,B n

  • 其中 n ⃗ \vec{n} n A ⃗ \vec{A} A B ⃗ \vec{B} B 所构成平面的单位向量。
  • 对应几何意义:若以 A ⃗ \vec{A} A B ⃗ \vec{B} B 为边构成一个平行四边形,那么这两个向量外积的模长与这个平行四边形的面积相等;
    请添加图片描述

3.罗德里格斯公式的特殊情形

  • 如图所示,假设向量 k ⃗ \vec{k} k 为与Z轴重合的单位向量,向量 v ⃗ \vec{v} v 与X轴重合,向量 v ⃗ \vec{v} v 绕向量 k ⃗ \vec{k} k 旋转 θ \theta θ角度后,得到向量 v ⃗ r o t \vec{v}_{rot} v rot
    请添加图片描述

  • 那么,Y轴方向的单位向量为:
    Y ⃗ = k ⃗ × v ⃗ ∣ k ⃗ × v ⃗ ∣ \vec{Y} = \frac{\vec{k}\times \vec{v}}{|\vec{k}\times \vec{v}|} Y =k ×v k ×v

  • 而向量 k ⃗ \vec{k} k 和向量 v ⃗ \vec{v} v 垂直,并且向量 k ⃗ \vec{k} k 为单位向量,则:
    Y ⃗ = k ⃗ × v ⃗ ∣ k ⃗ × v ⃗ ∣ = k ⃗ × v ⃗ ∣ k ⃗ ∣ ∣ v ⃗ ∣ s i n ⟨ k ⃗ , v ⃗ ⟩ = k ⃗ × v ⃗ ∣ v ⃗ ∣ \vec{Y} = \frac{\vec{k}\times \vec{v}}{|\vec{k}\times \vec{v}|} = \frac{\vec{k}\times \vec{v}}{|\vec{k}| | \vec{v}| sin\left \langle \vec{k}, \vec{v} \right \rangle} = \frac{\vec{k}\times \vec{v}}{|\vec{v}|} Y =k ×v k ×v =k ∣∣v sink ,v k ×v =v k ×v

  • 那么旋转后的向量 v r o t v_{rot} vrot为:
    v ⃗ r o t = ∣ v ⃗ r o t ∣ c o s θ v ⃗ ∣ v ⃗ ∣ + ∣ v ⃗ r o t ∣ s i n θ Y ⃗ ∣ Y ⃗ ∣ \vec{v}_{rot} = |\vec{v}_{rot}|cos\theta \frac{\vec{v}}{|\vec{v}|} + |\vec{v}_{rot}|sin\theta \frac{\vec{Y}}{|\vec{Y}|} v rot=v rotcosθv v +v rotsinθY Y

  • 由于旋转不会改变向量模长,所以 ∣ v ⃗ ∣ = ∣ v ⃗ r o t ∣ |\vec{v}| = |\vec{v}_{rot}| v =v rot,向量 Y ⃗ \vec{Y} Y 为归一化后的单位向量,所以:
    v ⃗ r o t = c o s θ v ⃗ + s i n θ ( k ⃗ × v ⃗ ) \vec{v}_{rot} = cos\theta \vec{v} + sin\theta (\vec{k} \times \vec{v}) v rot=cosθv +sinθ(k ×v )


4.罗德里格斯公式的一般形式

  • 如图所示,向量 v ⃗ \vec{v} v 绕向量 k ⃗ \vec{k} k 旋转 θ \theta θ角度得到向量 v ⃗ r o t \vec{v}_{rot} v rot,其中,向量 k ⃗ \vec{k} k 为单位向量:
    在这里插入图片描述

  • 向量 v ⃗ \vec{v} v 可以表示成如下形式:
    v ⃗ = v ⃗ ∥ + v ⃗ ⊥ v ⃗ r o t = v ⃗ ∥ + v ⃗ r o t ⊥ \vec{v} = \vec{v}_{\parallel } + \vec{v}_{\perp } \\ \vec{v}_{rot} = \vec{v}_{\parallel} + \vec{v}_{rot\perp } v =v +v v rot=v +v rot

  • 由于向量 k ⃗ \vec{k} k 为单位向量,有:
    v ⃗ ∥ = ∣ v ⃗ ∣ c o s ⟨ v ⃗ , k ⃗ ⟩ k ⃗ ∣ k ⃗ ∣ = ∣ v ⃗ ∣ v ⃗ ⋅ k ⃗ ∣ v ⃗ ∣ ∣ k ⃗ ∣ k ⃗ ∣ k ⃗ ∣ = v ⃗ ⋅ k ⃗ ⋅ k ⃗ \vec{v}_{\parallel } = |\vec{v}|cos\left \langle \vec{v}, \vec{k} \right \rangle \frac{\vec{k}}{|\vec{k}|} = |\vec{v}| \frac{\vec{v} \cdot \vec{k}}{|\vec{v}||\vec{k}|}\frac{\vec{k}}{|\vec{k}|} = \vec{v} \cdot \vec{k} \cdot \vec{k} v =v cosv ,k k k =v v ∣∣k v k k k =v k k

  • 那么向量 v ⃗ \vec{v} v 在垂直方向分量为:
    v ⃗ ⊥ = v ⃗ − v ⃗ ∥ = v ⃗ − v ⃗ ⋅ k ⃗ ⋅ k ⃗ \vec{v}_{\perp } = \vec{v} - \vec{v}_{\parallel } = \vec{v} - \vec{v} \cdot \vec{k} \cdot \vec{k} v =v v =v v k k

  • v ⃗ ⊥ \vec{v}_{\perp } v 绕向量 k ⃗ \vec{k} k 旋转 θ \theta θ角度到向量 v ⃗ r o t ⊥ \vec{v}_{rot\perp } v rot等价于上面罗德里格斯公式的特殊情形,直接代入公式有:
    v ⃗ r o t ⊥ = c o s θ v ⃗ ⊥ + s i n θ ( k ⃗ × v ⃗ ⊥ ) = c o s θ ( v ⃗ − v ⃗ ⋅ k ⃗ ⋅ k ⃗ ) + s i n θ ( k ⃗ × v ⃗ ⊥ ) \vec{v}_{rot\perp } = cos\theta \vec{v}_{\perp } + sin\theta (\vec{k} \times \vec{v}_{\perp }) = cos\theta (\vec{v} - \vec{v} \cdot \vec{k} \cdot \vec{k}) + sin\theta (\vec{k} \times \vec{v}_{\perp }) v rot=cosθv +sinθ(k ×v )=cosθ(v v k k )+sinθ(k ×v )

  • 所以,旋转后向量 v ⃗ r o t \vec{v}_{rot} v rot为:
    v ⃗ r o t = v ⃗ ⋅ k ⃗ ⋅ k ⃗ + c o s θ ( v ⃗ − v ⃗ ⋅ k ⃗ ⋅ k ⃗ ) + s i n θ ( k ⃗ × v ⃗ ⊥ ) = c o s θ v ⃗ + ( 1 − c o s θ ) v ⃗ ⋅ k ⃗ ⋅ k ⃗ + s i n θ ( k ⃗ × v ⃗ ⊥ ) \vec{v}_{rot} = \vec{v} \cdot \vec{k} \cdot \vec{k} + cos\theta (\vec{v} - \vec{v} \cdot \vec{k} \cdot \vec{k}) + sin\theta (\vec{k} \times \vec{v}_{\perp }) \\ = cos\theta \vec{v} + (1 - cos\theta)\vec{v} \cdot \vec{k} \cdot \vec{k} + sin\theta(\vec{k} \times \vec{v}_{\perp }) v rot=v k k +cosθ(v v k k )+sinθ(k ×v )=cosθv +(1cosθ)v k k +sinθ(k ×v )

  • 由叉乘的几何意义可知, k ⃗ × v ⃗ ⊥ \vec{k} \times \vec{v}_{\perp } k ×v k ⃗ × v ⃗ \vec{k} \times \vec{v} k ×v 方向相同,都是向量 v ⃗ , k ⃗ \vec{v},\vec{k} v k 平面法向量方向,也即是图中Y轴方向,二者大小为:
    k ⃗ × v ⃗ ⊥ = ∣ k ⃗ ∣ ∗ ∣ v ⃗ ⊥ ∣ n ⃗ k ⃗ × v ⃗ = ∣ k ⃗ ∣ ∗ ( ∣ v ⃗ ∣ s i n ⟨ k ⃗ , v ⃗ ⟩ ) n ⃗ = ∣ k ⃗ ∣ ∗ ∣ v ⃗ ⊥ ∣ n ⃗ = k ⃗ × v ⃗ ⊥ \vec{k} \times \vec{v}_{\perp } = |\vec{k}|*|\vec{v}_{\perp }| \vec{n}\\ \vec{k} \times \vec{v} = |\vec{k}|*(|\vec{v}|sin\left \langle \vec{k}, \vec{v} \right \rangle) \vec{n} \\ = |\vec{k}|*|\vec{v}_{\perp }| \vec{n} \\ = \vec{k} \times \vec{v}_{\perp } k ×v =k v n k ×v =k (v sink ,v )n =k v n =k ×v

  • 因此,得到罗德里格斯公式的一般形式:
    v ⃗ r o t = c o s θ v ⃗ + ( 1 − c o s θ ) v ⃗ ⋅ k ⃗ ⋅ k ⃗ + s i n θ ( k ⃗ × v ⃗ ) \vec{v}_{rot} = cos\theta \vec{v} + (1 - cos\theta)\vec{v} \cdot \vec{k} \cdot \vec{k} + sin\theta(\vec{k} \times \vec{v}) v rot=cosθv +(1cosθ)v k k +sinθ(k ×v )


5.罗德里格斯公式的矩阵形式

  • 将旋转表示成一个矩阵 R R R的形式,即:
    v ⃗ r o t = R . v ⃗ \vec{v}_{rot} = R.\vec{v} v rot=R.v
    -(1) v ⃗ ⋅ k ⃗ ⋅ k ⃗ \vec{v} \cdot \vec{k} \cdot \vec{k} v k k
    v ⃗ ⋅ k ⃗ ⋅ k ⃗ = ( v ⃗ ⋅ k ⃗ ) ⋅ k ⃗ = k ⃗ ( v ⃗ ⋅ k ⃗ ) = k ⃗ ( k ⃗ T ⋅ v ⃗ ) = k ⃗ ( k ⃗ T ⋅ v ⃗ ) = ( k ⃗ k ⃗ T ) v ⃗ \vec{v} \cdot \vec{k} \cdot \vec{k} \\ = (\vec{v} \cdot \vec{k}) \cdot \vec{k} \\ = \vec{k}(\vec{v} \cdot \vec{k}) \\ = \vec{k}(\vec{k}^{T}\cdot \vec{v}) \\ = \vec{k}(\vec{k}^{T}\cdot \vec{v}) \\ = (\vec{k} \vec{k}^{T}) \vec{v} v k k =(v k )k =k (v k )=k (k Tv )=k (k Tv )=(k k T)v
  • (2) k ⃗ × v ⃗ \vec{k} \times \vec{v} k ×v
    k ⃗ × v ⃗ = k ⃗ ∧ v ⃗ \vec{k} \times \vec{v} = \vec{k}\wedge \vec{v} k ×v =k v
  • 代入得到:
    R = c o s θ I + ( 1 − c o s θ ) k ⃗ k ⃗ T + s i n θ k ⃗ ∧ R = cos\theta I + (1-cos\theta)\vec{k}\vec{k}^{T} + sin\theta\vec{k}\wedge R=cosθI+(1cosθ)k k T+sinθk
  • 由于 t r ( I ) = 3 , t r ( k ⃗ k ⃗ T ) = ∣ ∣ k ⃗ ∣ ∣ = 1 , t r ( k ⃗ ∧ ) = 0 tr(I) = 3,tr(\vec{k}\vec{k}^{T})=||\vec{k}|| = 1,tr({\vec{k}\wedge})=0 tr(I)=3tr(k k T)=∣∣k ∣∣=1,tr(k )=0,那么:
    t r ( R ) = 3 c o s θ + ( 1 − c o s θ ) = 2 c o s θ + 1 θ = a r c c o s ( t r ( R ) − 1 2 ) tr(R)=3cos\theta +(1-cos\theta) = 2cos\theta + 1 \\ \theta = arccos(\frac{tr(R)-1}{2}) tr(R)=3cosθ+(1cosθ)=2cosθ+1θ=arccos(2tr(R)1)

6.参考资料

  • [1] 罗德里格斯公式推导
  • [2] 向量点乘和叉乘的意义

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/86191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向使用者的git与gerrit相关笔记

git与gerrit相关笔记 前言一、gerrit是什么?二、一些配置1.先配置全局email 和name2.gerrit配置ssh key3.可能遇到的问题 三、提交代码和合并冲突常用Git命令三件套严格的要求 总结 前言 本文是介绍什么是gerrit和工作中git与gerrit相关的命令来避免一些提交代码的…

05_CSS进阶技巧

1 CSS 规范 遵循以下顺序 布局定位属性:display/position/float/clear/visibility/overflow(建议 display 第一个写)自身属性:width/height/margin/padding/border/background文本属性:color/font/text-decoraction/…

EMQX Enterprise 5.2 发布:Flow 设计器,Amazon Kinesis,Azure Event Hubs

EMQX Enterprise 5.2.0 版本现已正式发布! 新版本带来了一系列重磅更新,最令人瞩目的是可拖拽的可视化 Flow 设计器,它可以帮助企业快速创建、测试和部署数据集成。同时,我们新增了对 Amazon Kinesis 和 Azure Event Hubs 的支持…

React 如何导出excel

在现代的Web开发中,数据导出是一个非常常见的需求。而在React应用中,我们经常需要将数据导出为Excel文件,以便用户可以轻松地在本地计算机上查看和编辑。本文将介绍如何在React应用中实现导出Excel文件的功能。 章节一:安装依赖 …

VMware安装CentOS Stream 8以及JDK和Docker

一、下载镜像源 地址:https://developer.aliyun.com/mirror/?spma2c6h.25603864.0.0.285b32d48O2G8Y 二、安装配置 配置项 一共有以下这些,其中软件、软件选择 、安装目的地、网络主机名需要讲一下,其他都简单,自行设置即可。 …

电脑出现丢失msvcp71.dll的解决方法_常见msvcp71.dll解决方法

当电脑提示“找不到 msvcp71.dll”时,意味着您的系统缺少这个重要的动态链接库文件。msvcp71.dll 是 Visual Studio 2010 运行时所需的一个组件,因此如果您安装了 Visual Studio 2010 或更高版本,那么您很可能会遇到这个问题。以下是解决这个…

uni-app实现web-view图片长按下载

<template><view><web-view :webview-styles"webviewStyles" :src"webUrl"></web-view></view> </template> uniapp的web-view中图片无法长按保存&#xff0c;IOS下是正常的&#xff0c;但是Android下长按无反应 解…

Spring Cloud Alibaba Gateway 全链路跟踪TraceId日志

前言 凡是文中需要注册到nacos的都需要这个jar包 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>凡是使用config jar包的都需要写bootstrap.prop…

React实战过程的知识了解

做项目用到react和antd&#xff0c;没办法循序渐进的学习&#xff0c;只能把一些点记录在这里&#xff0c;希望大家指正。 1.杂七杂八 正文 //actionRef&#xff0c;操作表单的预设方法&#xff0c;包括&#xff1a;刷新、重置所有项并刷新、重置到默认项、加载更多、清空选…

ipad触控笔有必要买原装吗?ipad2023手写笔推荐

目前&#xff0c;在无纸教学、无纸办公的大背景下&#xff0c;电容笔得到了广泛的关注。只是&#xff0c;对于这两支电容笔的不同之处&#xff0c;不少人并不是很清楚。其实这两种电容笔都很好区分&#xff0c;第一种是主动电容笔&#xff0c;也就是我们常用的电容式屏幕&#…

[JAVAee]Spring MVC

目录 Spring MVC框架 MVC Spring MVC的功能 用户与程序的连接 RequestMapping 指定为Get请求 指定为Post请求 获取参数 单个参数 表单传递多个参数 传递对象 后端参数重命名(后端参数映射) 设置参数必传/非必传 获取JSON对象 获取URL中的参数 上传文件 获取…

十六、MySql的MVCC机制CONNECT(收官!)

文章目录 一、数据库并发的场景有三种&#xff1a;二、读-写&#xff08;一&#xff09;3个记录隐藏列字段&#xff08;二&#xff09;undo 日志&#xff08;三&#xff09;模拟 MVCC&#xff08;四&#xff09;一些思考&#xff08;五&#xff09;Read View 一、数据库并发的场…

【深度学习】Pytorch 系列教程(十二):PyTorch数据结构:4、数据集(Dataset)

目录 一、前言 二、实验环境 三、PyTorch数据结构 0、分类 1、张量&#xff08;Tensor&#xff09; 2、张量操作&#xff08;Tensor Operations&#xff09; 3、变量&#xff08;Variable&#xff09; 4、数据集&#xff08;Dataset&#xff09; 随机洗牌 一、前言 Ch…

FPGA——WS2812B彩灯点亮

文章目录 前言一、WS2812B手册分析原理1.1 主要特点1.2 器件图1.3 接口1.4 输入码型1.5 归零码&#xff08;RZ&#xff09;和非归零码(NRZ)&#xff08;拓展&#xff09;1.6 级联输出1.7 输入数据格式 二、FPGA点亮彩灯2.1 代码 三、总结 前言 本篇博客是记录WS2812手册的学习…

web二级操作题

js和css的引入 在 HTML 中&#xff0c;你可以使用 <script> 和 <link> 标签来引入外部的 JavaScript 文件和 CSS 文件。 引入外部的 JavaScript 文件&#xff1a; <script src"path/to/script.js"></script>src 属性指定了 JavaScript 文…

关于PyInstaller打包exe程序的参数用法大全

PyInstaller可以将Python程序打包成一个exe程序来独立运行&#xff0c;用户使用时只需要执行这个exe文件即可&#xff0c;不需要在机器上再安装Python及其他包就可运行了。另外&#xff0c;PyInstaller相较于其他打包程序&#xff0c;比如py2exe&#xff0c;大多时候使用起来更…

分类预测 | MATLAB实现WOA-CNN-GRU-Attention数据分类预测

分类预测 | MATLAB实现WOA-CNN-GRU-Attention数据分类预测 目录 分类预测 | MATLAB实现WOA-CNN-GRU-Attention数据分类预测分类效果基本描述模型描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现WOA-CNN-GRU-Attention数据分类预测&#xff0c;运行环境Matlab2021b及以上&…

创建表

MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 创建表 语法格式: create table 表名(列名1 数据类型,列名2 数据类型,... ,列名n, 数据类型 ); 练习:在czwbkl库中,创建一格test01表 跟大家说…

2、RocketMQ消息的分类

一、普通消息 1 消息发送分类 Producer对于消息的发送方式也有多种选择&#xff0c;不同的方式会产生不同的系统效果。 同步发送消息 同步发送消息是指&#xff0c;Producer发出⼀条消息后&#xff0c;会在收到MQ返回的ACK之后才发下⼀条消息。该方式的消息可靠性最高&#xff…

Python之列表

标题 列表什么是列表列表的创建列表的删除列表的访问 列表的常用方法append()、insert()、extend()pop()、remove()、clear()count()、index()list()、 filter()、 reduce()、lambda() 列表支持的运算加法运算符乘法运算符*成员测试运算符in 内置函数对列表的操作列表推导式列表…