This is the project I'm using to learn Go. As such, it's focus is trying and learning the language more than being usable by anyone else.
Here's some images I posted to Mastodon:
- ComplexPoint — A point in the complex plane.
- ImagePoint — A point in the raster image.
The image plane has its origin (0, 0) in the top left corner. The complex plane has it's origin (0+0i) in the center. Increasing x
and r
(real) both go to the right. However, increasing y
and i
(imaginary) move opposite directions: x
goes down and i
goes up.
A "view" of a plane is a rectangle defined by its min and max points. Since y
and i
have their min/max points flipped, the view of the image plane is defined by (top-left, bottom-right) while the view of the complex plane is defined by (bottom-left, top-right).
x | y | <-> | r | i |
---|---|---|---|---|
0 | 0 | -r_max | +i_max | |
0 | y_max | -r_max | -i_max | |
x_max | 0 | +r_max | +i_max | |
x_max | y_max | +r_max | -i_max | |
x_max/2 | y_max/2 | 0 | 0 |