矢量和顶点之间有什么区别?

les*_*rid 9 3d xna vector-graphics vertex

我经常在3D编程环境中看到"矢量"和"顶点"(复数"顶点")这两个词.

据我所知,他们都描述了n维空间中的一个点.例如,XNA框架具有Vector2,Vector3和Vector4类,但似乎没有Vertex类.

矢量和顶点之间的确切差异是什么?

Jos*_*osh 17

" 向量 "是一个数学概念; 粗略地说,它代表了某些坐标空间的位移.顶点是一些3D(或2D,真正)几何体的元素,其通常具有位置和一些其他属性(颜色,纹理坐标等).

如果假设向量是从坐标系原点的位移,则顶点的位置(因此有时顶点本身)可以由向量表示.有时人们将这种向量的表示称为"位置向量".

因此,粗略地说,不同之处在于矢量可用于描述(全部或部分)顶点.

  • 这里要注意的重要部分是矢量只包含位置数据,而顶点可以(通常)包含的信息多于其位置. (5认同)
  • @lesderid更正式地说,向量是向量空间的一个元素,可以有n个坐标.虽然1,2和3维向量恰好与人类可以想象的3D空间具有方便的几何关系,但这本身并不是向量的固有属性.也就是说,4分量矢量通常用作顶点属性(通常用于位置或颜色属性).它们对位置很有用,因为它们允许4x4矩阵变换,它们对颜色非常有用,因为它们碰巧能够存储四个分量(RGBA). (3认同)
  • 例如,顶点也可能意味着更通用的东西,如图的顶点. (2认同)
  • @Josh你也可以证明Vector用于存储颜色信息,就像在颜色空间中表示位移一样. (2认同)