Spira

Spira

Motifs inspirés de la nature et des mathématiques · Fermat's Nightmare
θn = n·s0.8 / 1.2°   rn ∝ √n  ·  α = 137.5078°
Lumière

Guide

Origine : Fermat, une spirale et un tournesol

Pierre de Fermat (1601 ?–1665) est magistrat, conseiller au parlement de Toulouse à partir de 1631. Les mathématiques sont pour lui une passion d'amateur : il ne publie presque rien et expose ses résultats dans des lettres à ses correspondants, souvent sans démonstration. Son œuvre compte pourtant parmi les plus importantes de son siècle :

  • une géométrie analytique, qui traduit les courbes en équations, dont le manuscrit circule dès 1636, avant La Géométrie de Descartes (1637) ;
  • une méthode de recherche des maxima, des minima et des tangentes qui annonce le calcul différentiel ;
  • les fondements du calcul des probabilités, dans sa correspondance avec Pascal en 1654 ;
  • en optique, le principe selon lequel la lumière suit le chemin le plus rapide ;
  • en théorie des nombres, le célèbre « dernier théorème », noté en marge de son exemplaire de l'Arithmétique de Diophante (« j'en ai trouvé une démonstration merveilleuse que cette marge est trop étroite pour contenir »). Il ne sera démontré qu'en 1994, par Andrew Wiles.

La spirale. En 1636, dans une lettre au père Marin Mersenne, Fermat étudie une spirale dont le rayon croît comme la racine carrée de l'angle, r = a·√θ, appelée aussi spirale parabolique. Ce qui l'intéresse est une question d'aires : l'aire comprise entre deux tours successifs de la spirale est toujours la même. Il n'est question ni de plantes ni de graines.

Le tournesol, trois siècles plus tard. En 1979, le mathématicien Helmut Vogel publie un modèle simple du cœur du tournesol : la graine n est placée à l'angle n × 137,5° (l'angle d'or) et à la distance √n du centre. Les graines se trouvent alors sur une spirale de Fermat, et la propriété d'aires égales découverte par Fermat devient exactement ce qui donne aux graines une densité uniforme. C'est le calcul utilisé dans ce programme.

Les noms. Spira signifie « spirale » en latin : la forme que l'on retrouve dans les plantes, les coquillages, et dans la courbe de Fermat. Le sous-titre Fermat's Nightmare (le cauchemar de Fermat) est un clin d'œil, pas un fait historique. D'abord, le nom de Fermat est aujourd'hui associé aux tournesols, un sujet qui lui était étranger. Ensuite, sa spirale ne produit l'ordre du tournesol qu'à l'angle d'or : dès qu'on s'en écarte, les graines s'alignent en rayons et en bras, ce que le programme permet d'explorer.

Organisation des réglages

Les réglages suivent l'ordre de fabrication du motif. Chaque groupe ne dépend que de ceux qui le précèdent : modifier un groupe ne remet jamais en cause les groupes situés au-dessus.

  • 1. Modèle : l'angle, le nombre de points et la taille de la spirale. C'est le motif mathématique, indépendant du support. L'animation de s sert à l'explorer.
  • 2. Panneau : le brut, c'est-à-dire contour, cotes, épaisseur et marge de bord. Le Voronoï des points est découpé par ce contour.
  • 3. Style : comment chaque cellule devient un usinage (ajouré lissé, poches étagées ou membranes lestées), à savoir forme des cellules, paroi et fraise, relief.
  • 4. Affichage : rendu et superpositions de la vue 2D. Ne modifie jamais la pièce.
  • 5. Exports : finesse du maillage 3D et fichiers.

Chaque groupe se replie d'un clic sur son titre ; l'état est mémorisé dans ce navigateur. Le bouton « Tout réinitialiser », en tête du groupe Modèle, remet tous les réglages à leurs valeurs par défaut, y compris le rendu et les superpositions.

Les points : une spirale de Fermat

C'est un modèle de phyllotaxie, le même que celui de Vogel (1979) pour les graines de tournesol. Chaque point n, de 0 à N−1, est placé en coordonnées polaires :

θₙ = n · α angle en degrés, modulo 360 rₙ = R · √n / √(N−1) rayon ; le dernier point tombe à R α = s^0,8 / 1,2 angle de divergence

Le rayon en √n répartit les points uniformément. L'aire du disque de rayon rₙ vaut πrₙ², donc elle croît comme n. Chaque nouveau point ajoute la même aire, environ πR²/N. La densité est constante du centre au bord, d'où des cellules de Voronoï de taille homogène au cœur du motif. Avec un rayon proportionnel à n, on obtiendrait une spirale d'Archimède dont les points s'écartent vers l'extérieur.

L'angle α fait la forme

Chaque point est tourné de α par rapport au précédent, toujours du même angle.

  • α = 360·p/q, fraction simple de 360° : les points retombent sur q rayons droits. 180° donne 2 rayons, 120° en donne 3, 144° (2/5) en donne 5. Ce sont les « cauchemars » : des bras radiaux séparés par de grands vides.
  • α proche d'une fraction : les q rayons se courbent lentement en q bras spiralés. 137,14° vaut exactement 360·8/21 et donne 21 rayons droits, bien qu'à 0,37° seulement de l'angle d'or. À 137,3°, ces 21 rayons se courbent en bras.
  • α = 137,508°, l'angle d'or = 360·(1 − 1/φ). C'est l'irrationnel le plus difficile à approcher par une fraction : son développement en fraction continue ne contient que des 1. Aucun alignement ne se forme et le remplissage est le plus serré possible. L'œil ne voit que des spirales croisées en nombres de Fibonacci (8, 13, 21, 34…).

Essayer (le guide se ferme et le motif se met à jour) :

Pour voir les germes eux-mêmes, cochez « Points calculés » dans Affichage › Superpositions.

Le paramètre s et la sensibilité du motif

s n'est qu'un changement d'échelle du curseur. La relation α = s^0,8 / 1,2 ne change rien à la géométrie : seul α compte, et le champ « angle α » permet de le saisir directement. L'angle d'or correspond à s ≈ 591,41. Autour de cette valeur, une unité de s vaut environ 0,19°.

Ajustement α. Le curseur s parcourt toute la gamme : un pixel de curseur y représente déjà plusieurs dixièmes de degré. « Ajustement α » ajoute de −1° à +1° à l'angle donné par s, par pas de 0,0005°. On fixe un motif avec s, puis on explore son voisinage sans perdre cette position. Saisir s ou α directement remet l'ajustement à zéro.

L'écart d'angle s'accumule avec n. Au point n, il vaut n·Δα. Avec N = 110, un écart de 0,1° seulement décale le dernier point de 11°. C'est pourquoi une petite variation de s transforme le bord du motif en laissant le centre presque intact, et pourquoi l'animation montre des bras qui apparaissent puis se dissolvent.

Des points aux formes

Les points servent de germes à un diagramme de Voronoï : chaque cellule regroupe la zone plus proche de son germe que de tout autre. Deux traitements sont proposés.

Ajouré lissé. Le Voronoï est découpé par le contour du panneau (rectangle, disque ou polygone régulier), puis chaque cellule devient un trou. Les cellules du bord, coupées par le contour, deviennent les longues branches : plus le contour est loin de la spirale, plus elles sont longues.

Étapes pour chaque cellule :

  • retrait d'une demi-paroi sur chaque côté, ce qui garantit l'épaisseur de paroi demandée entre deux trous ;
  • réduction homothétique de facteur k vers le centroïde. Le retrait est proportionnel à la distance au centroïde, si bien que les grandes cellules du bord laissent des branches qui s'élargissent vers le cadre ;
  • lissage du contour en B-spline cubique fermée (réglage « lissage », 0 = polygone brut) ;
  • ouverture au rayon de fraise : toute partie plus étroite que la fraise est arrondie pour être usinable. Ces trous sont comptés « retouchés » et rangés sur un calque DXF distinct ;
  • en 3D, chant arrondi de rayon ρ. Là où deux trous sont à moins de 2ρ, les deux arrondis se rejoignent en arête : la paroi prend un profil de tube.

Membranes lestées. Chaque cellule, réduite d'une demi-paroi et arrondie au rayon de fraise, porte une membrane fixée à son bord et chargée par son propre poids, comme un filet posé sur un cadre. Pour une tension T et un poids q par unité de surface, sa forme obéit à l'équation de Poisson T·∇²z = q, avec z = 0 sur le bord : un paraboloïde exact pour une cellule ronde, un « coussin » creux qui épouse les angles d'une cellule polygonale. Le calcul se fait par éléments finis sur chaque cellule.

  • Profondeur physique : le même filet partout, donc la profondeur croît comme le carré de la taille de la cellule ; la plus grande cellule atteint la profondeur maximale. Uniforme : chaque cellule atteint la même profondeur.
  • Pondération (loi physique) : profondeur d'une cellule = prof. max × (profondeur physique ÷ celle de la plus grande cellule)γ. γ = 1 garde la physique pure, où une cellule deux fois plus petite est quatre fois moins creuse ; γ = 0,5 la rend deux fois moins creuse ; γ = 0 revient à l'uniforme. Les petites cellules plus creusées ont un fond plus serré : surveillez le rayon de courbure en bas de l'écran.
  • Anisotropie et orientation : un filet dont les câbles d'une direction sont plus tendus (Tx·z_uu + Ty·z_vv = q) ; les creux s'allongent perpendiculairement à cette direction.
  • Bombés : la même surface retournée, comme une membrane gonflée ; les parois deviennent des rainures entre des coussins.
  • Usinage : la surface rejoint le dessus avec une pente douce, sans paroi verticale. Elle se finit à la fraise boule ; le rayon de courbure au fond des creux (2T/q pour une cellule ronde) doit rester supérieur au rayon de la boule, ce que la barre du bas contrôle.

Poches étagées. Chaque cellule devient une poche, avec la paroi retirée et les angles intérieurs arrondis au rayon de fraise. Sa profondeur suit une loi : √aire (dimension de la cellule), distance au centre, rang n ou constante. Elle est arrondie en un nombre de niveaux, soit autant d'opérations de poche en FAO (0 = continu). Une profondeur égale ou supérieure à l'épaisseur donne une poche traversante.

Rendus 2D

Éclairage. Les réglages « Lumière » du bandeau supérieur s'appliquent aux rendus matière et à la vue 3D : direction de la lumière vue de dessus (0° = droite, 90° = haut, 180° = gauche ; 129° par défaut, en haut à gauche), hauteur au-dessus du panneau (5° = rasante, qui accentue le relief ; 90° = au zénith), intensité de la lumière directe (modelé, reflets) et de la lumière d'ambiance (qui débouche les ombres). « Tout réinitialiser » les remet à leurs valeurs par défaut.

Le menu « Rendu » change seulement l'image : la géométrie et les exports restent les mêmes. Les rendus matière calculent le relief (arrondi, fonds de poche), l'éclairage et les ombres portées. Le bouton « Image PNG » enregistre le rendu affiché, en 2400 pixels sur le plus grand côté.

  • Standard : relief noir et blanc pour l'ajouré lissé, teinte par profondeur pour les poches étagées.
  • Contours : traits seuls, pour vérifier la géométrie.
  • Érable sur mur sombre, Noyer sur mur clair : bois veiné, fil horizontal. Le panneau est vu accroché à 3 mm du mur, qui reçoit son ombre à travers les ajours.
  • Laiton brossé : métal sur velours noir, reflets sur les arrondis.
  • Vitrail : les parois deviennent le plomb, chaque trou un verre (rubis, cobalt, émeraude, ambre, améthyste…), plus lumineux au centre.
  • Parastiches : fait voir les spirales que l'œil devine. Les cellules n, n+q, n+2q… s'alignent sur une même spirale ; elles reçoivent la même couleur et les spirales voisines alternent. Le q automatique est le dénominateur de la meilleure fraction approchant α/360 adaptée au nombre de points : 13 ou 21 à l'angle d'or, exactement le nombre de rayons pour une fraction simple. Essayez q = 8, 13, 21, 34 : chaque nombre de Fibonacci montre une autre famille.
  • Lignes de niveau : courbes d'égale distance au trou le plus proche, comme une carte topographique. L'équidistance s'adapte au zoom (indiquée en bas à gauche) ; une ligne sur cinq est renforcée. Pour les poches, la teinte bleue fonce avec la profondeur.
  • Plan technique : fond bleu, quadrillage 10 et 50 mm, cotes d'encombrement et cartouche des réglages. Les trous retouchés au rayon de fraise et les poches traversantes sont en bleu clair.

Fabrication

Toutes les cotes sont en millimètres.

FichierUsage
DXFContournage des trous ou poches. Ajouré lissé : calques CADRE, TROUS, TROUS_RETOUCHES, POINTS. Poches étagées : un calque par profondeur, contours en vrais arcs. Membranes lestées : calques CONTOUR, MEMBRANES, POINTS.
3MFVolume 3D étanche, unité inscrite dans le fichier. À préférer au STL.
STLMême volume, sans unité. À l'import, choisir « Millimètre ».
SVGPlan 2D dimensionné en mm, pour découpe laser ou documentation.
PNGImage du rendu 2D choisi (bouton « Image PNG »), pour présenter le projet.
JSONTous les réglages de la pièce. Relu par « Charger JSON » (ou glissé sur la page) pour retrouver la pièce, et par spira.py --params pour produire le STEP.
CSVCoordonnées des germes.

Unités dans Fusion 360. Fusion lit un STL en centimètres par défaut : une pièce de 100 mm arrive à 1000 mm. Utilisez le 3MF, ou choisissez « Millimètre » dans Insérer > Insérer un maillage. À l'insertion d'un DXF, vérifiez aussi l'unité proposée.

Gamme suggérée pour l'ajouré lissé. Contournage intérieur des trous à travers, à la fraise du diamètre réglé, depuis le DXF. Puis l'arrondi des chants, au choix : fraise quart-de-rond de rayon ρ (simple, forme identique hors zones en tube) ou finition 3D à la fraise boule sur le 3MF (reproduit aussi les tubes).

Gamme suggérée pour les membranes lestées. Ébauche en poche dans les contours du calque MEMBRANES, à la profondeur maximale, puis finition 3D à la fraise boule sur le 3MF, en passes parallèles à pas latéral fin. Le DXF ne porte que les contours : la surface est dans le 3MF et le STL.

Réglage « maillage ». Espacement des sommets du volume 3D : 1 mm suffit à l'écran, 0,5 mm est conseillé pour la FAO. Le fichier grossit en conséquence.

Dépannage

  • Cellules écartées (barre du bas) : la cellule est plus petite que la fraise plus la paroi, ou hors du cadre. Réduisez la fraise ou la paroi, ou diminuez N.
  • Beaucoup de trous retouchés : la fraise est grande devant les cellules. Ce n'est pas une erreur, mais les pointes des trous s'arrondissent davantage.
  • Triangulation impossible en 3D : deux contours se touchent presque. Augmentez la marge ou la paroi.
  • Vue 3D lente : augmentez le réglage « maillage », puis repassez à 0,5 mm avant l'export.
  • Animation inactive : elle n'est disponible qu'en vue 2D, car en 3D chaque image demanderait un nouveau maillage.