位置: 编程技术 - 正文

计算机图形学——OpenGL基本使用(计算机图形学和计算机视觉的区别)

编辑:rootadmin
一、项目要求

推荐整理分享计算机图形学——OpenGL基本使用(计算机图形学和计算机视觉的区别),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:计算机图形学是干嘛的,计算机图形学的应用领域,计算机图形学的应用领域,计算机图形学之父是谁?,计算机图形学就业前景,计算机图形学期末考试题及答案,计算机图形学考研院校,计算机图形学考研院校,内容如对您有帮助,希望把文章链接给更多的朋友!

利用OpenGL绘制一个基本场景,加入灯光,实现交互操作。

二、开发环境

采用Microsoft Visual C 集成环境并用C&#;&#;编写程序

三、总体介绍

使用OpenGL用VC绘制出三维立体小白鸡,通过按键,实现旋转,改变观测视角,并实现其手臂和双腿的旋转,以及整体的沿着y轴平移。

四、设计思路

(一)首先绘制出三维的小白鸡,在其下方绘制一条马路和一个小球体(用于参考物,便于观察小白鸡向前行走的距离)。

(二)加上光照处理,使得三维图形更加立体。

(三)实现小白鸡左右翅膀和两条腿的转动以及整体向前移动的功能。

通过按键盘‘a’、‘d’、‘w’、‘s’四个键可以控制我们观测该模型的视角。通过按键盘‘f’、‘r’键可以控制小白鸡左翅的转动。通过按键盘‘g’、‘t’键可以控制小白鸡右翅的转动。通过按键盘‘h’、‘y’键可以控制小白鸡双腿的转动以及向y轴运动。

五、部分源代码 六、运行结果

(一)不同观测角度截图

1、正面图

2、背面图

3、侧面图

计算机图形学——OpenGL基本使用(计算机图形学和计算机视觉的区别)

(二)行走截图

七、问题及解决方法

第一次绘制三维模型,可以说从绘制基本的球体,长方体;添加光照;到实现平移,旋转等都遇到了很多问题。通过翻阅相关书籍,参考博客,学习学长学姐们的代码,到最后这些问题还是逐一得到了解决。

问题一:光照的设置

解决方法:通过学习书本上的光照处理那一小节的内容,让我大致了解了应该使用那些函数,相关的参数以及缺省&#;的设置。但在如何设置光源的颜色上出现了一些问题(光源的颜色覆盖了绘制出来的三维图形的颜色),之后在网上的博客上学习到了如何解决这一问题。

出现物体的颜色被光源颜色所覆盖的情况可能有两种原因:第一是光源的颜色设置得恰当,第二是没有使用glEnable(GL_LIGHTING)启用光源。当绘制出来的物体无法是透视的效果时,有可能是忘记启用深度测试。

问题二:只能绘制出第一个长方体,之后绘制的图形无法显示。

解决办法:在绘制物体之前和之后分别加上函数glPushMatrix()和glPopMatrix()。这样使用是为了保存基坐标,使之后绘制的图形和之前绘制的是在同一坐标系里进行度量的。

问题三:实现小白鸡沿y轴平移时,出现了“散架”的情况。

解决办法:经过不断调试代码,才发现绘制出三维物体之前就应该用glTranslatef函数实现它的平移。还应该注意到的是,小白鸡双腿不仅仅是沿y轴平移,同时还需要进行旋转。

八、不足之处

光照设置还存在一定的问题,在一旁设置的小白球在光照的效果下没有很好的体现出立体感。从正面观测,小白鸡沿y轴平移时,双腿的旋转轴没有设置好,导致旋转起来有偏差。

九、心得体会

通过完成第一次项目作业,感觉用编程实现绘制图形挺有趣的,在OpenGL里一些强大的函数帮助下,可以轻松的绘制出一些简单的三维图形,但是也正是因为要通过使用编程来实现,不像画画,很多时候一个简单的变化就需要考虑到很多的问题。这次的三维模型只实现了简单的光照设置,基本的三维图形绘制,以及一些基本的交互操作。希望之后能够学习到更多的知识,进行三维建模时就会更加得心应手。

GLES 顶点缓冲区对象(VBO) 可能大家经常从别人口中听到VBO,不知道是什么意思,觉得高大上的样子,但是如果知道中文名称,应该能明白一二。VBO,即顶点缓冲区对象。使用顶

openGL 获取矩阵中的旋转-平移-缩放 1.为什么要获取矩阵中的旋转-平移-缩放在绘制节点的继承体系中,所有的子类变换都是基于父类坐标系的。在坐标转换中,有时候我们需要转换子类的

Qt Quick + OpenGL + Bullet初次测试 QtQuickOpenGLBullet初次测试目前Qt的Quick模块已经表现得非常出色,而且可以预留接口来渲染OpenGL场景。一般来说,已经能够满足大部分编程需要了。这次呢

标签: 计算机图形学和计算机视觉的区别

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

上一篇:OpenGL深度学习资源收藏(opengl深度值与z值)

下一篇:openGL 获取矩阵中的旋转-平移-缩放(opengl矩形)

  • 跨年度的租金收入如何入账
  • 增值税纳税人是委托方还是受托方
  • 中华人民共和国国歌
  • 软件产品增值税超税负即征即退
  • 顺丰电子发票开错了可以重新开吗
  • 已抵扣发票冲红会计分录
  • 主营业务成本可以暂估吗
  • 异地经营如何纳税
  • 长期股权投资的交易费用计入哪里
  • 企业养老金计算公式举例说明
  • 企业所得税查增值税吗
  • 开业税务登记的基本流程
  • 企业固定资产折旧当月增加当月计提吗
  • 出纳都需要做什么表格
  • 单位房屋出租转投资性房地产怎么转?
  • 应交增值税减免税额
  • 报关单上金额要和合同上一样吗
  • 个人交的工会经费个税
  • 个人持有原始股要交税吗
  • 个体工商户给员工交社保流程
  • 公司买车可以抵什么税
  • 股权转让个人所得税
  • 过了征期还能报税吗
  • 没有进项开销项发票是虚开发票吗
  • 第三方代收代付平台
  • 餐饮业中的赠菜计入什么科目
  • 分公司开票信息
  • 平均应收账款金额
  • 以前固定资产入账折旧怎么提
  • 电梯维保公司缴税标准
  • 发工资和扣社保的区别
  • cpu天梯图2022最新版1240p
  • 圣米歇尔山 (© Leroy Francis/Getty Images)
  • 【修改huggingface transformers默认缓存文件夹】
  • 转让股权怎么做会计分录
  • 拍卖土地印花税
  • 项目融资中风险有哪些
  • 收入和支出怎么合计
  • 应交营业税计算公式
  • 基于中国国情的中国式现代化具有哪些特色
  • php数据库删除数据
  • 北海道的鱼
  • 微信小程序登录后端
  • 电子发票和纸质发票的法律效力
  • dom-to-image原理
  • uni-app入门到实战 以项目为导向
  • 保教费收入要交企业所得税吗
  • 一般纳税人增值税怎么做账务处理
  • 房产税按照租金
  • 转账支票只能去开户行买吗?
  • 出口退税未按期申报怎么办
  • 政府返还的个税手续费会计分录
  • 开增值税专用发票的好处
  • 金蝶软件做账流程图片
  • 上月结余金额是什么的
  • mysql出现的问题
  • 内账收入按含税还是不含税入
  • 支付技术转让费怎么入账
  • 企业给职工提供的免费住房是不是合法住宅?
  • 建筑行业小规模纳税人税率1%
  • 其他货币资金存出投资款借方增加还是减少
  • 会计凭证装订的步骤
  • 私企银行有哪几家
  • 会计账簿的设计原则有哪些
  • sql判断字符串是否为日期
  • cpqinet.exe是什么进程 安全吗 cpqinet进程安全性评估
  • win7升级win10收费吗
  • window八
  • win8.1系统更新
  • android studio入门项目
  • 简单的安卓代码
  • u3d脚本语言
  • 缴纳个人所得税怎么计算
  • 土地招标拍卖挂牌
  • 机打发票教程视频
  • 纳税人接受教育
  • 建筑服务纳税人有哪些
  • 上海公积金快速提取
  • 怎么注册山东省政府采购网
  • 转让定价调查与调整实务问答
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设