Oh! This one only took me 17 years or so to figure out. This was a “fact” I had committed to memory in school but never thought about why.
From The Symplectization of Science by Mark Gotay and James Isenberg:
There are some connections to circles and homogeneous coordinates (v/‖v‖
) but let’s leave those for another time.
Gotay & Isenberg’s exposition using the metric makes it clear that the /‖v‖
part of the definition of cosine
isn’t where the right-angle concept comes from. It comes from the v
₁ w
₁ + v
₂ w₂
.
So if the slope of my starting line is m
, why is the slope of its perpendicular line −1/m
?
First I could draw some examples.
I drew these with http://www.garrettbartley.com/graphpaper.html which is a good place to count out the “rise over run” and “negative run over rise” Δx
& Δy
distances to make sure they really do look perpendicular.
The length and the (affine or “shift”) positioning of perpendicular line segments doesn’t matter to their perpendicularity. So to make life easier on myself I’ll centre everything on zero and make the segments equal length.
The metric formula is going to work if let’s say my first vector v
is (+1,+1)
(one to the right and one up) and my second vector goes one down and one to the right. Then the metric would do:
+1 • +1
(horizontal) + +1 • −1
(vertical)
which cancels.
What if it were a slope of 9.18723 or something I don’t want to think about inverting?
This is a case where it’s probably easier to think in terms of abstractions and deduce, rather than using imagination in the conventional way.
If I went over +a
steps to the right and +b
steps to the up (slope=b/a
), then the metric would do:
a•? + b•¿
What is that missing? If I plugged in (?←−b, ¿←a)
or (?←b, ¿←−a)
, the metric would definitely always cancel.
And in either of those cases, the slope of the question marks (second line) would be −a/b
.
So the multiplicative inverse (flipping) corresponds to swapping terms in the metric so that the two parts anti-match. And the additive inverse (sign change) means the anti-matched pairs will “fold in” to zero each other (rather than amplifying=doubling one another).