`
wsqwsq000
  • 浏览: 684992 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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

 
阅读更多

 

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)向量。

 

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

 

即以向量(x,y,z)为轴旋转angle个角度,那么旋转方向如何判定呢? 
用右手法则来判定,对,说的就是电磁场里的右手法则
即将张开右手掌,朝上,大拇指指向向量方向,然后四手指往里握成拳,四手指旋转的方向即旋转方向。注意,如果angle为负值,方向则反。

 

 

分享到:
评论

相关推荐

    OpenGL ES 3D 坐标变换

    在实际编程中,我们可能需要使用诸如`glTranslatef()`, `glRotatef()`, `glScalef()`这样的函数来进行基本的变换,或者使用`glm`库等现代工具来处理更复杂的矩阵运算。在OpenGLESTutorial这个教程中,你可能会学习...

    Android OpenGL ES 绘制三维/空间坐标系透明

    OpenGL ES 是一种在嵌入式...总之,创建透明的三维坐标系涉及理解OpenGL ES的坐标系统、颜色混合、深度测试、几何变换以及着色器的使用。这个过程需要对图形编程有深入的理解,同时也为更复杂的3D场景渲染打下了基础。

    OpenGL ES相关的矩阵和变换(附实例代码)

    首先,了解3D几何和笛卡尔坐标系是理解OpenGL ES的基础。在OpenGL ES的世界里,物体是由顶点构成的三角形组成,这些顶点定义了三维空间中的特定点。为了在设备屏幕上显示这些物体,我们需要进行一系列的变换,包括...

    Android OpenGL ES 简明开发教程四:3D 坐标变换

    本文将深入探讨3D坐标变换中的平移、旋转和缩放,以及这些变换如何在OpenGL ES中具体应用。 #### 1. 坐标系:右手规则 OpenGL ES采用右手坐标系统,即在三维空间中,如果右手拇指指向x轴的正方向,食指指向y轴的正...

    android OpenGL ES 地球仪绘制——球体绘制及纹理映射——源码

    OpenGL ES 是 Android 平台上用于高性能图形渲染的重要框架,它基于 OpenGL 标准,专为嵌入式...通过学习和实践这个案例,开发者可以进一步掌握OpenGL ES在Android上的应用,为开发更复杂的3D应用程序打下坚实基础。

    Android OpenglES 学习笔记代码

    package ljh.opengl;是对OpenglES的一些封装。 package ljh.game;是对一些游戏常用的代码的封装 都没写完! 最近改学IOS了 看看什么时候能补充完。

    Android OpenGL ES三维坐标系及坐标变换初步.doc

    Android OpenGL ES 三维坐标系及坐标变换初步 Android OpenGL ES 是一种obile 设备上使用的图形库,主要用于在移动设备上显示三维图形。由于移动设备的屏幕只能显示二维图形,因此需要将三维模型转换为二维图形,...

    opengl es 2.0 学习笔记

    《OpenGL ES 2.0 学习笔记》是一份针对英文版《OpenGL ES 2.0 Programming Guide》的阅读总结,旨在帮助读者更好地理解和掌握OpenGL ES 2.0的核心概念和技术要点。以下是对该书中关键知识点的详细解释和归纳。 ####...

    OpenGL ES 2.0规范(中文版)——本人自己翻译总结的

    - **帧缓存的区别**:OpenGLES命令对window-system-provided framebuffers的影响最终由分配帧缓存资源的窗口系统控制。窗口系统决定了OpenGL ES在任何特定上下文中的行为。 #### 六、OpenGL ES 2.0与OpenGL 2.0的...

    基于VC++的OpenGL编程讲座之坐标变换.rar_VC 坐标_opengl 变换_vc opengl 坐标_坐标 变换_坐标

    学习并熟练掌握OpenGL的坐标变换,不仅可以帮助开发者理解3D图形的基本原理,也是创建复杂3D场景和交互式应用的基础。通过实践和实验,可以更好地理解和运用这些理论知识,创造出丰富多彩的视觉效果。

    OPENGL ES 3.0编程指南 原书第2版 中文版 笔记1

    OpenGL ES 3.0 是移动设备和嵌入式系统上用于图形渲染的开放标准,它在OpenGL的基础上进行了优化,特别适合资源有限的环境。在iOS平台上,通常与EAGLContext一起使用,来构建和管理OpenGL ES上下文。以下是基于...

    opengl es 1.1版本

    4. **矩阵操作**:使用`glMatrixMode`切换当前操作的矩阵,如模型视图矩阵、投影矩阵和纹理矩阵,然后通过`glLoadMatrix`、`glTranslatef`、`glRotatef`等函数进行矩阵变换。 5. **绘制命令**:`glDrawArrays`和`...

    Android点击屏幕坐标对应OpenGL ES坐标

    在Android开发中,当涉及到图形渲染时,OpenGL ES(OpenGL for Embedded Systems)是一个常见的选择,它为移动设备提供了强大的2D和3D图形处理能力。本文将深入探讨如何将Android屏幕坐标转换为OpenGL ES坐标,并在...

    OpenGL ES 学习demo

    1. **坐标系统**:OpenGL ES 使用右手坐标系,原点位于屏幕中心,X轴正方向向右,Y轴正方向向上,Z轴正方向指向屏幕外。在移动设备上,通常使用NDC(Normalized Device Coordinates)坐标,值范围在-1到1之间。 2. ...

    OpenGLES demo - 9. 矩阵变换

    OpenGLES是一个用于在iOS设备上进行2D和3D图形渲染的API,而矩阵变换则是它实现复杂图形操作的基础。 矩阵变换主要包括平移、旋转、缩放和投影等操作。这些变换在图形处理中起着核心作用,它们允许我们对物体的位置...

    OpenGL的坐标系、投影和几何变换

    几何变换矩阵是通过`glTranslatef()`, `glRotatef()`和`glScalef()`等函数设置,它们改变的是坐标系而不是物体本身。一旦设置了几何变换,所有的绘图都会受到这些变换的影响。投影变换则是通过`glOrtho()`或`...

    OpenGLES demo - 11. 透视投影变换

    本教程将深入探讨OpenGLES中的一个关键概念——透视投影变换,这是实现真实感图形的重要步骤。透视投影变换能够模拟人眼观察物体时的远近感,使画面具有深度,从而为用户带来更加逼真的视觉体验。 透视投影变换的...

Global site tag (gtag.js) - Google Analytics