Newsgroup: it.comp.lang.visual-basic
Titolo: Progettino particelle, parte 0.0.2

Uh, bene bene...
grazie all'aiuto di Alletun, l'avevo detto cheil progetto era era open
source ;) ,  l'accrocchio delle particelle che si attraggono si è evoluto un
pochino.
Indirizzo:
http://www.unbelsito.com/vb/particelle0.0.2.zip
Features:
-Tasto sinistro del mouse su un'area qualunque per creare una nuova
particella (questo c'era già).
-I tasti direzionali permettono ora lo scrolling in tutte le direzioni.
-'Zoom in' e 'zoom out' centrato sulla zona attualmente mostrata a video
(tasti '+' e '-').
-Zoom di una selezione rettangolare, un po' come nei frattali (tasto destro
del mouse).
Nota: la selezione non è arbitraria ma sempre proporzionale alla dimensione
della finestra in modo da evitare distorsioni spaziali (LOL).
-Diversi stili di disegno (cerchio, croce, punto... come l'uncinetto,
insomma) con varie dimensioni (tasti 's'per lo stile e 'r' per la
dimensione).
-Caricamento e salvataggio dell'istantanea dell'universo (LOL), tasti ctrl+o
e ctrl+s
-Tasto pausa/editing (spazio) che permette di congelare la situazione e
scegliere una particella: quella più vicina al puntatore del mouse viene
evidenziata da un quadratino e collegata tramite un segmento al puntatore
stesso; premendo il tasto destro del mouse verrà selezionata per l'editing
quella evidenziata.
Una volta scelta, il form in alto a sinistra consente di modificare alcuni
parametri: velocità, nome, posizione -anche con drag and drop - colore e
massa. La massa può assumere anche valori negativi, fatelo a vostro rischio:
io non mi assumo la responsabilità sull'utilizzo improprio dell'antimateria.
-Possibilità di vedere il nome della particella accanto alla particella
stessa (tasto 'l')
-Finestra dell'elenco e delle caratteristiche delle particelle (tasto 'e').
-Ripristino della condizione iniziale di zoom (tasto 'z').
-Visualizzazione fattore di zoom (tasto 'f').
-Possibilità di fissare la 'camera' su una particolare particella (bottone
'Fissa camera' durante la modalità pausa/editing). Nota: per far tornale la
camera libera premere tasto 'p'.
-Possibilità di evidenziare il centro di massa dell'universo (tasto 'm').
-Menù per fare tutte le operazioni di cui sopra senza dover ingerire ingenti
quantità di fosforo.
-Caricamento automatico di un'istantanea da file per mezzo di drag and drop
sull'icona dell'eseguibile.
-Possibilità di associare l'estensione ".lspp"  (LamerSoft) al programma.
-Boh, forse c'è altro, ma al momento mi sfugge.
Features perse:
-Scia delle particelle: con gli stili di disegno perde senso.
Idee non sviluppate:
-Barra per aumentare/diminuire la velocità del 'tempo': non saprei come fare
a velocizzare senza perdere precisione (già pessima) nei calcoli e non dover
fare i calcoli composti del caso.
Idee per il futuro:
-Reticolo tipo campo di forza (piegato in base alla forza di attrazione)
-altro?
termoPilucco, Alletun -  LamerSoft Italy

Un solo commento..... MINCHIA! :-)
bye
-- 
Esistono 10 tipi di persone: chi conosce il binario e chi no.
Gestione Ottica - Gestionale per Ottici e Programmi Gratuiti su:
http://www.nicolaottomano.it

 
Ho l'impressione che ci sia qualche problema con il centro di massa.
ciao
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!

Ho l'impressione che ci sia qualche problema con il centro di massa.
Anche a me sembrava.....
La funzione (per la coordinata x) č:
Public Function calcolaCentroMassaX() As Double
Dim a As Long
Dim ret As Double
Dim msn As Double
msn = 0
For a = 1 To numeroParticelleAttive
    ret = ret + particelle(a).x * particelle(a).Massa
    msn = msn + particelle(a).Massa
Next
calcolaCentroMassaX = ret / msn
End Function
Sono andato a memoria, ma la formula non mi pare sbagliata.
In effetti il centro di massa sembra troppo sensibile all'aggiunta di una
singola particella, ma se quest'ultima č 'lontanissima' dalle altre č normale
che influisca molto sul centro di massa.
Quello che forse confonde č il fatto che la dimensione delle particelle stesse
non dipende dalla distanza, dando cosě l'impressione che siano tutte piuttosto
vicine.
termoPilucco

pochino.
già, però c'è un'incongruenza: quando le particelle sono una cinquantina
si ha il cosiddetto "effetto mercato"; quando si arriva a qualche
centinaio, inizia l'effetto manifestazione pubblica con tanto di
sindacati. Quello che non mi torna è che dopo qualche minuto l'elenco
delle particelle del tuo programma diceva "1000", mentre secondo gli
organizzatori le particelle erano almeno 3000. Come mai?
Comunque non si sono verificati incidenti.
 :-)
Ciao,
Moreno
... che ha trovato in una sperduta directory del pc una vecchia
installazione di Forté Agent con tanto di vecchi post dal 1998 e vecchia
firma :-)
-- 
sirri at morenosoft dot com
Moreno Sirri VB Site - 
http://www.msvbsite.net
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo
NewsGroup:
 
http://www.it-lang-vb.net
---------------------------------------------------------------------------

firma :-)
Uso anch'io felicemente quello stesso programma da anni.
termoPilucco

 -Scia delle particelle: con gli stili di disegno perde senso.
1) Non sono per niente d'accordo: la sia a "singolo pixel" è comunque
interessante per verificare le orbite delle varie particelle.
Di piuttosto che non sapevi come gestire il tracing con il nome delle
particelle a video ;)
2) C'è lo stile a dimensione "minima", "massima" ma manca quella per
riportarle alla dimensione "normale" :)
3) L'help da me viene troncato verso il basso
4) Una cosa davvero interessante sarebbe la centratura automatica: vedo che
già calcoli il "centro di gravità", dato che dopo un po' le particelle
tendono ad uscire dallo schermo non sarebbe male se il centro rimanesse
appunto "al centro" della finestra (magari mantenendo il tracing delle
orbite :PPP mi pare che esista una funzione che si chiami ScrollDC()...
potrebbe tornarti utile per ricentrare l'intera area senza perderne il
disegno, anche se non so con che prestazioni)
Ciao
--
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net

 > 
http://www.unbelsito.com/vb/particelle0.0.2.zip
Ci sono un paio di problemi con il menu salva, ad es. se la seconda volta
premi annulla chiede se sovrascrivere o no.
Poi qualche controllo lo puoi lasciar fare direttamente alla dialogbox, che
ha anche i messaggi già localizzati:
Private Sub mnuSalva_Click()
    dlgDialogo.CancelError = True
    dlgDialogo.Flags = dlgDialogo.Flags Or _
                       cdlOFNOverwritePrompt Or _
                       cdlOFNPathMustExist
    On Error GoTo CancelPressed
    dlgDialogo.ShowSave
    Call salva(dlgDialogo.FileName)
    Exit Sub
CancelPressed:
    ' No file selected
End Sub


disegno, anche se non so con che prestazioni)
Sì, però scrollando lo schermo non potrei comunque gestire lo zoom e il
salvattaggio (a meno di non salvare la bitmap).
termoPilucco

                       cdlOFNPathMustExist
non lo sapevo :O
Grazie,
termoPilucco

 salvattaggio (a meno di non salvare la bitmap).
Vero, l'idea va perfezionata. :)
Hai ricevuto la mia e-mail?


 Hai ricevuto la mia e-mail?
Sěsě (ho anche risposto)... comunque passo il tutto ad Alletun che in questo
momento ha in mano la versione piů avanzata (la sta facendo diventare un
Luna Park).
termoPilucco