在计算机图形学和Shader编程中,矢量(Vector)运算是非常基础的数学知识。其中,矢量与标量(Scalar)的乘法与除法是常见的操作。本篇文章将通过详细分析,以及实例讲解矢量和标量的乘除法运算,帮助大家更好地理解并应用到实际开发中。
什么是矢量与标量?
在开始具体运算之前,先了解矢量与标量的定义:
- 矢量(Vector) 是一个具有方向和大小的量,通常表示为 v=(x,y,z)\mathbf{v} = (x, y, z)。
- 标量(Scalar) 是一个仅有大小而无方向的量,例如一个普通的数值 kk。
矢量和标量的乘法
矢量与标量的乘法定义为将矢量的每个分量与标量相乘。其数学公式如下:
v⋅k=(x⋅k,y⋅k,z⋅k)\mathbf{v} \cdot k = (x \cdot k, y \cdot k, z \cdot k)
性质
- 方向不变:矢量的方向与原方向一致,除非标量为负数,此时矢量反向。
- 大小变化:矢量的长度按标量 kk 的