Blender 3D printed Suzanne model

Hot smokes, it’s been two months. Hopefully a monkey head will fix it!

Blender suzanne 3d printer

It’s Suzanne, Blender‘s mascot monkey 3D printed with a Makerbot. It’s about 45x40x50mm from a 3mm black plastic spool, and sits on your desk on on your keyboard staring at you with its docile eyes.

It’s a little lumpy, mainly due to the capabilities of the printer, but a little bit more planning could’ve improved it a little – as seen below:

blender suzanne 3d print

You can see where the scaffolding was attached as well as where plastic dripped down, causing some unevenness in the layering.

For the technically-inclined, the model was exported to obj, then re-exported to stl in Rhino (because Blender’s stl is broken), and then the rest is standard as documented here.


One project finishes construction, another starts.

Blog posts are getting a little r- wait a minute- oh, there haven’t been many blog posts! This of course doesn’t mean I’ve been lounging around doing nothing, but probably means I’m doing more since I’m not clearing out the random gunk that accumulates in that little hole in my brain.

Anyways, firstly the project that has recently been “finished” (well, technically I’m still waiting for a little bit here and there to fill up the rest of the pages – but the bulk is done anyway), is the grand web-portfolio of Erik Kylen. The web system is using Kohana of course, and behind the scenes there is a very simple administrator panel to CRUD portfolio items.


p align=”center”>

Also, after so many empty sentences saying I will get back to The ThoughtScore Project, I finally have. A lovely bonus is that this time the update includes both a riveting storyline update as well as pretty pictures (or I think they are pretty anyways).


p align=”center”>

More awesome in the oven. Temperature set on high. Very high.


The GIMP metal wires and abstract background tutorial.

Every WIPUP release, an abstract art splash image is created to commemorate it. Whenever I create one of these my preferred tool of choice is The GIMP. Although in many ways The GIMP isn’t as "powerful" as Photoshop, I still manage to do stuff I’d like to do with it. My recent splash image used a few tricks that I will share here which may be useful to others. Before we begin, this is the thing we’re going to learn how to create:

The first step is the wires. Let’s start with a black background and white foreground. Create a curved line via the pen tool, select a circle brush of a nice thick size, Edit->Stroke Path, Stroke with a Paint Tool (Paintbrush, do not emulate brush dynamics), and we’d end up with something like this.

Duplicate this layer, because we’d need this shape twice – once for the segments of the wire, and another time for the wire itself that joins the segments together. The next step is to cut out the segments. Create a white rectangle which covers the height of a single segment in a new layer, duplicate the layer and move it down. Keep on doing this until you have filled the entire screen. To make it faster you can merge layers together then duplicate the merged layer. Here is an image to show what I mean:

When done, merge all of the horizontal stripes into a single layer, right click on the layer -> Alpha to selection, select one of your wire layers, invert the selection (ctrl-I) and press delete. You may now delete the horizontal stripes layer. Here’s what you should end up with:

The next step is to create the metal gradient on the wire. Duplicate your segments layer twice. So we will have three layers in total – segments, copy 1, and copy 2. Invert the original segments layer to make it black (it will be invisible against the black background, so I have made the background grey in my next picture). Gaussian blur copy1 and copy2. Gaussian blur (Filters->Blur->Gaussian Blur) one more than the other in order to set the light direction. The benefit of doing this rather than simply stroking with a gradient brush is that you can slightly shear the gaussian blurred layers to create a less uniform gradient, and thus more realistic gradient. Then move copy2 to the right, and copy1 to the left. Use the left and right arrow keys. We will end up with something like this (zoomed in and cropped):

Right click on your black original segments layer (underneath), and do Alpha to selection. Invert the selection, select copy1, and delete. Then select copy2, and delete as well, this wil give us our gradient as shown:

Now let’s go back to our very first white stroked layer (seen in the first screenshot). Right click on the layer -> Alpha to selection, then Select->Shrink, perhaps by 3 pixels, invert the selection, and delete. Here’s what we get:

Now repeat the steps above to create the gradient. Use less gaussian blur though as this wire is thinner. When done, we’ve made our wire. Duplicate it and reposition it as you like.

Use the same technique to create the smaller wires underneath, but when creating the gradients for those, perhaps only blur it by 1px. To quickly and easily make many variations of wires (for the smaller ones) you can use Filter->Distort->Ripple. Use a high period, and a low amplitude. Use the sine wavetype. Keep on duplicating them and you’ll end up with something like this:

The next step is to add lighting. There are several techniques to do this and unfortunately pictures don’t really show much so reading through carefully is recommended.

The first step is to decide where you want your lightsource to come from. Merge your smaller wires into a couple layers, and go into Filter->Light and Shadow->Lighting Effects. In the Light tab, create a point or directional light (if you want more dramatic lighting) and place it where your light source is. Don’t make the intensity too high or place it too close, otherwise you’ll end up with a completely white wire. Don’t forget, these smaller wires are underneath. Play around with the lighting effects section, but not too much. This should just be a minor lighting effect.

The next technique is to add a dropshadow to the upper two segmented wires. Merge each wire into a single layer, Alpha to Selection, create a new layer, and fill it with solid black. Gaussian blur it, move the layer below, and tada, you have a shadow. use the perspective tool slightly to give the shadow more realism as though the wire is moving towards and away from you. This is a very easy and precise way to make shadows for any purpose and sure beats the dropshadow plugin which IMO sucks. Notice how my two wires tangle, so make sure you delete the shadow where necessary (alpha-to-selection, delete).

Another extremely useful technique is to create a new layer, set the mode to overlay, and then use a large, fuzzy circle brush with black and brush over darker areas. Use a white brush for the highlights (remember to use this where you put your first lightsource). Start with a large brush, then slowly move towards smaller size brushes, especially when one wire tangles over another. This should be your main tool to create lighting and shadows.

For the thin wires, you might want to give it a sharp lighting. Just alpha to selection, create a new layer, and fill it in with black. Offset it to the left or right (depending on your lightsource) a few pixels (with the arrow key). Sometimes you don’t even need to gaussian blur this. This will create a very sharp shadow, similar to an emboss or embed effect.

Finally, create layer masks (right click on layer->add layer mask) on strategic layers (or on wires that cut abruptly), use a soft fuzzy circle brush to fade them out nicely. Careful not to use these on the top two main wires otherwise it’ll look very unrealistic. Use black fade-to-transparent linear gradients at the top and bottom of 70% opacity to allow them to fade out slightly.

After all of this, here’s a possible outcome – but you’d have to really use your artistic sense at this point:

Well, the next step is to create the background. This is actually quite easy. Just create a linear gradient from one colour to another (I chose sky blue and pastel green), from the bottom to the top. Then do Filters->Render->Nature->Flame. In the Rendering tab, increase the brightness slightly, as too bright will make it too sharp. Your results will vary, so keep on trying gradients until you get one you like. In the Camera tab, change the zoom and X and Y values until it focuses on an area which you like. Render it, and do a few more until the entire screen is covered. Here’s what you might end up with:

Duplicate the flame layers and set the layer mode to Screen. This’ll give you a nice soft glow. You might notice that it clashes too much with the wires. So create a new layer, set to mode Overlay, and use a big black fuzzy circle brush to brush underneath the wires. This’ll give a nice "shadow". Here’s what you end up with:

Now let’s add some sparkly stuff. It might be good to add them where you wanted your light source to be. Choose a soft white fuzzy circle brush, select "Apply Jitter" in the brush options, and brush over the area. You might need to undo and retry it several times until you get what you like. Change the brush size and brush towards the top and bottom to make it "fade out". To make it more interesting, add a gradient from the top to bottom of any colour you want, and set the layer mode to "Colour". I didn’t like how vivid this colour overlay turned out, so I added a layer mask and used a large jittery brush to make the colour fade out in patches. Here’s what we end up with:

… and that’s pretty much it! I added the WIPUP text as usual. I hope you liked it! Any suggestions would be welcome. You can see the final image featured in the WIPUP release notes here.


Progress on E2 Portfolio was my first ever (proper) website. I’ve recently been in the progress of converting it into a dynamically-updated online portfolio/playground. It pulls results from my WIPUP WIPSpace and displays them in a unique, portfolio-worthy layout. Last weekend I got the opportunity to turn one of my ideas into code – but there are still many things to work out, fix, and implement. Experienced developers would immediately notice two – the usability issue on the "more" button (not many realise you can click it more than once), and the 40×40 thumbnails, which are pretty much useless for actually displaying anything other than a slight splash of colour.

There is a demo hosted on WIPUP, so if you’re interested I would appreciate your comments.

Please note that all thumbnails are currently just placeholders for future thumbnails which will be pulled directly from WIPUP.

Sorry for the lack of blog posts, I have been working on quite a few stuff as well as some real life projects. There will be a minor WIPUP release on the 23rd to bring some polish to the system and to fix bugs.


Evan interpretive score released.

Remember Evan? No, not the guy – the piece. The piece named after the guy. That piano piece. Yeah, the one I composed almost 8 months ago. The one I never announced I had finished composing.

The reason is partly because I didn’t finish composing it. I slapped on a makeshift ending to wrap it up, became utterly disgusted at the formulaic tonic and then slapped on another note right after because that’s what felt right. It was exactly what the piece was about. But was the piece itself finished? In a sense, yes – the main ideas were there – but they were undeveloped little mud puddles that tried to jump from one puddle to the next. All in all – a hard piece to perform.

It’s not hard just because it has a few technical areas and a heavy chordal passage – it’s hard because it rushes the performer into a frenzy. The piece is divided into two clear sections both of what would first seem like distinctly different characters, but further study of the piece’s theme would reveal that they are not – in fact, they are one single, continuous development. In a way, it’s not the change in emotion that makes this piece interesting (though most would easily say that it is), it’s more of the restraint in emotion the performer has to show.

This restraint must be shown to let the various smaller melodies creep through the heavy banging in the middle. Simple dexterity is not enough. The performer has to understand what exactly the hurry is all about – is it an anger? Is it a frustration? Is it simple mischeviousness? One climax after another – or should they be climaxes?

Many of the melodies are admittedly not for the piano. The main theme itself in one such interpretation is much more fit for violin – long, slurred bows with the piano peeking through with light droplets to add contrast. It will end hanging – with a slight yearning, a slight sadness – or another much grander interpretation: a confident, full sound with a nimble backdrop to emphasise its majesty.

The only clearly interpreted section is the last – one of stillness. A slight murmur – a few sharp breaks of light – a heavy, determined, and resolute ending.

So a while back I had to record Evan to send off with my portfolio – obviously having not played it for 8 months and the piano untouched for a while due to other responsibilities, I will readily admit that my playing – and resulting recording, was an abomination. It was crap. An insult. There was a brief section played just right – but the rest was just note after note – a disgusting sequence of sound that didn’t deserve the 5.5 minutes of MP3 I sent off. As a result I’m not going to show the recording here until it’s redone properly.

However the score itself is another matter. As you might’ve garnered from the description above – I didn’t explain the emotion of the piece – not my emotion with it, at least – but I did give suggestions. The score is unmarked and completely interpretive. I invite anybody who wants to to play it – and yes, it is unfinished. It will probably stay that way for a while. I would appreciate any recordings of people playing it!

Click here to download it (second attachment) in PDF format.


Portfolio 2010 Finished.

One of the universities I applied to required a portfolio and so I took some time off to collect some of my works and put it together. Most, if not all of the works included are all created using open-source software (Blender, GIMP, Scribus, QCAD, Lilypond and LAMP setups). Those who track my WIPUP profile might’ve seen it already but because it’s not your regular quick update it deserves a post here.

It’s 27 pages long, inclusive of title page. Comments and kudos are welcome. Go check it out now.


Rigging a machine.

Things have been going absurdly slow lately. No commits to WIPUP. No new ThoughtScore models (though a few more seconds of video have been added). Nothing open-source related (except for trying out the Ubuntu beta1 on a box). Even schoolwork has slowed.

Because I fully emphathise that people with a grip of things wouldn’t give a rat’s ass about my life, I decided to show some pictures of the trouble I’ve been having trying to rig Taras, one of the main characters in The ThoughtScore Project. Here are two statically posed shots of Taras:

The left shows him in his unrigged pose. The pose he was modeled in. The right shows him "looking" down, slightly bent forward with his left arm reaching towards you. Disregarding the fact that the lighting is completely faked (what is that suit reflecting, anyway?), we have two other major problems to deal with.

Problem Number One: His arm was not built to be in that pose. Not was any other part of his anatomy. When standing straight his arms are abnormally squashed in order to look natural in that one pose… and when in a dark environment. In any other scenario you’d see two spindly arms sticking out of a hunk of metal. The way it was designed, his shoulder "ball and socket" joint is more of a "plank of wood stuck on a block of wood" joint. It doesn’t fit nicely like a joint should.

Put simply, all of his joints (legs included) will have to be remodelled in order so that you don’t have gaping holes or bits of the suit intersecting when limbs are moved in their extremeties. Not an easy task.

Problem Number Two: The torso. The torso is made up of several different meshes. Each part fits together nicely in one way and one way only. If you look at the picture, you’ll see that when he leans forward, the upper torso covers the middle torso, which largely remains stationary, the groin panel shifts outwards slightly, and the piping all has to move to accomodate this change and not randomly stick out where it shouldn’t. Think of it like the parts of a steam engine.

Long story short, it’s going to be a PITA to rig that guy just to bend over. Heck, I don’t think you can bend over in a suit like that.

Normally I stubbornly plod down the road of "create first, learn later, fix and redo even later", but this time I think I’d better buy some of Blender’s training DVDs before continuing on ThoughtScore.