Anti-crénelage avec LEGO

mardi 22 juin 2010
par  Didier ENJARY
popularité : 6%

Cet article est une adaptation d’un article en anglais paru initialement sur BrickPlayer.

Toutes mes mosaïques LEGO précédentes appartiennent à l’une de ces deux catégories. D’abord, il y a les mosaïques du type photo-réaliste comme celles de mes aînés, ou de mon benjamin. Ensuite, il y a celles du type "à-plats" comme la mosaïque "Danny Phantom", ou la mosaïque du logo de Starbucks.

A partir de ce jour, apparaît une autre catégorie, celle des mosaïques à-plats avec anti-crénelage.

Dans la vie, je suis développeur informatique. Cependant, pour le plaisir, j’ai commencé récemment à m’amuser avec la programmation sur iPhone. Ce passe-temps m’a fait découvrir le concept de graphisme lissé. De manière simpliste, l’anti-crénelage (AC) consiste à employer des couleurs plus claires (ou sombres) afin de lisser les transitions dans les zones de variations brusques de couleurs. Les briques LEGO sont un bon moyen d’illustrer cette technique.

JPEG - 5.2 ko

JPEG - 4.5 ko

Ci-dessus deux illustrations de mosaïques LEGO avec et sans AC. La ligne bleue du milieu laisse moins apparaître l’effet d’escalier et le cercle vert et la lettre "A" de droite semblent aussi être plus lisses que ceux de gauche. J’ai intentionnellement montré ces images en taille réduite car la démonstration de l’avantage de l’AC passe par un mélange visuel des pixels.

Les briques LEGO sont disponibles dans de nombreuses couleurs, et par conséquent, la plupart sont disponibles dans au moins deux nuances, ce qui est nécessaire à l’AC. En utilisant une nuance plus claire au bon endroit, l’apparence est, à distance, visuellement lissée.

JPEG - 29.2 ko

Ci-dessus un agrandissement d’une partie de la ligne bleue. L’image de droite a été lissée par l’addition de briques bleu clair. Si l’arrière-plan était d’une autre couleur, les briques supplémentaires devraient être d’une autre couleur. La couleur doit être choisie entre les couleurs présentes de chaque côté de la transition.

JPEG - 92.4 ko

Ci-dessus un agrandissement de la balle verte et du A. De la même manière que dans l’exemple précédent, des briques vert clair et grise ont été ajouté (et à certains endroits ont remplacé des briques plus sombres).

Cette technique peut être employée sur l’ensemble d’une grande mosaïque pour créer l’apparence du lissage, particulièrement vu de loin.

Nous venons de voir des exemples simples d’anti-crénelage (AC) avec des LEGO. Attachons nous maintenant à déterminer quelle teinte choisir dans une mosaïque, qu’elle soit standard ou lissée.

PNG - 18.1 ko

Sur l’image ci-dessus, la ligne rouge délimite les contours de la lettre A que nous allons construire en mosaïque LEGO. LA première étape consiste à superposer une grille à la taille désirée sur le contour. Plus la grille est fine, plus le résultat sera précis, mais plus grand le nombre de briques nécessaires sera (ainsi que le temps et les efforts). Pour cet exemple, le A est placé dans une grille de 9 par 11.

Pour construire une mosaïque en noir et blanc seulement, la règle veux que si 50% ou plus d’un carré de la grille est noirci, alors la brique doit être noire, sinon, elle doit être blanche. En suivant cette règle, la mosaïque qui en résulte est celle ci-dessous.

PNG - 67.3 ko

Pour construire une mosaïque en noir et blanc avec une couleur additionnelle (gris) pour le lissage, les règles sont celles-ci. Si moins de 33% d’un carré de la grille est noirci alors la brique est blanche. Si de 33% à 67% du carré est couvert, alors la brique est grise. Si plus de 67% de la surface d’un carré est recouverte alors la brique est noire. En suivant ces règles, la mosaïque obtenue est celle ci-dessous.

PNG - 68.8 ko

Le même processus fonctionne avec d’autres couleurs pour le fond et la forme, tant qu’on utilise des briques de couleur intermédiaire pour le lissage. Les exemples précédents utilisent respectivement du bleu clair et du vert clair pour lisser des mosaïques bleues et vertes sur un fond blanc. Les couleurs LEGO effectivement produites limitent les possibilités. De plus, les coloris exotiques sont aussi plus chers et limitent vos choix, surtout pour des projets d’ampleur.

Parmi d’autres, voici des méthodes pour améliorer ou affiner l’anti-crénelage :
- Utilisez plus de couleurs. Par exemple, si deux couleurs intermédiaires sont employées, les règles peuvent être ajustées pour créer quatre niveaux (< 25%, entre 25% et 50%, entre 50% et 75%, > %75).
- Ajustez les niveaux pour les nuances qui ne sont pas exactement intermédiaires. Par exemple, si le gris est plus foncé que le mi-chemin entre le blanc et le noir, alors les pourcentages concernant le gris pourraient être remontés pour compenser. Par exemple < 50%, entre 50% et %80, >%80.
- Utilisez, pour plusieurs briques proches qui sont justes au dessus ou au dessous d’un niveau, la couleur de l’autre côté de la limite. Cela évitera d’avoir des zones trop claires ou trop sombres.
- Effectuez plusieurs essais pour évaluer le lissage. Faites les additions et changements de couleurs de manières progressives et comparer les résultats. Je recommande de faire ce type d’évaluation à l’aide d’un logiciel de dessin sur un ordinateur car c’est plus rapide que de le faire avec de vraies briques.

Ce sont quelques idées. Il y a des livres et des sites internet qui détaillent les algorithmes d’anti-crénelage en image de synthèse.

Pour cet article, j’ai utilisé un partagiciel, paint.net, afin de créer les images pour les petites mosaïques. Paint.net dispose d’un outil de lissage dont ne dispose pas des logiciels plus simples comme MS Paint. J’ai utilisé un affichage zoomé à 800% ou 1200% avec la fonction grille active.

PNG - 18 ko

Ci-dessus une copie d’écran de Paint.net qui montre l’anti-crénelage (avec bien plus de nuances de gris que le permet LEGO). Comme je n’ai utilisé qu’une couleur intermédiaire, j’ai visuellement fait la concordance du spectre de gris sur mes trois couleurs. J’ai aussi ajusté par symétrie et fait quelques essais pour arriver à un résultat duquel j’étais satisfait.


Commentaires  (fermé)

Logo de Nico71
vendredi 2 juillet 2010 à 18h20 - par  Nico71

Intéressant et technique, bon boulot ;)

Ça marche aussi avec des briques qu’on peut subdiviser en 3 plates ? Les équations risquent d’être plus compliqué, à moins qu’il y ai de la documentation disponible ?

Logo de Guss
jeudi 24 juin 2010 à 18h58 - par  Guss

Très sympa comme article didier, j’ai jamais fais de mosaïque mais je voulais me lancer dans une mini-mosaïque sur un pan d’un moc plus gros, je pense que j’y inclurais de antialiasing, j’avais jamais pensé en faire en Lego ^^

Brèves

23 avril 2013 - Interview FreeLUG sur BrickPirate

A l’occasion de nos 10 ans, le forum BrickPirate a souhaité nous poser quelques questions pour (...)

30 janvier 2013 - Voeux 2013

Bonjour à tous, Je souhaite tout d’abord adresser mes meilleurs voeux à toutes et tous pour cette (...)

6 janvier 2012 - LEGO partenaire de l’opération Pièces Jaunes 2012

Vous connaissez tous l’opération Pièces Jaunes, une opération de collecte d’argent pour améliorer (...)

15 décembre 2011 - Renouvellement des cotisations pour 2012

La campagne de renouvellement des cotisations pour l’année 2012 est lancée ! Mais à quoi sert la (...)

19 juillet 2011 - RailBricks 9

Avec quelques jours de retard le N°9 du magazine RailBricks est sorti. Vous pouvez le (...)