矢量与矢量图形

时间:2009-12-09 15:53:59

标签: vector terminology vector-graphics

编程语言中使用的向量(例如数组)与矢量图形之间的关系是什么(如果有的话)?

为什么他们分享 vector 一词?它是否代表了它们性质的某些类似方面,还是巧合?

在考虑它时,位图图像更适合术语矢量图形,因为它由像素数组表示。

5 个答案:

答案 0 :(得分:8)

向量是一组值,“通常”(数学家会杀了我)表示事物(函数或其他向量)的线性组合的系数。

例如,当你说

[4, 3, 7]

,你的基础是x的幂指数集(即1,x,x ^ 2,x ^ 3等......),这个向量表示多项式

4 + 3x + 7 x^2

如果使用不同的基础,例如3d空间中的任意方向,则相同的向量表示3d空间中的方向。

4i + 3j + 7k

(横向考虑:请注意,3d空间是尺寸3的有限矢量空间,而多项式空间是无限矢量空间,或者是更好定义的Hilbert空间)

这是一个向量(想象一个箭头)指向空间中的特定方向,从原点到结尾。惯例是i,j和k是3d矢量空间的所谓基组矢量,其中每个点的坐标表示为x,y和z。换句话说,空间中的每个点以及空间中的每个方向都可以用三个数字(向量)x, y, z表示,它代表空间向量x * i + y * j + z * k

在矢量图形中,您不是将图形实体表示为像素网格(光栅图形),而是表示数学公式。曲线被描述为参数化的数学表达式。这为显示开辟了许多不错的属性,因为数学描述基本上具有无限的分辨率。你也可以对这些实体进行数学变换,比如旋转,而不会破坏它的描述,这些变换深深植根于线性代数,管理矢量空间,矩阵等变换的学科......

答案 1 :(得分:3)

他们在数学中有着共同的含义。

图形含义(来自空间中任意位置的连续值偏移),源自您使用数学向量来表示它(例如,一个代表它)起点并代表偏移量。)

编程语言含义(一组有序的数字)是写下数学版本的一种方式。

答案 2 :(得分:2)

向量是一组有序的值,例如<1, 2, 3>。它与数组不同,因为它是固定大小并表示多个值,并且它们在向量中的位置很重要。数组只是有序的集合。要素的顺序很重要,但不是它们的立场。其中的东西通常都是相同的类型。

如果向量代表<# apples, # oranges, # pears>,则可以将其解释为<1 apple, 2 oranges, 3 pears>。如果它代表<X position, Y position, Z position>,则上述内容可能意味着<1 in the X axis, 2 in the Y axiz, 3 in the Z axis>(a Euclidean vector)。因此,向量可以表示任意维度的坐标,并用于在矢量图形中存储信息。

答案 3 :(得分:0)

我猜它来自数学术语'矢量',这是一个几何概念。当您对数学向量进行操作时(理论上)它们的值在连续域中,而不是在离散像素上,您可以使用任意精度进行计算。在图形应用程序中,这意味着无论显示图片的缩放系数如何,都可以保留精确的点位置。

答案 4 :(得分:-1)

矢量图形与“普通”图形不同,因为它可以在没有锯齿的情况下进行缩放。它被称为矢量图形,因为每个线或其他对象都由向量代替而不是“按像素”正常格式。