本书在广泛结合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
包括PROTEL电路图C源程序头文件基于8051F310单片机实现用反射式红外光电二极管测量人的心率值并稳定显示
2025/3/18 22:44:47 52KB 单片机 心率 红外
1
传输矩阵法在计算一维光子晶体方面的应用,计算反射率、透射率等
2025/3/7 3:18:40 606KB 传输矩阵
1
将超声波信号转换成其他能量信号(通常是电信号)的传感器。
超声波是振动频率高于20kHz的机械波。
它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。
超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中。
超声波碰到杂质或分界面会产生显著反射形成反射回波,碰到活动物体能产生多普勒效应
2025/3/3 16:27:01 21KB 硬件原理图
1
FastParticles支持1.7.10至1.16的简单Bukkit粒子API。
:warning:如果不需要1.7/1.8支持,则不需要此库,而应只使用Bukkit方法:和。
:warning:产品特点易于使用不要在兼容的Bukkit版本中使用反射支持所有版本上的所有粒子数据适用于1.13+(有无旧粒子)如何使用在插件中添加FastParticlesMavenorg.apache.maven.plugins
2025/2/10 11:54:19 12KB api minecraft bukkit spigot
1
前台+后台+数据库脚本,功能齐全,本人采用部分反射技术包装,减少代码的重复性,导入Myeclipse即可使用。
2025/2/8 7:14:54 1.72MB 千里之行 购物网站
1
javawebHTML&CSS;知识点Javascript知识点jQuery知识点14Bootstrap知识点17JDBC&配置文件&连接池19Xml文档及解析31反射33Http协议和Tomcat服务器36JavaWeb核心之Servlet41HttpServletResponse46HttpServletRequest51会话技术Cookie&Session;55动态页面技术(JSP/EL/JSTL)59javaEE的开发模式65事务(JDBC)67Json数据格式(重要)70Js原生Ajax和Jquery的Ajax71监听器Listener74邮箱服务器79过滤器Filter
2025/2/2 18:18:39 3.56MB javaweb 详细笔记 java web
1
编写了matlab程序模拟FBG的反射谱,通过改变FBG的各种物理参数可以求得对应的FBG反射谱。
2025/2/2 2:14:35 14KB FBG 反射谱
1
泛型+枚举+反射学习笔记
2025/1/25 22:40:15 3.53MB java
1
STM32F103系列微控制器是基于ARMCortex-M3内核的高效能、低成本芯片,广泛应用于各种嵌入式系统设计。
本例程集成了多种关键功能,旨在为开发者提供一个强大的开发平台,帮助他们快速实现项目。
以下是各功能模块的详细解释:1.**FreeRTOS操作系统**:FreeRTOS是一款轻量级实时操作系统(RTOS),适用于资源有限的嵌入式设备。
它提供了任务调度、信号量、互斥锁等多任务管理机制,确保了系统的实时性和高效率。
在STM32F103上运行FreeRTOS,可以充分利用其多线程能力,实现复杂的软件架构。
2.**MPU6050DMP**:MPU6050是一款六轴惯性测量单元(IMU),集成了三轴陀螺仪和三轴加速度计。
DMP(数字运动处理器)是其内置的硬件加速器,可以处理传感器数据融合,提供姿态解算。
在本例程中,MPU6050DMP用于获取设备的姿态、角速度和加速度信息,适用于运动控制和导航应用。
3.**USART通信**:通用同步/异步收发传输器(USART)是STM32中的串行通信接口,用于与外部设备进行数据交换。
在项目中,USART可能用于设备配置、数据传输或者与其他MCU通信。
4.**Timer输入捕获**:STM32的定时器支持输入捕获模式,可以精确测量输入信号的脉冲宽度或频率。
在例程中,这可能用于电机控制、测速或距离测量(如通过计算超声波脉冲往返时间)。
5.**KS103测距模块**:KS103通常是指一款超声波测距模块,利用超声波的反射特性来测量物体的距离。
结合Timer输入捕获功能,可以实现精确的距离测量,例如在自动化设备或安全系统中。
6.**烟雾检测**:虽然在描述中提到烟雾检测,但没有提供具体实现的细节。
一般而言,烟雾检测可能通过光电传感器或电化学传感器实现,将检测到的信号转化为电信号并处理,以报警或触发其他响应。
这个综合示例涵盖了嵌入式系统开发中的多个关键部分,包括实时操作系统、传感器数据处理、串行通信以及物理世界的测量。
对于想要在STM32F103平台上进行复杂项目开发的工程师来说,这是一个宝贵的资源,可以减少重复工作,提高开发效率。
通过学习和参考这个例程,开发者能够更好地理解和应用这些技术,解决实际问题。
2025/1/21 16:03:14 10.62MB FREERTOS MPU6050DMP stm32F103 usart
1
共 247 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡