This post is a follow-up to the previous post on 3D rendering. I thought I’d made enough progress to warrant a new post. The landscape is still the same, but I’ve now implemented a “patch” renderer, where the ordered set of points in space combine to create square (in the xy-plane) patches. If these are above the sealevel, they are flattened and given a blue colour, whereas if they are above it, they are given a green colour. The base colours are then shaded by a simple light scattering algorithm, based on their (approximate) normals’ orientation with respect to a light source, which in my example follows the camera.

The sea is treated in two different ways, depending on whether the “flattening” is performed before or after the normals are calculated: in the first case, the result is a sea with a fairly uniform blue, whereas in the second case the structure “beneath the surface” shows in the colour of the “waves”. Both versions have their merits, but final judgement will have to be made when I’ve seen how it looks when the camera is closer (the intended view for the eventual game is 12 * 9 patches on screen, while this scene is 64 * 62 patches). For this zoomed out version, I’m inclined towards the flat sea.

Continue Reading »

My friend Pica pica makes animated GIFs as a hobby, and is very good at it. Some examples are her philosophia naturalis studies at Reanimate Objects and the frankly fantastic (and more artistic) works available in the various Calendars at Unknown Incubator (seriously, check them out!). Another friend — Local Minimum — makes games, of late mostly in 3D. I’m not very keen on 3D graphics myself, but I like to fiddle with things, learning and understanding them, and I do like retro-games, so I decided to write a simple 3D-renderer in Python. It was quite fun mathematics, and I’m rather pleased with the first result, which I present as an animated GIF. Since they both inspired me to it (and since I had the data) I decided to visualise the terrain around their mansion as my first example.

The code is available at Gitorious. It is licensed under GPLv3. It uses NumPy heavily for the backend and currently uses MatPlotLib for visualisation. The latter is rather horrible for the task though, and in the future, I’m planning on making a simple shader algorithm and implementing surfaces in PyGame, though I guess in the opposite order to that stated… But, the future is not now, and now I am tired. Therefore, please enjoy the fruits of my endeavours thus far:

Rotating 3D view of landscape based on height data.

Terrain data from western Sweden, visualised using a primitive 3D renderer I made. The area is approximately 128 * 128 m². (CC: BY-NC-SA-2.5-SE)

EDIT: The future is semi-now! I’ve now rendered the same scene using PyGame:

Continue Reading »


Map of an Island

Map of an Island, loosely (by my standards…) based on an island at the southernmost tip of Norway where I spent my summers as a child. (CC: BY-SA-2.5-SE)

The Pica pica challenge continues, this time with the word “Map”. So far enforced creativity works rather well. I decided to go for a classic fantasy-look, since I had recently procured some new calligraphy pens that I wanted to try out  (also, I rather like that kind of map). I’m very pleased with the result, though of course there are things I would like to change or improve.

The map of an is loosely (by my standards…) based on the island Hidra at the southernmost tip of Norway, where I spent my summers as a child. It’s a lovely place, remarkably lush despite the dramatic geology. One of my absolute favourite places in the world. To the North of the island is a narrow strait; on the opposite side from where the small channel dug at the end of the fiord — effectively dividing the island into two islands — is the most beautiful mountain I know.

As usual, thelicence is CC:BY-SA-2.5-SE, so share and enjoy!


"Bandings" Two recently banded Deinonychus sceptically investigate their new adornments.

“Bandings” Two recently banded Deinonychus sceptically investigate their new adornments. (CC: BY-SA-2.5-SE)

This piece is called “Bandings”. It shows two dinosaurs of the genus Deinonychus that have recently been banded (given bandings) for science — a practice used on modern dinosaurs (aka birds) to keep track of their migratory patterns. The picture is an entry into the newly re-instantiated Pica pica challenge, where, based on a semi-random word, me and my friend Pica pica try to create something (text, picture, whatever — anything goes so long as it can be said to be creative) based on that word in a weeks time. It was a quick work (approximately 42 minutes) and I’m not confident at drawing (especially not with colours), but I’m rather pleased with the result.

As usual, thelicence is CC:BY-SA-2.5-SE, so share and enjoy!

[Notice that I have changed from Miss B. to Miss C., for a variety of reasons. The older ones will be renamed at some point as well, but I can't be bothered to do so just now.]

Like most gentlemen my age, I take an interest in rodents. I am, of course, a member of the prestigious Vole Club in Bardshead – two times Acting Secretary or, as it is wittily referred to, ”Head Rat” – and in my youth, I was in a somewhat ”jazzy” little ensemble, alternatively called “The Glires Boys”, “The Rat Pack” or, when ladies were present, “The Gallant Gerbil Quartet”. I even penned a light – some say whimsical – poem on the subject, called “Ode to Rodents, or: Rode to Odents”; it starts thus:

To be a Rodent – oh! what joy!
The dream, I think, of every boy.
Their dreamy little whiskers – bless! –
A-quiver with adventurousness

Continue Reading »

Public Service Announcement:
It is that that time of the year again — the exciting start of the annual celebration of scientific achievements known as the Nobel prize. As usual, there is a confusion regarding the nomenclature, so I thought I would set the record straight: One does not win the Nobel Prize, one is awarded it. To quote from the FAQ of the NobelPrize.org homepage:

Why do you use the word Nobel Laureate and not Nobel Prize Winner?

The awarding of the Nobel Prizes is not a competition or lottery, and therefore there are no winners or losers. Nobel Laureates receive the Nobel Prize in recognition of their achievements in physics, chemistry, physiology or medicine, literature, or peace.

Therefore there are no winners this year, nor have there been any in previous years. There are, however, some well-deserving laureates who deserve recognition for their work.

Three cheers for Science!


Another one from last year’s Pica pica challenge, this time the word was “gulps”. Not much to say about it, except that I am at least semi-fond of it…
Continue Reading »


Get every new post delivered to your Inbox.