mentat-collective / emmy

The Emmy Computer Algebra System.
https://emmy.mentat.org
GNU General Public License v3.0
405 stars 24 forks source link

Feature request: Plotting complex number functions #176

Open withjak opened 6 months ago

withjak commented 6 months ago

Clojure functions to plot functions with complex input and complex output.

For each function there should be two 2-D plots. One showing the inputs. And another showing the outputs. This is sometimes referred to as z-w planes method.

It would be helpful to see what transformations are happening if we carefully select the inputs to be points on grid lines. Probably providing each line a distinct color

## Example inputs:
# parallel to x-axis
(0, 0), (1, 0), (2, 0), (3, 0), (4, 0), (5, 0), (6, 0), (7, 0), (8, 0), (9, 0)
(0, 1), (1, 1), (2, 1), (3, 1), (4, 1), (5, 1), (6, 1), (7, 1), (8, 1), (9, 1)
(0, 2), (1, 2), (2, 2), (3, 2), (4, 2), (5, 2), (6, 2), (7, 2), (8, 2), (9, 2)

# parallel to y-axis
line x = 0 
line x = 1
line x = 2
Screenshot 2024-06-01 at 3 10 11 PM

More details here: Complex Functions as Mappings

@sritchie Your initial try Error: complex is not defined

Maybe for later investigations: Another interesting visualisation technique Plot on 3-D Cartesian coordinate system only three variables out of the below 4 variables: Re(input), Im(input), Re(output), Im(output) Visualizing Complex Functions More on this later once i actually understand it.