计算机图形学原理
作者 : 张康 Leen Ammeraal 王长波 编著
出版日期 : 2012-09-12
ISBN : 978-7-111-39040-4
定价 : 29.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 236
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本教材系统地介绍了基本的计算机图形原理及算法,并给出其相关Java实现。第一部分为二维计算机图形。首先从基本概念入手, 介绍怎样用逻辑坐标来画简单的图形和填色;为奠定基本数学基础, 随后回顾了应用几何学用于图形学的基本概念, 包括向量、多边型和图形变换方法。然后详细介绍了最经典的图形生成算法核分形(Fractals)技术(包括Mandelbrot集和Julia集)以及色彩的基础知识。第二部分为三维计算机图形。深入地描述了三维透视法和隐藏线消除、隐藏面消除技术。最后介绍了Java 3D的编写原理和使用指南。

图书特色

计算机图形学原理
张 康(德州大学达拉斯分校)  Leen Ammeraal(Hogeschool Utrecht大学)  王长波(华东师范大学)  编著
计算机图形学主要研究如何在计算机屏幕上表示图形,以及利用计算机进行图形的生成、处理和显示的相关原理与算法,是计算机科学与技术、软件工程、数字媒体等专业的重要专业课程。本书是作者多年来在国内外教授“计算机图形学”课程的教学经验的结晶。
本书特点
针对国内高校的教学需求,系统地介绍了计算机图形学的基本原理和经典算法,并为所有算法给出其相应的Java程序,即使是Java的初学者也可以学会本书中关于计算机图形学的内容。
深入浅出,原理讲解详细,首先从基本概念入手, 介绍怎样用逻辑坐标来画简单的图形和填色;为奠定基本数学基础, 随后回顾应用几何学用于图形学的基本概念;然后详细介绍经典的图形生成算法、分形技术,以及色彩的基础知识;接着深入地描述三维透视法以及线消隐和面消隐技术;最后介绍Java 3D的编写原理和使用指南。
图文并茂,理论结合实践,每章都有图例演示,提供相关程序运行结果截图和应用实例,均带Java源程序,注重培养学生的创新能力和实际编程能力。
学习资源丰富,附有一套经典的图形生成算法的可视化演示软件(带源码), 以进一步帮助初学者理解各算法的工作原理, 也可供高级读者对其进一步完善应用。
作者简介
张 康 美国德州大学达拉斯分校计算机科学系终生教授,可视计算实验室主任;天津大学软件学院客座教授和博士生导师。曾在英国布莱顿大学、英国科学与工程委员会、澳大利亚麦考里大学任职,有22年的本科、研究生和博士生的教学经验。与Leen Ammeraal合作出版过《Computer Graphics for Java Programmers》一书,在国外广为采用。此外,还出版过5本专著,发表过50多篇国际期刊论文,以及140多篇国际会议论文。
Leen Ammeraal 曾于1977年至1998年在荷兰Hogeschool Utrecht大学任教,之前曾在荷兰Akzo Research and Engineering,Arnhem做程序员和数学分析师,并在阿姆斯特丹数学中心研究过编译原理。他撰写过数本英文和荷兰文计算机教材,其中《C++ for Programmers》和《Algorithms and Data Structures in C++》被国外高校广为采用。
王长波 华东师范大学软件学院教授。近年来一直在从事计算机图形学领域相关的教学和科研工作,主持包括国家自然科学基金在内的多个国家及省市级科研项目,发表论文40多篇,有30余篇次被SCI、EI收录,撰写专著及教材2本。目前是中国计算机学会CAD/CG专委会委员,中国图学学会计算机图学专委会委员,上海市工程图学学会理事。曾获上海市青年科技启明星,陆增镛CAD&CG高科技奖。

图书前言

随着计算机软硬件技术的不断进步,计算机图形学技术也不断向多样化和人性化方向发展。以动漫、数字游戏为代表的数字娱乐产业的迅猛发展极大地推动了计算机图形学和相关学科的大力发展。各种新媒体技术的蓬勃发展也大大促进了计算机图形学在各领域的应用和推广。计算机图形学已成为计算机科学与技术、数字媒体、软件工程、数字设计等专业的核心专业课之一。
  近年来,移动通信尤其是手机应用的飞速发展对于快速开发基于移动平台的应用提出了迫切的需求,网络媒体的发展也催生了网络数字媒体应用的蓬勃发展。Java编程语言的不断普及使得移动平台和网络媒体上的应用软件以指数级速度增长,并具有跨平台性、简单、便捷等优点。因此撰写基于Java语言的计算机图形学教材成为当务之急。本书正是在这样的形势下,基于作者多年的计算机图形学教学经验面向国内高校的教学需求编写的,以期成为与时俱进、理论与实践并重的教材。
  本书系统地介绍了基本的计算机图形学原理及算法,并给出其相关Java实现。第一部分为二维计算机图形,首先从基本概念入手,介绍怎样用逻辑坐标来画简单的图形和填色;为奠定基本数学基础,随后回顾了应用几何学用于图形学的基本概念,包括向量、多边形和图形变换方法;然后详细介绍了经典的图形生成算法和分形(Fractals)技术(包括Mandelbrot集和Julia集)以及色彩的基础知识。第二部分为三维计算机图形,深入地描述了三维透视法和线消隐、面消隐技术。第三部分介绍了Java 3D的编写原理和使用指南。
  全书使用众多通俗易懂且可即刻运行的Java程序来实现所学计算机图形学原理及算法;理论结合实际,着重培养学生的编程实现能力;图文并茂,交互演示,每章都有图例演示,提供相关程序运行结果截图和项目应用实例。本书同时附有一套经典的图形生成算法的演示软件(带源码),以进一步帮助初学者理解各算法的工作原理,也可供高级读者对其进行进一步完善。
  本书可以作为高校本科生或非计算机专业的研究生计算机图形学课程的教材,也可作为从事计算机图形学、游戏开发、动漫制作、手机应用软件、网络多媒体软件等开发工作的研究生、科研人员和企业开发人员的参考用书。
  本书在编写的过程中得到了机械工业出版社华章分社的大力支持和鼓励,在此表示衷心感谢!本书的编写也得到了崔锦、贾圆圆、叶鹏、肖昭等同学的帮助,在此一并表示感谢。
  书中如有不妥或错误之处,恳请广大读者批评指正。
编者
2012年6月

上架指导

计算机\图形学

封底文字

计算机图形学主要研究如何在计算机屏幕上表示图形,以及利用计算机进行图形的生成、处理和显示的相关原理与算法,是计算机科学与技术、软件工程、数字媒体等专业的重要专业课程。本书是作者多年来 “计算机图形学”课程在国内外的教学经验的结晶。
● 本书针对国内高校的教学需求,系统地介绍了计算机图形学的基本原理和经典算法,并为所有算法给出其相应的Java程序,即使Java的初学者也可以学会本书中关于计算机图形学的内容。
● 本书深入浅出,原理讲解详细,首先从基本概念入手, 介绍怎样用逻辑坐标来画简单的图形和填色;为奠定基本数学基础, 随后回顾了应用几何学用于图形学的基本概念,;然后详细介绍最经典的图形生成算法、分形技术,以及色彩的基础知识;接着深入地描述了三维透视法以及线消隐和面消隐技术;最后介绍Java 3D的编写原理和使用指南。
● 图文并茂,理论结合实践,每章都有图例演示,提供相关程序运行结果截图和应用实例,均带Java源程序,注重培养学生的创新能力和实际编程能力。
● 本书学习资源丰富,附有一套经典的图形生成算法的可视化演示软件(带源码), 以进一步帮助初学者理解各算法的工作原理, 也可供高级读者对其进一步完善应用。

作者简介

张康 Leen Ammeraal 王长波 编著:张康 美国德州大学达拉斯分校计算机科学系终生教授,可视计算实验室主任;天津大学软件学院客座教授和博士生导师。曾在英国布莱顿大学、英国科学与工程委员会、澳大利亚麦考里大学任职,有22年的本科、研究生和博士生的教学经验。与Leen Ammeraal合作出版过《Computer Graphics for Java Programmers》一书,在国外广为采用。此外还出版过5本专著,50多篇国际期刊论文, 以及140多篇国际会议论文。 Leen Ammeraal 曾于1977年至1998年在荷兰Hogeschool Utrecht大学任教,之前曾在荷兰Akzo Research and Engineering,Arnhem做程序员和数学分析师,并在阿姆斯特丹数学中心研究过编译原理。他撰写过数本英文和荷兰文计算机教材,其中《C++ for Programmers》和《Algorithms and Data Structures in C++》被国外高校广为采用。 王长波 华东师范大学软件学院教授。近年来一直在从事计算机图形学领域相关的教学和科研工作,主持包括国家自然科学基金在内的多个国家及省市级科研项目,发表论文40多篇,有30余篇次被SCI、EI收录,撰写专著及教材2本。目前是中国计算机学会CAD/CG专委会委员,中国图学学会计算机图学专委会委员,上海市工程图学学会理事。曾获上海市青年科技启明星,陆增镛CAD&CG高科技奖。

图书目录

前言
教学建议
第1章 图形学基本概念 1
1.1 离散点现象 1
1.2 用Java2D画线 3
1.3 逻辑坐标 6
1.4 逻辑坐标与设备坐标间的映射 10
1.5 实例:用鼠标定义一个多边形 15
习题 18
第2章 二维图形的数学基础 21
2.1 行列式 21
2.2 矢量 23
2.3 点积与叉积 24
2.4 三点定向 26
2.5 多边形及其面积 28
2.6 多边形内部点的测试 30
2.7 点与线的关系 32
2.8 多边形的三角划分 36
习题 40
第3章 经典的图形算法 42
3.1 Bresenham画线算法 42
3.2 双步画线 45
3.3 圆的绘制 48
3.4 线裁剪 51
3.5 多边形裁剪 56
3.6 贝塞尔曲线 61
3.7 B样条曲线 68
习题 72
第4章 分形 75
4.1 分形简介 75
4.2 科赫曲线 75
4.3 串文法 78
4.4 串文法的扩充与变换 81
4.5 Mandelbrot集和Julia集 88
习题 95
第5章 色彩、纹理和光照明 97
5.1 色觉 97
5.2 加型和减型色彩 98
5.3 RGB颜色的表达方法 100
5.4 HSL色彩模型 103
5.5 透明度 105
5.6 纹理 107
5.7 光照明模型 109
习题 113
第6章 三维图形变换与透视 114
6.1 矩阵 114
6.2 线性变换 115
6.3 平移和齐次坐标 120
6.4 绕任意点的旋转 122
6.5 三维旋转 124
6.6 视图变换 131
6.7 透视变换 134
6.8 实例:立方体透视画法 136
习题 139
第7章 数据结构与实现方法 141
7.1 三维结构的类实现 141
7.2 三维图形的描述 152
7.3 特殊线段和面的处理 155
7.4 线框模型画法 158
7.5 图形描述的自动生成 161
习题 168
第8章 线消隐与面消隐 171
8.1 消隐的概念 171
8.2 线消隐算法 173
8.3 面消隐的简便算法 176
8.4 着色 181
8.5 画家算法 182
8.6 深度缓冲(Z-Buffer)算法 186
8.7 实例:双变量函数曲面 193
习题 202
第9章 Java 3D介绍 204
9.1 基本概念 204
9.2 编写Java 3D程序 205
9.3 三维建模 209
9.4 光照模型 216
9.5 纹理映射 219
9.6 动画模型 222
9.7 关于Java 3D的更多信息 225
习题 226

教学资源推荐
作者: 苏仕华 等
作者: [美]迈克尔·T. 古德里奇(Michael T. Goodrich) 罗伯托·塔马西亚(Roberto Tamassia) 迈克尔·H.戈德瓦瑟(Michael H. Goldwasser) 著
作者: (美)Robert Sedgewick, (法)Philippe Flajolet
参考读物推荐
作者: 侯晴 汪翔
作者: 华诚科技 编著
作者: [希]帕诺斯·卢里达斯(Panos Louridas) 著