本书在广泛结合OpenGL并注重图形应用编程的基础上,介绍了计算机图形学的经典核心体系:图形系统、二维图形生成、几何变换、二维与三维观察、三维对象(实体造型与曲线曲面)、真实感图形技术、交互技术及动画。
本书主要介绍计算机图形学经典理论知识,同时每一章都给出一至两个OpenGL编程实例来帮助读者更好地理解相关知识与技术,使读者能快速掌握如何生成二维图形与三维图形。
书后有两个附录,分别为含有8个实验的课程实验指导与3套模拟试题及其答案。
目录第1章计算机图形学概述1.1什么是计算机图形学1.2计算机生成的图片用在哪里1.2.1艺术、娱乐和出版行业1.2.2计算机图形学、感知和图像处理1.2.3过程监视1.2.4仿真显示1.2.5计算机辅助设计1.2.6科学分析与体可视化1.3计算机图形学中制作图像的基本元素1.3.1折线1.3.2文本1.3.3填充区域1.3.4光栅图像1.3.5光栅图像的灰度和色彩表达1.4图形显示设备1.4.1线画显示1.4.2光栅显示器1.4.3视频卡/3D加速器1.4.4其他的光栅显示设备1.4.5硬拷贝光栅设备1.5图形输入的基本单元和设备1.5.1逻辑上的输入图形基元类型1.5.2物理输入设备的类型本章小结本章习题进一步阅读第2章OpenGL绘图入门2.1生成图像初步2.1.1设备无关的编程和OpenGL2.1.2窗口的编程2.1.3如何打开一个窗口画图2.2OpenGL的基本图形元素2.2.1几个点丛绘制的例子2.3OpenGL中的直线绘制2.3.1绘制折线和多边形2.3.2使用moveTo()和lineTo()绘制线段2.3.3绘制边校正的矩形2.3.4边校正矩形的长宽比2.3.5填充多边形2.3.6OpenGL中的其他图形元素2.4与鼠标和键盘的交互2.4.1用鼠标交互2.4.2键盘交互2.5程序中的菜单设计与使用本章小结案例分析进一步阅读第3章更多的绘图工具3.1概述3.2世界窗口和视口3.2.1窗口到视口的映射3.3裁减线3.3.1如何裁减一条线3.3.2Cohen-Sutherland裁减算法3.4正多边形、圆和圆弧3.4.1正多边形3.4.2正n边形的变种3.4.3绘制圆弧和圆3.4.4曲线的逐次细化3.5曲线的参数形式3.5.1曲线的参数形式3.5.2绘制参数曲线3.5.3极坐标形状本章小结案例分析进一步阅读第4章图形学中的向量工具4.1概述4.2向量回顾4.2.1向量基本运算法则4.2.2向量线性组合4.2.3向量的度量和单位向量4.3点积4.3.1点积的性质4.3.2两个向量的夹角4.3.3b·c的符号和正交性4.3.4二维正交向量4.3.5正交投影和点到直线的距离4.3.6投影的应用:反射4.4两个向量的叉积4.4.1叉积的几何解释4.4.2求平面的法向量4.4.3判断平面多边形的凸性4.5重要几何对象的表示4.5.1坐标系统和坐标框架4.5.2点的仿射组合4.5.3两个点的线性插值4.5.4使用内插的艺术和动画4.5.5预览:用二次、三次内插生成贝塞尔曲线4.5.6表示直线和平面4.6求两个线段的交点4.6.1直线求交的应用:过三点的圆4.7直线和平面求交及裁剪4.8多边形求交问题4.8.1处理凸多边形和凸多面体4.8.2射线与凸多边形的交点以及裁剪问题4.8.3Cyrus-Beck裁剪算法4.8.4更高级的裁剪问题本章小结案例分析进一步阅读第5章物体变换5.1概述5.2几何变换初步52.1点和物体变换5.2.2仿射变换5.2.3二维基本仿射变换的几何效果5.2.4仿射变换的逆变换5.2.5组合一个仿射变换5.2.6二维组合变换的实例5.2.7仿射变换的一些有用的性质5.3三维仿射变换5.3.1基本三维变换5.3.2组合一个三维仿射变换5.3.3旋转的组合5.34总结三维仿射变换的性质5.4如何实现坐标系变换5.5在程序中使用仿射变换j.5.1为后面的使用保存CT5.6使用OpenGL绘制电维场景5.6.1观察过程和图形绘制管道概述5.6.2OpenGL中的建模和视点工具5.6.3用OpenGL绘制基本形状5.6.4使用sDI。
从文件中读取一个场景的描述本章小结案例分析进一步阅读第6章使用多边形网格建
2025/3/20 3:15:07 56.37MB Computer Graphics
1
如果你有许多电脑文件,例如工作用的项目文件,或者是音频、照片等,并且保存在不同的地点,如台式机、笔记本、U盘或移动硬盘上,那么如何管理这些文件呢?这个软件先将所有文件的信息(文件名、时间、大小、保存位置及目录)保存到一个数据库中,这些文件可以有各种来源,多台PC上的硬盘、U盘、移动硬盘、光盘等,全部都导入到同一个数据库中,然后可以在这个数据库灵活查找所需要的文件。
另外还可以复制后进行管理,添加备忘信息。
1
设计一个GUI界面的学生信息管理系统,方便保存学生的部分信息。
有五类功能:1、 增加学生信息:输入姓名、学号、年龄、手机号2、 修改学生信息:输入新的姓名、学号、年龄、手机号3、 删除学生信息:以学号为索引4、 查询学生信息:以学号为索引5、 显示学生信息:一条一条整页显示。
1
此份代码简洁高效,是我在上图形学课时的一个课程设计。
整个项目只有一个cpp,里面包含obj读取,结果保存为bmp,扫描线Z缓存算法实现等部分,一共339行。
但请注意,算法实现上我是在课本提供思路上做了很大的简化,整个算法实现过程只用到一个结构体。
2025/3/16 21:35:29 1019KB 扫描线Z缓存
1
(1)通过键盘输入各学生的多门课程的成绩,建立相应的文件input.dat。
(2)对文件input.dat中的数据进行处理,要求具有如下功能:1) 按各门课程成绩排序,并生成相应的文件输出。
2) 计算每人的平均成绩,按平均成绩排序,并生成文件。
3) 求出各门课程的平均成绩、最高分、最低分、不及格人数、60~69分人数、70~79分人数、80~89分人数、90分以上人数。
4) 根据姓名或学号查询某人的各门课成绩,重名情况也能处理。
(3)界面美观。
1
学生信息管理系统,实现学生信息包括:学号、姓名、性别、年龄、班级等信息。
小学生除了包括学生所有信息外,还包括英语、数学和语文成绩。
中学生除了包括小学生所有信息外,还包括地理、历史成绩、家庭住址等信息。
大学生除了包括学生所有信息外,还包括专业、家庭地址、联系方式等信息。
2、功能要求(1)添加功能:(2)查询功能:(3)显示功能:(4)编辑功能:(5)删除功能:(6)统计功能:(7)保存功能:(8)读取功能:
2025/3/15 14:13:29 24KB 学生信息管理
1
基于Jpcap提供的API,利用java在myeclipse开发的。
所涵盖的功能有网卡的获取,网卡的选定、过滤器的设置、数据包的抓取及解析,数据包以文件形式的保存,数据包保存文件的读取......(以控制台的形式展现)
1
本模块主要实现了备份数据库、还原数据库功能。
在对数据库进行操作前,首先需要选择服务器,及输入相应的用户名和密码,进行登录,然后才能对数据库进行操作。
单击“备份数据库”按钮,打开“备份本地数据库”窗口,如图1.2所示。
输入备份文件名,选择要备份的数据库,然后再选择保存备份文件的路径,单击“确定”按钮对数据库进行备份。
2025/3/14 14:12:23 1.16MB SQL 数据库 备份与恢复
1
panda插件2019最新版本,支持rhino6,是grasshopper的插件,自用的;
在Grasshopper使用过程中,我们会不断地积累经验,会将很多常用的程序保存起来,以便再使用。
但是,随着文件(.ghuser,.gh,.ghx文件)的增多,管理和分享会变得很麻烦,于是我开发了一个小工具-Alien,可以将.ghuser,.gh,.ghx文件打包成.gha文件,方便使用
2025/3/13 14:46:06 22.54MB GH GH插件 rhino
1
资源压缩包内还有dll和密钥key值本人使用的是用于将excel转换为pdf亲测可用。
exceltopdf代码贴上SpreadsheetInfo.SetLicense(key值);varworkbook=ExcelFile.Load(excel文件的路径);workbook.Save(pdf保存的文件路径);就这三行代码就可以将excel转成pdf了
2025/3/13 0:10:27 673KB 内含密钥key xls to pdf
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡