矢量图形:修订间差异

求闻百科,共笔求闻
添加的内容 删除的内容
(修改自此处;原许可:CC BY-SA 3.0[网站升级迁移])
 
(机器人:清理不当的来源、移除无用的模板参数;整理源码)
 

(未显示2个用户的2个中间版本)

第2行: 第2行:
|G1=IT
|G1=IT
}}
}}
[[File:VectorGraphicsExample.jpg|缩略图|200px|矢量图形的显示效果示例:(a)原始矢量图;(b)矢量图放大8倍;(c)位图放大8倍。位图的放大[[品]]较差,但是矢量图可以不降低[[品]]地无限放大。]]
[[File:VectorGraphicsExample.jpg|thumb|200px|矢量图形的显示效果示例:(a)原始矢量图;(b)矢量图放大8倍;(c)位图放大8倍。位图的放大[[品]]较差,但是矢量图可以不降低[[品]]地无限放大。]]
'''矢量图形'''是[[计算机图形学]]中用[[点]]、[[直线]]或者[[多边形]]等基于数学方程的几何图元表示的[[图像]]。矢量图形与使用[[像素]]表示图像的[[位图]]不同。
'''矢量图形'''是[[计算机图形学]]中用[[点]]、[[直线]]或者[[多边形]]等基于数学方程的几何图元表示的[[图像]]。矢量图形与使用[[像素]]表示图像的[[位图]]不同。


第10行: 第10行:
从计算机发展的最初1950年代一直到1980年代,曾经使用过一种不同类型的矢量图形系统显示器。在这些系统中CRT显示器的电子束直接逐段生成所需图形,屏幕其它部分保持为黑的状态。为了达到没有闪烁或者接近没有闪烁的效果,这个过程每秒要重复很多次。这种显示系统可以生成分辨率非常高的艺术线条,并且不需要栅格系统生成同样分辨率所需要的对于当时来说非常巨大的内存空间。这种基于矢量的显示器称为'''X-Y显示器'''。
从计算机发展的最初1950年代一直到1980年代,曾经使用过一种不同类型的矢量图形系统显示器。在这些系统中CRT显示器的电子束直接逐段生成所需图形,屏幕其它部分保持为黑的状态。为了达到没有闪烁或者接近没有闪烁的效果,这个过程每秒要重复很多次。这种显示系统可以生成分辨率非常高的艺术线条,并且不需要栅格系统生成同样分辨率所需要的对于当时来说非常巨大的内存空间。这种基于矢量的显示器称为'''X-Y显示器'''。


[[File:Raster_to_Vector_Mechanical_Example.jpg|缩略图|200px|矢量化是去除照片中多余信息的好方法。(为了在本页显示,图像转成了JPEG格式。)]]
[[File:Raster_to_Vector_Mechanical_Example.jpg|thumb|200px|矢量化是去除照片中多余信息的好方法。(为了在本页显示,图像转成了JPEG格式。)]]
[[File:Tj-loco.jpg|缩略图|200px|原始照片,JPEG栅格图像]]
[[File:Tj-loco.jpg|thumb|200px|原始照片,JPEG栅格图像]]
[[File:Tj-loco-vec.gif|缩略图|200px|矢量化的Steam Locomotive 7646,最初是Windows Metafile格式。]]
[[File:Tj-loco-vec.gif|thumb|200px|矢量化的Steam Locomotive 7646,最初是Windows Metafile格式。]]


矢量图形显示器的最初应用之一是[[贤者系统|US SAGE防空系统]]。矢量图形系统只有在1999年美国的空管中出现过故障,现在依然在军队以及一些特殊系统中使用。另外,1963年,计算机图形学先驱Ivan Sutherland在MIT Lincoln Laboratory的TX-2上使用矢量系统运行他的Sketchpad程序。
矢量图形显示器的最初应用之一是[[贤者系统|US SAGE防空系统]]。矢量图形系统只有在1999年美国的空管中出现过故障,现在依然在军队以及一些特殊系统中使用。另外,1963年,计算机图形学先驱Ivan Sutherland在MIT Lincoln Laboratory的TX-2上使用矢量系统运行他的Sketchpad程序。


后来的矢量图形系统包括Digital的GT40 [1]。有一个名为Vectrex的家庭游戏系统使用了矢量图形,另外还有[[w:en:Asteroids|「Asteroids」]]以及[[星球大|「Space wars」]]这样的游乐中心游戏也使用了矢量图形。另外值得一提的是Tektronix 4014,尽管它的显示是静态的。
后来的矢量图形系统包括Digital的GT40 [1]。有一个名为Vectrex的家庭游戏系统使用了矢量图形,另外还有[[w:en:Asteroids|“Asteroids”]]以及[[星球大|“Space wars”]]这样的游乐中心游戏也使用了矢量图形。另外值得一提的是Tektronix 4014,尽管它的显示是静态的。


如今矢量图形这个术语主要用于二维计算机图形学领域。它是艺术家能够在栅格显示器上生成图像的几种方式之一。另外几种方式包括文本、多媒体以及三维渲染。實質上而言,所有当今的三维渲染都是二维矢量图形技术的扩展。工程制图领域的绘图仪仍然直接在图纸上绘制矢量图形。
如今矢量图形这个术语主要用于二维计算机图形学领域。它是艺术家能够在栅格显示器上生成图像的几种方式之一。另外几种方式包括文本、多媒体以及三维渲染。实质上而言,所有当今的三维渲染都是二维矢量图形技术的扩展。工程制图领域的绘图仪仍然直接在图纸上绘制矢量图形。


== 目的 ==
== 目的 ==
第35行: 第35行:
* 保存的物体参数可以在后面修改。这也就是说物体的[[运动]]、[[缩放]]、[[旋转]]、填充等都不会降低绘制的精度。另外,可以用与设备无关的单位表示,这样更好地栅格设备上进行[[栅格化]]。
* 保存的物体参数可以在后面修改。这也就是说物体的[[运动]]、[[缩放]]、[[旋转]]、填充等都不会降低绘制的精度。另外,可以用与设备无关的单位表示,这样更好地栅格设备上进行[[栅格化]]。
* 从三维的视角来看,由于阴影可以抽象为形成它们的光线,所以矢量图形的阴影渲染更加真实。这样就可以得到真实感的图像及渲染效果。
* 从三维的视角来看,由于阴影可以抽象为形成它们的光线,所以矢量图形的阴影渲染更加真实。这样就可以得到真实感的图像及渲染效果。
* 当调整矢量图形的大小、将矢量图形打印到 PostScript 打印机、在 PDF 文件中保存矢量图形或将矢量图形导入到基于矢量的图形应用程序中时,矢量图形都将保持清晰的边缘。因此,对于将在各种输出媒体中按照不同大小使用的图稿(如徽标),矢量图形是最佳选择<ref>{{Cite web |url=http://helpx.adobe.com/cn/photoshop/using/image-essentials.html#WSCFDA855F-B5B4-4316-AA0A-DFA4CC1DAC7D |title=存档副本 |accessdate=2014-07-17 |archive-date=2014-07-26 |archive-url=https://web.archive.org/web/20140726082518/http://helpx.adobe.com/cn/photoshop/using/image-essentials.html#WSCFDA855F-B5B4-4316-AA0A-DFA4CC1DAC7D |dead-url=no }}</ref>。
* 当调整矢量图形的大小、将矢量图形打印到 PostScript 打印机、在 PDF 文件中保存矢量图形或将矢量图形导入到基于矢量的图形应用程序中时,矢量图形都将保持清晰的边缘。因此,对于将在各种输出媒体中按照不同大小使用的图稿(如徽标),矢量图形是最佳选择<ref>{{Cite web |url=http://helpx.adobe.com/cn/photoshop/using/image-essentials.html#WSCFDA855F-B5B4-4316-AA0A-DFA4CC1DAC7D |title=存档副本 |accessdate=2014-07-17 }}</ref>。


== 典型的图元对象 ==
== 典型的图元对象 ==
第43行: 第43行:
* [[贝塞尔曲线]]
* [[贝塞尔曲线]]
* [[贝塞尔样条]]
* [[贝塞尔样条]]
* [[文字]](如[[TrueType]]这样的電腦字体,每个字符都是[[贝塞尔曲线]]绘制的)
* [[文字]](如[[TrueType]]这样的电脑字体,每个字符都是[[贝塞尔曲线]]绘制的)


这只是其中的一部分,另外还有各种各样用于不同应用程序的曲线,如[[w:Catmull-Rom|「Catmull-Rom样条]]、[[非均匀有理B样条]]等。
这只是其中的一部分,另外还有各种各样用于不同应用程序的曲线,如[[w:Catmull-Rom|“Catmull-Rom样条]]、[[非均匀有理B样条]]等。


通常[[位图]]图像也是一个元对象,从概念上来看它同[[矩形]]的表现类似。
通常[[位图]]图像也是一个元对象,从概念上来看它同[[矩形]]的表现类似。
第53行: 第53行:
更加复杂的变换包括封闭[[形状]]的[[w:en:Set (mathematics)|集合]][[运算]]([[并集]]、[[补集]]、[[交集]]等)。
更加复杂的变换包括封闭[[形状]]的[[w:en:Set (mathematics)|集合]][[运算]]([[并集]]、[[补集]]、[[交集]]等)。


矢量图形非常适合于与设备无关的简单或者合成的制图或者不需要实现真实感的场合。例如,「[[PostScript]]以及[[PDF]]的[[页面描述语言]]就使用了矢量图形模型。
矢量图形非常适合于与设备无关的简单或者合成的制图或者不需要实现真实感的场合。例如,“[[PostScript]]以及[[PDF]]的[[页面描述语言]]就使用了矢量图形模型。


== 打印 ==
== 打印 ==
矢量艺术线条是[[打印]]领域中的一项关键技术。因为艺术线条是从一系列数学点得到的,所以无论如何缩放艺术线条打印结果[[品|素]]都非常高。例如,将同一个矢量标识图打印到名片上或者放大到广告牌上,都可以得到同样的图像[[品|素]]。与此不同的是,如果[[位图]]从名片大小放大到广告版的尺寸,那么图像细节将会变得非常模糊。
矢量艺术线条是[[打印]]领域中的一项关键技术。因为艺术线条是从一系列数学点得到的,所以无论如何缩放艺术线条打印结果[[品|素]]都非常高。例如,将同一个矢量标识图打印到名片上或者放大到广告牌上,都可以得到同样的图像[[品|素]]。与此不同的是,如果[[位图]]从名片大小放大到广告版的尺寸,那么图像细节将会变得非常模糊。


== 三维造型 ==
== 三维造型 ==
在[[三维计算机图形学]]中,矢量表面表示非常常见,而位图可以用作表面纹理、高度场数据以及[[凸凹纹理映射]]等特殊目的。在低端系统中,在应用程序中用简单的[[多边形网格]]表示几何细节,在这些场合交互[[帧率]]或者简单性都是非常重要的。在高端系统中,如果希望通过牺牲渲染时间的方法换取更好的图像[[品|素]]及精度,那么就可以使用[[贝塞尔曲面]]、[[NURBS]]或者[[细分曲面]]等平滑表示方法。但是,我们也可以用[[w:en:Phong shading|「Phong shading」]]这样的算法从多边形网格实现一个平滑曲面。
在[[三维计算机图形学]]中,矢量表面表示非常常见,而位图可以用作表面纹理、高度场数据以及[[凸凹纹理映射]]等特殊目的。在低端系统中,在应用程序中用简单的[[多边形网格]]表示几何细节,在这些场合交互[[帧率]]或者简单性都是非常重要的。在高端系统中,如果希望通过牺牲渲染时间的方法换取更好的图像[[品|素]]及精度,那么就可以使用[[贝塞尔曲面]]、[[NURBS]]或者[[细分曲面]]等平滑表示方法。但是,我们也可以用[[w:en:Phong shading|“Phong shading”]]这样的算法从多边形网格实现一个平滑曲面。


== 参考文献 ==
== 参考文献 ==