To "project" vector a onto vector b, draw the two vectors "tail to tail". Call the angle between them " ". Draw a line from the tip of a perpendicular to b, extending b is necessary. The vectro from the point where a and b meet to the foot of that perpendicular is the "projection of a onto b".

You now have a right triangle where vector a is the hypotenuse and the new, projection, vector is the leg of the triangle next to angle . Since " " is defined as "length of near leg over length of hypotenuse", is the magnitude of the projection of a on b divided by the magnitude of a: where " " is the projection of a on b.

Multiplying both sides of that equation by ||a||, .

Swapping a and b, .

Those will be equal when

As long as we can divide both sides by it and get .

That is true foranyangle for which . The angles do NOT have to be 45 degrees or 135 degrees. Who told you they did?

Of course, if and only if degrees (for between 0 and 180 degrees). In that case, a and b also have equal projection on each other- the magnitude of each projection is 0.

That is, the projection of a on b and the projection of b on a have the same magnitude if the magnitudes of a and b are the same (and the angle doesn't matter) or if the vectors are a right angles (and the magnitudes don't matter).