Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

decidere range, normalizzazione?

29 views
Skip to first unread message

MandarX

unread,
Mar 25, 2012, 8:13:57 PM3/25/12
to
Ciao a tutti

vorrei fare in modo che nella mia app la durata della transizione tra
una scena e un'altra sia calcolata in funzione del tempo impiegato per
eseguire lo swipe

vorrei che se lo swipe ha una velocita inferiore o uguale ad un certo
minimo allora la transizione impieghi ad esempio 2 secondi

se invece la velocita dello swipe è maggiore o uguale ad un certo
massimo la transizione deve impiegare 1 secondo

fin qui è molto semplice, ma come fare se la velocita dello swipe è in
mezzo ai due valori minimo e massimo, per determinare la durata della
transizione in modo proporzionale?

lo so che è molto banale ma non mi sta venendo in mente nulla, sarà
anche l'orario...

forse si devono normalizzare i valori?

qualcuno potrebbe suggerirmi un po di pseudocodice?

grazie a tutti

saluti

MandarX

Davide Pasca

unread,
Mar 28, 2012, 2:48:31 AM3/28/12
to
On 2012/03/26 9:13, MandarX wrote:
>
> fin qui è molto semplice, ma come fare se la velocita dello swipe è in
> mezzo ai due valori minimo e massimo, per determinare la durata della
> transizione in modo proporzionale?

Una bella Lerp.. da usare come il pane ! (
http://en.wikipedia.org/wiki/Linear_interpolation )

//==================================================================
float Lerp( float a, float b, float t )
{
return a + (b - a) * t;
}

float swipeUnit = swipeVal / (float)(SWIPE_MAX - SWIPE_MIN);

float timeLen = Lerp( TIME_LEN_MIN, TIME_LEN_MAX, swipeUnit );

maooooooo
Davide

--- Posted via news://freenews.netfront.net/ - Complaints to ne...@netfront.net ---

Davide Pasca

unread,
Mar 30, 2012, 3:37:38 AM3/30/12
to
On 2012/03/28 15:48, Davide Pasca wrote:
> Una bella Lerp.. da usare come il pane ! (
> http://en.wikipedia.org/wiki/Linear_interpolation )
>
> //==================================================================
> float Lerp( float a, float b, float t )
> {
> return a + (b - a) * t;
> }
>
> float swipeUnit = swipeVal / (float)(SWIPE_MAX - SWIPE_MIN);
>
> float timeLen = Lerp( TIME_LEN_MIN, TIME_LEN_MAX, swipeUnit );

Rileggendo, vedo un errore. Dovrebbe essere:

float swipeUnit = (swipeVal - SWIPE_MIN) / (float)(SWIPE_MAX - SWIPE_MIN);

mumble mumble

MandarX

unread,
Mar 31, 2012, 9:34:59 AM3/31/12
to
Il 30/03/2012 9.37, Davide Pasca ha scritto:
> On 2012/03/28 15:48, Davide Pasca wrote:
>> Una bella Lerp.. da usare come il pane ! (

grazie mille

a presto

MandarX
0 new messages