#343 – Un peu plus près des étoiles

Eh ben finalement, j’ai réussi à le programmer, ce générateur de polygones réguliers étoilés.

Après avoir publié l’article d’hier je m’en voulais d’avoir abandonné sans aboutir il y a plusieurs mois. J’ai recommencé à chercher de la documentation et des tutoriels avec d’autres mots-clés et bingo. Un tuto sur les polygones réguliers et quelques heures de tâtonnement plus loin, j’ai pu générer mes étoiles sur p5.

Voyez donc les 12 premiers polygones réguliers étoilés, classés de gauche à droite et de haut en bas suivant un nombre de sommets, puis un intervalle entre les sommets reliés, croissants :

Ceux-là je leur ai mis un petit cercle autour. Pour faire joli.

Il s’agissait donc des classiques :

{5/2} {7/2} {7/3}
{8/3} {9/2} {9/4}
{10/3} {11/2} {11/3}
{11/4} {11/5} {12/5}

Mais si ça ne vous suffit pas, voilà les 45 premiers, qui forment des étoiles de 5 à 20 branches. Sans cercle autour. Pour pas faire joli.

Comme je le disais, chacune de ces étoiles a été générée sur p5, et voici les quelques lignes de codes qui vous permettent de les produire, n’avez qu’à copier tout ça ici.

let larg = 500; //largeur de l'image
let haut = larg; //hauteur de l'image

let s = 12; //nombre de sommets du polygone
let p = 5; //nombre de pas (intervalles entre sommets reliés)
let r = larg/2.4; //rayon du cercle sur lequel sont les sommets du polygone
let rc = r*2.3; //rayon du cercle extérieur si utilisé

function setup() { 
  createCanvas(larg, haut);
  noLoop();
}

function draw() {
  background(0); //couleur du fond (0 à 255)
  strokeWeight(2); //épaisseur du trait
  stroke(255); //couleur du trait
  noFill(); //pas de remplissage du polygone
  
  sPolygone(width/2, height/2, s, p, r, PI/-2); //PI/2); si vous voulez mettre la "tête" de l'étoile en bas.
  cercleExt(width/2, height/2); //commentez pour cacher le cercle extérieur
  //save('s_p.png'); //dé-commentez pour sauvegarder l'image générée
}

function sPolygone(x, y, s, p, radius, rotation) {
  beginShape();
  for (let i=0; i<s; i++) {
    vertex (x+cos((p*i)*TAU/s+rotation)*radius, y+sin((p*i)*TAU/s+rotation)*radius);
  }
  endShape(CLOSE);
}

function cercleExt(x, y) {
  beginShape();
    circle(x, y, rc);
  endShape(CLOSE);
}

En passant quelques heures supplémentaires dessus, on peut largement améliorer ce code à tout point de vue. Mais bon, même en l’état, ça vous laisse l’occasion de vous amuser, et le mot n’est pas trop fort, je dis bien vous amuser, à changer les valeurs des variables s et p.

Pour faire court, vous trouvez un polygone régulier étoilé à chaque fois que s et p n’ont pas d’autre facteur commun que 1 ET que p et supérieur ou égal à 2. Par exemple : s = 48 et p = 23 marchent très bien.

Il ne me reste maintenant qu’à trouver comment passer des pixels au vectoriel pour rendre ce générateur vraiment utile. Mais pas toutes les émotions d’un coup. On verra ça plus tard, peut-être.

#342 – Starstickers

Dernière fournée d’étoiles. Après, on reviendra à un peu de blabla. J’écoule les stocks. Pas eu grand chose à dire ces derniers jours. Pas eu trop envie non plus.

Ce truc-là, comme les précédents, a été fait pour Numéro 0. À cette période, je photographiais tous les stickers d’Ixelles. Parallèlement, j’essayais de programmer un générateur de polygones réguliers étoilés sur processing. J’ai pas réussi. Celle-ci est dessinée au pifomètre. Je ne baisse pas les bras, mais mon niveau en maths et en programmation ne me laissent pas grand espoir d’y arriver par moi-même.

Et donc, je me disais, faire un sticker ce serait pas mal. Tentons avec une étoile.

polygone à 11 côtés

étoile à 11 branches

Bon. Voilà. C’était un test. J’estime pas ça assez bon pour en imprimer une centaine. Et puisque je n’arrive pas à programmer un générateur qui me permette de les dessiner proprement en quelques clics, c’était la première et dernière tentative de starsticker.

Dommage, je voulais faire une série, présentant tous les modèles de polygones de 5 à… je ne sais pas 12, 13 côtés peut-être plus. Ça en fait un paquet, en comptant que pour 7, 9, 11 et 13, entre autres, côtés, il y a différentes manières de relier les points entre eux qui donnent différentes étoiles. Par exemple il y a quatre façons de dessiner un tel polygone à 11 côtés :

Cette image est piquée de cette page wikipédia.

Ces polygones ont chacun onze sommets. Selon qu’on en relie 1 sur 2, 1 sur 3, sur 4 ou sur 5, on obtient ces différentes formes.

Enfin bref, pas question que je me tape ce travail sans avoir des étoiles parfaites et rapides à générer.

En bonus (quel bonus ! vous vous dites), les deux versions sur fond transparent, pour les qui aimeraient se les imprimer.

#341 – Speen

Alors alors, oui. Hier il y a eu comme un raté. Je devais vous poster le gif jumeau du précédent. J’ai oublié. Complètement oublié. C’est ça d’avoir des horaires et des jours de travail qui changent toutes les semaines. Finit par ne plus s’y retrouver.

Enfin bon, raté pour raté, le second gif, je ne vais pas l’afficher.

Non, il est trop volumineux. J’ai de la peine pour votre connexion et votre forfait data. 50Mo et quelques. Si vous voulez le voir dans toute sa lourdeur inutile :

CLIQUEZ ICI


#340 – Weeve

Quelques images aujourd’hui. L’une qui bouge. Les autres qui bougent pas.

Comme d’habitude si vous cliquez sur image ça vous l’ouvre dans une nouvelle fenêtre en plus grand. Faudra que je règle ça un de ces jours.

Un de ces jours aussi, faudra que je vous cause des polygones réguliers étoilés. Mais là, je vous avoue que j’ai un peu la flemme.


#335 – Tapixeries

Aujourd’hui, je vous explique comment faire des tapisseries de pixels. Des tapixeries. Je me doute bien que vous n’en ferez jamais, mais bon, c’est là. Si besoin, servez-vous.

Je me ressers de motifs créés pour les besoins de la petite énigme partagée hier, cela dit il n’y a aucun lien avec l’énigme en elle-même. Ne cherchez donc pas la réponse ici.

Je me rends également compte que le blog affiche mal les images avec très peu de pixels et ajoute une sorte de flou dégueulasse par dessus, c’est pourquoi je vous invite à cliquer sur ces dernières pour les voir dans leur taille originale.

Allons-y donc pour le tuto tapixeries.


Sur un canevas carré, dessinez un petit motif.

Sur une grille de 2×2 carrés, placez votre petit motif en respectant une certaine symétrie, pour en faire un plus grand motif.

Faites varier cette symétrie pour obtenir d’autres grands motifs à partir du même petit motif de base.

Créez d’autres petits motifs.

Recommencez les étapes précédentes.

Ensuite, faites en des tapisseries de pixels, en plaçant vos motifs aléatoirement les uns à côté des autres.

Voilà, vous avez gaspillé de nombreuses heures de votre précieuse existence à réaliser quelque chose d’absolument inutile et de même pas vraiment beau. Tant pis pour vous.

#269 – Carnets gâchés

Voilà qu’on vous offre un joli carnet, tout vierge, tout neuf : vous êtes bien embêté·e. Eh oui. Si vous dessinez dedans, il est quasiment certain que votre gribouillis ne soit qu’une insulte à la page blanche, mais si en revanche vous n’y dessinez rien, c’est une insulte à la personne qui vous a fait ce cadeau. Dans les deux cas, vous voilà bien. Rassurez-vous cela dit, car vous n’êtes pas seul·e dans ce cas. C’est comme ça pour tout·es les dessinouilleurs et ·illeuses du dimanche. D’ailleurs, s’il y a une chose de sûre, c’est que moins on dessine, moins ce qu’on dessine est beau. Alors, à un moment, faut se lancer.

Voici donc quelques unes des dernières pages que j’ai moi-même osé gâcher dans un carnet qu’on m’a offert (saufs celles sur papier noir, je me le suis offert tout seul celui-là). Comme on pouvait s’y attendre, c’est en majorité mauvais, mais il y a quand même quelques traits et points bien placés dans le tout. Si vous trouvez lesquels, écrivez-moi, vous avez gagné.