A small interface for viewing how the complex plane transforms itself under holomorphic maps.
It also serves as an example of use case of the scalajs-ui library.
holomorphic-maps uses Electron as engine. You need to have Electron installed on your machine. Scala.js creates javascript files for you to use with Electron. You will need the following files and folder that are compiled:
- 'holomorphic-maps-fastopt.js.map' file
- 'holomorphic-maps-fastopt.js' file
- 'holomorphic-maps-jsdeps.js' file
- 'classes' folder
Once compiled, you should copy-paste them in the 'electron' folder.
- download Electron
- download the scalajs-ui library
publishLocal
it using sbt- download this project
- compile it using
fastOptJS
orfullOptJS
using sbt - copy-paste the above mentioned files (or their fullOptJS pendant) to electron folder
- use the command
./electron/electron.exe path/to/holomorphic-maps/electron
The software allows you to draw lines, circles, ellipses, rectangles, disks and filled ellipses on the Complex plane restricted to [-2,2] x [-2,2]. You can then chose a function from the list and map everything by that function. As is standard, CTRL+Z cancels the last line or shape drawn.
You can also press F1 (after the canvas got focus) to see an example of the DebugWindow from the UI.
A holomorphic (or analytic) function is a function from a subset of the complex plane to itself, that is C-derivable. A holomorphic map whose derivative does not vanish is a conformal map, meaning that the angles are preserved. That is, if two lines intersect with a certain angle, the mapped lines will form the same angle.
- Map regions like rectangles and disks (naively done already)
- Allow user to create their own functions
- Draw lines with equations