Sitat av Scha
frevev: Jeg har ikke gått på skole på over 5 år. Det skal brukes i ett spill for å flytte kamera fra ett punkt til ett annet, med en naturlig akselrasjon og deakselrasjon.
simonj: tusen takk for svar, ser helt flott ut
Var ute etter en som ga fra 0 til 1 ja...
Scha
Bruk newtons lover i forbindelse med fart akselerasjon og tid: her er en rutine jeg har skrevet selv, som er mer fleksibel enn bare s = .5*a*t*t + v0*t;
float s=s0, v = v0, a=a0?, dt = (tnaa-tsist);
while(tiden_gaar) {
dt = tnaa - tsist;//finn tidsforandring siden sist frame ble tegnet opp og legg det i dt
v += a * dt;
s += v * dt (- eller +, husker ikke, lenge siden, bare fant ut at det gjorde dette mer nøyaktig) 1/2 * a * dt * dt; // til sammenlikning med en nøyaktig rett formel, s = .5*a*t*t
}, for å flytte kameraet kan du da bruke bruke konstant eller varierende akselerasjon/retardasjon for å flytte kameraet, bare pass på at ved varierende akselerasjon, kan det bli vanskelig å beregne hvor kameraet blir av.
Det vil også lønne seg og bruke en form for 3d-vektor klasse(som bruker long double x, y og z) istedenfor float, slik du kan bestemme om det skal være 2 eller 3 dimensjonalt.
Du kan med dette da lage til en funksjon som akselererer opp hva enn du vil flytte til en fart før den så retarderer(deakselererer) ned igjen farten og stopper på ett forhåndsbestemt punkt, høres det greit ut?