Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - FRATTALE / Tappeto di sierpinski
Forum - C/C++ - FRATTALE / Tappeto di sierpinski

Avatar
crack001 (Normal User)
Rookie


Messaggi: 52
Iscritto: 25/10/2007

Segnala al moderatore
Postato alle 12:20
Martedì, 28/12/2010
Questo topic è stato chiuso dal moderatore

Salve gente...devo consegnare un programma come progetto universitario, solo ke sono leggermente in difficolta XD in pratica il programma deve scrivere in una matrice M[n][n] il seguende frattale:

http://it.wikipedia.org/wiki/Tappeto_di_Sierpinski

e lo crea in base al valore d'ordine che inserisco, ora la mia domanda è, come cacchio faccio? cioè ho capito il procedimento xo non so applicarlo, qualcuno sa suggerirmi qualcosa?:pat::pat::pat::pat::pat::pat::pat:



Ultima modifica effettuata da crack001 il 28/12/2010 alle 12:22
PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 13:11
Martedì, 28/12/2010
Sinceramente io non so cosa sia un frattale ma suppongo che devi scrivere nella matrice 1 dove il disegno è nero e 0 dove è bianco...giusto?

Se così fosse potresti farlo anche ricorsivamente, visto che alla fine devi ripetere sempre le stesse 3 operazioni.

Ma io non ho capito quando ci si deve fermare, cioè come dice wikipedia quando si deve smettere di ripetere i passaggi da 1 a 3

PM
Avatar
crack001 (Normal User)
Rookie


Messaggi: 52
Iscritto: 25/10/2007

Segnala al moderatore
Postato alle 22:36
Martedì, 28/12/2010
guarda io dovrei fare una cosa del genere:

http://img696.imageshack.us/img696/2589/immagine1rz.png

in pratica quando inserisco 1 lui mi scrive nella matrice il tappeto di ordine 1, quando isnerisco 2 il tappeto di ordine 2 e cosi via...

anche io pensavo ad 1 funzione ricorsiva, ma sinceramente non so come impostarla...tu come faresti?

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:14
Mercoledì, 29/12/2010
La dimensione della matrice deve essere di 3^(ordine-1)x3^(ordine-1).
Sì, è possibile usare una funzione ricorsiva, in quanto ogni problema di ordine n è scomponibile in 8 sottoproblemi di ordine n-1. Potresti semplicemente costruire una funzione che, ricevuta in un ingresso una matrice o una sottomatrice "colori" le nove parti in cui essa è divisibile. Successivamente richiami la stessa funzione su ogni sottoinsieme della matrice passata come argomento, fino ad arrivare all'ordine 0.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM
Avatar
crack001 (Normal User)
Rookie


Messaggi: 52
Iscritto: 25/10/2007

Segnala al moderatore
Postato alle 13:23
Mercoledì, 29/12/2010
Testo quotato

Postato originariamente da Il Totem:

La dimensione della matrice deve essere di 3^(ordine-1)x3^(ordine-1).
Sì, è possibile usare una funzione ricorsiva, in quanto ogni problema di ordine n è scomponibile in 8 sottoproblemi di ordine n-1. Potresti semplicemente costruire una funzione che, ricevuta in un ingresso una matrice o una sottomatrice "colori" le nove parti in cui essa è divisibile. Successivamente richiami la stessa funzione su ogni sottoinsieme della matrice passata come argomento, fino ad arrivare all'ordine 0.



ti dispiacerebbe farmi un esempio in pseudo-codice xke sinceramente non mi è tanto chiaro quello che mi hai scritto 8-|

PM
Avatar
crack001 (Normal User)
Rookie


Messaggi: 52
Iscritto: 25/10/2007

Segnala al moderatore
Postato alle 20:56
Giovedì, 30/12/2010
niente? t'ho mandato anche 1 email ma nn hai risp

PM