Complex Analysis involves understanding the behavior of functions in the complex plane. However, visualizing a complex-valued function of a complex argument requires 4 dimensions.
This project demonstrates how to visualize a complex function using the WebGL API to perform the rendering.
The argument of the complex number is represented by a color.
The program is very fast because most of the program is executing on the GPU. Most of the TypeScript code is WebGL boilerplate that could be replaced by library code, e.g. EIGHT, or a lightweight 2D WebGL framework (see Euclidean Plane example).
A graphical representation of the Mandelbrot Set. The inner black region is the mandelbrot Set. The colors surrounding this region illustrate the direction of complex numbers that have "escaped" the Mandelbrot Set after a finite number of applications of a transformation.
The Mandelbrot Set is the set of complex numbers that stays bounded after repeated application of the transformation
{ | |
"uuid": "a9917079-877a-4c11-817d-b1900f054d97", | |
"description": "Surface Intersection", | |
"dependencies": { | |
"DomReady": "latest", | |
"davinci-mathbox": "latest" | |
}, | |
"operatorOverloading": false | |
} |
{ | |
"uuid": "6ba2243b-b81a-454c-94bb-fdffcbeb72b1", | |
"description": "MathBox Slideshow", | |
"dependencies": { | |
"DomReady": "latest", | |
"davinci-mathbox": "latest", | |
"davinci-blade": "1.1.1" | |
}, | |
"operatorOverloading": true | |
} |
{ | |
"uuid": "bbfa42ad-3a1d-41a2-a752-7d700d0f9b13", | |
"description": "WebGL Experiment", | |
"dependencies": { | |
"DomReady": "latest", | |
"gl-matrix": "2.2.1" | |
} | |
} |
{ | |
"uuid": "f27b5235-e517-4fc9-8467-1270bbac7bbf", | |
"description": "Warping with WebGL", | |
"dependencies": {}, | |
"operatorOverloading": false | |
} |
{ | |
"uuid": "e4a961e2-9cf1-4947-8e8d-a7efe0e01e29", | |
"description": "EIGHT", | |
"dependencies": { | |
"DomReady": "latest", | |
"davinci-eight": "latest", | |
"davinci-threejs": "0.71.4" | |
}, | |
"operatorOverloading": true | |
} |
{ | |
"uuid": "055a26fa-11eb-4f67-97bb-f93dd8664668", | |
"description": "Linear Perspective Calculation", | |
"dependencies": { | |
"DomReady": "latest", | |
"davinci-blade": "1.1.1" | |
}, | |
"operatorOverloading": true | |
} |