#+OPTIONS: toc:nil * PQ Torus Knot ** About [[https://ferano.io/3d-fp/][Live Link]] This is an attempt to implement the [[https://en.wikipedia.org/wiki/Torus_knot][PQ Torus Knot]] in the Elm programming language. ** Showcase ** Keybindings You can increment/decrement P or Q using the keyboard to get different geometry; - Increment P: ~p~ - Increment Q: ~q~ - Decrement P: ~w~ - Decrement Q: ~o~ ** Building with Elm 0.18.0 To install the binaries manually, follow this short guide; - [[https://sirfitz.medium.com/install-elm-0-18-0-in-2021-3f64ce298801][Install Binaries]] If you want to use =npm= instead; - =npm install -g elm@elm0.18.0= If you use =npm=, note that you will likely need an older version of Node.js, so it is recommended to use [[https://github.com/nvm-sh/nvm][nvm]] for that. I have not attempted this method personally, fyi. Once you have the Elm compiler, go ahead and run =elm make Torus.elm= And that should first pull in all the dependencies then generate an =index.html= file. Alternatively, you can use ~elm-reactor~, run the command and open up your browser to ~https://localhost:8000~ and then click on ~Torus.elm~ in the nice project webview provided. ** License This project is licensed under the terms of the MIT license. For more information, see the included LICENSE file.