Mettere in relazione la Scala con l'angolo : HELP!!!

luca.iaconis
Ciao a tutti,
ho un problema e non riesco a venirne a capo.
premettendo le seguenti condizioni:
$ 1<= Sx <= 1.5 $ --> dove Sx = è il valore della scala d'ingrandimento
$ 0<= alpha <= 20 $ --> dove $ alpha $ è l'angolo che varia in base al valore della scala (quindi Sx)

l'andamento che deve avere è :
se Sx = 1 allora $ alpha $ = 20
se Sx = 1.5 allora $ alpha $ = 0

La domanda è: Come faccio a tirare fuori una formula affinche restiuisca il valore di $ alpha $ in base alla scala pur attenendosi alle condizioni sopra citate??
Grazie

Risposte
apatriarca
Che legame avrebbe esattamente con l'informatica?

In ogni caso, supponiamo di avere una qualsiasi funzione continua \( f(t) \colon [0, 1] \to [0, 1] \) per cui \( f(0) = 0 \) e \( f(1) = 1. \) Allora possiamo definire \( t = 2(Sx - 1) \) e quindi \( \alpha = 20(1 - f(t)). \) Un esempio di \( f(t) \) possibile potrebbe essere \( f(t) = t \) oppure \( f(t) = 3t^2 - 2t^3 \) oppure \( f(t) = \sin((\pi/2)t) \) oppure \( f(t) = (1 - \cos( \pi t ))/2 \) oppure ... Esistono infinite possibilità.. A che ti serve e quali proprietà vorresti ottenere da questa relazione. Che cosa sono esattamente \( \alpha \) e \( Sx \)?

luca.iaconis
Ciao, grazie per la risposta,
scusa ho sbagliato prima, la scala varia tra 1 e 1,28.
In pratica sto creando un algoritmo per mettere in relazione appunto lo zoom (su dispositivo touch) e l'angolo di un piano.
lo zoom va da 1 a 1,28, e l'angolo del piano si dovrebbe muovere di conseguenza da 20° a 0°.

Ho provato il tuo metodo e sembra funzionare perfettamente, ho usato:

$ f(t)=3t2−2t3 $
$ t=2(Sx−1) $
$ α=20(1−f(t)) $

La cosa dovrebbe funzionare però non più con $ 1 <= Sx <= 1.5 $ ma con $ 1 <= Sx <= 1.28 $

In che modo ricavi la funzione f(t) ? perdona la mia ignoranza ma non ci arrivo :)

apatriarca
In che senso? f(t) è una qualsiasi funzione con le proprietà che ho elencato. Quelle che ti ho fornito sono tutte monotone crescenti perché ho immaginato potesse essere utile. La funzione che hai usato l'ho calcolata chiedendo che le derivate del polinomio fossero nulle in corrispondenza di 0 e 1.

luca.iaconis
effettivamente ho provato anche la versione f(t) = t, e funziona comunque. quindi coi vincoli di prima ( ossia $ 1 <= Sx <= 1.5 $ ) hai detto che $ t = 2 (Sx -1) $ . Se generalizziamo dicendo che quel vincolo di 1.5 sia una variabile , diciamo $ K $, e che quindo $ 1 <= Sx <= K $ , come determino t in base al valore di $ K $ ? informaticamente parlando è realizzabile come semplice formula?

luca.iaconis
Risolto !!! grazie mille, in pratica se Min = 1 e Max = 1.28
avendo

t = K (Sx - 1)

K = 1/ (Max - Min) -> quindi nel mio caso : K = 1/ (1,28-1) = 25/7

Grazie per l'aiuto!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.