计算绕原点旋转某角度后的点的坐标

2023-10-30

问题:

A点(x, y)按顺时针旋转 theta 角度后点的坐标为A1点(x1,y1)  ,求x1 y1坐标用(x,y)和 theta 来表示

方法一:

设 OA 向量和x轴的角度为 alpha ,

那么顺时针转过 theta后 ,OA1 向量和x轴的角度为 (alpha - theta) 。

使用圆的参数方程来表示点坐标。A的坐标可以表示为:

 

{x=r⋅cosαy=r⋅sinα{x=r⋅cos⁡αy=r⋅sin⁡α

 

A1的坐标可以表示为(带入A点坐标进行化简)

 

{x1=r⋅cos(α−θ)=r⋅(cosαcosθ+sinαsinθ)=x⋅cosθ+y⋅sinθy1=r⋅sin(α−θ)=r⋅(sinαcosθ−cosαsinθ)=−x⋅sinθ+y⋅cosθ{x1=r⋅cos⁡(α−θ)=r⋅(cos⁡αcos⁡θ+sin⁡αsin⁡θ)=x⋅cos⁡θ+y⋅sin⁡θy1=r⋅sin⁡(α−θ)=r⋅(sin⁡αcos⁡θ−cos⁡αsin⁡θ)=−x⋅sin⁡θ+y⋅cos⁡θ

写成矩阵形式:

 

(cosθ−sinθsinθcosθ)(xy)=(x1y1)(cos⁡θsin⁡θ−sin⁡θcos⁡θ)(xy)=(x1y1)

 

 

方法二:

点顺时针转,相当于 点不变,让坐标轴逆指针转。

 

坐标为(x,y),可以看成: 

x值是点表示的向量,与x正轴单位向量的点积。

y值是点表示的向量,与y正轴单位向量的点积。

即在x轴和y轴上,带方向的投影长度。

 

所以问题等价的转化为: 坐标轴逆时针转了theta,求点在新的坐标系下的坐标。

 

新的坐标系的x正轴单位向量为(用原来的坐标系来表示)

 

(cosθ,sinθ)(cos⁡θ,sin⁡θ)

 

新的坐标系的y正轴单位向量为

 

(−sinθ,cosθ)(−sin⁡θ,cos⁡θ)

 

 

所以

A点新的坐标系下的x值 x1= 点积(A点坐标,新坐标系x正轴单位向量)

A点新的坐标系下的y值 y1= 点积(A点坐标,新坐标系y正轴单位向量)

 

{x1=x⋅cosθ+y⋅sinθy1=−x⋅sinθ+y⋅cosθ{x1=x⋅cos⁡θ+y⋅sin⁡θy1=−x⋅sin⁡θ+y⋅cos⁡θ

 

(cosθ−sinθsinθcosθ)(xy)=(x1y1)(cos⁡θsin⁡θ−sin⁡θcos⁡θ)(xy)=(x1y1)

 

 

总结:

顺时针旋转矩阵为:

 

(cosθ−sinθsinθcosθ)(cos⁡θsin⁡θ−sin⁡θcos⁡θ)

 

 

逆时针旋转矩阵为:(theta 变成 -theta带入即可)

 

(cosθsinθ−sinθcosθ)(cos⁡θ−sin⁡θsin⁡θcos⁡θ)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算绕原点旋转某角度后的点的坐标 的相关文章

随机推荐

  • 17 张图实战 + 理清 K8S 网络排错思路,硬核!

    作者 Cylon出处 https u kubeinfo cn R35JNc Overview 本文将引入一个思路 在 Kubernetes 集群发生网络异常时如何排查 文章将引入 Kubernetes 集群中网络排查的思路 包含网络异常模型
  • 算法笔记之旅——问题B:出租车费

    题目描述 某市出租车计价规则如下 起步4公里10元 即使你的行程没超过4公里 接下来的4公里 每公里2元 之后每公里2 4元 行程的最后一段即使不到1公里 也当作1公里计费 一个乘客可以根据行程公里数合理安排坐车方式来使自己的打车费最小 例
  • 空间误差分析:统一的应用导向处理(Matlab代码实现)

    个人主页 研学社的博客 欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 本文关
  • SVN软件中patch的的运用以及patch介绍

    什么是patch patch就是补丁 在程序中就是和原来相比有差异的部分 生活中常见的就是程序升级 假设我们用手机下载某个软件显示是100M大小 第一次安装时就需要下载100M大小的安装包 当安装完成后 后续会收到软件升级的提醒 升级包可能
  • Vuforia提高识别图星级

    本文转载自http blog csdn net unity3d xyz article details 50638007 高通的识别图上传到后台以后我们可以看有星级评定 星值最大为5星 星值越大有以下好处 1 识别图越容易识别 2 识别出来
  • 从零开始的RVOS: Referring Video Object Segmentation

    最近新接触到一个与VOS相关的任务 叫做Referring VOS 该任务基于文本描述对视频中特定目标进行分割 是一个新兴的跨模态CV任务 数据集 1 静态推断图像分割数据集 虽然RVOS是视频任务 但根据以往的经验和相关文章的方法 可以使
  • 水文模型有哪些?SWAT模型、VIC模型、HEC模型、HSPF模型、HYPE模型、SWMM模型、FVCOM模型、Delft3D模型等应用

    目录 从小白到精通SWAT模型学习建模方法 实例应用 高级进阶 R VIC模型融合实践技术应用及未来气候变化模型预测 HEC RAS一维 二维建模方法及实践技术应用 HEC HMS水文模型实践技术应用 HSPF 模型应用 HYPE分布式水文
  • Service的两种启动方式

    在Android开发的过程中 Service是一个非常重要的组件 它的生命周期里面有几个特别重要的方法 Service的生命周期 onCreate 当服务创建的时候调用 onStartCommand startServcie的时候会调用这个
  • RFID作业(第三次)

    1 通信系统中为什么要进行编码和解码 常见的编码方法有哪些 信源编码是指将模拟信号转换成数字信号 或将数字信号编码成更合适传输的数字信号 换句话来说 通信系统编码和解码是为了让信号更适合传输 常见的编码方法有1 反向不归零编码 2 曼彻斯特
  • ListView的复用问题,点击条目变色.不复用

    主要的是3个类 包含activity application 和一个adpter 内部的细节在代码中都有详细的注释 可以参考 application public class MyApplication extends Applicatio
  • PyQt5学习笔记16----PyQt信号和槽传递额外参数

    使用Pyqt编程过程中 经常会遇到给槽函数传递额外参数的情况 但是信号 槽机制只是指定信号如何连接到槽 信号定义的参数被传递给槽 而额外的参数 用户定义 不能直接传递 而传递额外参数又是很有用处 你可能使用一个槽处理多个组件的信号 有时要传
  • GIT实战篇,教你如何使用GIT可视化工具

    系列文章目录 手把手教你安装Git 萌新迈向专业的必备一步 GIT命令只会抄却不理解 看完原理才能事半功倍 快速上手GIT命令 现学也能登堂入室 GIT实战篇 教你如何使用GIT可视化工具 系列文章目录 一 GIT有哪些常用工具 1 Git
  • 图像增强 数据增强

    目录 python opncv 数据增强 亮度 opencv 亮度饱和度增强 vgg19图像增强 c opencv 图像增强 python opncv 数据增强 亮度 def data augment image brightness fa
  • 从零开始的python教程:全面又好用的学习资料

    1 耳熟能详的Python自学网站 廖雪峰python学习网站 推荐理由 全面成体系的python学习内容 概括起来其实就是免费且全面 而且里面的知识讲解也十分恰当 所举的例子也十分的形象 不足 知识之间的梯度对于刚学习python的学习者
  • 浅谈:VS中解决Bug的几个简单实用调试技巧

    在写这篇文章之前 就已经有不少读者来问我 有没有调试方面的文章 给推荐 思前想后 笔者决定自己研究一下调试的技巧 以便更好的使用VS 对于现在不少初学C语言的学者 大部分开始使用VS2019 或者VS2022 但是对于代码出现了错误 该怎么
  • Idea运行springboot项目(保姆级教学)

    大家好 我是CZ淡陌 一名专注以理论为基础实战为主的技术博主 将再这里为大家分享优质的实战项目 本人在Java毕业设计领域有多年的经验 陆续会更新更多优质的Java实战项目 希望你能有所收获 少走一些弯路 向着优秀程序员前行 Java项目精
  • 一、深入理解redis之需要掌握的知识点

    导读 从本章开始我们将要深入讲解redis 讲解的内容包括 redis的基础数据类型及应用场景 数据存储 持久化方式 RDB AOF redis集群进化过程 redis中AKF问题解决方案 redis中CAP问题解决方案 redis的分布式
  • Android RxJava生命周期管理解决方案整理

    一 为什么要做生命周期管理 Observable create new ObservableOnSubscribe
  • ubuntu下rime输入法的安装配置

    一 安装 ibus rime安装 1 1 安装ibus输入法框架 sudo apt get install ibus ibus clutter ibus gtk ibus gtk3 ibus qt4 1 2 安装rime sudo apt
  • 计算绕原点旋转某角度后的点的坐标

    问题 A点 x y 按顺时针旋转 theta 角度后点的坐标为A1点 x1 y1 求x1 y1坐标用 x y 和 theta 来表示 方法一 设 OA 向量和x轴的角度为 alpha 那么顺时针转过 theta后 OA1 向量和x轴的角度为