# Homeomorphic meshes

## Morphing between meshes using GLSL

This project sets out to explore the methods which can be used to construct a triangle mesh from a set of points, it investigates the algorithmic construction of space: how point and line describe a plane and how a collection of planes build up a space.

The aim is to avoid the standard algorithmic procedures; the Delaunay or the Voronoi, in line with the algorists. http://rhizome.org/editorial/2012/jul/5/prosthetic-knowledge-picks-algorists/

The 3D point clouds of two different house plants were created using a Kinect, the vertices were then ordered to create two homeomorphic collections of points in the same space.

### An algorithmic construction of space

A process takes each point of the first mesh and finds all points within the nearest 20 units of space. Real space is mapped into data and processed in the following way:

```
for each point
- find the nearest 20 points in the mesh within a set radius
- find the range and average value of the green component of the colour at that point
- insert into the mesh a random number of triangles relative to quantity of green the point
```

This process is repeated at various scales connecting points with their nearest neighbouring points as well as those further away. This forms an analogue of the internet. The resultant mesh is a collection of large to small triangles, intersecting and occupying the same space but refusing the convex hull definition of standard 3D meshes.

Sometimes bugs construct distorted spaces.

## Animating space

The set of points in each mesh is ordered by location so the that the two set of vertex positions are ordered by the spatial proximity. For the spaces to be homeomorphic they must contain an identical number of points.

The resulting code animates a partial interpolated space between two static forms never settling in either. The interpolation combines a sine waveform with Perlin noise to force a fibrillating movement between positions. The resulting form is always in the middle of other forms, never one *nor* the other but always at the same time a proportion of the *sum* of the one and the other.