二维图形旋转的推导(转)
关于二维图形旋转可能在很多计算机图形学相关的书籍上都会介绍,然而真正理解公式推导过程的却讲得不多。那么如何推导出二维图形绕某一点旋转的公式呢?我在这里就将其推导过程简要的说明一下。
其实推导过程比较简单,首先我们来看一幅图,看看如何推导出二维图形绕原点进行旋转的公式。
上图画的比较粗略,不过能说明问题就够了。假设旋转前的点位于P处,旋转之后的点位于P'处。如何求旋转之后的点P'坐标?
在图中,旋转之前P的方向角是a,旋转之后P'的方向角就变为a+b,这里b就是旋转的角度,所谓方向角是改点和原点连线与X轴正向的夹角。旋转的正方向是逆时针
在图中,从P'点向X轴引垂线,垂足为B点,根据三角形的基础知识,可以写出如下的等式。
公式1中的R就是点P以及P'到原点的距离
由公式1,根据高中三角函数的知识,即和差公式得到如下等式2
通过观察上式,Rcos(a)=x,Rsin(a)=y,所以上式进一步花间可以得到下面的等式。
这个公式就是我们经常看到的二维图形旋转的公式,这样绕原点的旋转公式推导出来了,那么嗨经常碰到的绕某一点旋转的,比如绕着矢量图形的中心旋转的。在这种情况下,首先需要平移,然后旋转,最后平移回去,具体过程如下。
由上图可知,(x0,y0)是旋转的顶点,那么先将图形平移到原点,然后绕着原点旋转b角度,最后平移到(x0,y0)上去。
那么很容易可知绕任意一点(x0,y0)旋转的公式为
是不是比较简单,我觉得还行。
本文来自博客园,作者:NLazyo,转载请注明原文链接:https://www.cnblogs.com/bile/p/13931960.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2019-11-05 FFT之频率与幅值的确定(转)