首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OpenCV:旋转/平移向量到OpenGL模型视图矩阵

OpenCV是一个开源的计算机视觉库,提供了丰富的图像和视频处理功能,使得计算机能够对图像和视频进行高效的处理和分析。在OpenCV中,可以使用OpenGL来绘制图像和视频,将OpenCV中的向量旋转和平移后,转换为OpenGL的模型视图矩阵,从而在OpenGL上呈现所旋转和平移的图像和视频。

以下是将OpenCV中的向量旋转和平移后,转换为OpenGL的模型视图矩阵的基本步骤:

  1. 在OpenCV中,使用cv2.rotate()函数将向量旋转,该函数可以指定旋转中心、旋转方向和旋转角度。例如,使用cv2.rotate()函数将向量r1旋转90度:import cv2 r1 = [1, 2, 3] r2 = cv2.rotate(r1, cv2.ROTATE_90_CLOCKWISE) print(r2) # [3, 2, 1]import cv2 import numpy as np r1 = [1, 2, 3] r2 = cv2.rotate(r1, cv2.ROTATE_90_CLOCKWISE) # 将旋转后的向量转换为OpenGL的模型视图矩阵 matrix = cv2.getRotationMatrix2D((0, 0), 90, 1) matrix[:, 0, 1] = r2 # 渲染图像 img = cv2.imread('image.jpg') cv2.imshow('image', cv2.transform(img, matrix)) cv2.waitKey(0) cv2.destroyAllWindows()在上面的代码中,使用cv2.getRotationMatrix2D()函数将旋转后的向量转换为OpenGL的模型视图矩阵。该函数需要指定旋转中心的位置和旋转角度,以及旋转轴和旋转方式等信息。在上面的代码中,旋转中心的位置为图像的中心,旋转角度为90度,旋转轴为垂直方向,因此,需要指定旋转方式为正转90度。
  2. 将旋转后的向量转换为OpenGL的模型视图矩阵。在OpenGL中,模型视图矩阵表示摄像机的位置和朝向,以及图像在屏幕上的位置和大小。因此,将旋转后的向量转换为OpenGL的模型视图矩阵,可以指定图像在屏幕上的位置和大小,以及摄像机的位置和朝向。
  3. 可以使用OpenGL的绘图函数绘制图像和绘制文本等操作,在OpenGL中,可以使用glLoadMatrixd()函数将OpenGL的模型视图矩阵加载到OpenGL状态机中,并使用glMultMatrixd()函数将矩阵与OpenGL状态机中的其他矩阵进行乘法运算,从而绘制图像和文本等操作。# 渲染图像 img = cv2.imread('image.jpg') cv2.imshow('image', cv2.transform(img, matrix)) cv2.waitKey(0) cv2.destroyAllWindows() # 绘制文本 font = cv2.FONT_HERSHEY_SIMPLEX cv2.putText(img, 'OpenCV', (10, 30), font, 1, (255, 255, 255), 2)在上面的代码中,使用cv2.putText()函数绘制文本,其中,(x,y)为文本的位置,font为字体大小和样式,color为文本的颜色,thickness为文本的宽度。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

OpenGL】二十、OpenGL 矩阵变换 ( 矩阵缩放变换 | 矩阵旋转变换 | 矩阵平移变换 )

文章目录 一、绘制三角形 二、选中矩阵设置 三、矩阵缩放变换 四、矩阵旋转变换 五、矩阵平移变换 六、相关资源 一、绘制三角形 ---- 先绘制一个三角形 , 矩阵变换的主题就是该三角形 ; OpenGL...---- 在 【OpenGL】十、OpenGL 绘制点 ( 初始化 OpenGL 矩阵 | 设置投影矩阵 | 设置模型视图矩阵 | 绘制点 | 清除缓冲区 | 设置当前颜色值 | 设置点大小 | 绘制点...) 博客中简单介绍了 投影矩阵模型视图矩阵 ; 进行 平移 , 缩放 , 旋转矩阵操作 , 主要针对 模型视图矩阵 进行操作 ; 在进行 OpenGL 环境渲染时 , 选中了 GL_MODELVIEW...模型视图矩阵后 , 就开始了渲染 , 后面操作的矩阵都是针对该 GL_MODELVIEW 矩阵的 ; 下面的代码是设置矩阵的代码 , 之后就开始了 OpenGL 模型渲染 , 也就是说模型渲染过程中...下面讲的 旋转 , 平移 , 变换 , 都是针对模型视图矩阵进行的操作 ; 三、矩阵缩放变换 ---- 渲染时先设置单位矩阵 , // 设置单位矩阵 glLoadIdentity(); 然后调用

3.6K00

OpenGL的glPushMatrix()和glPopMatrix()矩阵栈顶操作函数详解「建议收藏」

opengl中的变换一般包括视图变换、模型变换、投影变换等,在每次变换后,opengl将会呈现一种新的状态(这也就是我们为什么会成其为状态机)。...当前矩阵即为矩阵栈的栈顶元素,而对当前矩阵进行平移旋转等的变换操作也同样是对栈顶矩阵的修改。...mode可取: GL_MODELVIEW: 把其后的矩阵操作施加于造型视图矩阵栈。...其实摄像机和模型矩阵本质上是一回事(这也是为什么OpenGL把这两个矩阵放在一起保存的原因),因为比如把整个世界y+方向移动10跟把摄像机y-方向移动10是等价的。...虽然矩阵里可以保存任何变换,但按照OpenGL的概念,model和view矩阵里只能保存平移旋转和缩放;project矩阵里只能保存投影矩阵,viewport矩阵里只能保存二维平移和缩放。

1.4K30
  • 实验4 二维几何变换

    1.实验目的: 巩固对二维几何变换的认识与理解; 学习OpenGL平移旋转、缩放变换函数及其使用方法; 学习基本图形变换与复合图形变换的方法; 综合运用上述函数,设计复杂图形。...2.实验内容: 根据示范代码1,使用OpenGL平移旋转、缩放变换函数来改写代码实现所要求的功能。示范代码1的代码运行结果为图1。...(视图变换) ② 移动或者旋转它,当然了,如果它只是计算机里面的物体,我们还可以放大或缩小它(物体运动,让人看它的不同部分)。...由于模型视图的变换都通过矩阵运算来实现,在进行变换前,应先设置当前操作的矩阵为“模型视图矩阵”。...注意:模型视图矩阵和投影矩阵都有相应的堆栈。使用glMatrixMode来指定当前操作的究竟是模型视图矩阵还是投影矩阵。 (3) 某图形绕任意点(cx, cy)旋转 α\alphaα 角。

    1.1K20

    OpenGL学习笔记 (三)- 坐标系与顶点变换

    文章目录[隐藏] 坐标系 局部空间 世界空间 观察空间 裁剪空间 标准化设备坐标 屏幕空间 预备知识 齐次坐标系 矩阵合成的顺序 顶点变换 模型矩阵 视图矩阵 投影矩阵 透视投影 Z-Fighting...对应于操作固定的固定管线,这些操作通常包含:应用模型视图矩阵、应用投影矩阵、应用法线矩阵、应用纹理矩阵等等。...一般来说,顶点着色器负责的是模型矩阵视图矩阵和投影矩阵(还可能有法线矩阵)的操作,而透视除法和视口变换是OpenGL在“顶点后处理”中已经替我们实现的。...在OpenGL中,我们使用齐次坐标来描述一个顶点的位置,因此模型矩阵是一个4阶方阵。 一般来说,模型矩阵是一系列仿射变换的合成,而且通常会包括平移旋转 和缩放 。...另外,需要注意的是平移操作通常会影响后续的旋转和缩放操作,因此推荐把平移操作留至最后进行: 视图矩阵 视图矩阵就是将世界空间变换为观察空间的矩阵,经过变换之后,物体的坐标将会变换为摄像机观察的坐标

    3.8K21

    实验5 OpenGL二维几何变换

    1.实验目的: 理解并掌握OpenGL二维平移旋转、缩放变换的方法。 2.实验内容: (1)阅读实验原理,掌握OpenGL程序平移旋转、缩放变换的方法。 (2)根据示范代码,完成实验作业。...平移矩阵构造函数为glTranslate(tx, ty, tz),作用是把当前矩阵和一个表示移动物体的矩阵相乘。...(视图变换) ② 移动或者旋转它,当然了,如果它只是计算机里面的物体,我们还可以放大或缩小它(物体运动,让人看它的不同部分)。...由于模型视图的变换都通过矩阵运算来实现,在进行变换前,应先设置当前操作的矩阵为“模型视图矩阵”。...注意:模型视图矩阵和投影矩阵都有相应的堆栈。使用glMatrixMode来指定当前操作的究竟是模型视图矩阵还是投影矩阵

    2.4K10

    OpenGL(五)-- OpenGL矩阵的变换OpenGL(五)-- OpenGL矩阵的变换

    OpenGL(五)-- OpenGL矩阵的变换 前言 照常提出几个问题,希望通过阅读可以找到答案。 对物体3维的2维投影进行位移,有几种方式? 模型视图矩阵代表了什么?...要注意的是矩阵的计算时从右往左的所以: result = 投影矩阵 * 观察者矩阵 * 模型矩阵。 物体旋转平移变换 ?...具体可以想象移动的是物体的每一个点,在旋转之后物体的每一个点都的方向向量都会旋转,之后平移就会按照方向向量来进行移动 先平移不会修改物体额方向向量,所以旋转就会得到不同的效果。...中涉及到的矩阵变换 在OpenGL矩阵的计算方式 // 矩阵计算 m3dMatrixMultiply44(ModelViewMatrix(模型视图矩阵),ViewMatrix(观察者矩阵), ModelMatrix...模型视图矩阵代表:模型矩阵(Model Matrix)与观察者矩阵(View Matrix)的乘积,从而得到视图坐标系。

    2.3K10

    WebGL简易教程(五):图形变换(模型视图、投影变换)

    详论 1) 模型变换 (1) 平移变换 (2) 缩放变换 (3) 旋转变换 (4) 组合变换 2) 视图变换 (1) 原理 (2) 推导 3) 投影变换 (1) 透视投影 (2) 正射投影 3....所以模型变换、视图变换、投影变换这三者特别重要,另外附一张WebGL/OpenGL矩阵变换的流程图[4]: ? 从上两图中可以发现,场景中的物体总是从一个坐标系空间转换到另外一个坐标系空间。...1) 模型变换 模型变换包括平移变换、缩放变换和旋转变换。从内容上来讲,这几种变换正好应对的三维交互操作的平移、变换和缩放。通过鼠标操作调整模型变换矩阵就可以实现一种简单三维交互操作。...由于视图变换是模型变换的逆变换,以上视图变换的效果,等价于进行一个旋转变换,再进行一个平移变换。...) [4] OpenGL矩阵变换的数学推导 [5] 基本图像变换:线性变换,仿射变换,投影变换 [6] 旋转变换(一)旋转矩阵 [7] 视图矩阵的推导

    2.8K40

    OpenGL】二十一、OpenGL 矩阵压栈与出栈 ( 不同类型矩阵变换先后顺序 | 渲染前不设置单位阵 | 压栈出栈原理分析 | 代码示例 )

    模型视图矩阵进行 缩放 , 旋转 , 平移 操作时 , 先旋转再移动 , 与先移动再旋转 的效果是不同的 ; 矩阵具有叠加性 , 先移动再旋转 , 与先旋转再移动 , 最终的模型视图矩阵的值是不同的 ;...1.0f); // 平移变换 // 设置 xyz 三个方向平移的值 glTranslatef(0.0f, -2.0f, 0.0f); // 矩阵旋转 // glRotatef...和 出栈 , 这是 OpenGL 固定管线中的重要操作 ; 显卡栈 : 矩阵在显卡中有一个栈 , 该显卡中的栈可以存储 n 个矩阵 ; 栈顶矩阵 : 栈顶的矩阵模型视图 ( ModelView..., 然后放在栈顶 , 原来的模型视图矩阵 , 就处于栈顶的下方位置 , 即栈内的第二个元素 ; 矩阵压栈后 , 所有的对于矩阵的操作都是针对栈顶的 矩阵 进行的操作 , 该栈顶矩阵模型视图矩阵 的一份拷贝...; 矩阵出栈 : 调用 方法进行出栈操作 , 就将已经修改过的 模型视图矩阵 的拷贝弹出栈 , 恢复成原始的 模型视图矩阵 , 此时的模型视图矩阵就是原本的矩阵 , 不再需要在渲染开始的位置 , 设置单位阵了

    1.9K00

    glPushMatrix和glPopMatrix的作用

    现在你调用glPushMatrix,然后再调用一堆平移旋转代码等等,然后再画图。那些平移旋转都是基于坐上角为原点进行变化的。...当你做了一些移动或旋转等变换后,使用glPushMatrix(); OpenGL 会把这个变换后的位置和角度保存起来。...它的继承性表现在当自行车往前走时,首先是前轮旋转,然后整个车身向前平移,接着是后轮旋转,然后整个车身向前平移,如此进行下去,这样自行车就往前走了。...中的模型视图变换矩阵全是右乘当前变换矩阵 glPushMatrix(); //将当前变换矩阵(单位阵)压入堆栈 glTranslatef( 0.0, 0.0, -5.0 ); // transformation...轴正方向移动5个单位,眼睛位于世界坐标系的原点; 此处理解为对模型的变换更加直观既将物体负z轴移动5个单位。

    48030

    模型矩阵视图矩阵、投影矩阵

    考虑三种基本的变换:平移旋转和缩放。 OpenGL模型进行旋转平移和缩放。...矩阵有一个性质: 考虑一个点,先进行了一次平移变换,又进行了一次旋转变换,结合上面矩阵的性质,可知变换后的点P’为:旋转矩阵平移矩阵的乘积R·T也是一个4×4的矩阵,这个矩阵代表了一次平移变换和一次旋转变换效果的叠加...比如: 来看个具体的例子:一个绕z轴匀速螺旋匀速上升的立方体,在某一帧中(即在这一帧对应的时刻t下),其z轴正方向平移的长度和绕z轴旋转的角度分别为: 则模型矩阵(注意上文齐次坐标下的基本变换矩阵)为...当一个模型顶点数量增加到上百甚至上千个,模型变换的步骤数也增加到几十步时,模型矩阵的作用就很明显了:如果没有齐次坐标(也当然没有模型矩阵),对每个顶点都需要一步一步地变换:平移的时候加上一个向量,旋转的时候左乘一个矩阵...考虑一辆行驶中的汽车的轮胎,其模型视图矩阵是局部模型矩阵(描述轮胎的旋转)左乘汽车的模型矩阵(描述汽车的行驶)再左乘视图矩阵得到的。 投影矩阵 投影矩阵视图坐标系中的顶点转化到平面上。

    2.2K20

    OpenGL矩阵变换的数学推导

    这些矩阵当中最重要的就是模型矩阵(Model Matrix)、视图矩阵(View Matrix)、投影矩阵(Projection Matrix),本文也只分析这3个矩阵的数学推导过程。...,而这些设置最终会转换成OpenGL中的视图矩阵,对应图中的VIEW MATRIX -经过View Matrix的变换后,我们观察它的结果就确定了,图中是从距离它一定的距离、上往下观察它,这时候的点坐标就来到了视图坐标系下...就要通过视口变换映射到屏幕上 以上就是一个完整的矩阵变换过程,里面最重要的就是MVP三个矩阵,M即模型矩阵(Model Matrix),V即视图矩阵(View Matrix),P即投影矩阵(Projection...模型矩阵(Model Matrix)推导 相信大家在数学中都学过平移、缩放、旋转三种基本变换,将模型放到世界坐标系中就是利用这三种变换的组合来实现的,我们来看一下平移、缩放、旋转三种变换对应的矩阵:  ...模型矩阵相对来说简单一些,相信大家还能回忆起来之前学数学时的知识,就是通过将平移、缩放、旋转三种矩阵的组合实现将模型以某种姿态、某种大小放到世界坐标系的某个地方。

    6.5K62

    OpenGL矩阵变换的数学推导

    这些矩阵当中最重要的就是模型矩阵(Model Matrix)、视图矩阵(View Matrix)、投影矩阵(Projection Matrix),本文也只分析这3个矩阵的数学推导过程。...,而这些设置最终会转换成OpenGL中的视图矩阵,对应图中的VIEW MATRIX 经过View Matrix的变换后,我们观察它的结果就确定了,图中是从距离它一定的距离、上往下观察它,这时候的点坐标就来到了视图坐标系下...就要通过视口变换映射到屏幕上 以上就是一个完整的矩阵变换过程,里面最重要的就是MVP三个矩阵,M即模型矩阵(Model Matrix),V即视图矩阵(View Matrix),P即投影矩阵(Projection...模型矩阵(Model Matrix)推导 相信大家在数学中都学过平移、缩放、旋转三种基本变换,将模型放到世界坐标系中就是利用这三种变换的组合来实现的,我们来看一下平移、缩放、旋转三种变换对应的矩阵平移变换...模型矩阵相对来说简单一些,相信大家还能回忆起来之前学数学时的知识,就是通过将平移、缩放、旋转三种矩阵的组合实现将模型以某种姿态、某种大小放到世界坐标系的某个地方。

    1.1K30

    OpenGL ES 2.0 (iOS):修复三角形的显示

    4X4方阵 它其实就是一个齐次矩阵,是对3D运算的一种简便记法; 3x3矩阵并没有包含平移,所以扩展到4x4矩阵,从而可以引入平移的运算; 2、线性变换(缩放与旋转) ?...Z方向{0,0,1}的旋转: ? 图片来源于《3D数学基础:图形与游戏开发》8.2.2 3、平移 ? 平移 直接把平移向量,按分量{x, y, z}依次代入齐次矩阵即可; ?...图3 英文大意:在我们的视图模型中,我们想通过一个向量来与矩阵变换进行乘法运算,这里描述了一个矩阵乘法,向量先乘以 A 矩阵再乘以 B 矩阵: 很明显,例子使用的就是左乘,即 OpenGL 用的是左乘...4X4方阵 OpenGL ? 平移 OpenGL 矩阵平移公式 ?...变换转换 这里描述了三个变换阶段,第一个阶段是模型变换,第二个是视图变换阶段,第三个是投影变换阶段,最后出来的才是变换后的图形。本文讨论的是第一个阶段。 ?

    1.2K10

    实验6 OpenGL模型视图变换

    理解掌握OpenGL三维图形几何变换的方法。 理解掌握OpenGL程序的模型视图变换。 掌握OpenGL三维图形显示与观察的原理与实现。...2.实验内容:   (1)阅读教材有关三维图形变换原理,运行示范实验代码,掌握OPENGL程序三维图形变换的方法;   (2)阅读实验原理,运行示范实验代码,理解掌握OpenGL程序的模型视图变换。...3.实验原理:   首先来简单了解计算机图形学中四个主要变换概念:   (1)视图变换:也称观察变换,指从不同的位置去观察模型;   (2)模型变换:设置模型的位置和方向,通过移动、旋转或缩放变换,...上述变换在OpenGL中实际上是通过矩阵乘法来实现。无论是移动、旋转还是缩放大小,都是通过在当前矩阵的基础上乘以一个新的矩阵来达到目的。OpenGL可以在最底层直接操作变换矩阵。...总结起来,OpenGL矩阵坐标之间的关系为:模型世界坐标→模型视图矩阵→投影矩阵→透视除法→规范化设备坐标→窗口坐标。

    2.1K30

    OpenGL】十、OpenGL 绘制点 ( 初始化 OpenGL 矩阵 | 设置投影矩阵 | 设置模型视图矩阵 | 绘制点 | 清除缓冲区 | 设置当前颜色值 | 设置点大小 | 绘制点 )

    文章目录 一、初始化 OpenGL 矩阵 1、设置投影矩阵 2、设置模型视图矩阵 二、绘制点 1、清除缓冲区 2、设置当前颜色值 3、设置绘制点的大小 4、绘制点 5、将缓冲区绘制到前台 三、部分代码示例...OpenGL 绘制 点 ; 一、初始化 OpenGL 矩阵 ---- OpenGL 矩阵环境初始化 , 主要是 投影 ( Projection ) 矩阵模型视图 ( ModelView ) 矩阵...; 设置的 参数三 就是 近平面的距离 near , 参数四 就是 远平面距离 far , 角度 + 近平面 + 远平面 确定了一片三维空间 , 这个空间中就是要在屏幕中显示的空间 ; 2、设置模型视图矩阵...设置 模型视图 ( ModelView ) 矩阵 : 首先选中 模型视图 ( ModelView ) 矩阵 , 然后进行设置 , 下面的代码中设置的是一个 单位阵 ; // 上述设置好了摄像机的参数..., 具体的摄像机能看什么东西 , 就需要模型视图矩阵设置 // ( 选中模型矩阵 ) glMatrixMode(GL_MODELVIEW); // ( 设置模型矩阵值 ) , 这里设置的是单位矩阵

    1.9K00

    OpenGL ES(四) 变换

    基本变换:平移(translation)、旋转(roration)、缩放(scale)、透视(perspective),这4个基本变换可以单独使用,也可以组合使用(两个基本变换可以使用矩阵乘法组合起来)...注意:当使用组合变换时,顺序很重要,例如平移旋转组合,先平移和先旋转会得到两个完全不不同的结果 所有的基础变换矩阵,都可以通过GLKit/GLKMatrix4.h里的函数构建 平移 // 返回一个平移矩阵...,在OpenGL中,默认的投影矩阵是一个立方体,即x y z 分别是-1.0~1.0的距离,如果超出该区域,将不会被显示。..., float farZ) projectionMatrix 和 modelviewMatrix 当我们构建好了变换矩阵之后怎么传递的OpenGL呢?...-50, 50); modelviewMatrix:模型矩阵

    84120

    Android开发笔记(一百五十四)OpenGL的画笔工具GL10

    比如物体的旋转方法glRotatef、平移方法glTranslatef、缩放方法glScalef,要分别指定物体在三个坐标轴上的旋转方向、平移距离、缩放倍率。...gl.glTranslatef(1, 0, 0); // x,y,z三方各缩放0.1倍 gl.glScalef(0.1f, 0.1f, 0.1f); 三、坐标矩阵变换...挪动相机的位置,依靠的是GL10的gluLookAt方法;至于挪动物体的位置,依靠的则是旋转方法glRotatef、平移方法glTranslatef,以及缩放方法glScalef了。...下面是OpenGL挪动相机位置的方法调用代码: // 选择模型观察矩阵,对应gluLookAt(人动)、glTranslatef/glScalef/glRotatef(物动)...,即去掉所有的平移、缩放、旋转操作 gl.glLoadIdentity(); // 设置透视图视窗大小 GLU.gluPerspective

    1.2K20

    iOS开发-OpenGL ES入门教程3

    教程 OpenGL ES入门教程1-Tutorial01-GLKit OpenGL ES入门教程2-Tutorial02-shader入门 这次是三维图形变换。...OpenGL ES系列教程在这里。 OpenGL ES系列教程的代码地址 - 你的star和fork是我的源动力,你的意见能让我走得更远。 效果展示 ?...几何变换 a、基本几何变换 平移变换、比例变换、旋转变换、对称变换、错切变换 具体的变换矩阵可以点这里 或者 这里 b、复合变换 关于任意点的比例、旋转变换 1、将任意点P移到原点,作平移变换;...三视图(主视图、俯视图、侧视图)都属于正平行投影。 斜平行投影 投影方向不垂直于投影平面的平行投影称为斜平行投影。 透视投影 投影中心和投影平面的距离是有限的。...举一个例子,下面的代码用到了透视投影、平移变换、旋转变换。

    1.9K50

    OpenGL ES (iOS) 学习笔记 — 基础篇(一)

    顶点shader可以编写代码实现如下功能: 1、使用模型视图矩阵以及投影矩阵进行顶点变换。 2、法线变换及归一化。 3、纹理坐标生成和变换。 4、逐顶点或逐像素光照计算。 5、颜色计算。...顶点shader至少需要一个变量:gl_Position,通常要用模型视图矩阵以及投影矩阵进行变换。顶点处理器还可以访问OpenGL的状态,所以可以用来处理材质和光照。最新的设备还可以访问纹理。...但是这种方式虽然可行但不够好,尤其是在GPU上这种方式产生的运算负担远大于使用矩阵。我们通过平移矩阵、缩放矩阵旋转矩阵,与原来的位置矩阵进行运算。...旋转矩阵相比于上面两个矩阵略微有些复杂,旋转包含两个重要元素,旋转的角度,绕什么轴旋转旋转绕的轴根据向量,通过右手旋转法则确定旋转方向。...注意:如果三个变换都需要的时候,相乘的顺序一定是平移矩阵 * 旋转矩阵 * 缩放矩阵,这样可以保证先缩放再旋转,最后再平移。如果先平移再缩放,点的位置已经改变,缩放出来的结果自然就不对了。

    2.5K100

    实验3 OpenGL几何变换

    1.实验目的: 理解掌握一个OpenGL程序平移旋转、缩放变换的方法。...2.实验内容: (1)阅读实验原理,运行示范实验代码,掌握OpenGL程序平移旋转、缩放变换的方法; (2)根据示范代码,尝试完成实验作业; 3.实验原理: (1)OpenGL下的几何变换 在OpenGL...平移矩阵构造函数为glTranslate(tx, ty, tz),作用是把当前矩阵和一个表示移动物体的矩阵相乘。...由于模型视图的变换都通过矩阵运算来实现,在进行变换前,应先设置当前操作的矩阵为“模型视图矩阵”。...注意:模型视图矩阵和投影矩阵都有相应的堆栈。使用glMatrixMode来指定当前操作的究竟是模型视图矩阵还是投影矩阵

    1.2K20
    领券