46 lines
1.3 KiB
Org Mode
46 lines
1.3 KiB
Org Mode
#+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.
|