AiP Lab08


Algorytmika i Programowanie.
Podstawy języka C++ ze wstępem do programowania dla
in\ynierów
Tematyka ćwiczeń laboratoryjnych AiP_Lab08
dla 2 semestru studiów dziennych
na Wydziale In\ynierii LÄ…dowej PW
ProwadzÄ…cy SÅ‚awomir Czarnecki
tablice, funkcje c.d.
Zad.1. Zdefiniuj następujące 4 funkcje:
" obliczania sumy dwóch wektorów a, b" !n n e"1 ,
( )
" obliczania iloczynu skalarnego dwóch wektorów a, b" !n n e"1 ,
( )
" obliczania długości wektora a " !n n e"1 ,
( )
" obliczania iloczynu wektorowego dwóch wektorów a, b"!3 (tylko w
przestrzeni !3 !!!).
Przypomnienie !
Iloczyn skalarny dwóch wektorów a, b"!n n e"1 liczymy ze wzoru
( )
n
a Å"b =
"a[i] b[i]"! ,
i=0
natomiast długość wektora a "!n n e"1 ze wzoru
( )
a = a Å" a "! .
Dla n=3 mamy następującą definicję iloczynu wektorowego dwóch wektorów
a, b"!3
e0 e1 e2 a[1]b[2] - a[2]b[1]
îÅ‚ Å‚Å‚
ïÅ‚-a[0]b[2] + a[2]b[0]śł
a × b = a[0] a[1] a[2] H" "!3 .
ïÅ‚ śł
ïÅ‚
b[0] b[1] b[2] a[0]b[1] - a[1]b[0] śł
ðÅ‚ ûÅ‚
Zad.2. Pręt AB porusza się po płaszczyznie Oxy w ruchu płaskim. Dane:
" długość pręta AB: l
" ruch punktu A we współrzędnych kartezjańskich:
rA = rA t = xA t ex + yA t ey + zA t ez
( ) ( ) ( ) ( )
1
dla xA = xA t = Ä… t , yA = yA t = ² t2, zA = zA t = 0 .
( ) ( ) ( )
2
" ruch obrotowy pręta wokół bieguna A
1
Ć = Ć t = ł t2 .
( )
2
W powy\szych wzorach, w trakcie przeprowadzania obliczeń numerycznych,
m m 1
przyjmiemy, \e: l =1.0 m , Ä… =1.0îÅ‚ Å‚Å‚ , ² =1.0îÅ‚ Å‚Å‚ , Å‚ =1.0îÅ‚ Å‚Å‚ . Parametr t
[ ]
ïÅ‚ śł ïÅ‚ śł ïÅ‚ śł
s s2 s2
ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚
oznacza czas w sekundach [s], rA "!3 oznacza wektor wodzÄ…cy ruchu punktu
A, natomiast ex, ey, ez "!3 oznaczajÄ… wektory bazy ortonormalnej w !3.
y
B
Ć
l
ey
A - biegun
ex
x
0
2.1. Zdefiniuj funkcję, w której dla dowolnej ale ustalonej chwili czasu t,
obliczane byłyby współrzędne kartezjańskie xA = xA t , yA = yA t
( ) ( )
jednoznacznie definiujące poło\enie punktu A na płaszczyznie !2 .
Wykorzystaj następnie funkcję do (dyskretnego) obliczenia toru ruchu punktu A
poprzez stabelaryzowanie odciętej xA i rzędnej yA w 250  punktach
czasowych odpowiadajÄ…cych kolejnym chwilom czasowym t " 0,T dla
[ ]
T = 5.0 s . Obliczane współrzędne xA = xA t , yA = yA t zapisuj jednocześnie
[ ] ( ) ( )
do pliku A.txt w taki sam sposób jak w Zad.2. z AiP_Lab07, aby było mo\liwe
sporzÄ…dzenie wykresu toru ruchu punktu A w programie Microsoft Excel.
2.2. Zauwa\ajÄ…c, \e
rB = rB t = rA t + Á t , gdzie: Á t = -l sin îłĆ t Å‚Å‚ex + l cos îłĆ t Å‚Å‚ey + 0ez
( ) ( ) ( ) ( ) ( )ûÅ‚ ( )ûÅ‚
ðÅ‚ ðÅ‚
zdefiniuj funkcję, w której dla dowolnej ale ustalonej chwili czasu t, obliczane
byłyby współrzędne kartezjańskie xB = xB t , yB = yB t jednoznacznie
( ) ( )
definiujące poło\enie punktu B na płaszczyznie !2 . Znajdz tor ruchu punktu B
w analogiczny sposób jak dla punktu A powy\ej (obliczane współrzędne
xB = xB t , yB = yB t zapisuj do pliku B.txt, w celu pózniejszego sporządzenie
( ) ( )
wykresu toru ruchu punktu B w programie Microsoft Excel).
2.3. Zdefiniuj funkcje, w których dla dowolnej, ale ustalonej chwili czasu t
byłyby obliczane kolejno:
" wektor vA = vA t prędkości oraz prędkość vA = vA t punktu A
( ) ( )
dxA dyA
vA t = ex + ey + 0ez , vA t = vA t
( ) ( ) ( )
dt dt
" wektor É = É t prÄ™dkoÅ›ci kÄ…towej oraz prÄ™dkość kÄ…towa É = É t prÄ™ta
( ) ( )
AB
dĆ
É t = 0ex + 0ey + ez , É t = É t
( ) ( ) ( )
dt
" wektor vB = vB t prędkości oraz prędkość vB = vB t punktu B
( ) ( )
vB = vA + É × Á , vB t = vB t , gdzie (w naszym przykÅ‚adzie): Á = AB .
( ) ( )
(wektor prędkości vB = vB t punktu B obliczamy w oparciu o
( )
fundamentalne twierdzenie kinematyki ruchu bryły sztywnej
wykorzystujące pojęcie bieguna, który przyjmujemy w rozpatrywanym
problemie jako punkt A).
" Wykorzystując powy\sze funkcje, zapisz do plików odpowiednio vA.txt i
vB.txt prędkości punktów A i B w celu sporządzenie ich wykresów w
funkcji czasu t w programie Microsoft Excel (analogicznie jak w
poprzednich zadaniach).
" Tabelaryzowanymi (po trzy dla ka\dej z 250 chwil czasowych t)
składowymi kartezjańskimi wektorów prędkości vA = vA t i vB = vB t
( ) ( )
punktów A i B, zainicjalizuj składowe tablic TA[250][3] i TB[250][3],
które wyświetl następnie na ekranie.


Wyszukiwarka