Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. 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.

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