Skip to content

Instantly share code, notes, and snippets.

@mathdoodle
mathdoodle / README.md
Last active July 13, 2020 18:26
WebGL 008 Painting Directly with the GPU

Painting Directly with the GPU

@mathdoodle
mathdoodle / README.md
Last active July 28, 2017 03:37
Julia Set

Julia Set

@mathdoodle
mathdoodle / README.md
Last active February 11, 2018 13:10
Domain Coloring

Domain Coloring

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).

@mathdoodle
mathdoodle / README.md
Last active February 4, 2018 21:02
Mandelbrot Set

Mandelbrot Set

Overview

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.

Mathematics

The Mandelbrot Set is the set of complex numbers that stays bounded after repeated application of the transformation

@mathdoodle
mathdoodle / doodle.json
Last active August 29, 2015 14:22
Surface Intersection
{
"uuid": "a9917079-877a-4c11-817d-b1900f054d97",
"description": "Surface Intersection",
"dependencies": {
"DomReady": "latest",
"davinci-mathbox": "latest"
},
"operatorOverloading": false
}
@mathdoodle
mathdoodle / doodle.json
Last active August 29, 2015 14:22
MathBox Slideshow
{
"uuid": "6ba2243b-b81a-454c-94bb-fdffcbeb72b1",
"description": "MathBox Slideshow",
"dependencies": {
"DomReady": "latest",
"davinci-mathbox": "latest",
"davinci-blade": "1.1.1"
},
"operatorOverloading": true
}
@mathdoodle
mathdoodle / doodle.json
Last active August 29, 2015 14:22
WebGL Experiment
{
"uuid": "bbfa42ad-3a1d-41a2-a752-7d700d0f9b13",
"description": "WebGL Experiment",
"dependencies": {
"DomReady": "latest",
"gl-matrix": "2.2.1"
}
}
@mathdoodle
mathdoodle / doodle.json
Last active August 28, 2023 20:31
Warping with WebGL
{
"uuid": "f27b5235-e517-4fc9-8467-1270bbac7bbf",
"description": "Warping with WebGL",
"dependencies": {},
"operatorOverloading": false
}
@mathdoodle
mathdoodle / doodle.json
Last active August 29, 2015 14:22
EIGHT
{
"uuid": "e4a961e2-9cf1-4947-8e8d-a7efe0e01e29",
"description": "EIGHT",
"dependencies": {
"DomReady": "latest",
"davinci-eight": "latest",
"davinci-threejs": "0.71.4"
},
"operatorOverloading": true
}
@mathdoodle
mathdoodle / doodle.json
Last active August 29, 2015 14:22
Linear Perspective Calculation
{
"uuid": "055a26fa-11eb-4f67-97bb-f93dd8664668",
"description": "Linear Perspective Calculation",
"dependencies": {
"DomReady": "latest",
"davinci-blade": "1.1.1"
},
"operatorOverloading": true
}