Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Computer Graphics, 9 CFU => Topic started by: bluegirl on 14-11-2008, 17:25:30



Title: OGGETTO ALPHA
Post by: bluegirl on 14-11-2008, 17:25:30
Riguardando l'esempio della scorsa lezione mi è venuto un dubbio .penso
L'esempio è EsempioRotationInterpolator.java,dove praticamente si crea Alpha in questa maniera:
Code:
Alpha mioAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE, 0, 0, 4000, 0, 0, 0, 0, 0);

Mi sorge un dubbio: che differenza c'è tra il mettere INCREASING_ENABLE | DECREASING_ENABLE,ed invece mettere solo INCREASING_ENABLE????
Mi sà di non aver capito molto bene questo argomento .poverinoi .poverinoi


Title: Re:OGGETTO ALPHA
Post by: nessunoHaStoNick® on 14-11-2008, 18:13:44
Se specifichi solo Alpha.INCREASING_ENABLE attivi solo la fase ascendente della Alpha WaveForm, se specifichi
Alpha.INCREASING_ENABLE | Alpha.DECREASING_ENABLE attivi anche la fase discendente della Alpha WaveForm.

La Alpha Waveform è la forma d'onda.


Title: Re:OGGETTO ALPHA
Post by: bluegirl on 15-11-2008, 11:21:30
Si questo lo avevo già capito dalle slide,però  che differenza c'è da un punto di vista visuale?cioè quando devo utilizzare uno e quando l'altro?
Cmq grazie mille.


Title: Re:OGGETTO ALPHA
Post by: nessunoHaStoNick® on 15-11-2008, 16:23:53
Nulla, se non specifichi qualche evento nella fase "Decreasing"


Title: Re:OGGETTO ALPHA
Post by: redbaron85 on 15-11-2008, 22:17:08
Mmmm no, no... cerco di fare un pò di ordine...
L'interpolatore imposta come angolo startAngle se Alpha é a 0, endAngle se Alpha é a 1.
Nella fase di Increasing, i valori variano da 0 a 1, dunque si va da startAngle ad endAngle.
Se mettiamo una fase di Decreasing, Alpha andrà da 1 a 0 e il valore dell'angolo varierà da endAngle a startAngle, in pratica "al contrario".
E' come dire "andata e ritorno".

Prendete ad esempio "EsempioRotationInterpolator.java" e cambiate la riga dell'Alpha con la seguente:
Alpha mioAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE | Alpha.DECREASING_ENABLE, 0, 0, 4000, 0, 0, 10000, 0, 0);
e la riga dell'interpolatore con:
RotationInterpolator ri = new RotationInterpolator(mioAlpha, tg2, tRot, 0.0f, (float)(Math.PI/4));
(questo perché in quell'esempio la rotazione é da 0 a 360 gradi, così invece va da 0 a 45 in 4 secondi e poi da 45 a 0 in 10 secondi...


Title: Re:OGGETTO ALPHA
Post by: bluegirl on 16-11-2008, 16:50:26
Ah ok,adesso è tutto molto più chiaro.Grazie mille.


Title: Re:OGGETTO ALPHA
Post by: nessunoHaStoNick® on 16-11-2008, 18:37:44
mmm... allora adesso i dubbi li ho io  .penso

vorrei capire dove ho sbagliato, cioè, il fatto che il cubo inizi a ruotare al contrario nella fase "decreasing" non è quel che ho detto io?

(http://img399.imageshack.us/img399/6559/alphagt5.th.jpg) (http://img399.imageshack.us/my.php?image=alphagt5.jpg)(http://img399.imageshack.us/images/thpix.gif) (http://g.imageshack.us/thpix.php)

scusate, non vorrei apparire presuntuoso, ma voglio capire meglio dov'è che sbaglio.

altro dubbio che mi è venuto: l'oggetto alpha non può sussistere anche senza interpolatori?


Title: Re:OGGETTO ALPHA
Post by: nessunoHaStoNick® on 16-11-2008, 18:41:29
forse ho capito, Alpha.DECREASING_ENABLE è in parole povere "il tempo che scorre al contrario"?  .huh

o mi sto confondendo ancora di più?  .poverinoi


Title: Re:OGGETTO ALPHA
Post by: redbaron85 on 16-11-2008, 22:36:56
Più che "il tempo scorre al contrario", é il valore di Alpha che varia "al contrario", cioé da 1 a 0, e lo fa in un intervallo di tempo definito da da DecreasingAlphaDuration (in questo caso, va da 1 a 0 in 10 secondi; nel corso di questo intervallo, l'interpolatore estrapola i valori di Alpha e, dal momento che ad Alpha = 1 era associato endAngle e ad Alpha=0 era associato startAngle, passa da endAngle a starAngle. Visivamente, si ha la rotazione in senso opposto a quello di IncreasingAlpha)...
Spero di non aver fatto più confusione di prima !!!  :boh


Title: Re:OGGETTO ALPHA
Post by: nessunoHaStoNick® on 16-11-2008, 22:45:37
no no, ora è tutto chiaro, grazie.  .applausi