[HOME - BASE Cinque - Appunti di Matematica ricreativa]
da una unica funzione polare
un incredibile numero di forme geometriche!
Questa è né più né meno che una pagina di appunti personali realizzati in gran parte con una vecchia versione di Maple.
Quando ho visto questa funzione sono rimasto sbalordito!
r, phi sono cordinate polari,
il raggio e l'angolo.
n1, n2, n3, m,
a, b sono parametri.
Cambiando opportunamente questi parametri è possibile ottenere triangoli,
quadrati, pentagoni, cerchi, ellissi, poligoni stellati, forme a goccia, e così
via.
Ecco come la presenta il prof. Umberto Cerruti
dell'Università di Torino.
Vi consiglio, tra l'altro il suo Blog matematico, ultimo aggiornamento: 29
aprile 2003
"Un biologo belga ha scoperto una 'superformula' che rappresenta una vasta costellazione di forme assai diverse tra di loro: triangoli, pentagoni, stelle, spirali, petali... Quando sullo schermo del suo computer ha visto questo brulicare di geometrie elmentari e complesse ha pensato di avere fatto qualche errore nel programma. Invece era tutto giusto. Si è informato, ha parlato con molti matematici: la sua formula è nuova di zecca, nessuno l'ha mai scoperta prima! L'articolo di Johan Gielis è stato pubblicato sul numero 90 (2003) dell'American Journal of Botany. Sul bellissimo sito dell'astrofisico Paul Bourke si trova (tra infinite splendide curve) una pagina dedicata alla superformula e alle sue creature!"
Ma ora ecco alcuni esempi
(r = raggio; t = angolo)
restart;
with(plots);
with(plottools);
r := (((abs((1/a)*cos((m/4)*t))^n2))+((abs((1/b)*sin((m/4)*t)^n3))))^(1/n1);
a:=1;b:=1;m:=5;n1:=1000;n2:=600;n3:=600;
r := (((abs((1/a)*cos((m/4)*t))^n2))+((abs((1/b)*sin((m/4)*t)^n3))))^(1/n1);
a:=1;b:=1;m:=6;n1:=1000;n2:=400;n3:=400;
r := (((abs((1/a)*cos((m/4)*t))^n2))+((abs((1/b)*sin((m/4)*t)^n3))))^(1/n1);
polarplot([1/r,t,t=0..2*Pi]);
a:=1;b:=1;m:=0;n1:=1;n2:=1;n3:=1;
r := (((abs((1/a)*cos((m/4)*t))^n2))+((abs((1/b)*sin((m/4)*t)^n3))))^(1/n1);
polarplot([1/r,t,t=0..2*Pi]);
a:=1;b:=1;m:=1;n1:=1;n2:=1;n3:=1;
r := (((abs((1/a)*cos((m/4)*t))^n2))+((abs((1/b)*sin((m/4)*t)^n3))))^(1/n1);
polarplot([1/r,t,t=0..2*Pi]);
a:=1;b:=1;m:=7;n1:=1;n2:=1;n3:=1;
r := (((abs((1/a)*cos((m/4)*t))^n2))+((abs((1/b)*sin((m/4)*t)^n3))))^(1/n1);
polarplot([1/r,t,t=0..2*Pi]);
a:=1;b:=1;m:=7/6;n1:=0.7;n2:=0.7;n3:=0.7;
r := (((abs((1/a)*cos((m/4)*t))^n2))+((abs((1/b)*sin((m/4)*t)^n3))))^(1/n1);
polarplot([1/r,t,t=0..12*Pi]);
a:=1;b:=1;m:=5;n1:=.1;n2:=1.7;n3:=1.7;
r := (((abs((1/a)*cos((m/4)*t))^n2))+((abs((1/b)*sin((m/4)*t)^n3))))^(1/n1);
polarplot([1/r,t,t=0..2*Pi]);
a:=1;b:=1;m:=19/6;n1:=0.3;n2:=0.3;n3:=0.3;
r := (((abs((1/a)*cos((m/4)*t))^n2))+((abs((1/b)*sin((m/4)*t)^n3))))^(1/n1);
polarplot([1/r,t,t=0..12*Pi]);
That's all folks
Sito Web realizzato da Gianfranco Bo