您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页计算机图形学论文

计算机图形学论文

来源:意榕旅游网
计算机图形学论文

20110711 吴宇

自从20世纪50年代以来,随着计算机图形显示器出现以来,计算机图形学这门学科就慢慢的开始随着历史发展的需要构建并健全成一个完整的体系。对于它的定义,不同的领域的应用面不同,定义也就变得不一样。就拿我们第一次作业来说,我们就找出了至少有5个定义,出自不同的权威书籍,然而就我们目前所学到的我只能对计算机图形学这样定义,并将此定义作为本文的主旨。我给的定义就是:计算机图形学就是一门研究在栅格形式下生成,转化,处理图形或图像的学问。

也许你会说为什么是栅格,正如大家所知,我们目前的显示器目前几乎都是栅格显示器,即点固定进行发光,这种技术的好处在于可以转化为由一个文件映射着屏幕上的每个点,对颜色,色度进行控制,以点动成线,线动成线的理念进行图像的显现,当然最大的缺点就是很容易失真,放大到一定倍数时就容易出现锯齿,让人看了很难受,因此就不得不提高单位区域所包含的点的数目,因此,我们可以看到以后的发展趋势就是显示屏越来越精细,而伴随着,电脑的图像处理能力需求也越来越高,与之相关的显存也越来越大。然而提到这点,我们不得不提起第一代显示器,也就是阴极射线显示器(CRT),第一代显示器是由电子枪发射出的电子击打屏幕上的三色像素点,从而达到 Y 目的。我们可以在数学上可以定义目前市面上的所l 有的显示器都是不连续的,而所谓的完美的显示器,S 即达到连续的显示器,当然,不是没有,就如同我+ + + + + + 们高中所研究的电子偏转问题来看(图1)

只要改变电场与磁场的大小,就可以完Z d 0 e 全的做到连续的显示。然而这只是我的一厢

情愿,因为当我兴致勃勃的去百度这个问题的时- - - - - - 候,发现一个至关重要的问。那就是屏幕的问题,因为无论如何我们如何小心的控制着电场与磁场,电子L 打过去,都会在屏幕上呈现一小片区域,容易产生重显像,因此对所用的屏幕也有要求,即如何保证只有一点发光,图 1 如何刚好用掉一个电子的量使足够小的地方发光。

当然,并不是说栅格显示器就不能完美显示了。因为由量子力学解释,我们世界其实是不连续的它总有一个最小的块,我们称之为普朗克量,所以如果能找到这种方法,就能说我们找到了创世的方法。然而虽然我们没有办法搞那么小的数量级,但是就我们目前的技术,将其搞到人眼不能识别的地步还是可以做到的。此外像素点的排布等也影响显示效果。更大更快更精细将是未来的显示器硬件上的发展趋势。

下面就来谈一下算法,计算机图形学就目前我学到的大部分就是如何利用算法在光栅上表示各种形式的图形与图像,区别在于合理的处理好点阵与矢量图。首先是生成。点阵图就我的理解,比较简单,因为只要让计算机合理的做到点与点之间的对应就好了(当然,如果点阵的排布改变的话,必须有新的算法)。而矢量图就是目前我们所研究的重点。

首先说到最根本的理念,点动成线。略过前面的所有的几何学基本知识,我们直接来到直线的生成。按照我们惯常的思路,如何将一个直线用点的形式的表示,首先将直线画好,然后依次将距离直线最近的点沿着x(或y轴)依次显示,于是一条DDA算法生成的直线就这样产生了。然后我们发现有一个值重复的计算,于是我们定义了这个重复的值(斜率的倒数),正如老师说的站在巨人的肩膀上,我们利用这个值简化了算法,这就是Bresenham算

法,巧妙的利用了误差e来进行累计。不得不说这种算法非常的符合我们的设计需求,可以很好的满足k=0与1时的极端情况。因此我们可以很好的建立起直线系模型,只要足够精细,我们可以生成任意多边形无论内凹还是外凸。这里就出现了一个问题,就是曲线怎么生成了,因为点阵本来就是按照平行垂直排列的,而曲线的生成将涉及2次甚至更高次的算法,又我们的生活中曲线的形式是如此之多,如此之复杂,我们不得不将曲线的表达形式放在重要的地步。

说到曲线,最规则的曲线莫过于圆了,并且圆还可以有两种表达形式,即直角坐标系与极坐标系,同理可以推得我们高中学过的圆锥曲线,因为他们都可以很好的映射到极坐标中去,对于一切的圆锥曲线我们都可以以两个参数表示,于是在平面内就好表示了。而且此类曲线我们可以发现一个优良的特性,也就是其良好的对称性,所以我们为了实现k在(0,1)时的典型性,取区间(π/4,π/2)。从而达到点与点之间不会发生间断的现象。然后进行对称的翻转。也就是8等分。

然而生活中不只圆这类简单曲线那样有规律可循。所以对于平面内的任意的光滑曲线我们必须找到简单的表达形式,根据我们平常使用的cad软件,我们可以知道只需要几点,我们就可以画出我们所需要的任意曲线,所以我们必须要找到这种对应形式。曲线的复杂度与生成这个曲线的函数的次数有很大的关系。根据牛顿的积分的原则:以直代曲。我们可以使用直线轮廓来代替曲线的原有形态。事实上按照我原来的想法,所有的曲线都可以用直线段与圆弧拼接得到,那么我们就可以得到一组直线(起点,终点,指针)与圆弧(起点,圆心,角度,指针)的文件,然而用他们来描述一个已知为高阶连续可导函数来说,太复杂了,几乎比的上点阵了,无代表性,所以我们学习到了bezier曲线,这个曲线生成形式的原理是多次递归法。给定的控制点越多,次数越高,曲线越“光滑”。flash制作中我们称之为钢笔的工具就是使用的是这个算法,锚点就是控制点。因为有了这个算法,我们可以随意的画出我们需要的曲线。

然而我们会发现bezier算法的一个很大的缺点,那就是其整体性太强了,导致其如果一个点取的不合理,整个曲线都要发生影响,也就是说,我们很难进行微调。而且根据方程所给的形式,控制点越多,计算量越大(详见数值计算)。所以因此有了B样条曲线的产生,B样条曲线是在保持了bezier曲线优势的情况下,进行的优化,具体表现在B样条曲线最高涉及到3次方程,其次他对于始末点没有要求,也可以说是分段的bezier曲线。

讲完线的形成,我们必须讲下图形的形成,图形是由线的配合,所以我们就又得面对另一个问题,那就是图形的填充的问题,我们不可能一直用线来表示,而不去考率图形是圆形还是一个纸板上挖出的圆形孔。这里采用的是扫描线填充法,对于一条直线来说我们是按照单一的坐标进行依次填充,但现在到了图形,因为有多条直线,所以我们必须按扫描线填充法,也就是一次填充多点。当然与此相应的还有边填充与种子填充法,由于没有细看,略。

以上,我们就将计算机图形学中关于图形的生成大致的讲了一遍,我们可以发现都是关于光栅化的应用,只要我们的计算机的像素点做到足够多我们就可以完美的将图形的呈现出来。但是计算机图形学并不只有这么些内容,它还有更多的关于的图形变换,或者3D技术的实现吗,很多分支衍生。这里不做讨论。

对于以上我所叙述的内容,很容易发现其实算法发展至今,我们发现一个更好的算法比较困难,然而寻找一个新的平台却是另一种改变,不仅意味着新的算法,也意味着新的感受,可以发现从CRT到如今的液晶,这个显示屏的发展有多大,虽然还是以点阵的形式存在着,但是原来的只是电子的轰击,到现在我们可以控制液晶的偏转从而达到丰富的色彩。所以我一直以来就想能不能有一种新的显示方法,于是我试了一下关于直线的生成:(关于蜂巢式栅格的直线设计)

首先是确定直线倾角的取值范围a(0,π/3)

可以以与之接触的三角形上相同的对于同边长的正方形如下

发现普通的使用了更多点来描述,更加的精确,而且对于连续性上来讲不如普通的算法因此,如果对于点数相同的点阵来说,普通的比蜂巢的更加好,因为边数较少所以较为复杂,因此反推一个结果:如果能找到更多边来近似,越加精确。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务