Say i want to find [xa,ya,za]*[xb,yb,zb] I could use pythagoras to find |a| and |b|. Then use pythagoras again to find the distance between the endpoints of a and b. Then use law of cosines to find the angle formed by a and b, then do |a||b|cos(angle). Or, i could just do xa*xb+ya*yb+za*zb. How are all these operations compressed into such a simple form? (By the way, the dot product in 2 dimensions is the area of the parallelogram formed by the endpoints of a+b, a, b, and 0, right?) Then the dot product of vectors in 3 dimensions is the area of the parallelogram squared to get a 3 dimensional shape, right? Whats the signifigance of a negative dot product? And if i want to find the cross product, all i have to do is arrange them like this xa ya za xb yb zb And for each coordinate of the cross product i just remove that column and find the determinant of the remaining 2x2 matrix, reversing the sign for y. Doing it otherwise, i would have to do alot of complicated things, especially finding that perpendicular unit vector. Also, how do matrix determinants work in finding the solution to systems of equations? How do matrices and vectors work?