# data[].attributes.body
A site for creating graphs made of vertices & edges. One can make weighted and directed graphs as well.

# data[].attributes.attachment_link.description
CSAcademy is a next generation educational platform. Discover computer science with interactive lessons and a seamless online code editor.

# data[].attributes.body
Link gears together to simulate gear trains. Watch how driver & driving gears behave relative to one another!

# data[].attributes.attachment_link.title
Involute spur gear generator and simulator

# data[].attributes.attachment_link.description
Gear Generator is a tool for creating involute spur gears and download them in SVG format. In addition it let you compose full gear layouts with connetcted gears to design multiple gears system with control of the input/output ratio and rotation speed. Gears can be animated with various speed to demonstrate working mechanism

# data[].attributes.body
A demonstration of The Price Is Right's Plinko as an example of discrete probability distributions.

# data[].attributes.body
Cross-platform online whiteboard software.

# data[].attributes.body
A surprisingly addictive little game in which the object is to drag vertices on planar graphs until there are no edge crossings.

# data[].attributes.attachment_link.readable_text
Can you untangle the graph? See if you can position the vertices so that no two lines cross.

Number of line crossings detected: 0

0 moves taken in 0s.

Number of vertices: Generate new, random graph

Highlight non-intersecting lines.

Don't worry, the game only generates solvable graphs! These are known as planar graphs.

Further Reading

# data[].attributes.attachment_link.description
Can you untangle the graph? See if you can position the vertices so that no two lines cross. Number of line crossings detected: 0 0 moves taken in 0s. Number of vertices: Generate new, random graph Highlight non-intersecting lines. Don't worry, the game only generates solvable graphs! These are known as planar graphs.

# data[].attributes.body
A site for graphing complex-valued 2D functions by assigning colors to each point on the plane. Scroll down to see links to the tools themselves.

# data[].attributes.attachment_link.readable_text
Visualizing complex functions

Juan Carlos Ponce Campuzano

15-July-2018

Click on the image to make a new pattern.

Finite Blaschke product associated to 50 randomly chosen points in the unit disk.

Introduction

Domain coloring is a method that allows us to represent complex functions by assigning a color to each point of the complex plane. The method involves basically two main ideas:

1. Assign a color to every point in the complex plane.

2. Color the domain of $f$ by painting the location $z$ with the color determined by the value $f(z)$.

It is common to use the color wheel because it is easy to match the HUE values with the phase (argument) of a complex number $z$ which is usually defined in the interval $[0,2\pi)$, or $(-\pi, \pi]$.

Color wheel correspondence with values from $0$ to $2\pi$.

To implement this method in the computer consider a rectangular region of pixels on the screen. This will be a discretized domain $D_h$ for the function $f$. Every pixel $i$ is identified with a complex number $z_i$ where $f$ is evaluated. Then calculate the phase of the value $f(z)$ and its corresponding color. Finally assign the resulting color to that pixel. This procedure is shown in the animation below.

Here you will find a set of tools to visualize and explore complex functions using different color schemes and also a gallery containing a wide range of examples.

If you want to know all the details about the implementation in JavaScript, check the source code available at GitHub. If you find useful these tools or found some issues, please let me know.

You can also support this project with:

∞ Thanks!

$f(z)=\dfrac{1/(iz)^{18}-1/(iz)}{1/(iz)-1}$

Basic Tools: Real and Imaginary components

With the following tools you just need to enter the real and imaginary components of a complex function $$f(z)=\text{Re}(x, y)+ i \,\text{Im}(x,y).$$

Open the tool by clicking on the image.

Advanced Tools: General complex functions

Open the tool by clicking on the image.

WebGL-based complex function plotter

Extra details about the basic tools

I used the enhanced phase portrait based on the work of E. Wegert [see 16-19]. The Hue-Saturation-Brightness (HSB) color scheme is used. For plotting the level curves of the modulus I used the following equations:

\begin{eqnarray*} \text{H}&=&\frac{\pi - \text{atan2}(y, -x)}{2\pi},\\ \text{S}&=&1,\\ \text{B}&=&\frac13\left(\log_{1.6}\left(\sqrt{x^2+y^2}\right)-\text{floor}\left(\log_{1.6}\left(\sqrt{x^2+y^2}\right)\right)\right)+0.7 \end{eqnarray*}

where $x,y$ are the real and imaginary components, respectively. The p5.js function colorMode() is used for all tools.

Others things to try:

References

1. Ablowitz, M. J. & Fokas, A. S. (2003). Complex variables: introduction and applications (2nd ed). Cambridge University Press.

2. Farris, F. A. (2017). Domain Coloring and the Argument Principle. PRIMUS 27:8-9, 827-844, DOI:10.1080/10511970.2016.1234526

3. Losada Liste, R. (2014). El color dinámico de GeoGebra. Gaceta De La Real Sociedad Matematica Española, 17, 525-547, Madrid.

4. Lundmark, H. (2004). Visualizing complex analytic functions using domain coloring.

5. Needham, T. (1997). Visual Complex Analysis. Oxford University Press, Oxford.

6. Marsden, J. E. & Hoffman, M. J. (1987) Basic Complex Analysis. (2nd ed.) W. H. Freeman and Co, New York.

7. Poelke, K. & Polthier, K. (2012) Domain coloring of complex functions: An implementation-oriented introduction. IEEE Computer Graphics Math & Applications 32(5), pp. 90-97, DOI: 10.1109/MCG.2012.100

8. Ponce Campuzano, J. C. (2019) The use of phase portraits to visualize and investigate isolated singular points of complex functions Journal International Journal of Mathematical Education in Science and Technology. 50(7), pp. 999-1010, DOI: 10.1080/0020739X.2019.1656829

9. Wegert, E. (2016). Visual exploration of complex functions. In T. Qian and L. R. Rodino (eds.), Mathematical analysis, probability and applications - Plenary Lectures SPMS (Vol. 177. pp. 253-279). Switzerland: Springer International Publishing.

# data[].attributes.attachment_link.description
Domain coloring: Complex function plotter

# data[].attributes.body
A site for intuitively graphing 2D functions.

# data[].attributes.attachment_link.description
Explore math with our beautiful, free online graphing calculator. Graph functions, plot points, visualize algebraic equations, add sliders, animate graphs, and more.

# data[].attributes.body
A site for easily graphing 3D functions, including parametric functions, vector-valued functions, and slope fields.