Wprowadzenie do UML, przykład użycia kolizja
|
|
- Maciej Olejniczak
- 8 lat temu
- Przeglądów:
Transkrypt
1 Bogdan Kreczmer Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania obiektowego. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych prywatnych potrzeb i może on być kopiowany wyłącznie w całości, razem z niniejszą stroną tytułową.
2 Niniejsza prezentacja została wykonana przy użyciu systemu składu L A TEX oraz stylu beamer, którego autorem jest Till Tantau. Strona domowa projektu Beamer:
3 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji
4 Plan prezentacji Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji
5 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1
6 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1
7 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1
8 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1
9 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1
10 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1
11 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1
12 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji Strona projektu:
13 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas UML jest językiem znormalizowanym, służącym do zapisywania projektu systemu.
14 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas UML jest językiem znormalizowanym, służącym do zapisywania projektu systemu. Może być stosowany do obrazowania, specyfikowania, tworzenia i dokumentowania artefaktów powstałych podczas procesu budowy systemu informatycznego.
15 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas UML jest językiem znormalizowanym, służącym do zapisywania projektu systemu. Może być stosowany do obrazowania, specyfikowania, tworzenia i dokumentowania artefaktów powstałych podczas procesu budowy systemu informatycznego. UML służy do obrazowania, specyfikowania i dokumentowania systemów obiektowych.
16 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas UML jest językiem znormalizowanym, służącym do zapisywania projektu systemu. Może być stosowany do obrazowania, specyfikowania, tworzenia i dokumentowania artefaktów powstałych podczas procesu budowy systemu informatycznego. UML służy do obrazowania, specyfikowania i dokumentowania systemów obiektowych. UML jest przede wszystkim przeznaczony do wspomagania budowy systemów informatycznych.
17 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Przykładowe obszary zastosowań: tworzenie systemów informatycznych przedsiębiorstw, usług bankowych i finansowych, rozproszone usługi internetowe.
18 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Przykładowe obszary zastosowań: tworzenie systemów informatycznych przedsiębiorstw, usług bankowych i finansowych, rozproszone usługi internetowe.
19 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Przykładowe obszary zastosowań: tworzenie systemów informatycznych przedsiębiorstw, usług bankowych i finansowych, rozproszone usługi internetowe.
20 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Przykładowe obszary zastosowań: tworzenie systemów informatycznych przedsiębiorstw, usług bankowych i finansowych, rozproszone usługi internetowe.
21 Plan prezentacji Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji
22 Przykłady diagramów UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Rysunek: Diagram klas
23 Przykłady diagramów UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Rysunek: Diagram klas modelujący strukturę firmy
24 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne.
25 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji
26 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji
27 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji
28 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji
29 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji
30 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia służy do obrazowania zachowania systemu, podsystemu lub klasy w taki sposób, żeby użytkownicy mogli zrozumieć, jak z tego bytu korzystać, a programiści mogli go zaimplementować. Czynności Klas Sekwencji
31 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Ważniejsze diagramy diagram przypadków użycia
32 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności modeluje dynamiczne aspekty systemu. Demonstrują przepływ sterowania od operacji do operacji. Klas Sekwencji
33 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Ważniejsze diagramy diagram czynności
34 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas służy do obrazowania statycznych aspektów systemu. Bierze się w nim pod uwagę wymagania funkcjonalne (usługi), jakie system powinien udostępniać swoim użytkownikom. Sekwencji
35 Ważniejsze diagramy diagram klas UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas
36 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji służy do obrazowania dynamicznych aspektów systemu. Demonstruje kolejność komunikatów w czasie, które przesyłają między sobą obiekty.
37 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Ważniejsze diagramy diagram sekwencji
38 Plan prezentacji Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji
39 Oznaczenia Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa
40 Model klasy w UML UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas
41 Model klasy w UML UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas
42 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa Wektor przykład modelu w UML class Wektor { public : double x, y; }; double Norma( ) const { return sqrt(x x+y y); }
43 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa Wektor przykład modelu w UML class Wektor { public : double x, y; }; double Norma( ) const { return sqrt(x x+y y); }
44 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa LZespolona przykład modelu w UML class LZespolona { public : double re, im; LZespolona(double re nowa, double im nowa): re(re nowa), im(im nowa) { } LZespolona Sprzezenie( ) const { return LZespolona(re,-im); } LZespolona operator + (const LZespolona& Arg2) const ; LZespolona operator (const LZespolona& Arg2) const ; }; double Modul2() const { return re re + im im; }
45 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa LZespolona przykład modelu w UML class LZespolona { public : double re, im; LZespolona(double re nowa, double im nowa): re(re nowa), im(im nowa) { } LZespolona Sprzezenie( ) const { return LZespolona(re,-im); } LZespolona operator + (const LZespolona& Arg2) const ; LZespolona operator (const LZespolona& Arg2) const ; }; double Modul2() const { return re re + im im; }
46 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { public : LZespolona x, y; WektorZ( ): x(0,0), y(0,0) {} }; double Norma( ) const;
47 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { public : LZespolona x, y; WektorZ( ): x(0,0), y(0,0) {} }; double Norma( ) const { return sqrt((x x.sprzezenie( )+y y.sprzezenie( )).re); }
48 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { public : LZespolona x, y; WektorZ( ): x(0,0), y(0,0) {} }; double Norma( ) const { return sqrt(x.modul2( )+y.modul2( )); }
49 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { public : LZespolona x, y; WektorZ( ): x(0,0), y(0,0) {} }; double Norma( ) const { return sqrt(x.modul2( )+y.modul2( )); }
50 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { LZespolona public : Wsp[2]; }; const LZespolona& operator [ ] (unsigned int Ind) const { return Wsp[Ind]; } LZespolona& operator [ ] (unsigned int Ind) { return Wsp[Ind]; } double Norma( ) const { return sqrt(( this )[0].Modul2()+( this )[1].Modul2()); }
51 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { LZespolona public : Wsp[2]; }; const LZespolona& operator [ ] (unsigned int Ind) const { return Wsp[Ind]; } LZespolona& operator [ ] (unsigned int Ind) { return Wsp[Ind]; } double Norma( ) const { return sqrt(( this )[0].Modul2()+( this )[1].Modul2()); }
52 Oznaczenia Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa
53 Oznaczenia Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa Kompozycja
54 Agregacja całkowita Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas
55 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { LZespolona public : Wsp[2]; }; const LZespolona& operator [ ] (unsigned int Ind) const { return Wsp[Ind]; } LZespolona& operator [ ] (unsigned int Ind) { return Wsp[Ind]; } double Norma( ) const { return sqrt(( this )[0].Modul2()+( this )[1].Modul2()); }
56 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { LZespolona public : Wsp[2]; }; const LZespolona& operator [ ] (unsigned int Ind) const { return Wsp[Ind]; } LZespolona& operator [ ] (unsigned int Ind) { return Wsp[Ind]; } double Norma( ) const { return sqrt(( this )[0].Modul2()+( this )[1].Modul2()); }
57 Oznaczenia Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa Kompozycja Agregacja
58 Agregacja zwykła Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas
59 Oznaczenia Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa Kompozycja Agregacja Zależność Powiazanie
60 Plan prezentacji Języki modelowania 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji
61 Opis problemu Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.
62 Opis problemu Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy.
63 Plan prezentacji Języki modelowania 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji
64 Etapy osiągania rozwiązania Analiza Projektowanie Konstrukcja
65 Etapy osiągania rozwiązania Analiza jest odwzorowaniem rzeczywistego świata na jego model koncepcyjny Projektowanie Konstrukcja
66 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy.kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform.
67 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy. Kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform.
68 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy.kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform. d(t) = (x 1 x 2 ) 2 + (y 1 y 2 ) 2
69 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy.kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform. d(t) = (x 1 x 2 ) 2 + (y 1 y 2 ) 2 { x1 (t) = v x,1 t + x 0,1 y 1 (t) = v y,1 t + y 0,1 { x2 (t) = v x,2 t + x 0,2 y 2 (t) = v y,2 t + y 0,2
70 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy.kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform. d(t) = (x 1 x 2 ) 2 + (y 1 y 2 ) 2 { x1 (t) = v x,1 t + x 0,1 y 1 (t) = v y,1 t + y 0,1 { x2 (t) = v x,2 t + x 0,2 y 2 (t) = v y,2 t + y 0,2
71 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy.kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform. d(t) = (x 1 x 2 ) 2 + (y 1 y 2 ) 2 d(t) = { x1 (t) = v x,1 t + x 0,1 y 1 (t) = v y,1 t + y 0,1 { x2 (t) = v x,2 t + x 0,2 y 2 (t) = v y,2 t + y 0,2 ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2
72 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2
73 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2 d(t) = (v x,12 t + x 0,12 ) 2 + (v y,12 t + y 0,12 ) 2 gdzie v x,12 = v x,1 v x,2 analogicznie x 0,12, v y,12, y 0,12.
74 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2 d(t) = (v x,12 t + x 0,12 ) 2 + (v y,12 t + y 0,12 ) 2 gdzie v x,12 = v x,1 v x,2 analogicznie x 0,12, v y,12, y 0,12. Szukamy wartość t, dla której funkcja d(.) osiąga minimum.
75 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2 d(t) = (v x,12 t + x 0,12 ) 2 + (v y,12 t + y 0,12 ) 2 gdzie v x,12 = v x,1 v x,2 analogicznie x 0,12, v y,12, y 0,12. Szukamy wartość t, dla której funkcja d(.) osiąga minimum. dd(t) dt = 0 v x,12 (v x,12 t + x 0,12 ) + v y,12 (v y,12 t + y 0,12 ) = 0
76 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2 d(t) = (v x,12 t + x 0,12 ) 2 + (v y,12 t + y 0,12 ) 2 gdzie v x,12 = v x,1 v x,2 analogicznie x 0,12, v y,12, y 0,12. Szukamy wartość t, dla której funkcja d(.) osiąga minimum. dd(t) dt = 0 v x,12 (v x,12 t + x 0,12 ) + v y,12 (v y,12 t + y 0,12 ) = 0
77 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2 d(t) = (v x,12 t + x 0,12 ) 2 + (v y,12 t + y 0,12 ) 2 gdzie v x,12 = v x,1 v x,2 analogicznie x 0,12, v y,12, y 0,12. Szukamy wartość t, dla której funkcja d(.) osiąga minimum. dd(t) dt = 0 v x,12 (v x,12 t + x 0,12 ) + v y,12 (v y,12 t + y 0,12 ) = 0 t = v x,12x 0,12 + v y,12 y 0,12 v 2 x,12 + v 2 y,12
78 Finalne rozwiązanie problemu d = ( (v x,1 v x,2 ) v x,12x 0,12 +v y,12 y 0,12 v 2 x,12 +v 2 y,12 ( + (v y,1 v y,2 ) v x,12x 0,12 +v y,12 y 0,12 vx,12 2 +v y,12 2 ) 2 + (x 0,1 x 0,2 ) + (y 0,1 y 0,2 ) 1 2 ) 2
79 Zmiana układu współrzędnych
80 Zmiana układu współrzędnych
81 Zmiana układu współrzędnych
82 Zmiana układu współrzędnych
83 Zmiana układu współrzędnych Transformacja do lokalnego układu współrzędnych platformy nr 2 związanego ze środkiem okręgu opisanego na obrysie jej korpusu. { xl (t) = x 1 (t) x 2 (t) y L (t) = y 1 (t) y 2 (t) { vx,l (t) = v x,1 (t) v x,2 (t) v y,l (t) = v y,1 (t) v y,2 (t)
84 Zmiana układu współrzędnych Transformacja do lokalnego układu współrzędnych platformy nr 2 związanego ze środkiem okręgu opisanego na obrysie jej korpusu. { xl (t) = x 1 (t) x 2 (t) y L (t) = y 1 (t) y 2 (t) { vx,l (t) = v x,1 (t) v x,2 (t) v y,l (t) = v y,1 (t) v y,2 (t) Dzięki zastosowanej transformacji rozwiązanie problemu znacznie się upraszcza. Nie trzeba liczyć pochodnej, gdyż w tym przypadku problem jest natury geometrycznej.
85 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych.
86 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych.
87 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych.
88 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych.
89 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α
90 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z
91 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z
92 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z
93 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z
94 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z
95 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z d = (r V L) z V L
96 Porównanie rozwiązań d = ( (v x,1 v x,2 ) v x,12x 0,12 +v y,12 y 0,12 v 2 x,12 +v 2 y,12 ( + (v y,1 v y,2 ) v x,12x 0,12 +v y,12 y 0,12 vx,12 2 +v y,12 2 ) 2 + (x 0,1 x 0,2 ) + (y 0,1 y 0,2 ) 1 2 ) 2 d = (r V L) z V L
97 Plan prezentacji Języki modelowania 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji
98 Etapy osiągania rozwiązania Analiza Projektowanie Konstrukcja
99 Etapy osiągania rozwiązania Analiza Projektowanie jest odwzorowaniem modelu koncepcyjnego na model implementacji. Konstrukcja
100 Określenie przypadków użycia Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy.
101 Określenie przypadków użycia Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Stworzona procedura będzie wykorzystywana w module detekcji kolizji oraz module planowania trajektrorii.
102 Diagram przypadków użycia Diagram przypadków użycia służy do obrazowania zachowania systemu, podsystemu lub klasy w taki sposób, żeby użytkownicy mogli zrozumieć, jak z tego bytu korzystać, a programiści mogli go zaimplementować.
103 Diagram przypadków użycia
104 Diagram przypadków użycia
105 Diagram przypadków użycia
106 Diagram przypadków użycia
107 Diagram przypadków użycia
108 Diagram przypadków użycia
109 Diagram przypadków użycia
110 Diagram przypadków użycia
111 Diagram czynności Języki modelowania Diagram czynności modeluje dynamiczne aspekty systemu. Demonstrują przepływ sterowania od operacji do operacji.
112 Diagram czynności Języki modelowania
113 Diagram czynności Języki modelowania
114 Diagram czynności Języki modelowania
115 Diagram czynności Języki modelowania
116 Diagram czynności Języki modelowania
117 Diagram czynności Języki modelowania
118 Diagram czynności Języki modelowania
119 Diagram czynności Języki modelowania
120 Diagram klas Języki modelowania Diagram klas służy do obrazowania statycznych aspektów systemu. Bierze się w nim pod uwagę wymagania funkcjonalne (usługi), jakie system powinien udostępniać swoim użytkownikom.
121 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy.
122 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: Własności: Operacje:
123 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: Operacje:
124 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje:
125 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje:
126 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje:
127 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje:
128 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje:
129 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności
130 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości
131 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości
132 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości
133 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości (Po rozwiązaniu analitycznym) Dodatkowe operacje: odejmowanie wektorów iloczyn skalarny iloczyn wektorowy
134 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości (Po rozwiązaniu analitycznym) Dodatkowe operacje: odejmowanie wektorów iloczyn skalarny iloczyn wektorowy
135 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości (Po rozwiązaniu analitycznym) Dodatkowe operacje: odejmowanie wektorów iloczyn skalarny iloczyn wektorowy
136 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości (Po rozwiązaniu analitycznym) Dodatkowe operacje: odejmowanie wektorów iloczyn skalarny iloczyn wektorowy
137 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości (Po rozwiązaniu analitycznym) Dodatkowe operacje: odejmowanie wektorów iloczyn skalarny iloczyn wektorowy
138 Diagram klas Języki modelowania
139 Diagram klas Języki modelowania
140 Diagram klas Języki modelowania
141 Diagram klas Języki modelowania
142 Diagram klas Języki modelowania
143 Diagram klas Języki modelowania
144 Diagram klas Języki modelowania
145 Diagram klas Języki modelowania
146 Etapy osiągania rozwiązania Definicje klas Definicja metody sprawdzania kolizji Analiza Projektowanie Konstrukcja
147 Etapy osiągania rozwiązania Definicje klas Definicja metody sprawdzania kolizji Analiza Projektowanie Konstrukcja jest odwzorowaniem modelu implementacji na działający system.
148 Plan prezentacji Języki modelowania Definicje klas Definicja metody sprawdzania kolizji 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji
149 Definicje klasy Wektor Definicje klas Definicja metody sprawdzania kolizji class Wektor { // public: float x, y; Wektor operator ( Wektor ) const ; float operator ( const Wektor &V ) const { return x V.y y V.x; } float operator & ( const Wektor &V ) const { return x V.x + y V.y; } }; // Wektor Wektor::operator ( Wektor W ) const { W.x = x W.x; W.y = y W.y; } return W;
150 Definicje klasy Wektor Definicje klas Definicja metody sprawdzania kolizji class Wektor { // public: float x, y; Wektor operator ( Wektor ) const ; float operator ( const Wektor &V ) const { return x V.y y V.x; } float operator & ( const Wektor &V ) const { return x V.x + y V.y; } }; // Wektor Wektor::operator ( Wektor W ) const { W.x = x W.x; W.y = y W.y; } return W;
151 Definicje klasy Wektor Definicje klas Definicja metody sprawdzania kolizji class Wektor { // public: float x, y; Wektor operator ( Wektor ) const ; float operator ( const Wektor &V ) const { return x V.y y V.x; } float operator & ( const Wektor &V ) const { return x V.x + y V.y; } }; // Wektor Wektor::operator ( Wektor W ) const { W.x = x W.x; W.y = y W.y; } return W;
152 Definicje klasy Wektor Definicje klas Definicja metody sprawdzania kolizji class Wektor { // public: float x, y; Wektor operator ( Wektor ) const ; float operator ( const Wektor &V ) const { return x V.y y V.x; } float operator & ( const Wektor &V ) const { return x V.x + y V.y; } }; // Wektor Wektor::operator ( Wektor W ) const { W.x = x W.x; W.y = y W.y; } return W;
153 Plan prezentacji Języki modelowania Definicje klas Definicja metody sprawdzania kolizji 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji
154 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L
155 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L
156 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L
157 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L
158 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L
159 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L
160 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Wyliczenie prędkości platformy 1 w lokalnym układzie współrzędnych platformy nr 2.
161 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Wyliczenie prędkości platformy 1 w lokalnym układzie współrzędnych platformy nr 2.
162 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Wyliczenie współrzędnych wektora poprowadzone z platformy nr 2 do platformy nr 1.
163 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Wyliczenie współrzędnych wektora poprowadzone z platformy nr 2 do platformy nr 1.
164 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Wyliczenie najmniejszej odległości między środkami platform.
165 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Wyliczenie najmniejszej odległości między środkami platform.
166 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Porównanie rozmiarów sumy obrysów obu platform z odległością ich największego zbliżenia.
167 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Porównanie rozmiarów sumy obrysów obu platform z odległością ich największego zbliżenia.
Diagramy UML, przykład problemu kolizji
Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoPrzykład implementacji przeciażeń operatorów problem kolizji
Przykład implementacji przeciażeń operatorów problem kolizji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera
Bardziej szczegółowoSzablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoWprowadzenie do szablonów klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008-2010 Bogdan Kreczmer Niniejszy
Bardziej szczegółowoSchemat konstrukcja pliku Makefile
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoPraca z aplikacją designer
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2014 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoCel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2
Wyższa Szkoła Menedżerska w Legnicy Systemy informatyczne w przedsiębiorstwach Zarządzanie, ZIP, sem. 6 (JG) Modelowanie wymagań Wykład 2 Grzegorz Bazydło Cel wykładu Celem wykładu jest przekazanie wiedzy
Bardziej szczegółowoUML w Visual Studio. Michał Ciećwierz
UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować
Bardziej szczegółowoQt sygnały i sloty. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska
Qt sygnały i sloty Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera
Bardziej szczegółowoWprowadzenie do szablonów szablony funkcji
Wprowadzenie do szablonów szablony funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do
Bardziej szczegółowoWprowadzenie do szablonów szablony funkcji
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoPrzestrzenie nazw. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska
Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania
Bardziej szczegółowoDalmierze optyczne. Bogdan Kreczmer. bogdan.kreczmer@pwr.wroc.pl
Dalmierze optyczne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2013 Bogdan Kreczmer
Bardziej szczegółowoPrzykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem
Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005
Bardziej szczegółowoQt sygnały i designer
Qt sygnały i designer Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan
Bardziej szczegółowoLaboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 1 Wprowadzenie do narzędzia CASE
Bardziej szczegółowoINŻYNIERIA OPROGRAMOWANIA. laboratorium
INŻYNIERIA OPROGRAMOWANIA laboratorium UML 1/4 UML (Unified Modeling Language) - język modelowania obiektowego systemów i procesów [Wikipedia] Spojrzenie na system z różnych perspektyw dzięki zastosowaniu
Bardziej szczegółowoPapyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska
Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Zaawansowane metody programowania Copyright c 2014 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania
Bardziej szczegółowoSzablon klasy std::list
Szablon klasy std::list Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania
Bardziej szczegółowoPodejście obiektowe wprowadzenie
wprowadzenie Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2013 Bogdan Kreczmer
Bardziej szczegółowoZagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)
Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu
Bardziej szczegółowoKomputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl
Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki
Bardziej szczegółowoOrganizacja kursu, paradygmaty, ogólnie o C i C++
Organizacja kursu, paradygmaty, ogólnie o C i C++ Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechniki Wrocławskiej Kurs: Copyright c 2015 Bogdan
Bardziej szczegółowoKlasa, metody, rozwijanie w linii
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoLaboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram
Bardziej szczegółowoKlasa, metody, rozwijanie w linii
Klasa, metody, rozwijanie w linii Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoUML cz. I. UML cz. I 1/1
UML cz. I UML cz. I 1/1 UML cz. I 2/1 UML - Unified Modeling Language ujednolicony można go współdzielić z wieloma pracownikami modelowania służy do opisu projektowanego modelu język posiada opisaną strukturę
Bardziej szczegółowoLaboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram
Bardziej szczegółowoModelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014
Modelowanie diagramów klas w języku UML Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Czym jest UML - Unified Modeling Language - Rodzina języków modelowania graficznego - Powstanie na przełomie lat 80
Bardziej szczegółowoWprowadzenie do UML Rodzaje diagramów Przeglad oprogramowania Zadania Rozwiazania zadań Bibliografia. Warsaw Dziobax
Wprowadzenie do Wprowadzenie do Narzędzia Magda Michalska Krzysztof Kulewski Tomasz Warchoł Mateusz Markowski Andrzej Pacuk Zespołowy Projekt Programistyczny 2006 Plan Wprowadzenie do 1 Wprowadzenie do
Bardziej szczegółowoWyliczanie wyrażenia obiekty tymczasowe
Wyliczanie wyrażenia obiekty tymczasowe Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2013 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoLaboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Bardziej szczegółowoCzujniki PSD i dalmierze triangulacyjne
Czujniki PSD i dalmierze triangulacyjne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechniki Wrocławskiej Kurs: Copyright c 2015 Bogdan Kreczmer
Bardziej szczegółowoLaboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia Materiały dla nauczyciela Projekt
Bardziej szczegółowoPodstawy programowania III WYKŁAD 4
Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.
Bardziej szczegółowoLaboratorium modelowania oprogramowania w języku UML. Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram klas. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram
Bardziej szczegółowoProgramowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)
Bardziej szczegółowoWyjątki. Wyjątki. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska
Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania
Bardziej szczegółowoZadania z podstaw programowania obiektowego
Zadania z podstaw programowania obiektowego 1. Napisać klasę Lista, której zadaniem będzie przechowywanie listy liczb całkowitych. Klasa ta ma mieć następujące pola prywatne: int* liczby; tablica, w której
Bardziej szczegółowoMiASI. Modelowanie systemów biznesowych. Piotr Fulmański. 7 stycznia 2010. Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska
MiASI Modelowanie systemów biznesowych Piotr Fulmański Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska 7 stycznia 2010 Spis treści 1 Czym jest system biznesowy? Po co model bizensowy? Czym
Bardziej szczegółowoUnified Modeling Language
Unified Modeling Language Wprowadzenie do UML Igor Gocaliński Odrobina historii Połowa lat 70-tych i koniec 80-tych to początek analizy obiektowej Wiele opracowanych metod w połowie lat 90-tych Metoda
Bardziej szczegółowoReferencje do zmiennych i obiektów
Referencje do zmiennych i obiektów Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoLista dwukierunkowa - przykład implementacji destruktorów
Lista dwukierunkowa - przykład implementacji destruktorów Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2008 Bogdan Kreczmer Niniejszy dokument zawiera
Bardziej szczegółowoWPROWADZENIE DO UML-a
WPROWADZENIE DO UML-a Maciej Patan Instytut Sterowania i Systemów Informatycznych Dlaczego modelujemy... tworzenie metodologii rozwiązywania problemów, eksploracja różnorakich rozwiązań na drodze eksperymentalnej,
Bardziej szczegółowoPodejście obiektowe - podstawowe pojęcia
Podejście obiektowe - podstawowe pojęcia Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2003 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoCzujniki PSD i dalmierze triangulacyjne
Czujniki PSD i dalmierze triangulacyjne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechniki Wrocławskiej Kurs: Copyright c 2016 Bogdan Kreczmer
Bardziej szczegółowoZad. 5: Układ równań liniowych liczb zespolonych
Zad. 5: Układ równań liniowych liczb zespolonych 1 Cel ćwiczenia Wykształcenie zdolności abstrahowania operacji arytmetycznych od konkretnych typów. Unaocznienie problemów związanych z programowaniem uogólnionym
Bardziej szczegółowoSzablon klasy std::vector
Szablon klasy std::vector Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat
Bardziej szczegółowoHermetyzacja oraz pola i metody statyczne
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2010 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoDia rysowanie diagramów
Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoProgramowanie Obiektowew języku C++ Zadania L4
Programowanie Obiektowew języku C++ Zadania L4 Mirosław Głowacki 1,2 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki
Bardziej szczegółowoModelowanie i analiza systemów informatycznych
Katolicki Uniwersytet Lubelski Jana Pawła II Wydział Matematyki, Informatyki i Architektury Krajobrazu Modelowanie i analiza systemów informatycznych ćwiczenia informacja wstępna dr Viktor Melnyk, prof.
Bardziej szczegółowoWartości domyślne, szablony funkcji i klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoPODSTAWY RACHUNKU WEKTOROWEGO
Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Skalar Definicja Skalar wielkość fizyczna (lub geometryczna)
Bardziej szczegółowoOpenGL oświetlenie. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska
OpenGL oświetlenie Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2017 Bogdan Kreczmer Niniejszy dokument zawiera
Bardziej szczegółowoZad. 6: Sterowanie robotami mobilnymi w obecności przeszkód
Zad. 6: Sterowanie robotami mobilnymi w obecności przeszkód 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas oraz czynności. Wykorzystanie
Bardziej szczegółowoStyle programowania - krótki przeglad
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoWartości domyślne, przeciażenia funkcji
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoZad. 7: Sterowanie robotami mobilnymi w obecności przeszkód
Zad. 7: Sterowanie robotami mobilnymi w obecności przeszkód 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas oraz czynności. Wykorzystanie
Bardziej szczegółowoStyle programowania - krótki przeglad
Style programowania - krótki przeglad Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoProgramowanie 2. Język C++. Wykład 3.
3.1 Programowanie zorientowane obiektowo... 1 3.2 Unie... 2 3.3 Struktury... 3 3.4 Klasy... 4 3.5 Elementy klasy... 5 3.6 Dostęp do elementów klasy... 7 3.7 Wskaźnik this... 10 3.1 Programowanie zorientowane
Bardziej szczegółowoKompozycja i dziedziczenie klas
Związki między klasami: jest i zawiera Programowanie obiektowe Przkład: Pojazd Kompozycja i dziedziczenie klas Silnik Pojazd silnikowy Rower Wóz konny Paweł Rogaliński Instytut Informatyki, Automatyki
Bardziej szczegółowoPola i metody statyczne
Pola i metody statyczne Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2009 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania
Bardziej szczegółowoProgramowanie Obiektowew języku C++ Zadania L4
Programowanie Obiektowew języku C++ Zadania L4 Mirosław Głowacki 1,2 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki
Bardziej szczegółowoPodstawy robotyki wykład VI. Dynamika manipulatora
Podstawy robotyki Wykład VI Robert Muszyński Janusz Jakubiak Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Dynamika opisuje sposób zachowania się manipulatora poddanego wymuszeniu
Bardziej szczegółowoProjektowanie interakcji. Jarosław Kuchta
Projektowanie interakcji Jarosław Kuchta Podstawowe pojęcia Interakcja (interaction) Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania. Interakcja występuje w kontekście
Bardziej szczegółowoInterfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej
Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,
Bardziej szczegółowoZakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska
1 Przykład wyliczania wyrażeń arytmetycznych Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Copyright
Bardziej szczegółowoGeneza powstania języka C++
Geneza powstania języka C++ Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat
Bardziej szczegółowoInżynieria oprogramowania Wprowadzenie. WYKŁAD Piotr Ciskowski
Inżynieria oprogramowania Wprowadzenie WYKŁAD Piotr Ciskowski Etapy budowy systemu informatycznego Inżynieria oprogramowania o tworzenie dobrych programów / systemów o Wikipedia: wszelkie aspekty produkcji
Bardziej szczegółowoPrzesłanianie nazw, przestrzenie nazw
Przesłanianie nazw, przestrzenie nazw Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2013 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoJęzyk Java część 2 (przykładowa aplikacja)
Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa
Bardziej szczegółowoKompozycja i dziedziczenie klas
Programowanie obiektowe Kompozycja i dziedziczenie klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Kompozycja i dziedziczenie klas
Bardziej szczegółowoKINEMATYKA I DYNAMIKA CIAŁA STAŁEGO. dr inż. Janusz Zachwieja wykład opracowany na podstawie literatury
KINEMATYKA I DYNAMIKA CIAŁA STAŁEGO dr inż. Janusz Zachwieja wykład opracowany na podstawie literatury Funkcje wektorowe Jeśli wektor a jest określony dla parametru t (t należy do przedziału t (, t k )
Bardziej szczegółowoJęzyk ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Bardziej szczegółowoLaboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla studentów
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram
Bardziej szczegółowoMichał Adamczyk. Język UML
Michał Adamczyk Język UML UML I. Czym jest UML Po co UML II.Narzędzia obsługujące UML, edytory UML III.Rodzaje diagramów UML wraz z przykładami Zastosowanie diagramu Podstawowe elementy diagramu Przykładowy
Bardziej szczegółowoDefiniowanie własnych klas
Programowanie obiektowe Definiowanie własnych klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Definiowanie własnych klas Autor:
Bardziej szczegółowoAnaliza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas
Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy
Bardziej szczegółowoWartości domyślne, przeciażenia funkcji
Wartości domyślne, przeciażenia funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoWstęp do programowania obiektowego. Wykład 2
Wstęp do programowania obiektowego Wykład 2 1 CECHY I KONCEPCJA PROGRAMOWANIA OBIEKTOWEGO 2 Cechy programowania obiektowego Dla wielu problemów podejście obiektowe jest zgodne z rzeczywistością (łatwe
Bardziej szczegółowoDiagramy czynności Na podstawie UML 2.0 Tutorial
Diagramy czynności Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz 1 Diagramy czynności 1. Diagramy czyności UML http://sparxsystems.com.au/resources/uml2_tutorial/
Bardziej szczegółowoSpis treúci. 1. Wprowadzenie... 13
Księgarnia PWN: W. Dąbrowski, A. Stasiak, M. Wolski - Modelowanie systemów informatycznych w języku UML 2.1 Spis treúci 1. Wprowadzenie... 13 2. Modelowanie cele i metody... 15 2.1. Przegląd rozdziału...
Bardziej szczegółowoWstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this
Wstęp do programowania obiektowego WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this 1 Nazwa typu Rozmiar Zakres Uwagi bool 1 bit wartości true albo false stdbool.h TYPY ZNAKOWE
Bardziej szczegółowoPodstawy inżynierii oprogramowania
Podstawy inżynierii oprogramowania Modelowanie. Podstawy notacji UML Aleksander Lamża ZKSB Instytut Informatyki Uniwersytet Śląski w Katowicach aleksander.lamza@us.edu.pl Zawartość Czym jest UML? Wybrane
Bardziej szczegółowoPodstawy modelowania programów Kod przedmiotu
Podstawy modelowania programów - opis przedmiotu Informacje ogólne Nazwa przedmiotu Podstawy modelowania programów Kod przedmiotu 11.3-WI-INFP-PMP Wydział Kierunek Wydział Informatyki, Elektrotechniki
Bardziej szczegółowoPodstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
Bardziej szczegółowoZaawansowane programowanie w języku C++ Programowanie obiektowe
Zaawansowane programowanie w języku C++ Programowanie obiektowe Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoInżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji
Inżynieria oprogramowania Jarosław Kuchta Modelowanie interakcji Podstawowe pojęcia Interakcja (interaction) Przepływ komunikatów pomiędzy obiektami konieczny dla wykonania określonego zadania. Interakcja
Bardziej szczegółowoSpis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08
Spis treści Wstęp.............................................................. 7 Część I Podstawy analizy i modelowania systemów 1. Charakterystyka systemów informacyjnych....................... 13 1.1.
Bardziej szczegółowoMechanika ogólna. Kinematyka. Równania ruchu punktu materialnego. Podstawowe pojęcia. Równanie ruchu po torze (równanie drogi)
Kinematyka Mechanika ogólna Wykład nr 7 Elementy kinematyki Dział mechaniki zajmujący się matematycznym opisem układów mechanicznych oraz badaniem geometrycznych właściwości ich ruchu, bez wnikania w związek
Bardziej szczegółowoPARADYGMATY PROGRAMOWANIA Wykład 3
PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na
Bardziej szczegółowoAnaliza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji
Analiza i programowanie obiektowe 2016/2017 Wykład 6: Projektowanie obiektowe: diagramy interakcji Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Przejście
Bardziej szczegółowoPARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
Bardziej szczegółowoKARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem
WYDZIAŁ INFORMATYKI I ZARZĄDZANIA Zał. nr 4 do ZW 33/01 KARTA PRZEDMIOTU Nazwa w języku polskim: Nazwa w języku angielskim: Kierunek studiów (jeśli dotyczy): Specjalność (jeśli dotyczy): Stopień studiów
Bardziej szczegółowoDynamika manipulatora. Robert Muszyński Janusz Jakubiak Instytut Cybernetyki Technicznej Politechnika Wrocławska. Podstawy robotyki wykład VI
Podstawy robotyki Wykład VI Robert Muszyński Janusz Jakubiak Instytut Cybernetyki Technicznej Politechnika Wrocławska Dynamika opisuje sposób zachowania się manipulatora poddanego wymuszeniu w postaci
Bardziej szczegółowoUML- Unified Modeling Language Ujednolicony Język Modelowania
UML- Unified Modeling Language Ujednolicony Język Modelowania UML jest standardowym językiem do specyfikacji, wizualizacji, budowy i dokumentowania wszystkich artefaktów (wytworów) dowolnego systemu. UML
Bardziej szczegółowo