(转)旋转矩阵推导

转自:http://www.cnblogs.com/luweimy/p/4121789.html

预备知识

矩阵乘法

介绍略,去网上查吧

两角和(差)公式

推导

旋转变换一般是按照某个圆心点,以一定半径 旋转一定的角度α,为了简单起见我们给出下面的情景

假定点A(x,y)想经过旋转变换到达B(x‘,y‘),已知旋转角度α和点A坐标,计算出点B


要计算点B则分别计算他的x‘和y‘分量

得出结果:

根据矩阵乘法计算规则,可以推出

左侧矩阵第一行各个元素分别乘以右侧矩阵第一列,然后相加,是结果矩阵的第一行第一列的元素

左侧矩阵第二行各个元素分别乘以右侧矩阵第一列,然后相加,是结果矩阵的第二行第一列的元素

只要给出旋转角度,就能计算出矩阵,然后就可以用这个矩阵分别左乘每一个点,就能计算出这个点旋转后的点坐标 这样我们就可以通过矩阵变换坐标了 

如果是三维的话还得加个Z轴,多一个分量,矩阵也变成了3x3的,但是大概原理差不多,这里只做简单地原理分析,如果想计算三维点的坐标变换自己手动吧!!

时间: 2024-11-15 01:20:52

(转)旋转矩阵推导的相关文章

iOS开发-OpenGLES 入门踩坑

Flat coloring(单色) 是通知OpenGL使用单一的颜色来渲染,OpenGL将一直使用指定的颜色来渲染直到你指定其它的颜色. 指定颜色的方法为 public abstract void glColor4f(float red, float green, float blue, float alpha). 缺省的red,green,blue为1,代表白色. Smooth coloring (平滑颜色过渡) 当给每个顶点定义一个颜色时,OpenGL自动为不同顶点颜色之间生成中间过渡颜色(

Cocos Creator 中 _worldMatrix 到底是什么(上)

Cocos Creator 中 _worldMatrix 到底是什么(上) 1. (矩阵)Matrix是什么,有什么用 (矩阵)Matrix一个神奇的存在?在开发过程中对里边各项值的含义是不是抓耳挠腮,百思不得其解?今天我们就来庖丁解牛,拨开它的神秘面纱.由于内容较多,关于Cocos Creator 中的_worldMatrix会分为三篇文章完成.最终形成一个完整的demo 首先我们先看看在Cocos Creator编辑器中,对应图形的变化都有那些属性,如下图 红框的地方分别是位移.旋转.缩放.

(转)三维旋转:旋转矩阵,欧拉角,四元数

如何描述三维空间中刚体的旋转,是个有趣的问题.具体地说,就是刚体上的任意一个点P(x, y, z)围绕过原点的轴(i, j, k)旋转θ,求旋转后的点P\'(x\', y\', z\'). 旋转矩阵 旋转矩阵乘以点P的齐次坐标,得到旋转后的点P',因此旋转矩阵可以描述旋转, ?????x′y′z′1?????=R??????xyz1?????[x′y′z′1]=R?[xyz1] 绕x,y,或z轴旋转θ的矩阵为: Rx(θ)=???1000cosθsinθ0?sinθcosθ???Rx(θ)=[1

刚体在三维空间的旋转(关于旋转矩阵、DCM、旋转向量、四元数、欧拉角)

最近学习了一些关于三维空间旋转相关的知识,借此梳理一下备忘. 三维空间的旋转(3D Rotation)是一个很神奇的东东:如果对某个刚体在三维空间进行任意次的旋转,只要旋转中心保持不变,无论多少次的旋转都可以用绕三维空间中某一个轴的一次旋转来表示.表示三维空间的旋转有多种互相等价的方式,常见的有旋转矩阵.DCM.旋转向量.四元数.欧拉角等.本篇文章主要梳理一下这些表示方式及相互转换的方法. 1. 欧拉角(Euler Angle) 最直观的表示方式是绕刚体自身的X.Y.Z三个轴分别进行旋转某个角度

三维坐标系的旋转矩阵

转载自:http://m.blog.csdn.net/blog/qiuqchen/21980731 为了方便自己记忆,记录一下三维坐标旋转矩阵的推导过程. 坐标的旋转变换在很多地方都会用到,比如机器视觉中的摄像机标定.图像处理中的图像旋转.游戏编程等. 任何维的旋转可以表述为向量与合适尺寸的方阵的乘积.最终一个旋转等价于在另一个不同坐标系下对点位置的重新表述.坐标系旋转角度θ则等同于将目标点围绕坐标原点反方向旋转同样的角度θ. 若以坐标系的三个坐标轴X.Y.Z分别作为旋转轴,则点实际上只在垂直坐

投影矩阵的推导(Deriving Projection Matrices)

本文乃<投影矩阵的推导>译文,原文地址为: http://www.codeguru.com/cpp/misc/misc/math/article.php/c10123__1/Deriving-Projection-Matrices.htm,由于本人能力有限,有译的不明白的地方大家可以参考原文,谢谢^-^! 译者: 流星上的潴 如需转载,请注明出处,感谢! 在3D图形程序的基本矩阵变换中,投影矩阵是其中比较复杂的.平移和缩放浏览一下就能理解,旋转矩阵只要掌握了三角函数知识也可以理解,但投影矩阵有

奇异值分解(SVD)原理详解及推导

声明:转自http://blog.csdn.net/zhongkejingwang/article/details/43053513 在网上看到有很多文章介绍SVD的,讲的也都不错,但是感觉还是有需要补充的,特别是关于矩阵和映射之间的对应关系.前段时间看了国外的一篇文章,叫A Singularly Valuable Decomposition The SVD of a Matrix,觉得分析的特别好,把矩阵和空间关系对应了起来.本文就参考了该文并结合矩阵的相关知识把SVD原理梳理一下. SVD不

【转】【矩阵】三维坐标旋转矩阵算法

3D数学 ---- 矩阵和线性变换 一般来说,方阵能描述任意线性变换.线性变换保留了直线和平行线,但原点没有移动.线性变换保留直线的同时,其他的几何性质如长度.角度.面积和体 积可能被变换改变了.从非技术意义上说,线性变换可能“拉伸”坐标系,但不会“弯曲”或“卷折”坐标系. 矩阵是怎样变换向量的 向量在几何上能被解释成一系列与轴平行的位移,一般来说,任意向量v都能写成“扩展”形式: 另一种略有差别的形式为: 注意右边的单位向量就是x,y,z轴,这里只是将概念数学化,向量的每个坐标都表明了平行于相

投影矩阵的推导(转载)

转载自kanego http://www.cnblogs.com/kanego/articles/2346971.html [译] - 投影矩阵的推导 原帖地址: http://www.codeguru.com/cpp/misc/misc/math/article.php/c10123__1/Deriving-Projection-Matrices.htm 译文: 矩阵变换作为3d图形程序员的基本知识,投影矩阵是其中很复杂的内容.平移和缩放是容易理解的,旋转矩阵只需要掌握了基本的三角几何知识,但