向量的旋转矩阵

我们都知道,矩阵的乘法可以表示旋转。那么,这一理论的数学机理是什么呢?以及,这个旋转角度该怎么用矩阵表示呢?

本文用二维向量旋转来推导旋转矩阵的公式。假设,我们有一个向量P(x, y),准备通过一个旋转矩阵将其旋转到Q(x’, y’),假设旋转角度为 α \alpha α

我们用极坐标表示向量P和向量Q,默认原点是向量的起点, θ \theta θ ϕ \phi ϕ分别表示P和Q与x轴正向的夹角。那么有,
x = r ∗ c o s ( θ ) (1) x=r*cos(\theta)\tag{1} x=rcos(θ)(1)
y = r ∗ s i n ( θ ) (2) y=r*sin(\theta)\tag{2} y=rsin(θ)(2)
x ′ = r ∗ c o s ( ϕ ) = r ∗ c o s ( α − θ ) (3) x'=r*cos(\phi)=r*cos(\alpha-\theta)\tag{3} x=rcos(ϕ)=rcos(αθ)(3)
y ′ = r ∗ s i n ( ϕ ) = r ∗ s i n ( α − θ ) (4) y'=r*sin(\phi)=r*sin(\alpha-\theta)\tag{4} y=rsin(ϕ)=rsin(αθ)(4)
咱们用一张图可以清晰解释上面5个公式:
极坐标
我们直接把式(3)、(4)展开:
x ′ = r ∗ c o s ( θ ) c o s ( α ) + r ∗ s i n ( θ ) s i n ( α ) = x c o s ( α ) + y s i n ( α ) (5) x'=r*cos(\theta)cos(\alpha)+r*sin(\theta)sin(\alpha)=xcos(\alpha)+ysin(\alpha)\tag{5} x=rcos(θ)cos(α)+rsin(θ)sin(α)=xcos(α)+ysin(α)(5)
y ′ = r ∗ s i n ( α ) c o s ( θ ) − r ∗ s i n ( θ ) c o s ( α ) = x s i n ( α ) − y c o s ( α ) (6) y'=r*sin(\alpha)cos(\theta)-r*sin(\theta)cos(\alpha)=xsin(\alpha)-ycos(\alpha)\tag{6} y=rsin(α)cos(θ)rsin(θ)cos(α)=xsin(α)ycos(α)(6)
整理(5)(6)得知:
R = [ c o s ( α ) − s i n ( α ) s i n ( α ) c o s ( α ) ] R= \begin{bmatrix} {cos(\alpha)}&{-sin(\alpha)}\\ {sin(\alpha)}&{cos(\alpha)} \end{bmatrix} R=[cos(α)sin(α)sin(α)cos(α)]

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

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

相关文章

http和https 所有的请求头信息

http 所有的请求头信息 HTTP请求头信息包含了客户端向服务器发送请求时附带的各种细节信息,帮助服务器更好地处理请求。这些头部字段多种多样,用于说明请求的各个方面,如客户端信息、请求的内容类型、缓存策略等。以下是一些常见的HTTP请求头字段,但请注意,这并非所有可能…

手撕sql面试题:找出所有观看视频ID “1001“ 的观看时长大于他们观看视频ID “1002“ 的观看时长的用户ID

分享最近面试的sql面试题: 下面是表结构: CREATE TABLE video_records ( video_id char(4) NOT NULL COMMENT 视频id, user_id char(4) NOT NULL COMMENT 用户id, play_duration int NOT NULL COMMENT 观看时长, PRIMARY KEY (video_id,…

Ubuntu卸载已安装软件

前言 在Linux系统上安装了一些软件,但是卸载起来相比于Windows系统麻烦的多,这里总结了两种办法,希望对遇到这种问题的小伙伴能够有所帮助 1.Ubuntu Software 卸载 1.点击桌面上的Ubuntu Software并且选择installed 选中想要卸载的软件再按…

51. 【Android教程】JSON 数据解析

在上一节我们学习了 xml 数据格式,如果你觉得 xml 的数据比较冗余,标签、属性等等定义过于复杂,那么这一节我们将继续学习另一种更精简、更高效的数据格式—— Json。它广泛的运用于数据持久化以及网络传输中,这一节我们一起学习 …

CTF(Capture The Flag)编码方式

CTF(Capture The Flag)比赛中,编码和解码是常见的挑战类别之一,涉及到各种不同的编码方式。以下是一些CTF中可能出现的编码技术列表: Base系列编码: Base16(Hexadecimal)&#xff1a…

Hi3519AV100 处理器⾼速全局快⻔相机

⾼速全局快⻔相机采⽤ 1英⼨全局快⻔ Sensor,⽀持 H.264/H.265 编码,8 百万 分辨率模式下最⾼帧率可达 50 帧/秒,1080P 模式下最⾼帧率可达 120 帧/秒。主控采⽤ Hi3519AV100 处理器,集成 2 Tops AI 算⼒ NPU ,⽀持⼤…

SGP.32-12

有任何关于GSMA\IOT\eSIM\RSP\业务应用场景相关的问题,欢迎W: xiangcunge59 一起讨论, 共同进步 (加的时候请注明: 来自CSDN-iot). 3.9 SM-DS Use 3.9.2.2 Event Retrieval by the eIM 在文档中提到的“通过eIM检索事件”的过程涉及了IoT设备中的IPA&#…

浮子式水位计施工细则

1浮子式水位计应安装在水位测井内,安装示意图见下图。 2设备安装要求 以测井中心为基准参考点,将水位计底板放在工作平台上。将悬索与平衡锤固定或锁紧,慢慢将平衡锤放至井底。 3)悬索另一端绕于水位轮,留长1m&#…

018、Python+fastapi,第一个Python项目走向第18步:ubuntu24.04 安装cuda和pytorch环境

一、说明 我们安装了pytorch环境之后,会用yolo v9 来测试一下,看8g 显存能不能跑下来,上次用无影云电脑,4cpu8g内存直接爆了,云电脑也死机了,提示一直占用内存不释放,我自己的云电脑不能占用内…

AI机器视觉平台赋能:实现智慧工厂质检产品缺陷精准识别

背景 随着人工智能浪潮的涌起,智能技术与制造业的交融日益紧密,智能化成为现代制造业不可或缺的核心竞争力。传统制造业与智能制造业在生产效率、产品质量等方面的巨大差异,正促使传统制造业积极拥抱智能化变革,以缩小发展鸿沟。 …

2024年五一杯高校数学建模竞赛(A题)|钢板切割问题 | 建模解析,小鹿学长带队指引全代码文章与思路

我是鹿鹿学长,就读于上海交通大学,截至目前已经帮200人完成了建模与思路的构建的处理了~ 本篇文章是鹿鹿学长经过深度思考,独辟蹊径,通过路径优化解决钢板切割问题。结合贪心算法,Floyd-Warshall等多元算法…

JDBC连接流程

jdbc流程 1.加载MySQL驱动 Class.forName(“com.mysql.jdbc.Driver”); 2.获取MySQL连接 Connetion con DriverManager.getConnetion(url,root,password); 3.设置参数,预注入SQL语句 PrepareStatement prep con.prepareStatement(“select * from dual”); 4.…

WPS文字页面横向

要将WPS文字页面设置为横向,可以按照以下步骤操作:12 打开WPS文字文档,点击“页面布局”选项卡。在“页面布局”中找到“纸张方向”选项。选择“横向”,这样整篇文档的页面方向就会变为横向。 如果只需要将文档中的特定页面设置…

vue3实现移动端,PC端响应式布局

纯移动端|PC端 这种适用于只适用一个端的情况 方法:amfe-flexible postcss-pxtorem相结合 ① 执行以下两个命令 npm i -S amfe-flexible npm install postcss-pxtorem --save-dev② main.js文件引用 import amfe-flexible③ 根目录新建一个postcss.config.js文件…

VS2022 .Net6.0 无法打开窗体设计器

拿Vs2022 建了个Demo&#xff0c;运行环境是net6.0-windows&#xff0c;无论双击或是右键都打不开窗体设计器 打开项目目录下的*.csproj.user <?xml version"1.0" encoding"utf-8"?> <Project ToolsVersion"Current" xmlns"htt…

CHM 创建工具

确实有一些可替代HTML Help Workshop的工具&#xff0c;它们同样能帮助你创建、编辑和编译CHM文件&#xff0c;以下是一些备选方案&#xff1a; HelpNDoc: 这是一款强大的帮助文件创作软件&#xff0c;支持包括CHM在内的多种输出格式。它拥有直观的界面&#xff0c;适合初学者和…

vue-treeselect 实现懒加载 + 远程模糊搜索 支持多选,可悬浮提示选择项所有层级 已封装为组件

今天实现一个客户单位组织树的功能&#xff0c;不限层级&#xff0c;数据量巨大&#xff0c;采用vue-treeselect 实现懒加载 远程搜索 这是vue iview组件 element的需要改一下tooltip的写法 这个支持对选择的单位全部层级进行悬浮提示&#xff08;也无法在下面下拉回显&am…

PUBG下载

https://www.pubgmobile.com/HK/events.shtml?page1&#xff08;手机版&#xff09; https://steam2.ssyxjs.cn/gameStore/detail12/2204?plan%E7%BB%9D%E5%9C%B0%E6%B1%82%E7%94%9F-18&e_creative88906878234&e_keywordid784021409904&bd_vid843425054508232313…

【Qt之·控件·样式表】

系列文章目录 文章目录 前言一、Qt样式表的基础知识1.1 Qt样式表的定义和语法规则1.2 Qt样式表中的选择器和属性1.2.1 盒子模型1.2.2 border 1.3 Qt样式表中的伪类和伪元素 二、编写基本的Qt样式表2.1 在Qt应用程序中引入样式表文件的方式2.2 设置基本的背景色、字体样式等 三、…

MacOs安装pyenv环境

pyenv介绍 Pyenv 是一个流行的 Python 版本管理工具&#xff0c;它允许你在同一台机器上安装和切换不同版本的 Python。Pyenv 的主要作用包括&#xff1a; 多版本管理: 允许你在同一台计算机上安装多个版本的 Python&#xff0c;包括官方版本、开发版本和各种发行版。这对于测试…