本书系统介绍Bezier曲线曲面、B样条曲线曲面和NURBS曲线曲面的理论与算法。第1章介绍曲线曲面的基本概念及表示形式;第2章介绍二维图形和三维图形的程序设计方法,示范直线绘图函数的使用方法,重点讲解制作网格模型动画的双缓冲技术;第3章讲解三次样条曲线、三次参数样条曲线、Hermite样条曲线和Cardinal曲线的原理与算法;第4章介绍三次Bezier曲线的定义算法、de Casteljau递推算法,重点讲解基于双三次Bezier曲面片制作Utah 茶壶的算法,并在课程设计部分给出完整的代码;第5 章介绍B 样条的de Boor-Cox递推定义算法、二次和三次均匀B样条算法、非均匀B样条曲线计算节点矢量的Hartley-Judd算法;第6章在曲线部分介绍NURBS精确表示圆弧的方法,在曲面部分重点讲解NURBS构建三维曲面如球、圆环、酒杯的原理和算法。为了改变计算几何以数学公式推导为主的单调学习方法,增强曲线曲面的可视化效果。本书提供所有与原理配套的Visual C++源程序。这些源程序用模块化方法编写,注释简单易懂。为了降低程序的理解难度,旋转曲面投影以*简单的正交投影为主。对于计算机专业教师,可以深入理解原理与代码的对应关系;对于非计算机专业教师,可以直接运行程序,本书不追求数学上的严密性与完整性,而注重于根据曲线曲面的数学公式的编程实现。本书的所有插图全部使用程序绘制。从数学角度的理解转换为图形方面的观察,可有效提高读者的学习兴趣,实现将数学公式借助于编程技术表示为图形效果的设计初衷。本书附录部分给出了6个实验项目及2个课程设计项目,并给出了犹他茶壶和花瓶的Visual C++源代码。本书可作为高等院校计算机科学与技术、数字媒体技术、信息与计算科学、机械设计等专业本科生、硕士生、博士生的教材与参考书,也可供从事游戏开发、计算机建模、计算机图形学等领域的科学工作者参考使用。