新書推薦:

《
《长河落日耀金戈——中国古代北方少数民族征战史例 》(以十场战争解读千年边塞历史,再现“铁马冰河入梦来”的热血豪迈)
》
售價:HK$
41.8

《
瀛波志(大都会南部边缘的乌夜与拂晓,社幻小说家的机械奇趣宇宙志。一部百科全书式小说,陆源将中文重新淬炼了一遍)
》
售價:HK$
107.8

《
黑暗时代的哲学家(哲学版的《人类群星闪耀时》,面对历史的洪流,哲学何为?)
》
售價:HK$
85.8

《
国魂 : 甲午( 全三册)
》
售價:HK$
178.2

《
我想当数学家
》
售價:HK$
153.8

《
产业变局与四个“铁三角”(精准锚定产业演进方向,高效挖掘变局创新机遇)
》
售價:HK$
63.8

《
游戏直播简史:重塑游戏、电竞与情感经济(薄荷实验)
》
售價:HK$
101.2

《
引凤归(全2册)
》
售價:HK$
76.8
|
編輯推薦: |
本书每个案例均经过严格测试,编写规范,具有现代编码风格。每个算法都以类的方式进行模块化,采用“搭积木”的方式构造三维光照场景。书中以茶壶为复杂模型,辅以立方体、球体等简单模型,讲解真实感图形的生成算法,实现“一把茶壶讲解计算机图形学算法”的目的。
|
內容簡介: |
本书是《计算机图形学基础教程(Visual C 版)》(第3版)(ISBN 978-7-302-66306-5)的姊妹篇。编写原则是将计算机图形学的原理与具体实践相结合,培养“懂算法、会编程”的应用型人才。本书选用面向对象程序设计语言C 编写计算机图形学算法,开发平台是Visual Studio 2022的MFC。MFC仅用于制作一张画布,用绘制像素点函数展示计算机图形学的算法实现效果。
來源:香港大書城megBookStore,http://www.megbook.com.hk 作为首批国家级一流本科课程“计算机图形学”的负责人,笔者历时十多年,用C 语言编写了计算机图形学算法类,搭建了一个U3DS三维图形学系统。U3DS三维图形学系统用三维动画的方式展示绘制效果,共给出50个算法案例。
本书模块化强、代码统一、注释规范。读者通过观看各个案例的微课视频讲解,可以编程绘制彩图展示的效果图。
本书不仅可以作为本科生和研究生学习计算机图形学的案例化教材,也可以作为实验和课程设计教材,还可以供从事游戏开发和三维重建的程序员自学使用。
|
目錄:
|
案例1金刚石图案算法1
案例2双缓冲动画算法14
案例3DDA画线算法23
案例4Bresenham画线算法27
案例5中点画线算法34
案例6中点画圆算法43
案例7中点画椭圆算法48
案例8Wu反走样算法53
案例9标准填充算法59
案例10Bresenham填充算法67
案例11重心坐标填充算法73
案例12有效边表填充算法77
案例13边填充算法86
案例14边界表示的种子填充算法91
案例15内点表示的泛填充算法98
案例16扫描线种子填充算法102
案例17二维图形几何变换算法108
案例18CohenSutherland裁剪算法118
案例19中点分割裁剪算法124
案例20LiangBarsky裁剪算法128
案例21SutherlandHodgman多边形裁剪算法134
案例22三维图形几何变换算法140
案例23三视图算法152
案例24透视投影算法160
案例25三次Bezier曲线算法165
案例26双三次Bezier曲面算法170
案例27Bezier球体算法180
案例28Utah茶壶算法191
案例29三次B样条曲线算法204
案例30双三次B样条曲面算法211
案例31背面剔除算法218
案例32zBuffer算法227
案例33画家算法234
案例34BlinnPhong光照模型算法243
案例35Gouraud明暗处理算法250
案例36Phong明暗处理算法257
案例37CookTorrance光照模型算法263
案例38简单透明算法269
案例39投影阴影算法277
案例40阴影贴图算法283
案例41函数纹理算法291
案例42三维纹理算法296
案例43透视校正算法302
案例44漫反射贴图算法308
案例45凹凸贴图算法316
案例46法线贴图算法322
案例47视差贴图算法329
案例48环境贴图算法(球方法)337
案例49环境贴图算法(立方体方法)342
案例50读入外部模型算法348
参考文献356
|
內容試閱:
|
本书是与《计算机图形学基础教程(Visual C 版)》(第3版)(ISBN 9787302663065,简称主教材)配套的实践教程。对于主教材中讲解的每个原理,本书均给出配套的算法实现源代码,共计50个案例。本书案例没有采用任何第三方的图形库,纯粹使用C 语言从底层开发。所有的案例集合属于笔者的U3DS系统(山西省教学成果二等奖,2012年)。
本书的算法类模块包括直线类CLine、三角形填充类CTriangle、二维变换类CTransform2、三维变换类CTransform3、投影类CProjection、深度缓冲类CZBuffer、光源类CLightSource、材质类CMaterial、光照类CLighting、纹理类CTexture等。为了支持算法类的运行,定义的基础类模块包括二维点类CP2、三维点类CP3、表面类CFace、三维向量类CVector3、颜色类CRGB、纹理坐标类CT2等。三维物体是计算机图形学算法作用的对象,物体类模块主要包括立方体类CCube、球体类CSphere、圆环类CTorus、茶壶类CTeapot等。
每个案例按照“案例需求”“案例分析”“算法设计”“案例设计”“案例小结”“案例拓展”6部分编排。教师每讲完一个算法就定义一个类模块,该模块可以在后续案例中使用。举例说: 讲解法线贴图算法时,不需要讲解物体类模块、投影类模块CProjection、消隐类模块CZBuffer、光照类模块CLighting、纹理类模块CTexture,只须关注如何修改CZBuffer消隐类模块,从法线贴图中读出扰动后的法向量,进而产生凹凸光照效果。为了避免重复,前述案例已经阐述过的代码,后续案例中将不再提及。
本次改版的主要工作有以下5点。
① 规范了算法类模块,严格按照面向对象方法重新搭建了算法类模块,主要修改包括物体类、填充类、投影类、纹理类。
② 规范了代码的注释,使得编写风格统一、注释规范。
③ 以茶壶为主体展示算法效果,这是国际上计算机图形学教材常用的方法。
④ 重新改写了光照和纹理相关的算法,增加了法线贴图、透视校正、环境贴图等与市场前沿技术接轨的算法。
⑤ 为每个案例增加了“案例拓展”部分,方便学习案例后进行自主创新。
本书可作为主教材的配套教材使用,也可作为计算机图形学课程的实验教材单独使用。用C 编写案例不是唯一的途径,读者可以采用其他程序设计语言重写所有案例。期望读者开展这方面的工作,与笔者共同开发计算机图形学案例。
不管如何教学,建立案例资源是必需的。教改文章可以写,教学模式可以改革,但教学的核心内容是案例资源建设,用编码实现来理解原理算法。经年累月,积少成多,笔者一直致力于打造计算机图形学优质教学资源库。本书提供的教学案例集曾荣获山西省教学成果最高奖。
孔令德2025年3月
|
|