Newsgroup: it.comp.java
Titolo: [link][source] Mandelbrot & friends

ciao a tutto il newsgroup!
mi presento,
mi chiamo Andrea
questo messaggio non contiene richieste d'aiuto :-)
sono alcuni mesi che nei ritagli di tempo
sto imaparando ad usare java (fino ad
ora per lo piu' ho programmato in C)
e un po' alla volta ho creato
un "mostro informatico"
un'applet che usa delle
classi con codice nativo
cercando di aggirare le
limitazioni dei browser
orrore!
perche' l'hai fatto direte voi
perche' non un normale
programma java
beh, e' un esercizio
(in futuro infatti provvedero'
a mettere le cose a posto)
volevo provare ad utilizzare JNI
e a capire come funzionano
i permessi in java
ho pensato che il mio lavoro
potesse essere utile ad altri
che iniziano, e che magari
qualcuno piu' in gamba
di me potesse dirmi se
ci sono scorrettezze
nel mio codice
(ok, ho barato, questa e' una richiesta :)
il programma come da subject
genera i frattali di Mandelbrot
[cosa devo farci se sono un
appassionato dell'argomento :-)]
il calcolo del frattale e' fatto in C
mentre la visualizzazione e' fatta
in java (il programma gira con
windows e con linux)
il programma genera immagini
degli insiemi di Mandelbrot
associati a 6 tipi di funzioni
(o dovrei dire sistemi non
lineari del secondo ordine)
e per ogni insieme di Mandelbrot
permette di calcolare gli insiemi
di Julia / Fatou associati ad
un punto del piano (o dovrei
dire a due parametri del sistema)
ogni immagine puo' essere vista
con un certo numero di mappe
di colore predefinite e puo'
essere colorata con una
decina di metodi differenti
curve di isolivello,
decomposizione binaria,
ampiezza del modulo,
curve di isolivello +
decomposizione binaria,
curve di isolivello +
decomposizione binaria +
ampiezza del modulo,
e altre combinazioni ancora
penso di poter affermare senza
timore di essere smentito (bugia)
che le immagini che si ottengono
con il mio programma non le
otterrete con nessun altro
programma affine!
(forse l'ho sparata grossa)
c'e' da dire pero' che mi sono letto
un paio di libri sull'argomento
[di cui uno che nonostante i
miei studi (ingegneria) non
riesco a capire fino in fondo]
se sono riuscito a stimolare
la vostra curiosita' vi lascio
il link dove potete scaricare
il programma, sono 65kb
(con sorgenti naturalmente)
e se vi interessa l'argomento e ne avete voglia
potete anche aiutarmi nello sviluppo :)
(il progetto e' rigorosamente free)
se andate di fretta cliccate
qua e scaricate l'archivio
http://digilander.iol.it/schiele/frattali/esplora/esplora0.1.zip
se invece non avete tutta sta fretta
potete visitare il mio piccolo e
immaturo sito cliccando qua
http://digilander.iol.it/schiele
entrate (non badate al disordine)
e andate alla sezione frattali,
troverete degli esempi di
immagini che ho ottenuto
con il mio programma
vi ringrazio per l'attenzione
e mi scuso se sono stato
un po' prolisso
ciao!
Andrea
http://digilander.iol.it/schiele

 ciao a tutto il newsgroup!
Benvenuto Andrea!
Anche a me i frattali appassionano, ne trovai uno in rete (applet Java)
che si fa tutti i conti senza JNI, e pure velocemente. Magari non ti
interessa, magari si. Un piccolo appunto... non infilare tutti quei
ritorno carrello nei messaggi, sono più faticosi da leggere! :)
Ciao,
 Stefano
----------
"X WindowSSS, teSSSoro mio... lo odieremo per SSSempre"
Bill Gollum
----------

questo messaggio non contiene richieste d'aiuto :-)
Sei un mito... ho appena visto il tuo lavoro :)
Grazie per avercelo segnalato e ben venuto!!!
Bye

 wrote in message 39DC87DB...@sdb.it...
| Andrea Medeghini wrote:
| Benvenuto Andrea!
| Anche a me i frattali appassionano, ne trovai uno in rete (applet Java)
| che si fa tutti i conti senza JNI, e pure velocemente. Magari non ti
| interessa, magari si. Un piccolo appunto... non infilare tutti quei
| ritorno carrello nei messaggi, sono più faticosi da leggere! :)
in effetti io stesso sono convinto che il codice che ho scritto in C
non serva poi a molto, cioe' con tutti i passaggi di array
che vengono copiati di qua e di la' dalla JNI va a farsi
benedire il vantaggio di usare il C
sono arrivato a queste conclusioni dopo aver visto
una applet che genera mandelbrot trovata tra gli
esempi presi dal sito della Sun
nelle prossime versioni del mio programma usero' solo codice java :-)
ti ringrazio dell'accoglienza
ciao!
Andrea
http://digilander.iol.it/schiele
PS: per quanto riguarda i ritorni carrello cerchero' di fare del mio meglio :)

 wrote in message
nc2ptsg5in7v3m8rp...@4ax.com...

beh...
ecco...
addirittura mito :-))
grazie
hai visto le immagini?
ciao!
Andrea
http://digilander.iol.it/schiele

addirittura mito :-))
... di dove sei? 

... di dove sei? 
ti rispondo via mail
Andrea
http://digilander.iol.it/schiele

(il progetto e' rigorosamente free)
ho riscritto il programma interamente in codice java! :-)
se vi interessa potete scaricarlo a questo url (sono 40kb)
http://digilander.iol.it/schiele/frattali/esplora/esplora0.2.zip
la versione riscritta in java e' moooolto piu' veloce! 
(come sospettavo) e fra qualche giorno sara' 
possibile vederla funzionare sul mio sito
ciao
Andrea
http://digilander.iol.it/schiele

Ho appena iniziato a frequentare questo ng ed ecco
che mi si e' gia' rotto il disco fisso del notebook :)
chissa' quando me lo ridanno...
(quanto meno il computer e' ancora in garanzia)
[questo messaggio lo scrivo dal computer di un amico]
Andrea
http://digilander.iol.it/schiele

ho pronta la vesione con iterfaccia AWT del mio programma 
per tracciare i frattali di Mandelbrot e di Julia / Fatou
[il programma genera immagini degli insiemi di Mandelbrot
associati a 6 tipi di funzioni e per ogni insieme di Mandelbrot
permette di calcolare gli insiemi di Julia / Fatou associati ad
un punto del piano. Ogni immagine puo' essere vista con un 
certo numero di mappe di colore predefinite e puo' essere 
colorata con una decina di metodi differenti] 
se vi interessa il programma e i sorgenti (~40Kb)
ve li spedisco (sono free, lo dico perche' non
vorrei essere frainteso)
ciao_O
Andrea
http://digilander.iol.it/schiele

 se vi interessa il programma e i sorgenti (~40Kb)
A me, almeno per pura curiosità, interesserebbero... anche perchè
sarebbero adatti ad essere un po' manipolati per agganciarli a jPVM. Me
li potresti spedire? :)


li potresti spedire? :)
jPVM???
scusa ma non conosco la sigla
(comunque ti spedisco esplora)
ciao
Andrea
http://digilander.iol.it/schiele

 scusa ma non conosco la sigla
jPVM, prima conosciuto come JavaPVM, è una incapsulazione di PMV fatta in
Java; PMV=Parallel Virtual Machine, libreria che serve a fare calcolo
distribuito unendo in un elaboratore virtuale più macchine -anche di
differente architettura-; in pratica quella che usa RedHat per fare
clustering. Siccome il calcolo di frattali è squisitamente distribuibile su
più processori, volevo appunto fare una prova spezzando un frattale sulle
mie tre macchine a casa. :)


mie tre macchine a casa. :)
mi viene da augurarti buona fortuna :-)))
io ero gia' in difficolta' nel far funzionare due thread :)
quando dici distribuibile su piu' processori intendi
dire che vorresti calcolare piu' parti di un frattale 
con diverse macchine e poi riunire il tutto?
forse si puo' fare complicando la classe Mandelbrot...
ciao!
 
Andrea
http://digilander.iol.it/schiele

 con diverse macchine e poi riunire il tutto?
Si, esatto. Comunque ti faccio i complimenti per il frattale che è già veloce...
considerando che in questo momento l'ho testato con un sistema con 128 mb
(oooooh) che monta WindowsNT (aaaaaargh) e come processore un IDT WinChip senza
cache (buaaaaaaaaah!) a 200 Mhz. Stasera lo proverò a casa su una macchinina con
256 mb a 133mhz e 900 mhz di Thunderbird, penso che andrà meglio! ;)


Si, esatto. Comunque ti faccio i complimenti per il frattale che è già veloce...
considera che non ho ancora ottimizzato nulla ;) 
non che io me ne intenda di ottimizzazioni ma c'e' 
una divisione che devo eliminare perche'superflua
java non e' affatto lento come pensavo all'inizio :-)
(ad eccezione di AWT o Swing che sono [per forza] un po' lentucci)
ciao
Andrea
http://digilander.iol.it/schiele