A ja to mam w 1 LO :]
Chcę się upewnić i proszę o sprawdzenie.
Dane -
H
0=100m
V
0=300m/s
kat=45 stopni.
wiec zasieg jaki bylby gdyby H
0=0 wynosi :
((300m/s)^2 * sin2*45)/10 m/s^2 = 9000 m
potem Vx= 300*sin45 = 212,132 Jako że 45stopni Vy=Vx
Czas ruchu pionowego - t=100m/ (0,5* 300m/s * 10m/s^2) = 0,06 s
Droga ruchu poziomego = s= 212,132 * 0,0666667 ~14m
Więc całkowicie 9014m.
Czy tak powinno wyjść?
Teraz robie rozszerzone zadanie :]
Armata stoi na wzgórzu o wysokości 100m. Wystrzeliwany jest z niej pocisk z prędkością początkową 500 m/s. Pod jakim kątem należy wystrzelić pocisk, aby dotarł on na jak najdalszą odległość? Siłę oporu ruchu należy wyliczyć ze wzoru – F= -kv , gdzie k=0,01.
Co 0,001 sekunde mam petle zrobona - rozkladam predkosc na Vx i Vy potem opór na Fx i Fy - tu mi sie wydaje ze mam zle, bo jezeli np. mam opór 5N to robie ze w czasie 1s cialo wytraca predkosc 5m/s - takie zalozenie przyjalem, ale wydaje mi sie ze jest to zle. Potem dzialam grawitacyjnym przyspieszeniem i obliczam na jaka odleglosc sie wzniesie i o ile poleci wzdloz osi x, robie petelke az bedzie wysokosc=0. Kat wychodzi mi 39.30, zasieg 17 300m.
Stosowna czesc kodu podczas petli (c++) :
Kod
predkosc= sqrt(Vy*Vy+Vx*Vx);
sinus= Vy/predkosc;
cosinus= Vx/predkosc;
float Foporu=predkosc*k*(-1); // siła oporu w danej chwili
float Fy=sinus*Foporu; //Fy dla początku tego ruchu
float Fx=cosinus*Foporu; //Fx dla początku tego ruchu
Vy=Vy+(Fy*time); //odjete wartosci
Vx=Vx+(Fx*time); // odjete wartosci po dzialaniu sily oporu ruchu
Vy=Vy - (do_g-3.086*0.000001*height) * time; //przyspieszenie; do_g to wartosc, ktora sluzy do obliczania g
height=height+ (Vy*time); // wysokosc po tym czasie
width=width+ (Vx*time);
Z kolei moj facet od fizyki twierdzi, ze to sie bez problemu zrobi w excelu i jest to krotki sposob. Moze ktos go zna?
Czy ktos na tyle zna sie na fizyce by mi pomoc i stwierdzic czy rozwiazanie jest dobre?