Curva di Sierpiński
# Curva di Sierpiński

Le curve di Sierpiński $S_{n}$ per n=1,2,... , costituiscono una successione di curve piane chiuse continue definite per ricorrenza scoperte da Wacław Sierpiński, che nel limite $n\rightarrow \infty$ riempiono completamente la superficie del quadrato unitario: per questo la loro curva limite, anche nota come la curva di Sierpiński, è un esempio di una curva che riempie lo spazio.

Dato che la curva di Sierpiński ricopre il piano, la sua dimensione di Hausdorff (nel limite $n\rightarrow \infty$) è $2$.

La lunghezza euclidea di $S_{n}$ è $l_{n}={2 \over 3}(1+{\sqrt {2}})2^{n}-{1 \over 3}(2-{\sqrt {2}}){1 \over 2^{n}}$, cioè cresce esponenzialmente con $n$ oltre ogni limite, mentre il limite per $n\rightarrow \infty$ dell'area inclusa da $S_{n}$ è $5/12$ di quella del quadrato (nella metrica euclidea).

* Curva di Sierpiński al primo ordine
* Curva di Sierpiński di ordine da 1 a 2
* Curva di Sierpiński di ordine da 1 a 3

## Utilizzi della curva

La curva di Sierpiński è utile in diverse applicazioni pratiche, perché è la più simmetrica tra le curve che ricoprono il piano più comunemente studiate. Per esempio, è stata usata come base per la costruzione rapida di una soluzione approssimata del problema del commesso viaggiatore ( che chiede il percorso più breve che tocca tutti gli elementi di un insieme assegnato di punti): il procedimento euristico consiste nel visitare i punti nella stessa sequenza come appaiono nella curva di Sierpiński. Per fare ciò è necessario eseguire due passaggi: primo calcolare un'immagine inversa per ogni punto che deve essere visitato; poi riordinare i valori. Questa idea è stata utilizzata per costruire i sistemi di percorso per i veicoli commerciali, basati sui file Rolodex.

Una curva che ricopre il piano è una mappa continua dell'intervallo unitario sul quadrato unitario e quindi un'applicazione (pseudo) inversa mappa il quadrato unitario sull'intervallo unitario. Un modo per costruire una pseudo inversa è il seguente. Si faccia corrispondere l'angolo in basso a sinistra (0,0) del quadrato unitario al punto 0.0 (e 1.0). Quindi l'angolo in alto a sinistra (0,1) deve corrispondere a 0.25, l'angolo in alto a destra (1,1) a 0.50 e l'angolo in basso a destra (1,0) a 0.75. La funzione inversa dei punti interni si calcola utilizzando la struttura ricorsiva della curva. Qui di seguito si trova una funzione codificata in linguaggio Java che calcola le posizioni relative di ogni punto sulla curva di Sierpiński (cioè un valore pseudo-inverso). Essa utilizza come input le coordinate del punto (x,y) da convertire e le coordinate dei vertici di un triangolo isoscele che lo include (ax, ay), (bx, by), e (cx, cy) (Notare che il quadrato unitario è l'unione di due triangoli di questo tipo). I parametri rimanenti specificano il livello di accuratezza al quale si deve calcolare l'inverso.

## Disegnare la curva

Il seguente applet Java disegna una curva di Sierpiński con quattro metodi che si richiamano l'un l'altro ricorsivamente:

