Data structures, algorithms and display tools for generating 2d contours and 3d isosurfaces.
Contour lines define a boundary as a sequence of line segments approximating f(x,y) = v for some function f, some value v and x and y varying in some specified region.
Isosurfaces define a boundary as a collection of oriented triangles approximating f(x,y,z) = v for some function f, some value v and (x,y,z) varying in some specified volume.
Here is a live demo of an isosurface displayed using jsfiddle: https://jsfiddle.net/AaronWatters/9qszgyaj/.
A morphing isosurface represents the point set satisfying f(x,y,z,t) = v for some function f, some value v and (x,y,z,t) varying in some specified volume and time extent. It displays a smoothy evolving isosurface for f(x,y,z,t0) = v as t0 smoothly transitions from a minimum to a maximum time value.
Here is a live demo of a morphing isosurface displayed using jsfiddle: https://jsfiddle.net/AaronWatters/x35crpb0/.
Here is an example page that includes a morphing isosurface: https://rawgit.com/AaronWatters/contourist/master/misc/distance.html.
Here is another example derived from CT-scan data https://rawgit.com/AaronWatters/contourist/master/misc/static_mri.html.