前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >二维图形旋转公式的推导

二维图形旋转公式的推导

作者头像
全栈程序员站长
发布于 2022-07-07 11:56:49
发布于 2022-07-07 11:56:49
5860
举报

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

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

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

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

上图画的比較粗略,只是能说明问题就够了。如果旋转前的点位于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.cn/116344.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年1月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档