3. 二维变换矩阵

x'      a11 a12 a13    x         a11x a12y a13z

y' =  a21 a22 a23     y    =  a21x a22y a23z

z'      a31 a32 a33    w        a31x a32y a33z

3.1二维平移变换矩阵

P  =(x,  y,  1)

P*=(x*,y*,1)

1   0   tx

T  =  0   1   ty

0   0   1

P*= T(tx,ty)P

3.1二维比例变换矩阵

sx   0   0

S =  0   sy   0

0   0    1

P*= S(sx,sy)P

3.2二维旋转变换矩阵

以原点为中心

cos(r)   -sin(r)   0

R  =   sin(r)    cos(r)   0

0          0          1

P*= R(r)P

3.3反射变换矩阵

X 轴对称

1   0   0

RX= 0  -1   0

0   0   1

Y 轴对称

-1   0   0

RY=  0   1   0

0   0   1

原点对称

-1   0   0

RO= 0  -1   0

0   0   1

3.4 错切变换矩阵

X 轴错切

1   s   0

SX= 0   1   0

0   0   1

x* = x+sy; y* = y

Y 轴错切

1   0   0

SY=  s   1   0

0   0   1

x* = x; y* = sx+y

4. 三维变换

平移 比例 错切  可对照二维做扩展

旋转:

绕X轴

0   0           0         1

0   cos(r)   -sin(r)   0

RX=    0   sin(r)    cos(r)   0

0   0          0          1

绕Y轴

0   cos(r)    sin(r     1

0   1           0         0

RY=    0  -sin(r)    cos(r)   0

0   0          0          1

绕Z轴

cos(r)   -sin(r)   0    0

RZ=    sin(r)    cos(r)   0    0

0          0          1    0

0          0          0    1

opengl中相关的计算机图形变换矩阵之:模型视图几何变换的更多相关文章

  1. opengl中相关的计算机图形变换矩阵之:齐次坐标 (摘编)

    模型视图变换(几何变换)矩阵: 1. 齐次坐标:两条平行线也可以相交. 在欧几里得空间中,两条平行线是无法相交的,但是在投影空间(Projective Space)这条定理就不再适用了. 比如上图中, ...

  2. OpenGL(五) 三维变换之模型视图矩阵

    计算机三维图形学中,一个基本的任务是如何描述三维空间中一个物体位置的变化,也就是如何 描述物体的运动.通常情况下,物体位置的变化包含三个基本的变化:平移.旋转和缩放,物体的运动也可以用这三个基本的运动 ...

  3. 浅谈 OpenGL 中相关阻塞问题

    昨天我遇到一个问题,问题如下: 我使用了延迟渲染,我的渲染流程是:Pass1 --> CUDA并行计算 -->Pass2 CUDA并行计算中需要使用Pass1渲染生成的两张纹理,然而我在G ...

  4. OpenGL中坐标系的理解(一)

    在OpenGL中,存在着至少存在着三种矩阵,对应着函数glMatrixMode()的三个参数:GL_MODELVIEW,GL_PROJECTION,GL_TEXTURE. 以下主要描述GL_MODEL ...

  5. Bullet物理引擎在OpenGL中的应用

    Bullet物理引擎在OpenGL中的应用 在开发OpenGL的应用之时, 难免要遇到使用物理来模拟OpenGL中的场景内容. 由于OpenGL仅仅是一个关于图形的开发接口, 因此需要通过第三方库来实 ...

  6. three.js中的矩阵变换(模型视图投影变换)

    目录 1. 概述 2. 基本变换 2.1. 矩阵运算 2.2. 模型变换矩阵 2.2.1. 平移矩阵 2.2.2. 旋转矩阵 2.2.2.1. 绕X轴旋转矩阵 2.2.2.2. 绕Y轴旋转矩阵 2.2 ...

  7. CSharpGL(6)在OpenGL中绘制UI元素

    CSharpGL(6)在OpenGL中绘制UI元素 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo,更适合入 ...

  8. OpenGL中各种坐标系的理解[转]

    OPENGL坐标系可分为:世界坐标系和当前绘图坐标系. 世界坐标系:在OpenGL中,世界坐标系是以屏幕中心为原点(0, 0, 0),且是始终不变的.你面对 屏幕,你的右边是x正轴,上面是y正轴,屏幕 ...

  9. OpenGL中glPushMatrix和glPopMatrix的原理

    glPushMatrix.glPopMatrix操作事实上就相当于栈里的入栈和出栈. 很多人不明确的可能是入的是什么,出的又是什么. 比如你当前的坐标系原点在你电脑屏幕的左上方.如今你调用glPush ...

随机推荐

  1. AES ------ 第三方库

    tiny-AES-c-master.zip 这个库可用

  2. Spring MVC 跳转页面的方法

    转一个Spring MVC 跳转页面的方法,楼主总结的很全面,留着备用. https://blog.csdn.net/c_royi/article/details/78528758

  3. [转帖]56核Xeon Platinum 9200现身 - 英特尔有史以来最大的CPU封装

    56核Xeon Platinum 9200现身 - 英特尔有史以来最大的CPU封装 https://www.cnbeta.com/articles/tech/835271.htm 当英特尔宣布上周正式 ...

  4. IIS web服务器与ASP.NET

    参考教程:MVC网站项目发布到IIS服务器 https://jingyan.baidu.com/article/92255446574e11851648f4e4.html https://blog.c ...

  5. T2 AC自动机

    T2:AC自动机 (ac.cpp) 题目背景 YZD在每天学习20小时的勤奋研究下,终于开发出了AC自动机!但是,这台AC自动机有一些bug,比如两个部件之间经常会出一些莫名其妙的问题,所以他想要随时 ...

  6. map的常见用法

    map的常见用法 map 是什么? map是一组键值对的组合,通俗理解类似一种特殊的数组,a[key]=val,只不过数组元素的下标是任意一种类型,而且数组的元素的值也是任意一种类型.有点类似pyth ...

  7. Jade学习(二)之语法规则上

    语法 ⚠️实例均结合node jade缩进代表层级 html <html></html> html <html> head <head> style & ...

  8. php引用 & 详解

    在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 变量的引用 $a = 222; $b = &$a; ...

  9. 英特尔的Gen11集成显卡性能再次发力

    这是英特尔首个达到 1 TeraFLOP 算力的图形模块,与第九代酷睿移动版的性能相比,15W Ice Lake-U 在游戏测试场景中,平均帧速率的性能提升了 40%. 与同等的 AMD 产品相比,英 ...

  10. Laravel配置全局公共函数的方法步骤

    前言 在laravel项目开发中,经常使用到公共函数,那如何在laravel配置全局公共函数呢??下面话不多说了,来一起看看详细的介绍吧 方法如下 在Laravel项目中我们常常需要定义一些全局的公共 ...