设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>计算机毕业设计 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopin QQ:2922748026   
基于C++和opengl实现太阳系动画演示系统 课程论文+项目源码
文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

目录

项目选择

核心技术细节

开发环境

体系结构概要

类详细介绍

TextureManager

Star

SolarSystem

Camera

总体逻辑介绍

全局变量

int main(int argc, char **argv)

void init()

void display()

void onTime(int value)

void onKeyDown(unsigned char key, int x, int y) 与void onKeyUp(unsigned char key, int x, int y)

小结

项目效果展示

运行演示

工作量

原创性

参考资料

项目选择

我选择的是opengl实现太阳系的项目。实现了月球绕地球转、地球绕太阳转的动画、第一人称摄像机、全局上帝视角、地球视角、材质贴图、Phong Shading等要求。

核心技术细节

开发环境

C++标准

C++17

操作系统平台

Linux

构建工具

cmake 3.16

桌面服务代理

wayland或XServer

依赖软件包

freeglut——opengl核心依赖

libsoil——用于加载贴图纹理

glm——用于线性代数计算

体系结构概要

main.cpp

主函数,包括opengl的初始化、注册回调等。

Camera类

用于摄影机相关功能的实现。

Star类

用于星体相关功能的实现。

SolarSystem类

管理所有星体的容器。

TextureManager类

管理纹理的容器。

本项目的设计思想参照前端设计与游戏设计中常见的“数据驱动”的方式,核心思路就是在控制阶段(初始化阶段、键盘控制回调、显示的回调等)更新各个对象的状态(属性值),在绘制阶段(每帧)集中使用对象的状态。这样做最大的益处在于对对象的操作只需要简单地修改其状态属性即可,而对这些状态的使用可以集中在同一个地方,极大地减少了代码量与耦合度,提高了开发效率与维护便利性。

类详细介绍

本项目涉及的类一般有两个功能:保存一些状态与被动地根据自身状态调用opengl的API来完成某种功能。状态的保存、API的调用均由主逻辑控制。这一节先介绍各个类的功能。








  全套毕业设计论文现成成品资料请咨询微信号:biyezuopin QQ:2922748026     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
基于VUE+SpringBoot 基于JSP+SSM的物流快递管理 基于JSP+SSM+MySQL的
基于JSP+SSM的图书借阅管理 基于JSP+SSH的网上宠物交易 基于VUE+SSM+MySQL的
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopin QQ:2922748026  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!