Où le chiffre est placé à l'intérieur d'une zone
Le centre d'un croissant n'est pas dans le croissant. Placer une étiquette à l'intérieur d'une forme quelconque est un problème plus difficile qu'il n'y paraît, et le rater ne provoque aucune erreur visible.
C'est un détail qu'on ne remarque que lorsqu'il est mal fait : chaque zone d'un coloriage numéroté porte un petit chiffre, et ce chiffre doit se trouver quelque part. Sur un rond ou un carré, la question ne se pose pas. Sur les formes réelles d'un dessin, elle devient un vrai problème de géométrie, avec une bonne solution et plusieurs mauvaises très tentantes.
La mauvaise solution évidente consiste à prendre le centre de gravité de la zone, c'est-à-dire la moyenne des positions de tous ses pixels. C'est immédiat à calculer et cela marche pour la majorité des formes, ce qui suffit à faire adopter la méthode. Elle échoue exactement là où on ne la surveille pas.
Le centre d'un croissant n'est pas dans le croissant
Prenez un croissant de lune. Ses pixels se répartissent de part et d'autre du creux, et leur moyenne tombe dans le vide, à l'intérieur de la découpe, donc dans la zone voisine. Le chiffre s'affiche alors sur une autre couleur que celle qu'il désigne. Le même piège vaut pour un anneau, dont le centre est le trou, pour un L, dont le centre est dans l'angle rentrant, et pour toute forme en U, en croissant ou en fourche.
Ces formes ne sont pas rares : ce sont précisément celles que produisent les pétales, les arabesques, les mèches de cheveux, les feuillages et les motifs radiés. Dans un coloriage un peu ornemental, elles constituent une part importante des zones. Une méthode qui échoue sur les formes concaves échoue donc sur une bonne partie de l'image.
Le remède ne consiste pas à corriger le centre de gravité, mais à changer de question. Ce que l'on cherche n'est pas le milieu de la forme : c'est le point intérieur le plus éloigné possible de son bord. Ce point est, par construction, à l'intérieur, et c'est aussi celui autour duquel on dispose du plus de place.
Le point le plus au large
La façon la plus simple de le trouver consiste à calculer, pour chaque pixel de la zone, sa distance au contour le plus proche, puis à retenir le pixel dont cette distance est la plus grande. On peut se le représenter comme une érosion : on grignote la forme par les bords, régulièrement, et le dernier morceau à disparaître marque l'endroit recherché. Sur un croissant, ce dernier morceau se situe au milieu de l'arc, ce qui est exactement là où un oeil humain poserait le chiffre.
Ce calcul a un second mérite, moins évident et plus utile. La distance obtenue est le rayon du plus grand cercle qui tient dans la zone, donc une mesure directe de la place disponible. Elle indique du même coup quelle taille de chiffre peut y être écrite, et si un chiffre peut y être écrit du tout. Un même calcul répond à deux questions : où poser l'étiquette, et faut-il en poser une.
- Zone large : le rayon est grand, le chiffre s'écrit confortablement au point trouvé.
- Zone étroite mais allongée : le rayon est faible, il faut réduire le chiffre ou le faire pivoter dans le sens de la forme.
- Zone très petite : aucun chiffre lisible n'y tient, mieux vaut ne rien afficher que superposer un symbole illisible.
- Nombre à deux chiffres : il faut plus de largeur que de hauteur, ce qui exclut certaines zones qu'un chiffre unique aurait acceptées.
Ce que le placement doit encore éviter
Trouver un point à l'intérieur ne suffit pas. Deux zones voisines et fines peuvent chacune avoir un point valide, mais si leurs chiffres se chevauchent à l'écran, aucun des deux n'est lisible. Il faut donc arbitrer entre voisins, ce qui suppose de traiter les zones dans un certain ordre, généralement des plus grandes aux plus petites, et de renoncer aux étiquettes qui n'ont plus la place.
Une étiquette doit aussi rester à distance du trait de contour. Un chiffre collé à la frontière se lit mal, parce que le noir du trait mange le trait du chiffre, et il devient ambigu : on ne sait plus de quelle zone il parle. La marge nécessaire se déduit du même rayon calculé plus haut.
Pourquoi l'erreur passe inaperçue
Ce type de défaut a une caractéristique désagréable : il ne provoque aucun signal. Rien ne plante, aucun message n'apparaît, l'image se charge normalement. Un chiffre mal placé se contente d'être ailleurs, et la seule personne à s'en apercevoir est celle qui colorie, qui pose une couleur au mauvais endroit et croit s'être trompée. Elle attribue au flou de son doigt ce qui vient de l'étiquette.
C'est pour cette raison que le placement est presque toujours calculé une fois pour toutes, en amont, et stocké avec l'image sous la forme de deux coordonnées et d'un rayon par zone. Ce calcul serait trop coûteux à refaire à chaque affichage pour des milliers de zones, et il n'a aucune raison de changer : la forme des zones, elle, ne bouge pas.
Retenir une seule chose de tout ceci : quand un chiffre semble désigner la zone d'à côté, l'hypothèse la plus probable n'est pas une faute d'attention, mais une étiquette posée au mauvais endroit. Agrandir tranche la question en une seconde, puisque les positions s'écartent en même temps que la vue.
Questions fréquentes
Pourquoi certaines zones n'ont-elles aucun chiffre ?
Parce qu'aucun chiffre lisible n'y tiendrait à l'échelle d'affichage courante. Afficher un symbole plus petit que le seuil de lisibilité n'apporte rien et encombre l'image. Ces zones retrouvent en général leur numéro dès qu'on agrandit suffisamment.
Le chiffre peut-il vraiment tomber dans la mauvaise zone ?
Oui, et c'est le défaut classique de la méthode du centre de gravité sur une forme concave. Le centre moyen d'un croissant ou d'un anneau se situe en dehors de la matière, donc chez le voisin. Un placement fondé sur le point le plus éloigné du bord ne peut pas produire cette erreur.
Pourquoi les chiffres bougent-ils quand on zoome ?
Leur position dans l'image ne bouge pas ; c'est leur position à l'écran qui suit l'agrandissement, et l'espace disponible entre voisins augmente. Des étiquettes trop serrées pour être affichées ensemble à petite échelle peuvent réapparaître à grande échelle, ce qui donne l'impression qu'elles se sont déplacées.
Essayer sur une vraie toile
Numbrush est un coloriage par numéros pour adultes : mandalas, rosaces et entrelacs géométriques, douze couleurs par planche, une loupe pour les endroits étroits, et aucune sanction si le doigt tombe à côté. Gratuit, hors ligne, sans publicité ni compte.