Remix.run Logo
Show HN: Rotation via Double Reflection(static.laszlokorte.de)
18 points by laszlokorte a day ago | 3 comments

While studying Geometric Algebra I have built some interactive visualization to demonstrate how geometric transformations (rotation, scaling, translation) can be constructed by just composing reflections.

Accepting reflection as the most elementary geometric operation was an eye opening moment for me. I think some of you might enjoy the interactive visuals.

Sharlin an hour ago | parent | next [-]

To construct the two vectors spanning a given angle (well, as the article says, one of them can be chosen arbitrarily, the easiest is to just use (1, 0)), you'll of course need trigonometric functions. This is exactly equivalent to how constructing a rotation matrix from an angle requires trigonometric functions, but after that you can rotate how many vectors you like with just dot products, or how constructing e^ai = sin(a) + cos(a)*i requires trigonometric functions, but after that it's just complex multiplication.

Another fun way to decompose 2D rotation is into three shears, originally given by Paeth in 1986: https://silmon.github.io/arbitrary-image-rotation-using-shea...

RIshabh235 5 minutes ago | parent | prev | next [-]

Great work

zkmon an hour ago | parent | prev [-]

There is no mystery. Imagine a huge radius of rotation. Then a small rotation is almost like a linear shift due to the large radius. Two reflections around a small angle would mean two "half roll-overs" making it a full roll-over. That means you just shifted (rotated) the thing.