韦德国际bv1946_www.bv1946com_韦德国际1946手机版
做最好的网站

日常开发过程中旋转是一种很常见的图形变换

日期:2020-05-06编辑作者:韦德国际bv1946计算机

图片 1

由于OpenGLES的进度再度搁浅,所以准备从再次学习3D图形的深层次的知识,这一篇主要讲的是如何使用矩阵表示旋转、缩放、投影、镜像、切变,这些线性变换将会由浅入深,也算是为了后面的仿射变换做铺垫吧!接下来,我们一一看这些线性变换.

日常开发过程中旋转是一种很常见的图形变换,现在我们就对2D环境下和3D环境下的图像变换进行讲解说明.

2D环境下的旋转

假设现在物体现在就在原点位置,例如下图.

图片 2

然后物体旋转角度为θ = 3/π,在旋转当中经常被认为逆时针为正方向,顺时针为负方向,那么对于基向量p,q是怎么变化的呢?如下图所示.这里我直接用绘图工具了,图片粗糙请见谅.

图片 3

我们从图片中可以看到旋转后的新向量p1,q1的值(当然了,实际上是根据三角函数计计算出来的),然后通过这两个值我们就可以构造出如下通用旋转矩阵.通过下面的矩阵,我们是不是很熟悉呢?有没有仿射变换的赶脚.不要着急,我们慢慢看.

图片 4

</b>

3D环境下的旋转

在3D的环境下,我们讨论的不再是绕点旋转,而是绕轴旋转.虽然是绕轴旋转,我们也要定义出正负方向来.在左右坐标系中的情况是有所不同的,什么?不知道左右坐标系如何定义的?那么看下图所示.

图片 5

那么在我们的坐标系中如何判断出正负方向呢?比如我们在左手坐标系中需要使用的左手法则俩判断正负方向,而在右手坐标系中则正好相反.我们就拿在左手左边系为例,法则示意图如下所示.(左右手法则不过多解释,如果不懂请自行查看高中物理相关知识)

图片 6

|左手坐标系||:---:|:---:|:--:||从哪里看|正方向|负方向||从轴的负端点向正端点看|逆时针|顺时针||从轴的正端点向负端点看|顺时针|逆时针|

上面我们了解完旋转方向了,接下来我们先看看三种特殊情况,分别绕x,y,z轴进行旋转.

我们还是来看基向量的变化,首先对于3D中的基向量p ,q ,r由于是绕x轴进行旋转的,所以说基向量p是没有任何变化的,变化的只有q ,r两个基向量,假设旋转的角度θ = 3/π,那么如下图所示.

图片 7

然后如果在2D中通过三角函数公式,我们可以获得以下的旋转变换矩阵.

图片 8

那么绕y,z轴与之类似,我就不做图了,直接上公式了.

图片 9绕y轴旋转图片 10绕z轴旋转

那么上面看完了三种特殊的旋转方式,接下来,我们就看一下在3D中绕任意轴旋转的情况.

如图所示,如果向量v绕轴向量n旋转得到向量v',我们直接如果直接观察的话是非常困难的.

图片 11

但是如果我们把向量v和向量v'进行分解,然后把旋转的θ放在一个平面中来解决问题,这样,我们的旋转问题就转化为简单的2D问题了.如下图所示.

图片 12

这里我要对各个向量做一下解释说明,其中nv在旋转轴上的投影 (假设旋转轴为n',那么n=n');v为旋转之前的向量;v'为旋转之后的向量 ;pv垂直于n的分量(p'同理);ω为同时垂直于np的向量,长度与p相等.

上面基本我们把所有的向量解释了,现在已经知道的条件是向量v和旋转轴n'以及旋转角度θ要计算的是向量v'.(怎么跟计算题似的

本文由韦德国际bv1946手机版发布于韦德国际bv1946计算机,转载请注明出处:日常开发过程中旋转是一种很常见的图形变换

关键词: 矩阵 线性 图形