hej!
jag undrar om någon vet något smidigt sätt att skala värden..
låt säga att 'a' har ett interval:
-180 < a < 180
och skall skalas om till 0 < a < 360
val = a._rotation;
scaleValue(val,-180,180,0,360);
function scaleValue(val, min, max, minOut, maxOut){
...
}
Menar du att i första fallet -180 < a < 180, så är A t.ex -160 (20 ifrån min-värdet).
Och om du då ändrar max/min till 0/360 så ska A bli 20. (20 ifrån min-värdet).
Eller?
Det enklaste i just det exempel du nämner är ju att bara öka A med 180.
Men det kanske du redan är medveten om.
Om funktionen ska skala värdet när man ändrar till ett mindre intervall kanske det blir en mer komplicerad uträkning...
ja precis, ett lättare fall att tänka sig är att, 0 < a < 100 skall skalas om till 0 < b < 50;
men jag fattar inte hur jag ska få ihop formeln..
i detta fall blir, val = a, min = 0, max = 100, minOut = 0, maxOut = 50;
om nu val = 100 så ska ju outputen bli val - maxOut (100-50 = 50);
men om val = 0 så stämmer ju inte detta (0-50 = -50)
det ska ju vara dynamiskt på något tjusigt sätt..
Uppskattar ditt försök!