设为首页 - 加入收藏
广告 1000x90
您的当前位置:黄大仙78345救世报网 > 局部坐标系 > 正文

OpenGL--坐标系详解

来源:未知 编辑:admin 时间:2019-07-30

  OpenGL最终将图形渲染到的设备屏幕本质上是2D的,我们对图形进行渲染的过程就是将3D场景转换为最终的2D场景的过程。

  OpenGl中定义的点从用户构造模型的局部坐标系,经过模型变换转为世界坐标系,再经过视变换转换为相机坐标系,再经过投影变换转换为裁剪坐标系,再进行透视除法转换为规范化设备坐标系(NDC),最后经过视口变换映射到屏幕坐标系。

  OpenGL只定义了裁剪坐标系、规范化设备坐标系和屏幕坐标系。其中的坐标变换过程如透视除法、视口变换是有OpenGL自动执行的。

  而局部坐标系(模型坐标系)、世界坐标系和照相机坐标系都是为了方便用户设计而自定义的坐标系。其中的坐标变换过程如模型变换、视变换、投影变换可以根据用户需要自行指定。

  上述所有变换过程都是在顶点着色器中执行的。(对于OpenGL绘制管线,以前是基于固定功能的绘制管线版本之后移除了固定功能的管线绘制,取而代之使用着色器来进行绘制)

  也就是通过模型变换,将物体局部坐标转换到世界坐标系坐标。模型变换包括平移、旋转、缩放等。

  在固定功能绘制管线情况下,默认OpenGL中model-view与projection矩阵都是单位矩阵。如果没有应用任何变换,对象坐标系、世界坐标系、照相机坐标系和裁剪坐标系是重合的。

  因为最终的成像都要通过照相机模型来定义的,转换到照相机坐标系能够简化数学计算。该转换也可以理解为从照相机看到的世界坐标系中场景的样子。

  现实世界中,我们通过移动照相机来观察物体的不同角度;而在OpenGL中,照相机位置是固定于(0,0,0)并朝向-Z轴的,那么我们通过移动场景来完成这个转换。参考:

  总结来说:对于一个中心点位于原点的物体,照相机也位于原点。为了对物体某+Z面成像,可以通过两种方式实现:一、物体不动,照相机动。即将照相机从原点沿着+Z轴方向移动某个单位距离;二、照相机不动,物体动。即将物体从原点沿着-Z轴方向移动某个单位距离。两种方法实现的效果相同的。

  从世界坐标系到照相机坐标系,有多重指定照相机的方式,其中包括常用的gluLookAt函数构造的UVN相机坐标系。

  该过程是通过投影完成的。投影就是将物体投影到平面的过场。因为OpenGL采用虚拟相机成像模型,因此也使用了正投影和透视投影两种方式。

  正投影:又叫平行投影,特点就是无论物体距离摄像机多远,投影后的物体大小尺寸不变。该投影的视景体是一个矩形的平行管道,及长方体。常用语建筑图绘制、计算机辅助设计等行业,这些行业要求投影后的物体尺寸与角度不变,以方便施工制造。

  透视投影:特点是离视点近的物体大,离视点远的物体小,远到极限变消失,称为灭点。透视投影更接近于真实世界的投影方式。该投影视景体类似一个顶部与底部都被切除掉的棱锥。常用语动画、视觉仿真等行业。

  从规范化设备坐标系到屏幕坐标系的转换基本上是一个线性映射关系。使用glViewPort内部的参数来将标准化设备坐标系映射到屏幕坐标,每个坐标都关联了屏幕上的一个点,这个过程称为视口变换。

  摘要:如何从GPS转到谷歌?如何从百度转到高德?这些都是小case。我们还提供,如何将基站cell_id转换为...博文来自:jiang117的专栏

  本系列文章由莫问出品,转载请注明出处。文章链接:作者:莫问(mni2005)   邮箱:mni...博文来自:【莫问】的专栏

  提要   3D游戏中最基本的一个功能就是3D漫游了,玩家可以通过键盘或者鼠标控制自己的视角。   之前我们也学习过一个相关的函数,glLookAt,用来制定摄像机的位置,摄像机观察目标位置,还有摄像机...博文来自:爱冒险的技术宅

  前言Android系统中有两种坐标系,分别为Android坐标系和View坐标系。了解这两种坐标系能够帮助我们实现View的各种操作,更好的控制View.1.Android坐标系        在An...博文来自:杨的博客

  无论是在Unity当中还是在图形学当中都离不开矩阵的转换。下面先来讲解下主要的坐标系首先是世界坐标系:这个比较好理解,就是一个物体所在空间中的位置信息,反应了物体在空间当中的绝对位置。本地坐标系:表示...博文来自:weixin_36504157的博客

  目录1.三维几何变换---旋转2.三维几何变换----平移2.1刚体的位置和朝向3.坐标系3.1ECI地心惯性坐标系3.2ECFF地心地固坐标系3.3当地水平坐标系3.4UTM坐标系3.5车体坐标系3...博文来自:10点43的博客

  **介绍的第一种投影就是经纬度直投,也叫简易圆柱投影。它最大的特点就是简单,简单到ArcGIS中都没有这种投影方式,认为它就是大地坐标系的默认显示方式。这样的投影既不等角也不等积,做出的地图其实没有实...博文来自:liuguobo的专栏

  理论基础1,目前虚拟场景中天空建模常用的方法有天空顶(SkyDome:半球形)和天空盒(SkyBox:长方体)两种方法。其本质都是摄像机处在一个盒子中间,这个盒子通过纹理贴图形成的虚拟世界场景。其中天...博文来自:疯狂的程序员

  在透视投影中,我想把一张1024*768的图片做成纹理,然后在opengl中显示出来时也要是1024*768的,可以实现不论坛

  坐标系的转换的重要性在于,他给出了一种比较简洁的描述3d物体在空间中的位置和朝向或者不同物体之间相对朝向和位置的方法。生活当中有很多描述物体朝向的方法,比如你可以说当你坐在汽车里,面向前进方向的左手侧...博文来自:ziliwangmoe的博客

  1.unity3d中的坐标系1)World Space(世界坐标):标准的D3D左手坐标系,旋转方向是左手法则包括法向量方向,背面剔除逆时针的。我们在场景中添加物体(如:Cube),他们都是以世界坐标...博文来自:自由理想的足迹

  前段时间写dialog底部弹出动画的时候明明觉得自己写的是对的,但效果却不对.相信很多人在写View动画的时候都遇到过这种情况.今天本文就对症下药,跟大家聊聊Animation动画坐标系,至于Anim...博文来自:朱利源的博客

  坐标系,是一位叫笛卡尔的人提出的。而后面提及的左手坐标系和右手坐标系中,在数学定义上,便使用了向量的一种运算,这种运算也是以笛卡尔命名,叫笛卡尔积。在Unity3D中,坐标系至少存在如下三种:世界坐标...博文来自:laiyizhou的专栏

  强推!!比较详细的一篇文章。文章中有一个地方出错,在3.1、节相机的畸变模型。3.1、相机的畸...博文来自:Crystal_YS的博客

  很多人可能不屑一顾Android的坐标系,但是如果你想彻底学会自定义控件,我想说了解Android各种坐标系及一些API的坐标含义绝对算一个小而不可忽视的技能;所谓Android自定义View那几大主...博文来自:工匠若水

  ros中的坐标系,主要包括:map,odom,base_link(base_footprint)以及如laser,camera等传感器的坐标系;这些坐标系间的关系可以用下图表示:这是一个有向图,图中涉...博文来自:IQIT

  据说WebGL既可以是左手坐标系也可以是右手坐标系。至于为什么,作为刚接触WebGL和threejs的我现在还理解不到那么深。那就从threejs的右手坐标系说起吧。说到坐标系可能有人和我一样,要问问...博文来自:weixin_39287079的博客

  Android中,如果我们想绘制复杂的自定义View或游戏,我们就需要熟悉绘图API。Android通过Canvas类暴露了很多drawXXX方法,我们可以通过这些方法绘制各种各样的图形。Canvas...博文来自:孙群

  1.简化变换的思想:使用惯性坐标系(惯性坐标系是世界坐标系平移到物体坐标系的位置)可以简化物体-世界,世界-物体,或者说任何两个坐标系间的转换做一个中间的转换,使问题变得简单。使用嵌套坐标系(父坐标系...博文来自:自由理想的足迹

  一、坐标系的区别1.世界坐标系2.物体坐标系3.惯性坐标系二、坐标系之间的联系一、坐标系的区别1.世界坐标系世界坐标系是一个特殊的坐标系,它建立了描述其他坐标系所需要的参考系。也就是说,可以用世界坐标...博文来自:loongkingwhat的博客

  关于scratch坐标系统与数学坐标系统的关系分析视频原文:数学坐标体系与角度的关系‘’角度‘’在百度百科是这样解释的:两条...博文来自:weixin_40897235的博客

  顶点数组OpenGL提供了一些顶点数组函数允许只用少数举个数组指定大量的与顶点相关的数据,并用少量函数调用访问这些数据。使用顶点数组对几何图形进行渲染需要3个步骤:1)激活最多可达8个数组,每个数组用...博文

  详细讲解OpenCV中摄像头标注函数calibrateCamera各个参数的意义,并分析其中的坐标变换。...博文来自:shenxiaolu1984的专栏

  锚点相对关系锚点是我们用来确定UI元素的位置的,当然这个锚点是相对离自己最近的父类而言的,子类的锚点和父类的锚点是关系的,而是以父类的UI为基础的,这一点看文字不好看懂,下边我们用几个图来说明Past...博文来自:weixin_34245169的博客

  正解与逆解的求解需要相应的机器人运动方程,其中关键的就是DH参数表 DH参数表用来描述机器人各关节坐标系之间的关系,有了DH参数表就可以在机器人各关节之间进行坐标转换 求解正解就是从关节1到关节5的坐...博文来自:追梦者

  一、四个坐标系统1.四个坐标系简介:世界坐标系(Xw,Yw,Zw):也称真实或现实世界坐标系,或全局坐标系。它是客观世界的绝对坐标,由用户任意定义的三维空间坐标系。一般的3D场景都用这个坐标系来表示。...博文来自:孤旅人。。。的博客

  一、万能地图下载器中的常用坐标系水经注万能地图下载器中的常用的坐标系主要包括WGS84经纬度投影、WGS84Web墨卡托投影、WGS84UTM投影、北京54高斯投影、西安80高斯投影、CGCS2000...博文来自:水经注地图下载标注与行业应用

  国家大地坐标系的定义包括坐标系的原点、三个坐标轴的指向、尺度以及地球椭球的4个基本参数的定义。2000国家大地坐标系原点:包括海洋和大气的整个地球的质量中心Z轴:由原点指向历元2000.0的地球参考极...博文来自:愤怒的小兵

  纹理的基础知识请参阅LearnOpenGL的文章:这里记录一...博文来自:100days

  三视图计算机图形的要点就是创建三维物体的二维图像视图变换:固定好摄像机位置朝向方向。gluLookAt模型变换:设置模型的位置和方向,旋转移动缩放投影变换:视口变换:决定场景所映射的有效屏幕区域的形状...博文

  OpenGL:图形硬件的一种软件接口---函数约700个不能做什么:opengGL没有提供描述三维物体模型的高级函数,如果要的话需要程序猿袭击创建库可以做什么:提供了为数不多的基本几何图形点直线多边形...博文

  一、图形API简介1.OpenGLOpenGraphicsLibrary,是一个跨平台的应用程序编程接口(API),用于渲染2D、3D矢量图形的跨语言,拥有功能强大、调用方便的底层图形库,将计算机的资...博文来自:JeffersonZHabc的专栏

本文链接:http://sesdagreat.com/jubuzuobiaoxi/445.html

相关推荐:

网友评论:

栏目分类

现金彩票 联系QQ:24498872301 邮箱:24498872301@qq.com

Copyright © 2002-2011 DEDECMS. 现金彩票 版权所有 Power by DedeCms

Top