From 370777535f1681bead54216e69097900334ca803 Mon Sep 17 00:00:00 2001 From: Florian Stecker Date: Wed, 10 Jan 2024 11:14:13 -0500 Subject: [PATCH] start writing documentation --- README.md | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..8e19ed7 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +# triangle_group_limit_set - visualizer for triangle group limit sets in the projective plane + +This program visualizes the fractal limit set of triangle groups in SL(3,R) in the projective plane. + +## Installation & Prerequisites ## + +This program is written C and exclusively for Linux. It uses [Cairo] for drawing and X11 for input, which means it will only run in the X window system. Besides these, the only required library is the [Gnu Scientific Library (GSL)] including CBLAS. + +To build, make sure GCC as well as these libraries are installed, and run + + make + +Then we can run it for example like this: + + ./limit_set 5 5 5 1 1 1 1.0 1.0 + +The arguments are 6 integers (p1, p2, p3, q1, q2, q3) and two floating point numbers (t,s) describing the triangle group under consideration (initially, t and s can be changed with the arrow keys). +The last argument is optional; if it is not given, it defaults to s = 1. + +## 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/