Maths (2) dessiner la fleur du tournesol

En utilisant l’angle dit « angle d’or » (environ 137.5 degrés ou 2.3999 radians), on peut dessiner une spirale de Fermat selon un modèle inventé par H. Vogel, à la manière des étamines des tournesols, des écailles des pommes de pin ou de diverses organisations naturelles.

rayon = c * √n
θ = n * φ

c est une constante (si on change c, l’espacement qui sépare les éléments de la spirale change), φ est l’angle d’or et n dénombre chaque élément de la spirale. Dans l’exemple qui suit (langage processing), n prend les valeurs successives de n sont 0, 1, 2, 3, 4, et ainsi de suite jusqu’à 1000 ; Le constante c a la valeur de 10 :

float angledor=radians(137.5);

void setup(){
size(400,400);background(255);strokeWeight(7);smooth();
float x=200;float y=200;float constante=10;
for(int a=0;a<1000;a++){
float r=constante*sqrt(a);
x+=cos(angledor*a)*r;y+=sin(angledor*a)*r;
point(x,y);
}
}

On pourrait être encore plus précis en calculant l’angle d’or à la volée. Sa valeur est égale à (2*Π)/φ+1. La valeur de φ, le nombre d’or, est (1+√5)/2.
À la place de float angledor=radians(137.5); on pourra donc écrire :

float nombredor = (1+sqrt(5))/2;
float angledor = TWO_PI/(1+nombredor);

Maths (1) Nikki Graziano – Found Functions

Found Functions est un très joli projet artistique de Nikki Graziano, étudiante au Rochester Institute of Technology, photographe et mathématicienne.
Elle est allée chercher les fonctions mathématiques qui peuvent décrire des formes rencontrées dans la nature :

Cela me rappelle Jean-François Debord, mon professeur de morphologie aux Beaux-Arts, qui disait (à la suite de son maître Cassandre) que ce qui est beau dans la nature, ce sont les formes géométriques qui la sous-tendent.

Les ports d’entrée/sortie de la carte Duemilanove

La Duemilanove (deux-mille-neuf) est l’entrée de gamme des cartes Arduino.
On peut l’acheter en France chez Alyasoft et Lextronic.

Elle embarque 16ko de mémoire flash (dont deux sont occupés) pour le programme, six entrées analogiques, 14 ports d’entrées-sorties digitales dont six peuvent servir de sorties analogiques.

Fais-le toi-même (DIY)

Quelques liens vers des sites de « do it yourself » (liste à compléter)

Quelques boutiques en ligne

Astroïde

Une fonction artisanale écrite en processing pour dessiner un astroïde.
Attention, pas « astéroïde » (objet céleste) mais bien « astroïde » (figure géométrique en forme d’étoile).

void astroide(float x, float y, float t){
float t2 = t/2;float tt=t2/2;
float[] p1 = {x,y-t2};float[] p2 = {x+t2,y};float[] p3 = {x,y+t2};float[] p4 = {x-t2,y};
beginShape();
vertex(p1[0],p1[1]);
bezierVertex(p1[0],p1[1]+tt,p2[0]-tt,p2[1],p2[0],p2[1]);
bezierVertex(p2[0]-tt,p2[1], p3[0],p3[1]-tt, p3[0],p3[1]);
bezierVertex(p3[0],p3[1]-tt, p4[0]+tt,p4[1], p4[0],p4[1]);
bezierVertex(p4[0]+tt,p4[1], p1[0],p1[1]+tt,p1[0],p1[1]);
endShape();
}

La fonction doit être placée dans le code d’un programme.
Elle s’invoque comme ceci :

astroide(x, y, taille);

où x et y sont les coordonnées horizontales et verticales du centre de l’astroïde et où taille définit le diamètre du cercle dans lequel s’inscrit la forme géométrique.

Vidéos scientifiques

Tom Roud, blogueur scientifique, a compilé sur son site une petite sélection de vidéos scientifiques intéressantes. Certaines donnent à réfléchir — la réaction en chaîne qui permet à un domino de quelques grammes de faire tomber un domino de plusieurs dizaines de kilos, par exemple — mais celles qui m’intéressent sont celles qui ont un aspect visuel particulier, notamment celles qui ont trait au vivant : division cellulaire, croissance des levures,…

On pourrait sans doute utiliser la programmation pour simuler de manière plus ou moins réaliste la plupart de ces phénomènes.

La séquence la plus impressionnante est sans doute la progression d’un lymphocyte qui poursuit une bactérie entre des globules rouges. Le spectacle est assez fascinant. La détermination de la cellule guerrière dans sa traque des bactéries est sans faille.