基于C++OpenGL实现的小桌茶壶图形绘制

资源下载地址:https://download.csdn.net/download/sheziqiong/85628081
资源下载地址:https://download.csdn.net/download/sheziqiong/85628081

实验目的和要求

在模型变换实验的基础上,通过实现下述实验内容,掌握OpenGL中三维观察、透视投影、正交投影的参数设置,并能使用键盘移动观察相机,在透视投影和正交投影间切换,验证课程中三维观察的内容;

进一步加深对OpenGL三维坐标和矩阵变换的理解和应用。

实验内容和原理

使用Visual Studio C++编译已有项目工程,并修改代码生成以下图形:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加键盘对茶壶的控制,主要是茶壶沿着桌面的平移操作(如下图中绿色和蓝色标示)和茶壶绕自身轴(如下图中红色标示)的旋转操作;按键为:l, j, I, k, e。具体对应关系可查看参考答案中的操作指南。

在这里插入图片描述

主要仪器设备

Visual Studio C++

glut.zip

Ex3-vs2010 工程

操作方法和实验步骤

键盘操作:视角的设置与桌子的平移

首先先在updateView()函数中设置在‘P’操作后转换为透视投影的部分:采用gluPerspective()函数:

借用这个定义和参数的意义,修改此处的代码:

下面修改key()函数中对于各个按键的操作,首先先实现视角的移动,关于茶壶的移动放在一边稍后再修改:

此处借助了提示中给出的数组eye[]和center[]参数,结合后面出现的gluLookAt()函数,可以确定下来每一个参数对应的变化:

void gluLookAt(GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx, GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, GLdouble upz); 该函数定义一个视图矩阵,并与当前矩阵相乘。第一组eyex, eyey,eyez 表示相机在世界坐标的位置;第二组centerx,centery,centerz表示相机镜头对准的物体在世界坐标的位置;第三组upx,upy,upz 表示相机向上的方向在世界坐标中的方向。所以在桌子平移操作的过程中,只需要调整对应的eye值(相机世界坐标)以及center值(物体世界坐标)即可。

键盘操作:茶壶的坐标设定与茶壶的运动

基本上确定好了桌子整体的运动操作,我们来关注茶壶的位置固定与运动操作。首先根据提示,我们要在全局变量中设定好一些茶壶位置相关的变量以及判断状态的布尔量:

teapot数组来存放位置,tAnim仿照bAnim,是控制转动与否的判断值。fRotateT仿照fRotate,是控制茶壶旋转的参数。

为了让茶壶和桌子可以分离运动,在绘制的过程中(即在Draw_Scene()函数里),需要对做出相应的调整与修改:将平移设定为相对的,新设定茶壶的glRotatef函数。

然后到key()函数中补全有关茶壶运动的操作:

最后,在redraw()函数中补全有关茶壶的旋转控制:

实验数据记录和处理

关于数据的选取,我基本上都是先瞎设置一个差不多的值,然后跑起来打眼看一看。看完了觉得哪里不对劲的再调整数据直到看起来差不多为之。比如控制茶壶不要移出桌面的部分,就是通过估计的方法来看的。这么做的原因是懒得看具体的桌子长度参数,于是猜一下。再比如茶壶放置的相对位置,是根据原工程中的数据改变的。

实验结果与分析

在这里插入图片描述

正投影,只能上下左右移动,无法前后。原因后面会分析。

在这里插入图片描述

透视投影,旋转调整后的某一个位置。

透视投影,线框模式,茶壶单独旋转到某一个位置。

茶壶的平移

讨论、心得

整体函数调用步骤(main函数的安排)

初始化显示模式——初始化窗口大小——绘图——自适应屏幕窗口函数——键盘回调函数——全局回调函数——事件处理循环

在正交投影下前后平移没有效果的原因探讨

正交投影的效果可以理解为三视图的主视图(正面),我们结合下图回顾工程中的编写:

在沿z方向的平移时,从正交视点里是看不出来的。

资源下载地址:https://download.csdn.net/download/sheziqiong/85628081
资源下载地址:https://download.csdn.net/download/sheziqiong/85628081

shejizuopin
关注 关注
  • 2
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
opengl实现图形平移,缩放,旋转(不使用opengl图形变换函数)
10-29
自己写的计算机图形学的图形变换作业,没有使用opengl原有的图形变换函数,可以实现图形的平移,缩放和旋转
OpenGL绘制茶壶,多面体
09-23
非常适合3D入门学习,需要下载OpenGL库,
openGl绘制茶壶纹理
10-27
利用openGL设置茶壶纹理贴图及其他操作。
使用opengl画一个简单的茶壶
01-13
这个文件主要是使用opengl代码通过函数在屏幕上画一个简单的茶壶
使用opengl绘制茶壶实现鼠标拖动
indigo_xx的博客
03-26 1267
OPENGL中封存有对鼠标进行相应的函数,但使用起来无法实现效果,于是我们需要进行一些偏移量计算以完成角度的拖拽,这在一定程度上给参考了solidworks中3D物品旋转的方式。选定一个原点,将坐标轴正方向和反方向的俩个点进行连线,代码及效果如上图所示(本次程序中由于渲染原因,坐标轴颜色统一为棕色)2.把偏移量添加到摄像机的俯仰角和偏航角中。3.对偏航角和俯仰角进行最大和最小值的限制。1.计算鼠标距上一帧的偏移量。5.将其封装到函数中。
我自己用Opengl画的茶壶
05-31
很简单的初学OpenGL所画的一个图。如果大家觉得不够好,可以联系我一下
OpenGL平台上的Teapot绘制与渲染(代码详细注释)
weixin_52634719的博客
03-03 2183
OpenGL
opengl茶壶
07-03
1. 绘制有光照效果的场景; 2. 场景包含3个茶壶,通过键盘1,2,3可以分别选中三个茶壶,然后用鼠标对每个茶壶进行分别的旋转; 3. 使用点光源,点光源为白色,以白色的球体表示; 4. 使用3个不同的点光源 i. 光源1的坐标设置在世界坐标系中,并围绕着三个茶壶的中心进行圆周运动; ii. 光源2 的坐标 设置在观察坐标系,不发生变化; iii. 光源3的坐标设置在茶壶1的物体坐标系中,当茶壶1被选中进行旋转时,光源3要跟随茶壶1 做相同的旋转; 给每个茶壶加入不同的材质,体现不同材质对光照的影响
基于C++OpenGL实现小桌茶壶纹理图形绘制
毕业作品网站
06-13 3311
OpenGL消隐和光照实验的基础上,通过实现实验内容,掌握OpenGL纹理的使用,并验证课程中关于纹理的内容。使用Visual Studio C++编译已有项目工程。模型尺寸不做具体要求。要求修改代码达到以下要求:1.通过设置纹理,使得茶壶纹理为:2.使得桌子纹理为:3.对茶壶实现纹理和光照效果的混合4.自己用代码产生一张纹理,并贴在茶壶表面,效果类似:5.在桌面上实现两张纹理的叠合效果(附加项,完成可加分): 提示:glSolidCube()并不会为多边形指定纹理坐标,因此需要自己重写一个有纹理坐标
基于C++OpenGL实现小桌茶壶图形绘制.zip
06-13
资源包含文件:设计报告word+源码及可执行exe文件 在模型变换实验的基础...使用Visual Studio C++编译已有项目工程,并修改代码生成图形。 详细介绍参考:https://blog.csdn.net/sheziqiong/article/details/125257824
OpenGL的一个简单的茶壶
07-21
利用NEHE教程中的代码进行了简单的改进,实现了一个茶壶DEMO
opengl茶壶绘制
04-23
opengl实现在光照条件下不同材质茶壶绘制,包括金属材质,塑料材质宝石及橡胶材质
opengl 一个有光照效果纹理旋转的立体茶壶以及相关配置环境
12-15
opengl 一个有光照效果纹理旋转的立体茶壶,用c写的,在窗口中绘制了一个漂亮的茶壶。适合初学者使用, 当作样例
OpenGL 绘制立方体、茶壶、环面等稍复杂的图形
06-23
1. 基于MFC绘制三维立体小球(太阳、地球、月亮)基本图形; 2. 基于MFC使用OpenGL 绘制立方体、茶壶、环面等稍复杂的图形; 3. 基于MFC使用OpenGL用鼠标控制三维物体;
图形学 - OpenGL实现3种三维茶壶显示源码2个 3D 茶壶
10-23
图形学 - OpenGL实现3种三维茶壶显示源码2个 3D 茶壶,Demo版代码,希望能帮助大家
基于C++OpenGL实现小桌茶壶图形绘制消隐和光照.zip
06-13
OpenGL观察实验的基础上,通过实现实验内容,掌握OpenGL中消隐和光照的设置,并验证课程中消隐和光照的内容。 模型尺寸不做具体要求。要求修改代码达到以下要求: 1.通过设置材料使得桌面和四条腿的颜色各不相同,...
基于C++OpenGL实现小桌茶壶纹理图形绘制.zip
06-13
OpenGL消隐和光照实验的基础上,通过实现实验内容,掌握OpenGL纹理的使用,并验证课程中关于纹理的内容。使用Visual Studio C++编译已有项目工程。 详细介绍参考:...
基于C++OpenGL实现小桌茶壶纹理图形绘制.zip(设计报告 + 源码 + 可执行exe文件)
最新发布
06-14
实验目的和要求:在OpenGL消隐和光照实验的基础上,通过实现实验内容,掌握OpenGL纹理的使用,并验证课程中关于纹理的内容。 使用Visual Studio C++编译已有项目工程,其中最左边的桌子循环上移(即匀速上移到...
基于C++OpenGL实现小桌兔子图形绘制.zip
06-13
用按键I、K添加兔子数量增减(所有兔子均摆放着在桌面上,兔子间不要有交叉,桌面不够大可自行调整),按键L来切换显示列表和非显示列表绘制方式。WASDZC控制上下左右前后移动,空格键控制整体旋转。通过动画以及对...
写文章

热门文章

  • 学生宿舍管理信息系统 数据库课程设计 54371
  • 基于Python的人脸互换系统设计与实现 35774
  • 教务信息管理系统的设计与实现 25989
  • 基于Python实现的五子棋游戏设计 25649
  • 基于Android的天气预报系统的设计与实现 21426

最新评论

  • 基于语音的垃圾自动分类系统设计与实现

    shejizuopin: 文末可加

  • 基于语音的垃圾自动分类系统设计与实现

    2301_80656038: 你好,请问有语音识别分类垃圾桶的代码事例吗

  • 年产20吨鸡枞菌产品的生产工艺设计(lunwen+课题登记表+cad图纸)

    xiang098: 兄弟提供参考一下吗?390945099@qq.com

  • Python实现说话人识别(声纹识别)算法

    seven的便签: 5个人的,与文本有关的,说话人识别好做吗,一般用哪些模型做

  • 基于二分混合空间曲线的HBase多维索引构建及查询优化问题研究

    普通网友: 阅读这篇博文真是一次愉快的体验!作者的文字真是动人心弦,语言精准而生动。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

最新文章

  • 基于uni-app的计算机类面试宝设计与实现(毕业论文)
  • 太阳能光伏并网电站电气部分初步设计(毕业论文)
  • 基于植物空间的风景区植物景观改造设计——以湖光岩滨湖A段为例(开题报告)
2024
09月 28篇
08月 34篇
07月 49篇
06月 60篇
05月 63篇
04月 68篇
03月 69篇
02月 58篇
01月 62篇
2023年416篇
2022年1044篇
2021年2篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shejizuopin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

玻璃钢生产厂家广州玻璃钢花盆花器商场美陈布置南通绵阳玻璃钢花盆花器淄博校园玻璃钢雕塑价格襄阳园林玻璃钢雕塑定做商丘锻铜玻璃钢仿铜雕塑有哪些关于商场美陈的网站南京泡沫玻璃钢雕塑有哪些汕尾玻璃钢雕塑生产玻璃钢雕塑什么漆绵阳镇江玻璃钢卡通雕塑沧州玻璃钢雕塑厂家供应玻璃钢花盆组合专卖店绍兴玻璃钢雕塑厂家仿文化石玻璃钢花盆重庆个性化玻璃钢雕塑制作兴化玻璃钢气球雕塑兰州玻璃钢雕塑制造商奥体商场周年美陈玻璃钢雕塑哪个好金水区景观玻璃钢雕塑卡通玻璃钢雕塑造型贴金东莞迎宾玻璃钢雕塑玻璃钢仿石雕塑寿命抽象玻璃钢雕塑厂家无锡玻璃钢雕塑工艺品绍兴商场玻璃钢雕塑摆件玻璃钢雕塑技术标准安徽生肖玻璃钢雕塑玻璃钢人物雕塑工单香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化