计算机图形学实践教程
2013-3
孔令德 清华大学出版社 (2013-03出版)
孔令德
《图形图像与多媒体技术高等学校计算机专业教材精选:计算机图形学实践教程(Visual C++版)(第2版)》共给出60个案例,内容包括直线中点Bresenham算法、多边形有效边表填充算法、三维图形几何变换算法、透视投影算法、地理划分球面动态隐线算法、Z—Buffer算法、球面光源和材质交互算法、球面Phong明暗处理算法、简单透明模型算法、简单阴影算法、立方体图像纹理映射算法、圆环面图像纹理映射算法、三维纹理映射算法、球面几何纹理映射反走样算法等。《图形图像与多媒体技术高等学校计算机专业教材精选:计算机图形学实践教程(Visual C++版)(第2版)》的所有案例全部由笔者独立开发,具有自主知识产权。在第1版的基础上新增了Sutherland—Hodgman多边形裁剪算法、球面光源与材质交互算法、简单透明模型算法、简单阴影算法、三维纹理映射算法、球面几何纹理映射反走样算法等案例,丰富了计算机图形学精品课程的建设内容。
案例1金刚石图案算法 案例2直线中点Bresenham算法 案例3圆中点Bresenham算法 案例4椭圆中点Bresenham算法 案例5Wu反走样直线算法 案例6多边形有效边表填充算法 案例7多边形边缘填充算法 案例8四邻接点种子填充算法 案例9区域八邻接点种子填充算法 案例10扫描线种子填充算法 案例11二维图形几何变换算法 案例12Cohen—Sutherland直线段裁剪算法 案例13中点分割直线段裁剪算法 案例14Liang—Barsky直线段裁剪算法 案例15Sutherland—Hodgman多边形裁剪算法 案例16三维图形几何变换算法 案例17正交投影算法 案例18三视图算法 案例19透视投影算法 案例20n次Bezier曲线方程算法 案例21n次Bezier曲线deCasteljau算法 案例22双三次Bezier曲面算法 案例23三次B样条曲线算法 案例24双三次B样条曲面算法 案例25Cantor集算法 案例26Koch曲线算法 案例27Peano—Hilbert曲线算法 案例28Sierpinski垫片算法 案例29Sierpinski地毯算法 案例30Menger海绵算法 案例31C字曲线算法 案例32Cayley树算法 案例33Koch曲线L系统模型算法 案例34分形草L系统模型算法 案例35Peano—Hilbert曲线L系统模型算法 案例36灌木丛L系统模型算法 案例37Koch曲线IFS算法 案例38正二十面体动态隐线算法 案例39地理划分球面动态隐线算法 案例40递归划分球面动态隐线算法 案例41圆柱面动态隐线算法 案例42圆锥面动态隐线算法 案例43圆环面动态隐线算法 案例44Z—Buffer算法 案例45画家算法 案例46原色系统算法 案例47颜色渐变立方体线框模型算法 案例48RGB颜色模型算法 案例49HSV颜色模型算法 案例50球面光源与材质交互算法 案例51球面Phong明暗处理算法 案例52简单透明模型算法 案例53简单阴影算法 案例54立方体函数纹理映射算法 案例55长方体图像纹理映射算法 案例56圆柱面图像纹理映射算法 案例57圆环面图像纹理映射算法 案例58三维纹理映射算法 案例59球面几何纹理映射算法 案例60球面几何纹理反走样算法 参考文献
版权页: 插图: 知识要点 八分法画圆算法。 中点Bresenham画圆算法。 以直线段为圆的直径绘制圆。 鼠标按键消息映射方法。 一、案例需求 1.案例描述 在屏幕客户区内按下鼠标左键选择直线的起点,同时移动鼠标指针到直线终点,弹起鼠标左键以直线段为直径绘制圆。 2.功能说明 (1)自定义屏幕二维坐标系,原点位于客户区中心,x轴水平向右为正,y轴垂直向上为正。 (2)按下鼠标左键确定直线的起点,移动鼠标并释放鼠标左键确定直线的终点。以直线段为圆的直径绘制圆。圆的边界线为蓝色,不填充圆的内部。 3.案例效果图 圆中点Bresenham算法绘制效果如图3—1所示。 二、案例分析 使用鼠标指定直线的两个端点,以直线段为圆的直径使用中点Bresenham算法绘制圆。主教材讲解的圆中点Bresenham算法,只能绘制圆心位于二维坐标系原点的圆。本案例中,由于圆心的位置是直线段的中点,而直线段位置是动态变化的,所以需要将圆中点Bresenham算法绘制的图形进行整体平移。
《图形图像与多媒体技术高等学校计算机专业教材精选:计算机图形学实践教程(Visual C++版)(第2版)》不仅可以作为学习《计算机图形学基础教程(VisualC++版)(第2版)》(ISBN978—7—302—29752—9)的辅助教材,也可作为上机实践教材,还可供从事游戏开发的程序员自学使用。