Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi G - M > Laboratorio di multimedia I
 
get e vettori
Clicca QUI per vedere il messaggio nel forum
rob87
Ciao!

ho fatto ampio uso dei vettori, rifacendo tutti gli esercizi sui vari moti con l'uso della classe PVector.... le formule che ho usato sono state

vel.add(acc)
pos.add(PVector.mult(vel, dir))

e per invertire la direzione dir.mult(-1)

è corretto fare questo utilizzo dei metodi?



quello che non mi è chiaro è l'uso del get, ovvero perchè non è corretto fare una semplice assegnamento tra vettori invece di utilizzare get?
So che a lezione è stato ripetuto più volte di usare il get, per estrarre le componenti e fare un assegnamento, ma non capisco la causa... lo chiedo per capire quando è necessario il get, oltre che per l'assegnamento, ovvero:

pos.add(PVector.mult(vel, dir))

o

pos.add((PVector.mult(vel, dir).get())??

E poi anche in tutti i costruttori dei sistemi particellari, il codice non fa ciò che dovrebbe facendo un semplice this.origin = origin.. cosa viene copiato con questo tipo di assegnamento?... anche pensando a java non mi viene in mente molto, nel senso che gli oggetti sono uguali, anche se dovesse semplicemente copiare il puntatore i dati avrebbero la stessa struttura, no??

grazie!

ps: c'è un modo per vedere il codice delle varie funzioni di processing?

Davide.Gadia
Originally posted by rob87
Ciao!

ho fatto ampio uso dei vettori, rifacendo tutti gli esercizi sui vari moti con l'uso della classe PVector.... le formule che ho usato sono state

vel.add(acc)
pos.add(PVector.mult(vel, dir))

e per invertire la direzione dir.mult(-1)

è corretto fare questo utilizzo dei metodi?



quello che non mi è chiaro è l'uso del get, ovvero perchè non è corretto fare una semplice assegnamento tra vettori invece di utilizzare get?
So che a lezione è stato ripetuto più volte di usare il get, per estrarre le componenti e fare un assegnamento, ma non capisco la causa... lo chiedo per capire quando è necessario il get, oltre che per l'assegnamento, ovvero:

pos.add(PVector.mult(vel, dir))

o

pos.add((PVector.mult(vel, dir).get())??

E poi anche in tutti i costruttori dei sistemi particellari, il codice non fa ciò che dovrebbe facendo un semplice this.origin = origin.. cosa viene copiato con questo tipo di assegnamento?... anche pensando a java non mi viene in mente molto, nel senso che gli oggetti sono uguali, anche se dovesse semplicemente copiare il puntatore i dati avrebbero la stessa struttura, no??

grazie!

ps: c'è un modo per vedere il codice delle varie funzioni di processing?


vel.add(acc)
pos.add(PVector.mult(vel, dir))

mi sembra corretto

-----------------------------

l'utilizzo di get() e' necessario soprattutto quando voglio un vettore che sia una copia di un altro, quando passo i vettori come parametri di funzioni\metodi

quindi

this.origin = origin.get();

prende i valori di origin (parametro) e li copia in this.origin (l'attributo origin della classe)

this.origin = origin;

non fa una copia e il sistema da' problemi.

Se nella stessa funzione ho:
PVector a = new PVector(1,1);

allora
PVector b = a;

e

PVector b = a.get();

dovrebbero andare bene entrambe.

Per non far confusione tra i casi, abbiamo insistito sull'uso della get(), che va bene sempre.

Negli altri casi, la get() non serve, perche' lei ha già vettori dichiarati come tali, e usa metodi (come add(..)) che ritornano un vettore.

Saluti,
Davide Gadia

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate