samedi 12 août 2006

CD-ROM labels

   In 2002-02, I did some drawing for Laurent (my associate), who wanted decoration for a CD-ROM and its box which were part of a contract deliverables. Laurent liked the above images, and the customer too, probably more because the artwork thematic fits the project well, than for its pictorial virtues. I do not overly like it myself, even if I consider that it is not bad for a first try.

To create the above pictures, I had to learn a lot in a short amount of time, and despite the pressure, it has been rather fun. The goal for this page is mainly for sharing technical tips, and maybe some pleasure! The main tools for building image components have been Sced, POVray, Python, Skencil and Gimp, all discussed below.

Vectors for 2-D images


Skencil


Skencil (but really Sketch at the time, the name change did not occur yet) allowed me to redraw a few scanned logos that I wanted in the CD box montage, in such a way that they could be scaled at will without fearing any loss of precision. The idea was to import the scanned image in Skencil background, much scaled, and redraw the fuzzy boundaries with precise contours.

Freetype


For making the numerous needed lettering, I decided for Freetype, which is able, among other things, to generate high-quality alpha channels with the produced images. Here as well, I wanted to produce each letter in its final resolution and position, and so, with proper scaling, rotation and translation, from the start. Considering Freetype does all its computations in 64'th of a pixel, you mess everything if you do it differently (that is, trying to scale or rotate later in the process). I found PyFT, which is a Freetype wrapper for Python: it greatly sped up my work for organising higher level bundling and justification of text in tables, bending planned text along curves, and other special effects.

Pixels for 2-D images


PIL


To get quality, I wanted to generate all pixel images in their final print resolution and position, and to do so, built a few empty templates, both to adjust the printer geometry, and to produce containers for actual images. Skencil was not well suited for this, and after a few tries, I saw that Gimp was not really better, it would just take me forever in practice. For a few days, I pondered using Metapost, which is clever in those things, but feeling I do not grasp all unit conversions well enough, and seeing I cannot escape programming anyway, I rather learned the Python Imaging Library, and used it. This was really the perfect tool in this case.

Gimp


Gimp combined everything together. My main surprise was to discover that to be usable at printer resolution, Gimp needs a fast machine having a lot of central memory (my initial trials and study at Web/screen resolution could use almost any machine available to me, without much problems). Some Gimp operations crashed Linux kernels, I had to learn avoiding them. Another thing is that, despite the user interface is handy and appealing, I underestimated the time it takes to get acquainted with Gimp operations, as there is a distance between theory and practice. One has to concentrate on alpha channel handling, and unveil some of all the Gimp magic around it.

Once climbed the above obstacles, I mainly used Gimp to mix injection and transparency of all components. But Gimp has also been useful in many other tasks. It enhanced colours for POVray output (stressing refraction artifacts), produced false perspectives, fuzzied shadows for lettering. It added some depth effects to logos, distorted them, added simulated Gouraud, etc. All in all, I found it to be a wonderful and versatile tool.

Vectors for 3-D images


Sced


To produce some basic artwork, Sced built a 3d representation of our BPI logo with a mathematical precision, as it finds various coordinates by resolving constraints put between surfaces, axis and vertices. It was also used to input light model parameters for various objects transmitted to POVray, which is a ray tracer that did the rendering. With some simple trickery, I got Sced to trigger POVray previews in mosaic mode, yielding fast feedback while selecting those parameters.

mercredi 2 août 2006

Bof!

 This photo was taken by Réjean Payette at the door of his own house, and he later used it as a screen background for a good while. It is a nice and soft picture, indeed!

Having many English correspondents, and because English and French have many words in common, I sometimes use French words in my texts which I wrongly thought were English as well. When I used Bof! for stressing that I felt indifferent to a particular matter, my correspondent asked me to explain the meaning of that word. Good question! ☺

I would translate Bof! by something like Who cares!, but even more passive. That word conveys the feeling of giving in, of an abandon, combined with a kind of obsolescent sadness. This is why, even if it was never meant like this, I always found a bit humorous the BOF acronym, at Usenix, as a short for Birds Of a Feather meetings.

About 15 years ago, Université de Montréal (UdeM) was making a great deal of television publicity to recruit students. In these commercials, where people had to explain why they selected this particular university, the common cut line was Parce que c'est l'Université de Montréal, that is, roughly translated: Because!. For one, I found this set of commercials a bit insignificant and pretentious. In a kind of reaction to this publicity, the TV daily News people drove interviews on the streets, nearby UdeM, asking students why they chose UdeM; and later broadcast a selection of representative answers. With surprise, I saw one of my former college fellows (nicknamed Dennis), who was not know to us as particularly fond on studies. To the reporter question, he merely replying an heavy, elongated, convincing Bwof!. Quite spectacular on television!