opengl之glTranslatef()函数和glRotatef()函数和glLoadIdentity()函数

XPe开发初体验(一)XPe概述 XP Embedded是微软Windows Embedded产品线中非常重要的一环,不过比起大名鼎鼎的Windows Embedded CE,XPe显得过于低调了。在接下来的一段时间里,我希望能够用六篇的篇幅来描述一下XPe的整个开发过程。这个系列文章主要是针对有Windows编程经验,但是没有嵌入式开发经验的开发者,提供一些概念和开发过程的初步介绍。XP Embedded是一个基于Windo 阅读详情

glLoadIdentity()

将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作 

1.X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。 

2.OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。 

3.中心左面的坐标值是负值,右面是正值。    移向屏幕顶端是正值,移向屏幕底端是负值。    移入屏幕深处是负值,移出屏幕则是正值。

glTranslatef(x, y, z)

沿着 X, Y 和 Z 轴移动。

注意在glTranslatef(x, y, z)中,当您移动的时候,您并不是相对屏幕中心移动,而是相对与当前所在的屏幕位置。

其作用就是将你绘点坐标的原点在当前原点的基础上平移一个(x,y,z)向量。

glLoadIdentity();         

glTranslatef(-1.5f,0.0f,-6.0f); 

glBegin(GL_TRIANGLES); 

glVertex3f(0.0f,0.0f, 0.0f); 

glVertex3f(1.0f,0.0f, 0.0f); 

glVertex3f(0.0f,1.0f, 0.0f); 
glEnd();

glLoadIdentity(); 

glTranslatef(0.0f,0.0f,-6.0f); 

glBegin(GL_TRIANGLES); 

glVertex3f(0.0f,0.0f, 0.0f); 

glVertex3f(1.0f,0.0f, 0.0f); 

glVertex3f(0.0f,1.0f, 0.0f); 

glEnd();

程序的运行结果如下:


左边的三角形是第一步绘制的,可以看到该三角形绘制的坐标系,实际上是以(-1.5f,0.0f,-6.0f)为原点的。

第二个三角形绘制的时候,由于使用glLoadIdentity()使原点重新回到屏幕中心来,因此其原点位于屏幕的中心。


glRotatef(angle, x, y, z) 

与glTranslatef(x, y, z)类似,glRotatef(angle, x, y, z)也是对坐标系进行操作。 旋转轴经过原点,方向为(x,y,z),旋转角度为angle,方向满足右手定则。 

glLoadIdentity(); 

glTranslatef(0.0f,0.0f,-6.0f); 

glBegin(GL_TRIANGLES); 

glVertex3f(0.0f,0.0f, 0.0f); 

glVertex3f(1.0f,0.0f, 0.0f); 

glVertex3f(0.0f,1.0f, 0.0f); 

glEnd();

在未旋转的情况下如图所示:


glLoadIdentity(); 

glRotatef(45,0.0f,0.0f,1.0f); 

glTranslatef(0.0f,0.0f,-6.0f); 

glBegin(GL_TRIANGLES); 

glVertex3f(0.0f,0.0f, 0.0f); 

glVertex3f(1.0f,0.0f, 0.0f); 

glVertex3f(0.0f,1.0f, 0.0f); 

glEnd();

绕Z轴正向旋转45度角,因为Z轴正方向由屏幕内指向屏幕外,由右手定则可知方向为逆时针转动。 由于直角顶点即为原点,因此将围绕直角逆时针旋转。


glLoadIdentity(); 

glRotatef(45,0.0f,0.0f,1.0f); 

glLoadIdentity(); 

glTranslatef(0.0f,0.0f,-6.0f); 

glBegin(GL_TRIANGLES); 

glVertex3f(0.0f,0.0f, 0.0f); 

glVertex3f(1.0f,0.0f, 0.0f); 

glVertex3f(0.0f,1.0f, 0.0f); 

glEnd(); 

在旋转之后加了一个复位的指令,图形就不会旋转了。

LearningToRank(LTR)排序算法LGBMRanker的原理和使用 1. 写在前面 在最近新闻推荐的比赛中, 接触到了一个排序模型LGBMRanker, 该模型与普通的分类模型LGBMClassifier不太一样, 普通的分类模型在进行推荐的时候, 往往是先预测某个商品或者文章用户会不会点击, 也就是它的目标是预测用户点击某篇文章或者某个商品的概率, 然后根据这个概率值进行排序, 排完之后,把最靠前的几个返回回来给用户进行推荐。 而LGBRanker模型, 它不关心用户点击某篇文章的概率, 而是根据用户点击或者不点击的这个行为, 直接去预测最后商品或者文章的一个相对顺序, 阅读详情

相关推荐

高分辨率航拍图像的目标检测切图优化策略

本文深入探讨了高分辨率航拍图像目标检测中的切图优化策略。针对大尺寸图像直接缩放导致小目标信息丢失的问题,文章详细阐述了基于重叠切割的核心方法,包括如何根据目标尺寸确定切图尺寸与重叠率,并提供了从切图到坐标还原的完整代码实现与避坑指南,有效提升检测精度与效率。

xk7n92h3p5m的博客 1113

OpenGL中平移函数glTranslatef()、旋转函数glRotatef()的理解

https://blog.youkuaiyun.com/tan_handsome/article/details/50614146 void glTranslatef(GLfloat x,GLfloat y,GLfloat z); 函数功能:沿X轴正方向平移x个单位(x是有符号数) 沿Y轴正方向平移y个单位(y是有符号数) 沿Z轴正方向平移z个单位(z是有符号数) void glRotatef...

u010029439的博客 3666

基于Android Studio的校园智能点餐系统开发实战(附完整源码与部署指南)

本文详细介绍了基于Android Studio开发校园智能点餐系统的完整流程,包括需求分析、环境搭建、数据库设计、客户端与后台功能实现。系统采用SSM框架和MySQL数据库,解决了校园食堂高峰期排队问题,提供高效的点餐体验。附完整源码与部署指南,助力开发者快速构建类似应用。

weixin_29015801的博客 559

opengl中的glRotatef 函数

opengl中函数的释义

yangmeng900816的专栏 3万+

Cesium创建无人机视锥,同步视锥与鹰眼地图视角,实现视锥键盘控制。解决视锥初始化位置不准确问题等

本文描述了一个基于Cesium的3D视锥体可视化系统开发过程。系统实现了主视图与鹰眼视图的双屏联动,支持通过键盘控制视锥体的空间移动(WASD前后左右,Q/E旋转,C/Z升降),并实时同步更新两个视图。关键技术包括:1)基于主视图Scene创建Camera实现视锥体精确绘制;2)通过PerspectiveFrustum设置视锥参数;3)建立双视图的相机位置及视角同步机制。目前暂未实现视锥体far/near边界在鹰眼视图中的可视化,该系统可应用于无人机视角监控等三维场景交互需求。

coder_bin的博客 1589

【Unity学习笔记】事件系统EventSystem

1.EventSystem物体 第一次在Unity中创建UI元素时,总会自动生成一个EventSystem物体,它包含三个组件:Transform、EventSystem、Standalone Input Module。如果我们把它删除了,会发现UI上的事件(比如点击、拖拽)将不会被检测到。没错,它就是用来处理UI相关的事件的。 1.1 EventSystem组件 EventSystem基于输入给物体发送事件,它在整个事件系统中扮演的主要角色是: 1.管理被选中的物体 2.管理正在使用的Input Modu

一白梦人的博客 1万+

图形学glTranslatef glScalef glRotated 坐标系基底向量变换的理解

距离下次区域赛还有6天,而我还在图形学摸鱼的这个事情,甚是微妙。。。。估计被人喷死了。不管了,先来整理一波图形学几个基础变换在OpenGL中的个人理解。 课没有听能够误打误撞弄对真的是非常感慨。 先记录下来的是三个函数的理解,我并不知道OpenGL底层的顺序,但是宏观上使用起来是合乎我自己的逻辑顺序的。 还有物体发生的线性变换,看成是物体所在的坐标系发生了线性变换。 glTranslatef(dx, dy, dz) 就是认为当前坐标系的原点从当前坐标系偏移到(0+dx, 0+dy, 0+dz)上 glSca

qq_43347787的博客 1987

vue3 - vite报错TypeError: crypto.hash is not a function(vue3+vite启动运行提示错误,项目无法启动且打包报错失败,详细解决排查方案教程)

vue3 vite 报错,vue3+vite启动报错:TypeError: crypto.hash is not a function,创建vue3+vite项目时报错TypeError: crypto.hash is not a function,如何解决这个问题,VUE3+VITE报错crypto.hash,vue3运行报错,vite运行报错,vue3打包报错,vite打包报错,vue3新建项目无法运行,vue3 vite创建项目直接报错了,node版本不兼容,修改了node版本还是不行,依旧报错,一直

✅ 精选推荐文章 1万+

OpenGL | OpenGL矩阵操作(视图模型矩阵下)

OpenGL模型视图矩阵变换涉及的三个函数。

该用户还没想到好的昵称的博客 1959

IoU的进化之路——IoU、GIoU、DIoU、CIoU四种损失函数总结

IoU、GIoU、DIoU、CIoU四种损失函数总结

chase 8130

大疆司空 2 私有化部署:FH2、Terra、4G 三大服务区别详解

摘要: 司空2私有版包含三大模块:FH2(核心平台,必选)、Terra(建模算力,需NVIDIA显卡)、4G(内网图传)。FH2是基础,支持设备管理与任务调度;Terra适用于测绘建模场景,依赖GPU算力;4G模块保障复杂环境下的图传稳定性,适合纯内网部署。选择逻辑:先部署FH2,再按需添加Terra(需显卡)或4G(需内网支持),避免资源浪费。

2501_93651177的博客 576

glLoadIdentity()与glTranslatef()和glRotatef()--坐标变换

glLoadIdentity() 将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作 1.X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。 2.OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。 3.中心左面的坐标值是负值,右面是正值。 移向屏幕顶端是正值,移向屏幕底端是负值。 移入屏幕深处是负值,移出屏幕则是正值。 glTranslatef(x, y, z)

momosp的专栏 8720

C# NX二次开发-查找连续倒圆角面

可以通过ufun函数 UF_MODL_ask_face_type 和 UF_MODL_ask_face_props 可判断处理选择相应的一组圆角面。在QQ群里有人问怎么通过一个选择一个倒圆角面来自动选中一组倒圆角面。这个是初步思路,如果有更好的思路可回复讨论一下。

fhqiwmc的博客 617

jogl (二)glLoadIdentity()与glTranslatef()和glRotatef()--坐标变换

glLoadIdentity() 将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作 1.X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。 2.OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。 3.中心左面的坐标值是负值,右面是正值。    移向屏幕顶端是正值,移向屏幕底端是负值。    移入屏幕深处是负值,移出屏幕则是正值。 glTranslatef

wslidandan的专栏 878

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

变换坐标系的函数——glLoadIdentity()与glTranslatef()和glRotatef()

原帖链接:http://hi.baidu.com/zqw19891001/blog/item/79a6a4ef3bcc0d1ffcfa3c25.html/cmtid/d8aa78cb78903b12bf09e6202009-08-03 11:07glLoadIdentity()将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作1.X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。2.OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。3.中心左面的坐标值是负值,右面是正值。   移向屏幕顶端是

1000

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

变换坐标系的函数——glLoadIdentity()与glTranslatef()和glRotate

glLoadIdentity() 将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作 1.X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。 2.OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。 3.中心左面的坐标值是负值,右面是正值。 移向屏幕顶端是正值,移向屏幕底端是负值。 移入屏幕深处是负值,移出屏幕则是正值。 glTranslatef(x, y, z)...

weixin_34362790的博客 121

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

openGLES学习笔记——变换坐标系的函数glLoadIdentity()、glTranslatef()和glRotatef()

  glLoadIdentity() 将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作1.X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。2.OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。3.中心左面的坐标值是负值,右面是正值。   移向屏幕顶端是正值,移向屏幕底端是负值。   移入屏幕深处是负值,移出屏幕则是正值。   glTranslatef(x, y,...

wsq198760的专栏 350

openGL_变换坐标系的函数

变换坐标系的函数——glLoadIdentity()与glTranslatef()和glRotatef() 2009-08-03 11:07 glLoadIdentity() 将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作 1.X坐标轴

922

坐标变换

glLoadIdentity()与glTranslatef()和glRotatef()--坐标变换 glLoadIdentity() 将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作 1.X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。 2.OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。 3.中心左面的坐标值是负值,右面是正值。

passtome的专栏 751
上一篇: u盘打开之后就只有一个快捷方式
下一篇: opengl之glutTimerFunc
code_AC
博客等级 码龄12年 255粉丝 109原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值