计算机图形学怎么学?

转载 2012年03月31日 11:01:43

以下内容为摘抄:     

  读 魏海涛《 计算机图形学》有感!

1、关于计算机图形学的基本概念
   a、魏海涛的计算机图形学教材中是这样定义的:
      图像是平面指定范围内可见点阵的集合;而图形是图像的一种特例,它是一种能用几何参数与属性参数(又称数据模型)进行有效描述的图像。
      图形与图像的关系是:图像是图形的表现形式,图形是图像的一种数学抽象与记录方法。
      若图形的数据模型是二维的,则该图形为二维图形;若其数据模型是三维的,则为三维图形。
      计算机图形学是研究在计算机中如何构造图形的数据模型,并把图形的描述参数通过指定算法转换成图形显示的一门学科。
   b、陈传波的教材(全国计算机教育研究会课程与教材委员会推荐)中是这样定义的:

      计算机图形学是研究利用计算机来显示、生成和处理图形的原理、方法和技术的一门学科(这是所谓国际化标准组织给的定义;潘云鹤的教育部21世纪课程计算机图形学教材也是基本取的该定义,可见这一定义具有一定的权威性,但这让人们如何区分它的内涵与外延不清楚)。世界各国的专家学者对图形学有着各自的定义,德国的Wolfgang K Giloi 把它定义为:图形学由数据结构、图形算法和语言构成。美国的James Foley(网上有此人的教材)则把它定义为:计算机图形学是运用计算机产生、储存、处理物体模型和它们的画面。IEEE的定义为:Computer graphics is the art or science of producing graphical images with the aid of computer.

   c、enix对计算机图形学的理解是
      计算机图形学=图形算法+数据结构, 这是enix学习孙家广、Donald Hearn 与 David Rogers的计算机图形学教材后自己总结的结论。
   d、需要说明:

      计算机图形学在计算机科学中属于应用学科,它当然遵循计算机应用科学的一般规律。能看此贴的人都应是学习计算机的人员,也基本懂得计算机编程的原理,相信大家心中都有一杆称,究竟应如何定义计算机图形学,才更加合理!也就是说,如果象计算机图形学这种最根本的问题没有弄明白,你如何围绕这一基本思想写好计算机图形学教材,它即使不是误人子弟、也会把你弄得不知说云,还非逼得你自己去作总结,却不知能否得到同仁的认可,这就象enix的学习与结论一样!

2、关于直线算法问题:
     bresenham直线算法当然是主要的算法,显卡中都用它显示整数直线。但bresenham直线算法显示实数直线就力不从心,特别是它在显示反走样直线时尤其如此!而魏海涛的教材把直线算法推广到实数直线,目前国内外教材中都没有实数直线算法,这不知能否算一个创新并得到enix的认可!enix非要到图书馆去查最好的直线算法,请问如果一个最好的直线算法都不能在你所崇拜的教材中得到体现,你所崇拜的教材它还是好书吗!你是一个研究生有时间去图书馆查资料,这是研究生的基本功。而本科生有多少时间去查资料?对他们目前没有这种教学要求。
3、关于2D/3D图形
      很多人是通过学习孙家广、Donald Hearn 与 David Rogers的计算机图形学教材入了门,也就是说,讲解2D图形马上把它推广到3D图形也是一种学习的有效方法之一。但这一方法的不便之处在于,上述三本教材都非常厚(500~600页),而一般图形学课程的学时只有40~50学时,讲不完会给学生留下遗憾——学生则更难把握计算机图形学是一门什么学科,学这门课究竟干什么等诸多疑问?而把2D图形与3D图形分解成两大独立体系可以较好的解决这些问题!

4、孙家广、Donald Hearn 与 David Rogers的教材

   a、学习计算机的人都清楚,计算机编程的5大步骤分别是:建模、输入、存储、运算处理、输出等。数据结构是保存模型数据的基本方法,数据结构与数据处理流程是编程的基本指南,没有这两点,编程就困难了。但孙家广、Donald Hearn 与 David Rogers的教材在这个问题的论述上是有欠缺的。

   b、David Rogers的教材主要放在图形的显示上,没有计算机建模的思想,其优点在光线跟踪与辐射度算法上,但它的光线跟踪与辐射度算法比彭群生的教材还有一定差距。它的裁剪算法、可见面的测试、平面绘制等论述略显臃肿,会造成学习的成本过大,用它作为自己实习编程的方法,只能达到了解计算机绘图的目的,且它连几何变换与与所谓投影的概念也没有(光线跟踪与辐射度算法可以不需这些),故用此书不能达到全面了解计算机图形学是一个什么学科的教学目的!更别说用它了解OpenGL原理这个最小的要求也不能满足。

   c、Donald Hearn(第二版) 的教材则完全围绕PHIGS这个过时的图形标准(谁用过这个图形标准?)讲解什么是计算机图形学,它体现的是国外80年代计算机图形学的教学思想,它的缺点enix已有论述,该书第三版已经改为围绕OpenGL讲解计算机图形学,但它仍欠缺计算机图形学建模的主体思想,这是其遗憾所在!请注意,所谓OpenGL等图形标准等,它们仅仅是实现了计算机编程的最后一步——图形的输出显示而已!

 d、孙家广是国内计算机图形学的前辈,其对国内计算机图形学的贡献是有目共睹,但并非其教材没有改进的余地。孙家广在国内写过4本有关计算机图形学方面的教材,但它在论述所谓平面物体的几何建模问题上给人们留下了太多的遗憾。


内容来自 名为zxcvbnm 的会员在http://www.langlang.cc/pinglun/1012977.aspx 发表的评论,觉得很有见解,转发过来。他认为魏海涛的这本计算机图形学才是本好的教材。

另外,今天我也很郁闷,看了篇博士写论文,其引用正是魏海涛的这本《计算机图形学》-电子工业出版社,2001.但是,硬是被写成魏明涛,害得我半天找不到,写参考文献也得认真,OK!




相关文章推荐

[OpenGL]计算机图形学:直线裁剪算法中Cohen-Sutherland算法和Liang-Barsky算法

今天来系统的学习一下两种直线裁剪的算法。 首先先来介绍一下直线裁剪的基本原理: 下图所示的为直线与窗口边界之间可能出现的几种关系。 可以通过检查直线的两个端点是否在窗口之内确定如何对此直线裁剪。...

计算机图形学(四)几何变换_4_二维复合变换_2_矩阵合并特性

因此,依靠变换的描述次序,既可以使用从左到右(前乘),也可以使用从右到左(后乘)的结合分组来求矩阵乘积。有些图形软件包要求变换按应用的次序描述。 在这种情况下,先引入变换M1,然后M2...

计算机图形学基础(五) 光照1

基础就不记录了,只记录有关数学的东西彩色光源 红绿蓝分量环境光ambient 漫反射diffuse 镜面反射specular环境光 表征场景中每一处的Ia都是相同的点光源理想的电光源向所有方面...

计算机图形学(三)扫描线多边形填充算法讲解与源代码

如果喜欢转载请标明出处: 并非菜鸟菜鸟的博客 源代码下载:点击打开链接 在这里先说下算法的实现过程 本人觉得这个算法实现起来还是有点难度的!很多人都不愿意去看太多描述性的文字,所以对这个算法的过程是...

计算机图形学之DDA画线算法Bresenham算法程序

程序需要导入glut和glew库

计算机图形学(二)输出图元_20_章节总结_程序展示_饼图

饼图用来给出整体中各部分的分布比例。使用中点圆算法子程序来构造一个饼图。例子中的值用于确定扇形的数量和大小,该程序的输出请参见图3.69。...

计算机图形学 学习笔记(一):概述,直线扫描转换算法:DDA,中点画线算法,Bresenham算法

前言本笔记基于 http://www.icourse163.org/learn/CAU-45006?tid=1001746004#/learn/announce感谢中国农大 赵明老师的分享~现在我要...
  • Jurbo
  • Jurbo
  • 2016年09月24日 21:33
  • 2454

计算机图形学 - 线段裁剪 - Liang Barsky算法(梁友栋算法)

算法描述:   Liang_Barsky算法的基本出发点是直线的参数方程。给出任意一条直线段,两端点分别为和,令, 则直线的参数方程为:     如果直线上任意一点位于窗口内,则必须满足下列关系式: ...

计算机图形学(三)_图元的属性_3_OpenGL颜色函数(下)

该数组的前三个元素指定一个RGB颜色值,接下来的三个元素指定一个顶点坐标(x, y, z),这样交错下去直到最后。将offset设定为相邻颜色或顶点值之间的字节数,即两者均为6 * sizeof(GL...

【算法】计算机图形学的一些经典小题:判断点在多边形内,随机生成三角形内的点,判断两个矩形是否相交等

前几天面试的时候被问到了,如何随机在三角形内生成点,我按照我的想法回答了一遍,但觉得回答的不够好。最后面试官说了一个最优的方法。觉得不错,顺带总结一下最近看到的一些关于计算机图形学方面的经典小题,知乎...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:计算机图形学怎么学?
举报原因:
原因补充:

(最多只允许输入30个字)