I'm trying to learn a bit of math here so bare with me, but let's say we have this program:
local vector = Vector3.new(2, 2, 2) local vector2 = Vector3.new(2, 2, 2) print(vector:Dot(vector2)) --//Dot equation: P * Q = Px * Qx + Py * Qy + Pz * Qz local Px, Py, Pz = 2, 2, 2 local Qx, Qy, Qz = 2, 2, 2 print((Px * Qx)+(Py * Qy)+(Pz * Qz))
Output: 12 ; Output: 12
I'm tying to figure out what the Dot function actually returns, but I dont really understand what the number means. I understand the equation just fine, I just dont know where to use this.
If someone could give me a use case and a bit more in-depth explanation, that'd be awesome.
Dot product is a scalar unit, not a vector unit, meaning it has no direction.
Dot product of two vectors are calculated by multiplying both vectors length/magnitude and then multiplying with cosine of the angle between the vectors:
One application is detecting orthogonality/perpendicularity of vectors if the dot product is zero. If vectors are perpendicular(angle between them is 90 or 180) then dot product is zero, so you know that they are perpendicular.
If you divide the dot product by the lengths of the vectors, you're left with the cosine of the angle between the vectors, so the arc cosine of this will be the angle.