Why is the angle between two vectors that are the same not zero?

Why is:

let a = new Vector3(0,0,0)
let b = new Vector3(0,0,0)

= to 1.57?

We use the convention that the zero vector is orthogonal to every vector. More information about this topic here:


Formally speaking, you cannot measure angles for vectors with 0 length … as they have no direction. However, by definition it is assumed that the angle between any vector and another 0-vector is 90° … which in radians is π/2 ≈ 1.57… This is a result of the dot product, which says, that if the dot product of two vectors is 0, then they are perpendicular. The dot product of any vector and a 0-vector is always 0. This is just a useful convention. Similar to the one that 0! is 1, not 0; and 00 is 1.