...
Videre lar vi det gå en tidsenhet, f.eks 0.1 sekunder, slik at kulen flytter seg litt og deretter kalkulerer vi variablene på nytt.
Dette gjentar vi så lenge y-koordinatet er større enn 0. Da har kulen truffet bakken, og lengden av kastet vil være gitt av x-koordinatet.
...
Fra vinkel og starthastighet kan farten dekomponeres i x og y-retning:
vx = cos(angle)*speed
vy = sin(angle)*speed
Skriv funksjonen initalVelocity(initalAngle, speed)
. Denne skal returnere initialhastighet i x og y-retning.
...
Code Block | ||
---|---|---|
| ||
[vx, vy] = initVelocityinitialVelocity (0, 100) % skal returnere vx = 100 , vy = 0 [vx, vy] = initVelocityinitialVelocity (pi /2, 100) % skal returnere vx = 6.1232e -15 , vy = 100 [vx, vy] = initVelocityinitialVelocity (pi /4, 100) % skal returnere vx = 70.7107 , vy = 70.7107 |
...
Code Block | ||
---|---|---|
| ||
[x, y] = position (10 , 10, 0, 1, 1) % skal returnere x = 10, y = 11 [x, y] = position (10 , 10, 1, 0, 1) % skal returnere x = 11, y = 10 [x, y] = position (10 , 10, 1, 1, 0.1) % skal returnere x = 10.1 , y = 10.1 |
...
Skriv function [xv, yv] = trajectory(initialSpeed, initialAngle,
height)
. Denne funksjonen benytter seg av initialSpeed,
acceleration,
velocity
og position
. Den skal returnere to lister: én xv
for x og én yv
for y-koordinater.
Tiden kulen bruker på å treffe bakken er ukjent, en while-løkke må derfor benyttes. Denne skal terminere når høyden blir mindre enn 0.
...