二维图形旋转公式的推导

二维图形旋转公式的推导

大家好,又见面了,我是全栈君。

    关于二维图形旋转可能在非常多计算机图形学相关的书籍上都会介绍,然而真正理解公式推导过程的却讲得不多。

那么怎样推导出二维图形绕某一点旋转的公式呢?我在这里就将其推导过程简要的说明一下。

事实上推导过程比較简单,首先我们来看一幅图,看看怎样推导出二维图形绕原点进行旋转的公式。

二维图形旋转公式的推导

上图画的比較粗略,只是能说明问题就够了。如果旋转前的点位于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)上去。

那么非常easy可知绕随意一点(x0,y0)旋转的公式为

二维图形旋转公式的推导

是不是比較简单,我认为还行。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116344.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • XLSTransformer+模板 导出 Excel「建议收藏」

    XLSTransformer+模板 导出 Excel「建议收藏」java快速导出Excel 利用XLSTransformer+模板

    2022年7月24日
    7
  • CAS 单点登录/登出 系统「建议收藏」

    CAS 单点登录/登出 系统「建议收藏」前言:  在我们的实际开发中,更多的是采用分布式系统。那么问题来了,对于分布式系统的登录问题,我们如何解决呢?  如果说我们在每一个系统中都要进行一次登录,那么用户体验度也就差的没法用了。以京东商城为例,如果用户在登录京东商城的时候需要登录一次,在查询商品的时候还有在登录一次,加入购物车是还要重新登录,…(注意,每跳过一个页面都是进入了一个新的系统,请看他的url地址的变化)…

    2022年5月9日
    250
  • Struts2 漏洞信息汇总

    Struts2 漏洞信息汇总官方链接如下:https://cwiki.apache.org/confluence/display/WW/Security+Bulletins最近不出以外Struts2又又又一次被爆出RCE漏洞【S2-061Struts远程代码执行漏洞(CVE-2020-17530)】每次Struts2RCE漏洞爆发的时候都在想,如果有个地方能统一看一下Struts2的历史漏洞就好了,网上搜索了下居然没有,翻了下Struts2官网,终于找到了需要的内容截至本文发布时,所以已经爆出的Strut.

    2022年7月19日
    15
  • MySQL与php时间戳与日期格式的相互转换[通俗易懂]

    MySQL与php时间戳与日期格式的相互转换[通俗易懂]文章来自:源码在线https://www.shengli.me/php/336.html  

    2022年6月21日
    29
  • ubuntu 7.04 ‘s sources list

    ubuntu 7.04 ‘s sources list

    2021年5月1日
    87
  • 我的世界服务器作弊指令大全_我的世界服务器称号指令

    我的世界服务器作弊指令大全_我的世界服务器称号指令原标题:我的世界指令代码大全一、我的世界指令代码大全单机指令(部分多人也适用)/gamemode0是生存(极限)模式/gamemode1是创造模式/gamemode2是冒险模式(必须用特定的武器才能消除方块)/gamemode3是生存(极限)模式/give你的名字1371能得到命令方块,在里面输死亡不掉落:/gamerulekeepInventorytrue防爆:/game…

    2022年9月23日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号