Thursday, 18 December 2014

Tumbling down the Bismuth Steps

So the other day I went to see Interstellar, which was fairly enjoyable if not for the massive plot holes and inconsistencies and its unnecessarily long running time. If there was one thing I appreciated about Interstellar, it was that at least they attempted to visualise the 5th dimension. Even if it ended up looking a lot like a giant building-sized piece of bismuth built out of shonky wooden library shelves, tracing paper, and a lot of black thread. At least they tried. I'd like to see more people try to imagine what it might look like, even if the representations fall flat on their faces.

Bismuth Structural Rainbow
Bismuth from Flickr user cobalt123

The structural qualities of minerals is fascinating. On a personal level, I am attracted to rocks and geological features which are so orderly and angular that one imagines - that if the image were presented out of context - then one might just believe that it could be man-made, although in reality these shapes and forms are a product of nature. Like a artificial/man-made mine, in which square chunks are methodically hewn out, or dug out to form huge man-sized hollow hopper crystal structures in which humans could nestle within... To think of planets as petri dishes for life with their respective larder list of minerals and baking temperatures!...


Here for example, this is the Pool of Serpents (Poll na bpeist) - a naturally formed olympic sized pool cut-out in the rocks of the Aran Islands, which I went to see last year. My wish list of places to visit in the coming spring includes Fingal's Cave on Staffa (Inner Hebrides, Scotland) with its hexagonally jointed basalt columns and the Delabole Quarry in Cornwall with its crazy steps of slate.

minerals 2
Naturally formed hexagonal Bismuth illustrated in my mineral book

The distinctive hollow stair-step crystals of the Bismuth are mainly the product of artificial processes - you can grow hopper crystals like these at home. The metallic iridescence comes from a thin layer of bismuth oxide causing light scattering.

Screen Shot 2014-12-03 at 2.39.01 pm

Who doesn't like shiny things? In my own digital paintings, I found that painting in some "shine" with pin-points of white light (like a 3D model) give an image a realism/fakeness to them. I would make latex clothing if I had the resources to or if I were more inclined to doing something fashion related (as it were, I do intentionally avoid having to think too hard about clothing as I think time can be better spent on other things). But I enjoy looking at glossy and shiny materials, and I don't understand why it has an image of being "kinky".

Perhaps I was born in the wrong time, and I think a skin-like rubber material like latex has an interesting shine to it and as a material for clothing it is more representative of the times. The question of how latex became kinky is something I shall have to look into further some other time, but to go on with the story...

So this morning I continued experimenting with Meshmixer. I had drawn an imperfect klein surface and was hoping to figure out how to edit its shaders to make it less or more "shiny".

Screen Shot 2014-12-03 at 1.04.57 pm
(I do apologise for this poor approximation of a klein surface - with a red "rubber" shader)

Screen Shot 2014-12-03 at 1.06.13 pm

Next, I dropped in a jpg of the Witch Head Nebula which I had cut down in size into a “shader". This was the somewhat unexpected output...

Screen Shot 2014-12-03 at 1.09.14 pm

I realised... that's not just the shader. That's the shader... and the wikipedia page it came from!

Screen Shot 2014-12-03 at 1.06.01 pm
Wikipedia browser window underneath Meshmixer window

Screen Shot 2014-12-03 at 1.10.57 pm

Looking more closely, I realised it was not only the image of the nebula; it was also reflecting other things I had recently accessed on my computer - there was my personal wiki on another browser window and some processing code I was looking at in a text editor! There were also glimpses of a generative snowflake I was coding up in openSCAD, turned blue instead of yellow.

Screen Shot 2014-12-03 at 2.04.07 pm

Screen Shot 2014-12-03 at 1.15.13 pm

Screen Shot 2014-12-03 at 1.12.13 pm

Screen Shot 2014-12-03 at 1.13.03 pm

Screen Shot 2014-12-03 at 1.14.16 pm

Congratulations to my mac and meshmixer for producing its own imaginative rendering of the 5th dimension before I could do so myself. I guess I'll have to catch up with it by producing my own visualisations...

Autodidactism, The Totality of Being, and Hollow Plastic Shells.

Screen Shot 2014-12-02 at 2.38.35 pm
Meshmixer Experiment (Hollow Pink Scooped Out Shell)

Georges Bataille in The Object of Desire is the Universe, or the Totality of Being (The Accursed Share II) writes:
“The intellect fails, in fact, in that with its first impulse it abstracts, separating the objects of reflection from the concrete totality of the real. It constructs, under the name of science, a world of abstract science, copied from the things of the profane world, a partial world dominated by utility. Nothing is stranger, once we have surpassed it, than this world of the intellect where each thing must answer the question "what is the use of that?" We then realise that the mental process of abstraction never gets out of a cycle in which one thing is related to another, for which the first is useful; the other thing in turn must be useful...for something else. The scythe is there for the harvest, the harvest for food, the food for labour, the labour for the factory where scythes are made. If, beyond the labour necessary for the manufacture of as many new scythes as are needed to replace the old ones, there is a surplus, its utility is defined in advance: it will serve to improve the standard of living. Nowhere do we find a totality that is an end in itself, that is meaningful as such, that doesn't need to justify itself by pleading its usefulness for some other thing. We escape this empty and sterile movement, this sum of objects and abstract functions that is the world of the intellect, only by entering a very different world where objects are on the same plane as the subject, where they form, together with the subject, a sovereign totality which is not divided by any abstraction and is commensurate with the entire universe.”
Recently, someone asked me why I make “work” and the phrase that instantly sprung to mind was “totality of being”. Like Bataille writes, the object of my desire is the totality of being. What I understand is that the utility or use-value of an object or an action is often taken to provide meaning or its raison d’etre, but this exists in an absurdly endless deferral of utility; of an action or object deriving its meaning from being useful to someone or something else. As Bataille points out in many of his writings, this could end in two ways: one could be that there could be an infinite cycle of deferral to the point where every single thing (which relies on something else for meaning) actually has no meaning at the end; or that the point is that there must be a “true end” – something with no use-value in itself. Therefore the only way to escape this cycle of abstraction is to look to a state of totality with the entire universe. A totality of knowledge of the universe.

From a book I picked up at the Sussex Mineral Show. This year I wanted to restart the Royal Amateur Expedition Society for the benefit of all the amateur geologists, amateur archaeologists, amateur rock collectors - anythings. Collecting Rocks and Minerals are a good example. What use is it to start a rock collection, or to be able to identify and organise a vast collection of minerals?

Is "endless" autodidactism or the acquisition of knowledge something with no use-value in itself? I think the purest reason for learning is for learning's sake; for sheer curiosity; to remain in a state of mystery - to not find a use for the knowledge one is about to gain (at least not yet); therefore to me the more obscure, technical, or specialist "anorak" fields are of most interest - even or especially if at present I don't have any reason for making use of the knowledge I have or will acquire. In an urban life (and I know no other way of life), there is no need to learn or understand "everything" as many systems and workings of things are rendered opaque or intentionally occluded from the end-user. We do not need to understand power/electrical systems, lighting systems, HVAC systems (heating, ventilation, and air conditioning), fire alarms, plumbing systems, lifts, elevators, security systems - in order to work or live in a place with all of the following. Specialisation apparently frees us up to focus on other things, but at the expense of a rich, full understanding of how the world works. But how much of this is abstraction - or perhaps even a misreading...?

I have always thought of autodidactism as something that exists between production and consumption; I have to be a voracious consumer of information, data, or technology before I have the sufficient fundamentals to launch off and produce new observations, connections and predictions. I often wonder if the data collection and information gathering can be considered of no use-value in itself and the process of producing something useful out of the data is infact the ability to discard or 'sacrifice' data. Meaning and value then is gained from being able to throw away most of the data collected, insofar as a poem is a text with most of the words removed/sacrificed. The sign (data) is fixed in its function in having to transmit to us practical information that is turned to knowledge; but I think of the sign itself like a ridiculous, weird plastic scooped out shell to be discarded once its function is fulfilled. Why does the wrapper or the shell even remain behind? It is such a terrible distraction!

In speculation, reverse engineering or creating an artificial universe, its the other way around. You start with the knowledge that the sign ought to have transmitted. And that is where I find that the forms I have found for expressing the story is thus far inadequate. And ridiculously, I seem to instinctively turn to writing to find a clue for the visual form. At its most fundamental level, to me, the act of writing is similar to arranging a collection of items on a shelf and imbuing them with systems of enumeration - systems by which knowledge can be organised. Names and description - like ridiculous plastic vac-forms sucked over objects.

lump20141109_131146_Green Lanes_1024

Climbing rocks. What a ridiculous sport. Look at this ridiculous rock climbing grip, presumably cast in something like resin. A plastic form cast over a rock-shaped object, or sculpted to look a bit like one, or at very least a cartoon-shaped rock I suppose. The other day we accidentally went to the climbing centre to have breakfast. Accidentally! I have never been to a climbing centre but I will go anywhere and do anything at least once. I bumped into my friend James there, and he asked me if I was climbing that day. "NO! I HATE CLIMBING!" I instinctively said, a little too forcefully. Poor James was confused. "What are you doing at the climbing centre then?" At that moment I realised that I did hate climbing. (It was a meeting that should never have happened)



At The Castle I discovered that everything from rock climbing routes - to even the ropes are given elaborate, seemingly euphemistic names by unknown climbers that have come before you. I don't know, I guess climbers have a long time to think about it as they meditatively ascend to the artificially constructed indoor climbing peaks. I was simultaneously attracted and repulsed by the notion of allowing the person (who thinks they had first ascent) the right to give a rock climbing route a name of their choosing that may or may not have any direct relation to the route or location. There was such opportunity to choose a great name, but there was also the possibility of granting it a name that sounded more like a nasty piece of schoolboy doggerel gone way past its season.

20141109_131723_Green Lanes

Assuming one derives joy from climbing, if we were climbing for the joy of climbing up a vertical surface; if it were like being in a playground, then I too could understand it. But I was finding the ridiculous (and sometimes distractingly bright) rock climbing grips with their names, the panoply of complicated and expensive climbing gear with fancy aspiration names, and reams of books of techniques for conquering them all too heavy-handed and artificial. Who invented this whole industry of climbing? Who invented the shapes that are used on today's rock climbing grips? If we want to climb rocks, then let's go climb some real rocks! Let's stop messing about with these plastic shapes.

Failed Mobius Strip. 3d printed with Ultimaker 2. Used a brim and supports but the awkward angling meant it was still not enough support, patently.

Unfortunately, ironically, at the moment I seem to be buried under an unruly pile of hollow plastic shells of my own making. But slowly I am digging myself out of this pile of inconsequential prims, shapes and rubble...

I almost separated this post into a new blog but I've finally decided to compile everything into this page.

Tuesday, 2 December 2014

BVH Motion Editor and Capture

How are motions and dance animations replicated in applications like Second Life? I have wondered this for some time but never actually attempted to create one. So I spent half a pomodoro trying to see if I could copy parts of Infinite's Chaser dance into a BVH file. The simpliest answer is that simple applications like Avimator, now superceded by qAvimator, allow you to create avm files, which can be exported as bvh files for importing to Second Life.

Screen Shot 2014-12-02 at 11.39.35 am

Screen Shot 2014-12-02 at 11.40.14 am

Screen Shot 2014-12-02 at 11.40.27 am

Screen Shot 2014-12-02 at 11.40.39 am

Screen Shot 2014-12-02 at 11.41.03 am

Screen Shot 2014-12-02 at 11.41.01 am

Screen Shot 2014-12-02 at 11.41.36 am

Screen Shot 2014-12-02 at 11.42.12 am

BVH stands for Biovision Hierarchy and the first half of a BVH file contains the skeleton hierarchy information, the second half is motion data.

Screen Shot 2014-12-02 at 12.07.42 pm

Screen Shot 2014-12-02 at 12.07.54 pm

Conclusion of this half pomodoro? Well, it works, but this is a silly way of editing BVH dance motions (like poking out individual midi notes on a screen or handtyping out a svg file) when you can obviously do motion capture with something like kinect in this day and age and generate a BVH from it. But at least now I know how a BVH file is composed! When I have more time to waste I should like to try out Brekel's Kinect 3D Scanner or another of those mocap applications.

Perhaps the reason why the question came so strongly to mind was because I've been thinking about the human body as performance recently...

Monday, 1 December 2014

Dog Sense: People Standing in Unexpected Places in a park

20141114_132853_Broad Walk

20141114_133004_Broad Walk

I was walking around Hyde Park looking for galls the other day - it was in fact very successful as there were endless spangle galls to be found! - and then I suddenly stopped under a big tree when I saw this little guy walking around.


So, I was standing in a random location under a tree looking at this squirrel - when from afar I heard some barking getting louder and louder. Eventually, a small dog had bounded up to me from out of nowhere barking as menacingly as he could, followed by the distant calls of his owner screaming BUSTER! BUSTER! BUSTER! Although I hadn't even moved an inch, Buster seemed to be very upset at me standing under this tree deep inside Hyde Park, far off the walking path. Buster's owner kept apologising, explaining to me: "He seems to get upset about people standing still in unexpected places, but I don't know why". Buster would not leave or back down until his owner physically came between us and pushed him away. At that point Buster leapt off and ran barking at another tree not far away from where we were.

At first it seemed he had moved on, but then when I looked a little more closely, I realised that he had simply found a new target! Just a stone's throw away, there was actually another lady standing stock-still in the middle of nowhere by another tree! This seemed almost comical as I had assumed that I was the only one standing around there staring at a random tree, yet there she was, another lady standing in the middle of nowhere staring at another random tree? Buster with his amazing dog senses had sussed out yet another person standing in an unexpected place! What sort of evolutionary function could this have? I'm not entirely sure, but good job Buster! And his owner followed in a panic trying to separate him from all the strange ladies standing under trees in Hyde Park.

20141114_132751_Broad Walk

There might be a lady hiding in this picture. (Or not)

The Mysterious Bus 52 Tunnel

One day I was leaving college to eat lunch in Euston, so at 12.15pm I boarded the Bus 52 going towards Victoria. This was not my favoured route (or the shortest route possible to Euston) but I just got on the 52 because it was the first bus to arrive opposite RCA, by the side of Hyde Park.

20141113_123016_Apsley Way

There were a few people seated on the bus near the front of the upstairs deck, and I went behind them. Propped up invitingly on an otherwise empty seat was a clipboard; I picked it up and sat on that seat.

20141113_123011_Apsley Way

It looked like a child's clipboard, and he or she had been recording what he or she was seeing on a day out in central London.


I looked at my clock, which said 12.17pm. It seemed as if somewhere between 12 noon and 12.17 the child had inexplicably disappeared, leaving this clipboard behind with one last puzzling entry:

I see a tunnel
I hear me talking


I did check back at 12.30 to see if the entry magically filled in itself but no such magical-paper-interaction-thing occurred. But I can tell you that at 12.30 what happened instead was that I got off Bus 52 at Victoria and tripped over the pavement with the clipboard in hand and it gave me a paper cut. And that was all.

OpenSCAD: transformations, minkowski sum, and lithophanes

This week I've been teaching myself how to use OpenSCAD, a free software which allows one to create 3D CAD models through programming. The syntax is really simple, logical, and surprisingly quick to experiment with - although if you would imagine there is an aesthetic trade-off between producing something super quick to model, render, and print - by default the simple primitives are of a low-poly quality, because this will suffice for most people producing functional household fixes. I find it interesting that by default the aesthetic of most objects printed from OpenSCAD will then automatically have the 'computer aided design' look.

To understand what I mean, here is an example of the same sphere with different overrides. There are actually special variables which can be bumped down to improve the quality = which control the number of facets used to generate all the arcs:

$fa - minimum angle for fragment (min value is 0.01)
$fs - minimum size of a fragment (min value is 0.01)
$fn - number of facets (this overrides the other two when present)


Two other functions for rounding off things are hull() (which effectively gloops things together) and minkowski() (which does a Minkowski sum of two point sets.

Hull produces a convex hull of the objects you put together. Think of it as filling all the concave valleys between objects with a big flat hard-edged squeegee and polyfill.

Minkowski sum is touted as an 'elegant' way of producing rounded corners, if you apparently overlap objects together such as a cylinder and a cube, but its more complex than just that. The Minkowski sum as I understand it can be used to produce the solid sweep of an object in motion. It can also be used to calculate the set of all the possible positions of an object moving within a space. So in terms of it being used in motion planning, if there is an object which needs to find its way around obstacles in a space, the possible space in which an object can move is the minkowski sum of the obstacles + the object itself at origin rotated 180 deg.

Screen Shot 2014-12-01 at 11.22.43 am Screen Shot 2014-12-01 at 11.22.54 am Screen Shot 2014-12-01 at 11.24.15 am

It is indeed a funny, fast way of getting a rounded edge but also potentially CPU intensive as I discovered I needed to drop the number of facets in order to have it process at a reasonable speed. If you use a sphere like in the 3rd example here and change $fn to 30 it may take over 2 hours to compile. So obviously for prototyping you would want to lower the number of facets so you can compile it faster along the way.

Basics transformations:
resize([x, y, z]) { ... };
rotate([x, y, z]) { ... };
translate([x, y, z]) { ... }
mirror( [x, y, z] ) { ... }
minkowski() { ... }
hull() { ... }

Using OpenSCAD to model functional household mods

OpenSCAD is perfect for producing simple household fixes in CAD. Here is an example of a Vileda mop head clothes pole adaptor which I made to hoist up clothing to a curtain rail. I used a vernier caliper to measure the pole and produced a few iterations to find the precise fit/size; the final print is meant to "snap" into place into the Vileda pole.

Screen Shot 2014-12-01 at 10.02.10 am


(1) i realised i shouldn't have printed it on a raft, it does not need to be printed with any support/brim/raft really; (2) i made the prongs too small; (3) prongs are the right size now, but in an attempt to make it fit better, i reduced the bottom by 0.5mm but that was too much...


On Thingiverse: Vileda Mop Adaptor - Clothes pole
Functional household mod - ACHIEVEMENT UNLOCKED?


I wanted to understand what might be a good way to produce a lithophane or in OpenSCAD. There was a function "surface" which could use a heightmap (image in dat format). Not surprisingly this is already well-trodden territory but I didn't want to just use the thingiverse customiser to produce it without understanding it first, so here is my understanding of how it can be produced in OpenSCAD (following the method used in iamwil's embossanova library)

Screen Shot 2014-11-30 at 6.19.47 pm

  • Started with a fetching image of George which I made into a PNG
  • Install Xcode
  • Install homebrew
  • Install Imagemagick (in terminal > brew install imagemagick)
  • Use Imagemagick to convert your image to raw grayscale (eg: in terminal > convert george_gray.png -type Grayscale -negate -depth 8 gray:george_gray.raw)
  • Use ruby to convert your raw file into a dat file (i used iamwil's raw2dat example)

# raw2dat.rb from
width = 300 # => width of resized raw image
str = File.binread('george_gray.raw')
pixels = str.unpack("C*")'george_gray.dat', 'w') do |f|
  pixels.each_with_index do |pixel, idx|
    if ((idx + 1) % width) == 0
      f.write(" ")

Screen Shot 2014-12-01 at 9.09.25 am

Every pixel in this image is then turned into a number representing the pixel's grayscale colour. So for an image of 100x100, there will be 100 numbers in each row, and 100 rows. It therefore forms a sort of terrain or heightmap that we can use in OpenSCAD.

scale([1, 1, 1/100]) 
surface(file = "george_gray.dat", center = true, invert = true, convexity = 5);

Screen Shot 2014-11-30 at 6.19.55 pm

Screen Shot 2014-11-30 at 6.20.12 pm

In summary... this seems like an interesting or easy way to generate 3d printed terrains. I imagine you could put in a terrain or topo map for some place and print a 3d terrain out of it. The only problem is that we don't recognise terrain, so some of its visual impact is lost; whilst George's face is recognisable from afar and interesting to use (human faces in particular), a naturalistic terrain map is not going to be recognisable or understood in the same way. I'd imagine the only fun part in printing a 3d terrain would be the punctum of confronting someone with a 3d printed model and screaming at them THIS IS THE SURFACE OF THE MOON, NOW IMAGINE YOURSELF AS AN INCONSEQUENTIALLY TINY 0.01MM DUST MITE LIVING ON THIS SLICE OF THE MOON!

PS: the above lithophane of George's face obviously has too many facets and will take a bazillion boring years to render. So please posterise the faces of your loved ones before turning them into lithophanes.

Sunday, 9 November 2014

Meshmixer Experiment

Screen Shot 2014-11-09 at 5.11.11 pm

Screen Shot 2014-11-09 at 5.55.35 pm

Began with a simple head model on thingiverse and then experimented with Meshmixer’s primitive sculpy tools for one pomodoro. This is basically like the iPad application - fun for a while but wildly inaccurate. The white line in the first image is the line of symmetry when “drawing”; your “drawing” will be mirrored on both sides. I found that it was better to add bits and small lumps one at a time (a bit like how one would model in wax with small fingertip-sized lumps to be slowly worked in) and finally just using BubbleSmooth to go over the lumpy bits.

Screen Shot 2014-11-09 at 6.12.38 pm

Sent it to print at a speed of 80mm/s. On hindsight this was too fast. Would set the print speed lower to around 40mm/s or 50mm/s for a small print like this in future...


Support structure didn’t stick well to build plate. Nevertheless I didn’t cancel print since I realised it would probably still complete the print. Do note a bit of “elephant’s foot” on the first layer as well.

20141109_195739_W Bank

20141109_200454_W Bank

Completed Georgehead. Overhang was quite messy due to part of support structure detaching from build plate quite early on in the print. Nevertheless I think it benefitted from the support structure. Might use a different slicer next time around to see if the support structure is done better for the same model.

20141109_201515_W Bank

For comparison with the real Georgehead...

See also:
Georgehead on Thingiverse
My previous attempt at making a Georgehead in modelling wax at a Facial Reconstruction Class