Skip to content

Simple interactive plotting of complex functions & arrays using domain coloring.

Notifications You must be signed in to change notification settings

Sagnac/ComplexColor.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ComplexColor.jl

complex_color(s, color = HSL) converts an array of complex numbers into an image matrix of RGB values using a hue-lightness color mapping for the phase and modulus.

complex_plot(x, y, s, color = HSL) plots a complex number array s within the x and y limits using domain coloring in the HSL or perceptual OKLCH color spaces.

Note: The phase contour lines are kinda bugged at the moment at around ±π; these contours are not displayed by default, but can be toggled on the plot.

Installation

using Pkg
Pkg.add(url="https://github.com/Sagnac/ComplexColor.jl")

Support for the Oklch color space requires the following fork:

Pkg.add(url="https://github.com/Sagnac/Colors.jl")

Plotting examples

using ComplexColor
# for a complex array
x = y = -2:0.01:2
z = complex.(x, y')
s = map(z -> 1/z, z)
fig = complex_plot(x, y, s; title = L"s = z^{-1}")
# for a complex function over intervals
x = y = -2..2
f(z) = inv(z)
complex_plot(x, y, f)

About

Simple interactive plotting of complex functions & arrays using domain coloring.

Topics

Resources

Stars

Watchers

Forks

Languages