位置: 编程技术 - 正文

4.3 投影变换(投影变换的使用方法)

编辑:rootadmin

推荐整理分享4.3 投影变换(投影变换的使用方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:投影变换的三种方法,投影变换包括哪几种投影方式,投影变换原理,投影变换是什么,投影变换是什么,投影变换的使用方法,投影的变换,投影变换的使用方法,内容如对您有帮助,希望把文章链接给更多的朋友!

投影变换的目的就是定义一个视景体,使得视景体外多余的部分裁剪掉,最终图像只是视景体内的有关部分。

投影也是使用矩阵来实现的。计算一个用于实现透视投影或者平行投影的矩阵,并把它与当前的投影矩阵(一般是单位矩阵)相乘。

OpenGL支持两种类型的投影变换,即透视投影和正投影。

一、透视投影 透视投影符合人们心理习惯,即离视点近的物体大,离视点远的物体小,远到极点即为消失,成为灭点。

它的视景体类似于一个顶部和底部都被切除掉的棱椎,也就是棱台。

这个投影通常用于动画、视觉仿真以及其它许多具有真实性反映的方面。

此种情况下,需要用gluLookAt设定照相机位置、照相机方向(一般设置为(0,1,0))、以及视点位置。

1. void glFrustum(GLdouble left, GLdouble Right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far);

eft,right指明相对于垂直平面的左右坐标位置 bottom,top指明相对于水平剪切面的下上位置 nearVal,farVal指明相对于深度剪切面的远近的距离,两个必须为正数

4.3 投影变换(投影变换的使用方法)

2. void gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear, GLdouble zFar);

fovy指定视景体的视野的角度,以度数为单位,y轴的上下方向。范围是[0.0, .0]。 aspect指定你的视景体的宽高比(x 平面上) zNear指定观察者到视景体的最近的裁剪面的距离(必须为正数) zFar与上面的参数相反,这个指定观察者到视景体的最远的裁剪面的距离(必须为正数)

二、平行投影 正射投影,又叫平行投影。这种投影的视景体是一个矩形的平行管道,也就是一个长方体,正射投影的最大一个特点是无论物体距离相机多远,投影后的物体大小尺寸不变。

它适用于2D图形,如文本、建筑绘图等。在它的应用场合,我们希望在屏幕上展示准确的物体大小和度量。

此种模式下,不需要设定照相机位置、方向以及视点的位置,也就是说不需要gluLookAt函数。

1. glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far)

其中近裁剪平面是一个矩形,矩形左下角点三维空间坐标是(left,bottom,-near),右上角点是(right,top,-near);远裁剪平面也是一个矩形,左下角点空间坐标是(left,bottom,-far),右上角点是(right,top,-far)。 所有的near和far值同时为正或同时为负, 值不能相同。如果没有其他变换,正射投影的方向平行于Z轴,且视点朝向Z负轴。这意味着物体在视点前面时far和near都为负值,物体在视点后面时far和near都为正值。 只有在视景体里的物体才能显示出来。

2. void gluOrtho2D(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top)

它是一个特殊的正射投影函数,主要用于二维图像到二维屏幕上的投影。它的near和far缺省值分别为-1.0和1.0,所有二维物体的Z坐标都为0.0。因此它的裁剪面是一个左下角点为(left,bottom)、右上角点为(right,top)的矩形。

shader之旅-7-平面阴影(planar shadow) 根据《real-timeshadow》这本书第二章中的推导,实现了最简单的阴影技术。planarshadow通过一个投影矩阵将被灯光照射的物体的顶点沿着光线方向投影到接

OpenGL三角形的双面不同颜色的绘制 对于一个三角形,我要给它正反面不同的颜色。然后通过旋转,看出它的效果。我只想到了2种方法,下面我来写一下这两种方法。第一种方法,通过角

5.2光源 在OpenGL中,仅仅支持有限数量的光源。使用GL_LIGHT0表示第0号光源,GL_LIGHT1表示第1号光源,依次类推.OpenGL至少会支持8个光源,即GL_LIGHT0到GL_LIGHT7。使用g

标签: 投影变换的使用方法

本文链接地址:https://www.jiuchutong.com/biancheng/369452.html 转载请保留说明!

上一篇:OpenGL 矩阵变换(讲的太好了~!)(opengl 旋转矩阵)

下一篇:shader之旅-7-平面阴影(planar shadow)(shader cull)

  • 近三年复合增长是什么意思
  • 应付账款不需要函证
  • 增值税专票开户行
  • 无形资产出资入股流程
  • 发货就要开票吗是真的吗
  • 过路费按照什么缴纳增值税
  • 专用发票不抵扣怎么做账
  • 进口商品仓库
  • 企业注销其他应付款可以转入未分配利润吗
  • 支付招聘费收到专票怎么记账
  • 淘宝手续费是什么意思
  • 现金流管理模式
  • 应交城建税和教育费附加计算分录
  • 房屋租赁可以开住宿费吗
  • 工业企业购买电机会计分录
  • 取得抵债资产的方式主要有以下几种
  • 工资低于3000要申报吗
  • 地税都包括什么
  • 小规模纳税人开专票
  • 小规模纳税人购进商品的会计分录
  • 普通的增值税发票可以查询到购买人的信息吗
  • 包工不包料都包括什么
  • 1697510003
  • 先征后退房产税的会计处理?
  • linux进程管理器
  • linux怎么添加命令
  • 小规模纳税人买车可以抵税吗
  • 其他债权投资期末公允价值的变动应当计入
  • ajax无刷新技术
  • 社保会计科目怎么做账
  • 什么是增值税扣除标准
  • Mont Choisy Beach, Mauritius (© Robert Harding World Imagery/Offset by Shutterstock)
  • 门诊部需要药品经营许可证吗
  • 外汇申报中付款什么意思
  • 职工伙食费会计科目
  • 残保金是应交税金吗
  • 织梦怎么调用当前栏目下的文章
  • 企业所得税纳税人包括哪些类型
  • 进项税忘了加计怎么处理
  • 预提费用做账的会计分录
  • 进口关税和增值税怎么做账
  • centos离线安装mondo
  • python数组合并并排序
  • 特惠贷贴息金额怎么算的
  • 企业哪些情况下需要报税
  • 金蝶专业版仓库管理怎么结账
  • mysql中如何设置默认值
  • 信息技术服务增值税税负率是多少
  • 公司帮员工买的意外险钱是打到公司还是员工账号
  • 差旅费报销原因
  • 固定资产折旧指标有哪些
  • 开票方没有缴纳增值税
  • 管理费用现金流量附表指定
  • 补提折旧以前年度损益调整
  • 退回投标保证金在投诉阶段怎么办
  • 短期借款不超过几年
  • 工资计提数小于发放数,如何处理
  • 开房租租赁发票怎么记账?
  • 减免的费用怎么做账
  • 计提工资和发放工资的账务处理
  • 如何编写wa
  • xtrabackup备份原理
  • 如何用u盘装系统win10
  • wmpdmc.exe是什么意思
  • 轻量级个人用linux桌面系统
  • ubuntu系统中文件夹不能改名
  • centos配置网络地址命令
  • linux阅读器
  • win7显示ipv4ipv6无网络访问权限
  • w8系统鼠标在哪里调
  • fat32和fat16
  • ie支持es6
  • linux命令及含义
  • jquery判断div是否为空
  • jquery鼠标悬停显示内容
  • javascript基本语句
  • 个人所得税发票
  • 地税局书记是什么级别
  • 增值税有哪些税种组成
  • 国税上海税务局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设