Geometry, Surfaces, Curves, Polyhedra

The following is a dictionary of various topics in geometry the author has explored or simply documented over the years. Many of the topics include source code illustrating how to solve various geometric problems, or to assist others recreating the geometric forms presented.

Please note that I am available as a consultant on matters relating to geometry, developing geometric algorithms, exploring new forms, creating high quality graphics, animations, solving geometric problems either in closed form or numerically and so on.

Notes on polygons and meshes

Includes Surface (polygon) simplification, Clipping a polygonal facet with an arbitrary plane, Surface Relaxation and Smoothing of polygonal data, Mesh crumpling, splitting polygons, two sided facets, polygon types, tests for clockwise and concavity, clipping line to polygons, area of a 3D polygon, area of general polygons, determining inside/outside test, intersection of a line and a facet, Eulers numbers.

Notes on points, lines and planes

Includes calculations for the distance between points, lines and planes. The intersection between 2 lines in 2D and 3D, the intersection of a line with a plane. The intersection of two and three planes.

Notes on circles, cylinders and spheres

Includes equations and terminology. Equation of the circle through 3 points and sphere thought 4 points. The intersection of a line and a sphere (or a circle). Intersection of two circles on a plane and two spheres in 3D. Distributing Points on a Sphere. The area of multiple intersecting circles. Creating a plane/disk perpendicular to a line segment. Modelling with spheres and cylinders, including facet approximation to a sphere and cylinder, rounded boxes, pipes, and modelling with spheres.

The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language. D. E. Knuth, 1967

Transformations and projections

Methods for mapping points on a spherical surface onto a plane, stereographic and cylindrical (including Mercator) projections. Includes Aitoff map projection: Conversion to/from longitude/latitude (spherical map). Transformations on the plane. Cartesian, Cylindrical, and Spherical coordinate systems. Euler angles and coordinate transformations. Converting between left and right coordinate systems. Classification of projections from 3D to 2D and specific examples of oblique projections. Planar (stretching) distortion in the plane. Anamorphic projections and Mappings in the Complex Plane (Otherwise known as Conformal maps). 3D projection: Transforming 3D world coordinates into 2D screen coordinates. Convert spherical projection into a cylindrical projection.

Tiling textures

An introduction to texture tiling using characteristics of the texture itself. A general method is presented that converts any texture into one that tiles without seams. Illustrates the most common texture mapping methods in use by rendering applications. The mathematics of how to map a rectangular texture onto a sphere, creating a textured mesh in OpenGL and how to correct for polar distortion of texture maps on spheres.

Texture library

Tiling on the plane and more recently Tiling tricurves

Includes Truchet tiling in 2D and 3D, Regular pentagonal tiles, block tessellation, weaving, and more. Non periodic (aperiodic) tiling of the plane: Methods of tiling that are never periodic, for example, Penrose tiles, Danzer tiles, Chair tiles, Trilobite tiles, Pinwheel tiles. Most of the tiles are presented accurately and large enough to be printed and cut out. Hexagonal tiling and SHM Calculator Including MacOS-X and Linux software for experimenting with transformation in the Spiral Harmonic Mosaic. Relationship between base 7 and base 10: Exploration by Paolo Di Pasquale © 1988-2012

Philosophy is written in this grand book - I mean universe - which stands continuously open to our gaze, but which cannot be understood unless one first learns to comprehend the language in which it is written. It is written in the language of mathematics, and its characters are triangles, circles and other geometric figures, without which it is humanly impossible to understand a single word of it; without these, one is wandering about in a dark labyrinth. Galileo (1623)

Contouring Algorithm

Description of an efficient contouring algorithm as it appeared in Byte magazine. (Byte Magazine, 1987) and a more general approach for arbitrary contour planes and polygonal meshes.

Polygonising a scalar field

Otherwise known as marching cubes and marching tetrahedrons.

HyperSpace

Notes on 4 dimensional geometry, including an old Macintosh 4 dimensional geometry viewer and manual. List of 4D platonic solids and the coordinates for 4D polyhedra.

There are holes in the sky. Where the rain gets in. But they're ever so small. That's why the rain is thin. Spike Milligan



Of cube nature

SGI logo, Wiffle cube, Rounded cube, Tooth surface, Horned cube, Tangle surface

Of spherical and elliptical nature

Models of sports balls, Prolate sphereoid, Cymbelloid, Superellipse, Superellipsoid, Capsules, Eggs, Melons, Peanuts, Cassini Oval, Ellipse, Apple, Baseball curve, Cassinoid, Cassinian Ellipse.

Circumference of an ellipse and arc approximation

The circumference of an ellipse, one might think this was a "solved" problem, noting could be further from the truth.

Of toroidal nature

Torus, Supertorus, Klein bottle, Möbius strip, Elliptic Torus, Limpet Torus, Gumdrop torus, Figure 8 Torus, 2-Torus, Saddle torus, Kinky Torus, Bow tie, Triaxial Tritorus, Triaxial Hexatorus, Twisted pipe, Double torus, Bow curve, Bretzel, Pretzel, Pisot triaxial

Of spiral nature

Horn, Cresent, Sea shells, Springs, Dini surface, Equiangular spiral, Parabolic spiral, Hyperbolic spiral, Fermats spiral, Lituus Spiral, Archimedes spiral, Sinusoidal spiral, Square Archimedes spiral, Cornu spiral, Tanh spiral, Coth spiral, Helix, Clothoid, Eulers Spiral

You may say I'm a hacker, But I'm not the only one.

I hope someday you'll join us, And the world will code as one.

I was walking down the street when I saw a dead baby ghost on the road. On reflection it might have been a handkerchief. Milton Jones

Other ...



Why do kamikaze pilots wear helmets? Smacks of indecision to me. Sean Mea