Using a blend of both colours imported from the scan and colours generated in Processing. This helps give a bit more definition to the shape.

starting with a simple cube (32 faces on each side), then applying fractal subdivision, smooth, scale, twist, colour and contrast algorithms. 

I’ve created a few new algorithms that I apply after generating colour, these can drastically improve the contrast and perceived vividness of the colours (based on my own amateur colour theories and trial/error). The contrast algo uses the map() tool to redistribute brightness for each face to fully range from white to black. The other algo increases saturation but avoids over-warming light colours, this creates more striking colour contrasts. The other algo is a tool that lets me manually tweak the colour temperature of the piece. 

nice glitch, I subdivided the mesh, then moved it, but only the original vertices were selected so that it pulled these upwards forming spikes, top and bottom.

combined with Catmull-Clark subdivision (built into Hemesh), you get these faint circular patterns appearing in the dapple.

combined with Catmull-Clark subdivision (built into Hemesh), you get these faint circular patterns appearing in the dapple.

dapple generator

Ive learnt from 3D printing in colour that the more contrast the better as the material has a washed-out look to it. Dapples work really well, one of my first mickey prints had a simple one line of code to generate a purple dapple.

i tend to forget I’ve got this custom system that can make weird looking objects in just a few clicks.

i tend to forget I’ve got this custom system that can make weird looking objects in just a few clicks.

#ccc colouring algorithms

Currently looking for beta software testers. Get in touch. Must own a Thingiverse account and some STL files. 

New piece of software near completion.

photogrammetry (3D scan) to Processing/ he_mesh.

photogrammetry (3D scan) to Processing/ he_mesh.

Some fantastic news - after 9 months of trying to make an algorithm automate the generation of heads, I think I’ve finally hit the sweet spot that makes an interesting head on every single run. The solution was a to use OpenCV facial recognition assessing the output, a Genetic Algorithm, a population of 30 heads, a run of at least 8 generations, a high resolution mesh distorted with varying degrees of perlin noise (set to the right range to make peaks and troughs that could end up morphing into facial features). The GA blends DNA from successful heads (instead of the standard cut/paste approach). The successful head then undergoes further mesh refinement using one run of Catmull-Clark subdivision. This is followed by further mutation using a hill-climbing algorithm that performs some shape modification, followed by the hill-climbing task of copying the shader colours onto the mesh-face colours (giving that mosaic effect which I rather like). I intend to 3D Print some of the results soon. I guess in the end the solution wasn’t one sole algorithm but a complex sequence of algorithms that individually contributed something different to the process. I guess I should thank Ken Perlin, Edwin Catmull, Jim Clark, Frederik Vanhoutte, and all the other great minds behind the head. 

I didnt take my laptop on holiday so on long train journeys Im coding on a simple free text editor on my iPhone, its a little frustrating but does the job. I use the dropbox app to copy/paste from other sketches. There is a Processing app but it doesnt have a copy/paste function or decent file manager.

personal coding milestone achieved - importing colour data into Hemesh + Processing!!! Thanks Corneel Cannaerts for his HEC_FromObjFile class that I’ve hacked, and then for fixing my hack over an email to correctly lerp vertex colour to face colour. So to get from 3D scan to this you must:
1. Export 123D scan as obj file with texture.
2. Open in meshlab, do the texture color -> vertex color. Save as .obj 
3. Copy the HEC_FromObjFile into a .pde tab, change class name.
4. When it reads iterates through vertices getting parts 1,2,3 (x,y,z) tell it to also get parts 4,5,6 (rgb for vertex). Save that into an Arraylist of colors
5. Extend HE_Mesh class to store face color, iterate through faces, get face vertices, match vertex with colour data from your Arraylist. Lerp the 3 vertex colours to produce one face colour. Mesh.display()
6. Go to tumblr, let others know.

personal coding milestone achieved - importing colour data into Hemesh + Processing!!! Thanks Corneel Cannaerts for his HEC_FromObjFile class that I’ve hacked, and then for fixing my hack over an email to correctly lerp vertex colour to face colour. So to get from 3D scan to this you must:

1. Export 123D scan as obj file with texture.

2. Open in meshlab, do the texture color -> vertex color. Save as .obj 

3. Copy the HEC_FromObjFile into a .pde tab, change class name.

4. When it reads iterates through vertices getting parts 1,2,3 (x,y,z) tell it to also get parts 4,5,6 (rgb for vertex). Save that into an Arraylist of colors

5. Extend HE_Mesh class to store face color, iterate through faces, get face vertices, match vertex with colour data from your Arraylist. Lerp the 3 vertex colours to produce one face colour. Mesh.display()

6. Go to tumblr, let others know.

Simple effect but took a lot of work, almost 3 hours. Its like a slice but then new faces are created and added between the two mesh halves, finally the mesh has to be rebuilt so that the faces are glued together. From here I can hopefully do some interesting multiple offsets.