向量的运算

向量与标量的运算

  • 向量与标量只能做乘除,不能做加减。
  • 向量与标量相乘,就是把向量的每一位与标量分别相乘得到一个新的向量。
    public static Vector3 operator *(Vector3 v, float f)
    {
      Vector3 result = new Vector3();
      result.X = v.X * f;
      result.Y = v.Y * f;
      result.Z = v.Z * f;
      return result;
    }
    
  • 任何一个向量都可以分解成它的单位向量乘以它的模。

向量与向量的加法

  • 向量与向量的加法就是把两个向量对应的位相加得到一个新向量。
  • 只有两个向量的维度一样才能相加。
    public static Vector3 operator *(Vector3 v1, Vector3 v2)
    {
      Vector3 result = new Vector3();
      result.X = v1.X + v2.X;
      result.Y = v1.Y + v2.Y;
      result.Z = v1.Z + v2.Z;
      return result;
    }
    

向量与向量加法的几何意义

  • 物体在v1点(a, b),移动一个v2向量(c, d)后将到达v1+v2点(a+c, b+d)。

向量与向量的减法

几何意义

向量的点乘

向量的叉乘