triangle_group_limit_set/README.md

51 lines
3.8 KiB
Markdown
Raw Permalink Normal View History

2024-01-10 16:14:13 +00:00
# triangle_group_limit_set - visualizer for triangle group limit sets in the projective plane
2024-02-13 00:43:31 +00:00
This program visualizes the fractal limit set of triangle groups in SL(3,R) in the projective plane. For the mathematical details, see [our paper].
2024-01-10 16:14:13 +00:00
## Installation & Prerequisites ##
2024-02-13 00:43:31 +00:00
This program is written C and only runs on Linux with the X window system (because that's what I happen to be using). It uses [Cairo] for drawing and X11 for input. We also require the [Gnu Scientific Library (GSL)] including CBLAS.
2024-01-10 16:14:13 +00:00
2024-02-13 00:43:31 +00:00
To build, just make sure GCC as well as these libraries are installed, and run
2024-01-10 16:14:13 +00:00
make
Then we can run it for example like this:
2024-02-13 00:43:31 +00:00
./limit_set 5 5 5 1 1 1 1.0
2024-01-10 16:14:13 +00:00
2024-02-13 00:43:31 +00:00
The arguments are 6 integers (p1, p2, p3, q1, q2, q3) and a floating point numbers t. Together they discribe the triangle group under consideration (t can be changed with the arrow keys).
2024-01-10 16:14:13 +00:00
## Key bindings
Drag the mouse to move the image, drag with Shift pressed to rotate.
| Key | function |
|----------|-----------------------------------------------------------------------------------------------------|
| PageUp | increase t by 2% |
| PageDown | decrease t by 2% |
| Right | increase t by 0.2% |
| Left | decreaes t by 0.2% |
| Up | increase t by 0.002% |
| Down | decrease t by 0.002% |
| Space | (reset t to original value) |
| R | cycle through affine charts |
| l | show limit curve |
| L | show limit curve as line or as points |
| f | generate limit curve using attracting / repelling fixed points of conjugates of the Coxeter element |
| d | show dual limit curve |
| r | show fixed points and lines of generating reflections |
| a | show fixed points and lines of Coxeter elements |
| c | show the orbit of an arbitrary point (point can be changed with Shift+Click) |
| b | show certain conics touching the limit curve |
| B | show the "boxes" used to approximate the limit curve |
| p | save a screenshot of the current image (in PDF format) |
| t | toggle info text |
| i | (print some info to terminal?) |
| x | (show rotated reflectors?) |
| M | (make a movie) |
[Cairo]: https://cairographics.org/
[Gnu Scientific Library (GSL)]: https://www.gnu.org/software/gsl/
2024-02-13 00:43:31 +00:00
[our paper]: https://arxiv.org/abs/2106.11349