172
Języki modelowania Problem kolizji dwóch obiektów Implementacja rozwiązania Wprowadzenie do UML, przyklad użycia – kolizja Bogdan Kreczmer [email protected] Zaklad Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wroclawska Kurs: Programowanie obiektowe Copyright c 2012 Bogdan Kreczmer Niniejszy dokument zawiera materialy do wykladu dotyczącego programowania obiektowego. Jest on udostępniony pod warunkiem wykorzystania wylącznie do wlasnych prywatnych potrzeb i może on być kopiowany wylącznie w calości, razem z niniejszą stroną tytulową. Programowanie obiektowe Wprowadzenie do UML, przyklad użycia – kolizja

Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

  • Upload
    ngotu

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Wprowadzenie do UML, przykład użycia – kolizja

Bogdan [email protected]

Zakład Podstaw Cybernetyki i RobotykiInstytut Informatyki, Automatyki i Robotyki

Politechnika Wrocławska

Kurs: Programowanie obiektowe

Copyright c©2012 Bogdan Kreczmer

Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania obiektowego. Jest onudostępniony pod warunkiem wykorzystania wyłącznie do własnych prywatnych potrzeb i może on być kopiowanywyłącznie w całości, razem z niniejszą stroną tytułową.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 2: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Niniejsza prezentacja została wykonana przy użyciu sys-temu składu LATEX oraz stylu beamer, którego autoremjest Till Tantau.

Strona domowa projektu Beamer:http://latex-beamer.sourceforge.net

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 3: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

1 Języki modelowaniaUML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

2 Problem kolizji dwóch obiektówSformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

3 Implementacja rozwiązaniaDefinicje klasDefinicja metody sprawdzania kolizji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 4: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Plan prezentacji

1 Języki modelowaniaUML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

2 Problem kolizji dwóch obiektówSformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

3 Implementacja rozwiązaniaDefinicje klasDefinicja metody sprawdzania kolizji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 5: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 6: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 7: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 8: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 9: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 10: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 11: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 12: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Strona projektu: http://www.uml.org

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 13: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

UML jest językiem znormalizowanym, służącym do zapisywaniaprojektu systemu.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 14: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

UML jest językiem znormalizowanym, służącym do zapisywaniaprojektu systemu. Może być stosowany do obrazowania, specy-fikowania, tworzenia i dokumentowania artefaktów powstałychpodczas procesu budowy systemu informatycznego.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 15: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

UML jest językiem znormalizowanym, służącym do zapisywaniaprojektu systemu. Może być stosowany do obrazowania, specy-fikowania, tworzenia i dokumentowania artefaktów powstałychpodczas procesu budowy systemu informatycznego.

UML służy do obrazowania, specyfikowania i dokumentowaniasystemów obiektowych.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 16: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

UML jest językiem znormalizowanym, służącym do zapisywaniaprojektu systemu. Może być stosowany do obrazowania, specy-fikowania, tworzenia i dokumentowania artefaktów powstałychpodczas procesu budowy systemu informatycznego.

UML służy do obrazowania, specyfikowania i dokumentowaniasystemów obiektowych.

UML jest przede wszystkim przeznaczony do wspomagania bu-dowy systemów informatycznych.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 17: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

Przykładowe obszary zastosowań:

tworzenie systemów informatycznychprzedsiębiorstw,

usług bankowych i finansowych,

rozproszone usługi internetowe.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 18: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

Przykładowe obszary zastosowań:

tworzenie systemów informatycznychprzedsiębiorstw,

usług bankowych i finansowych,

rozproszone usługi internetowe.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 19: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

Przykładowe obszary zastosowań:

tworzenie systemów informatycznychprzedsiębiorstw,

usług bankowych i finansowych,

rozproszone usługi internetowe.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 20: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

UML – Unified Modeling Language

Przykładowe obszary zastosowań:

tworzenie systemów informatycznychprzedsiębiorstw,

usług bankowych i finansowych,

rozproszone usługi internetowe.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 21: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Plan prezentacji

1 Języki modelowaniaUML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

2 Problem kolizji dwóch obiektówSformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

3 Implementacja rozwiązaniaDefinicje klasDefinicja metody sprawdzania kolizji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 22: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Przykłady diagramów

Rysunek: Diagram klas

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 23: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Przykłady diagramów

Rysunek: Diagram klas modelujący strukturę firmy

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 24: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4abstrakcyjne.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 25: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4abstrakcyjne.Najczęściej używane diagramy:

Przypadków użycia

Czynności

Klas

Sekwencji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 26: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4abstrakcyjne.Najczęściej używane diagramy:

Przypadków użycia

Czynności

Klas

Sekwencji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 27: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4abstrakcyjne.Najczęściej używane diagramy:

Przypadków użycia

Czynności

Klas

Sekwencji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 28: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4abstrakcyjne.Najczęściej używane diagramy:

Przypadków użycia

Czynności

Klas

Sekwencji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 29: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4abstrakcyjne.Najczęściej używane diagramy:

Przypadków użycia

Czynności

Klas

Sekwencji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 30: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4abstrakcyjne.Najczęściej używane diagramy:

Przypadków użycia – służy do obrazowania zachowaniasystemu, podsystemu lub klasy w taki sposób, żebyużytkownicy mogli zrozumieć, jak z tego bytu korzystać, aprogramiści mogli go zaimplementować.

Czynności

Klas

Sekwencji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 31: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Ważniejsze diagramy – diagram przypadków użycia

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 32: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4abstrakcyjne.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

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 33: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Ważniejsze diagramy – diagram czynności

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 34: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4abstrakcyjne.Najczęściej używane diagramy:

Przypadków użycia

Czynności

Klas – służy do obrazowania statycznych aspektówsystemu. Bierze się w nim pod uwagę wymaganiafunkcjonalne (usługi), jakie system powinien udostępniaćswoim użytkownikom.

Sekwencji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 35: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Ważniejsze diagramy – diagram klas

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 36: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4abstrakcyjne.Najczęściej używane diagramy:

Przypadków użycia

Czynności

Klas

Sekwencji – służy do obrazowania dynamicznych aspektówsystemu. Demonstruje kolejność komunikatów w czasie,które przesyłają między sobą obiekty.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 37: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Ważniejsze diagramy – diagram sekwencji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 38: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Plan prezentacji

1 Języki modelowaniaUML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

2 Problem kolizji dwóch obiektówSformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

3 Implementacja rozwiązaniaDefinicje klasDefinicja metody sprawdzania kolizji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 39: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Oznaczenia

Klasa —

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 40: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Model klasy w UML

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 41: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Model klasy w UML

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 42: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe 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); }};

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 43: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe 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); }};

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 44: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe 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; }};

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 45: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe 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; }};

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 46: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe 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;

};

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 47: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe 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); }

};

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 48: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe 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( )); }

};

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 49: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe 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( )); }

};

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 50: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Klasa WektorZ – przykład modelu w UML

class WektorZ {LZespolona Wsp[2];

public :

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()); }

};

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 51: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Klasa WektorZ – przykład modelu w UML

class WektorZ {LZespolona Wsp[2];

public :

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()); }

};

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 52: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Oznaczenia

Klasa —

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 53: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Oznaczenia

Klasa —

Kompozycja —

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 54: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Agregacja całkowita

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 55: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Klasa WektorZ – przykład modelu w UML

class WektorZ {LZespolona Wsp[2];

public :

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()); }

};

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 56: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Klasa WektorZ – przykład modelu w UML

class WektorZ {LZespolona Wsp[2];

public :

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()); }

};

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 57: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Oznaczenia

Klasa —

Kompozycja —

Agregacja —

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 58: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Agregacja zwykła

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 59: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

UML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

Oznaczenia

Klasa —

Kompozycja —

Agregacja —

Zależność —

Powiazanie —

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 60: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Plan prezentacji

1 Języki modelowaniaUML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

2 Problem kolizji dwóch obiektówSformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

3 Implementacja rozwiązaniaDefinicje klasDefinicja metody sprawdzania kolizji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 61: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Opis problemu

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchemjednostajnym zachodzi kolizja lub w jakiej miną się odległości.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 62: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Opis problemu

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchemjednostajnym zachodzi kolizja lub w jakiej miną się odległości.

Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 63: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Plan prezentacji

1 Języki modelowaniaUML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

2 Problem kolizji dwóch obiektówSformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

3 Implementacja rozwiązaniaDefinicje klasDefinicja metody sprawdzania kolizji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 64: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Etapy osiągania rozwiązania

Analiza

Projektowanie

Konstrukcja

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 65: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Etapy osiągania rozwiązania

Analiza – jest odwzorowaniem rzeczywistego świata na jegomodel koncepcyjny

Projektowanie

Konstrukcja

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 66: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

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.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 67: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

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.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 68: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

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) =√(x1 − x2)2 + (y1 − y2)2

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 69: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

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) =√(x1 − x2)2 + (y1 − y2)2

{x1(t) = vx,1t + x0,1y1(t) = vy ,1t + y0,1

{x2(t) = vx,2t + x0,2y2(t) = vy ,2t + y0,2

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 70: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

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) =√(x1 − x2)2 + (y1 − y2)2

{x1(t) = vx,1t + x0,1y1(t) = vy ,1t + y0,1

{x2(t) = vx,2t + x0,2y2(t) = vy ,2t + y0,2

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 71: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

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) =√(x1 − x2)2 + (y1 − y2)2

{x1(t) = vx,1t + x0,1y1(t) = vy ,1t + y0,1

{x2(t) = vx,2t + x0,2y2(t) = vy ,2t + y0,2

d(t) =√((vx,1 − vx,2)t + (x0,1 − x0,2))2 + ((vy ,1 − vy ,2)t + (y0,1 − y0,2))2

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 72: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Analityczne rozwiązanie problemu

d(t) =√((vx,1 − vx,2)t + (x0,1 − x0,2))2 + ((vy ,1 − vy ,2)t + (y0,1 − y0,2))2

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 73: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Analityczne rozwiązanie problemu

d(t) =√((vx,1 − vx,2)t + (x0,1 − x0,2))2 + ((vy ,1 − vy ,2)t + (y0,1 − y0,2))2

d(t) =√(vx,12t + x0,12)2 + (vy ,12t + y0,12)2

gdzie vx,12 = vx,1 − vx,2 analogicznie x0,12, vy ,12, y0,12.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 74: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Analityczne rozwiązanie problemu

d(t) =√((vx,1 − vx,2)t + (x0,1 − x0,2))2 + ((vy ,1 − vy ,2)t + (y0,1 − y0,2))2

d(t) =√(vx,12t + x0,12)2 + (vy ,12t + y0,12)2

gdzie vx,12 = vx,1 − vx,2 analogicznie x0,12, vy ,12, y0,12.

Szukamy wartość t, dla której funkcja d(.) osiąga minimum.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 75: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Analityczne rozwiązanie problemu

d(t) =√((vx,1 − vx,2)t + (x0,1 − x0,2))2 + ((vy ,1 − vy ,2)t + (y0,1 − y0,2))2

d(t) =√(vx,12t + x0,12)2 + (vy ,12t + y0,12)2

gdzie vx,12 = vx,1 − vx,2 analogicznie x0,12, vy ,12, y0,12.

Szukamy wartość t, dla której funkcja d(.) osiąga minimum.

dd(t)dt= 0 −→ vx,12(vx,12t + x0,12) + vy ,12(vy ,12t + y0,12) = 0

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 76: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Analityczne rozwiązanie problemu

d(t) =√((vx,1 − vx,2)t + (x0,1 − x0,2))2 + ((vy ,1 − vy ,2)t + (y0,1 − y0,2))2

d(t) =√(vx,12t + x0,12)2 + (vy ,12t + y0,12)2

gdzie vx,12 = vx,1 − vx,2 analogicznie x0,12, vy ,12, y0,12.

Szukamy wartość t, dla której funkcja d(.) osiąga minimum.

dd(t)dt= 0 −→ vx,12(vx,12t + x0,12) + vy ,12(vy ,12t + y0,12) = 0

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 77: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Analityczne rozwiązanie problemu

d(t) =√((vx,1 − vx,2)t + (x0,1 − x0,2))2 + ((vy ,1 − vy ,2)t + (y0,1 − y0,2))2

d(t) =√(vx,12t + x0,12)2 + (vy ,12t + y0,12)2

gdzie vx,12 = vx,1 − vx,2 analogicznie x0,12, vy ,12, y0,12.

Szukamy wartość t, dla której funkcja d(.) osiąga minimum.

dd(t)dt= 0 −→ vx,12(vx,12t + x0,12) + vy ,12(vy ,12t + y0,12) = 0

t =vx ,12x0,12 + vy ,12y0,12

v 2x ,12 + v 2

y ,12

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 78: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Finalne rozwiązanie problemu

d =

((vx ,1 − vx ,2)vx,12x0,12+vy ,12y0,12

v2x,12+v

2y ,12

+ (x0,1 − x0,2))2

+((vy ,1 − vy ,2)vx,12x0,12+vy ,12y0,12

v2x,12+v

2y ,12

+ (y0,1 − y0,2))2

12

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 79: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Zmiana układu współrzędnych

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 80: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Zmiana układu współrzędnych

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 81: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Zmiana układu współrzędnych

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 82: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Zmiana układu współrzędnych

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 83: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Zmiana układu współrzędnychTransformacja do lokalnego układu współrzędnych platformy nr 2 związanegoze środkiem okręgu opisanego na obrysie jej korpusu.{

xL(t) = x1(t)− x2(t)yL(t) = y1(t)− y2(t)

{vx,L(t) = vx,1(t)− vx,2(t)vy ,L(t) = vy ,1(t)− vy ,2(t)

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 84: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Zmiana układu współrzędnychTransformacja do lokalnego układu współrzędnych platformy nr 2 związanegoze środkiem okręgu opisanego na obrysie jej korpusu.{

xL(t) = x1(t)− x2(t)yL(t) = y1(t)− y2(t)

{vx,L(t) = vx,1(t)− vx,2(t)vy ,L(t) = vy ,1(t)− vy ,2(t)

Dzięki zastosowanej transformacji rozwiązanie problemu znacznie się upraszcza. Nietrzeba liczyć pochodnej, gdyż w tym przypadku problem jest natury geometrycznej.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 85: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Rozwiązanie w układzie lokalnym

W lokalnym układzie współrzędnych jednej z platform problem sprowadzasię do wyznaczenia odległości prostej od początku układu współrzędnych.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 86: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Rozwiązanie w układzie lokalnym

W lokalnym układzie współrzędnych jednej z platform problem sprowadzasię do wyznaczenia odległości prostej od początku układu współrzędnych.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 87: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Rozwiązanie w układzie lokalnym

W lokalnym układzie współrzędnych jednej z platform problem sprowadzasię do wyznaczenia odległości prostej od początku układu współrzędnych.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 88: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Rozwiązanie w układzie lokalnym

W lokalnym układzie współrzędnych jednej z platform problem sprowadzasię do wyznaczenia odległości prostej od początku układu współrzędnych.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 89: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Rozwiązanie w układzie lokalnym

W lokalnym układzie współrzędnych jednej z platform problem sprowadzasię do wyznaczenia odległości prostej od początku układu współrzędnych.

d =| r sinα |

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 90: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Rozwiązanie w układzie lokalnym

W lokalnym układzie współrzędnych jednej z platform problem sprowadzasię do wyznaczenia odległości prostej od początku układu współrzędnych.

d =| r sinα |

d = | r sinα | = | r(er × eV )z | = | (r× eV )z | = | (r× VL|| VL ||

)z |

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 91: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Rozwiązanie w układzie lokalnym

W lokalnym układzie współrzędnych jednej z platform problem sprowadzasię do wyznaczenia odległości prostej od początku układu współrzędnych.

d =| r sinα |

d = | r sinα | = | r(er × eV )z | = | (r× eV )z | = | (r× VL|| VL ||

)z |

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 92: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Rozwiązanie w układzie lokalnym

W lokalnym układzie współrzędnych jednej z platform problem sprowadzasię do wyznaczenia odległości prostej od początku układu współrzędnych.

d =| r sinα |

d = | r sinα | = | r(er × eV )z | = | (r× eV )z | = | (r× VL|| VL ||

)z |

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 93: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Rozwiązanie w układzie lokalnym

W lokalnym układzie współrzędnych jednej z platform problem sprowadzasię do wyznaczenia odległości prostej od początku układu współrzędnych.

d =| r sinα |

d = | r sinα | = | r(er × eV )z | = | (r× eV )z | = | (r× VL|| VL ||

)z |

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 94: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Rozwiązanie w układzie lokalnym

W lokalnym układzie współrzędnych jednej z platform problem sprowadzasię do wyznaczenia odległości prostej od początku układu współrzędnych.

d =| r sinα |

d = | r sinα | = | r(er × eV )z | = | (r× eV )z | = | (r× VL|| VL ||

)z |

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 95: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Rozwiązanie w układzie lokalnym

W lokalnym układzie współrzędnych jednej z platform problem sprowadzasię do wyznaczenia odległości prostej od początku układu współrzędnych.

d =| r sinα |

d = | r sinα | = | r(er × eV )z | = | (r× eV )z | = | (r× VL|| VL ||

)z |

d = |(r×VL)z |||VL||

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 96: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Porównanie rozwiązań

d =

((vx ,1 − vx ,2)vx,12x0,12+vy ,12y0,12

v2x,12+v

2y ,12

+ (x0,1 − x0,2))2

+((vy ,1 − vy ,2)vx,12x0,12+vy ,12y0,12

v2x,12+v

2y ,12

+ (y0,1 − y0,2))2

12

d =| (r × VL)z ||| VL ||

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 97: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Plan prezentacji

1 Języki modelowaniaUML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

2 Problem kolizji dwóch obiektówSformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

3 Implementacja rozwiązaniaDefinicje klasDefinicja metody sprawdzania kolizji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 98: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Etapy osiągania rozwiązania

Analiza

Projektowanie

Konstrukcja

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 99: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Etapy osiągania rozwiązania

Analiza

Projektowanie – jest odwzorowaniem modelu koncepcyjnegona model implementacji.

Konstrukcja

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 100: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

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ż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.

Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 101: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

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ż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.

Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Stworzona procedura będzie wykorzystywana w module detekcji kolizji oraz mo-dule planowania trajektrorii.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 102: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram przypadków użycia

Diagram przypadków użycia służy do obrazowania zachowania sys-temu, podsystemu lub klasy w taki sposób, żeby użytkownicy moglizrozumieć, jak z tego bytu korzystać, a programiści mogli go zaim-plementować.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 103: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram przypadków użycia

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 104: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram przypadków użycia

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 105: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram przypadków użycia

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 106: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram przypadków użycia

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 107: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram przypadków użycia

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 108: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram przypadków użycia

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 109: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram przypadków użycia

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 110: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram przypadków użycia

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 111: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram czynności

Diagram czynności modeluje dynamiczne aspekty systemu. Demon-strują przepływ sterowania od operacji do operacji.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 112: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram czynności

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 113: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram czynności

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 114: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram czynności

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 115: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram czynności

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 116: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram czynności

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 117: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram czynności

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 118: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram czynności

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 119: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram czynności

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 120: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Diagram klas służy do obrazowania statycznych aspektów systemu.Bierze się w nim pod uwagę wymagania funkcjonalne (usługi), jakiesystem powinien udostępniać swoim użytkownikom.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 121: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 122: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki: Własności: Operacje:

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 123: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki:platforma (mobilna)

Własności: Operacje:

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 124: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki:platforma (mobilna)

Własności:ruchpołożenierozmiar

Operacje:

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 125: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki:platforma (mobilna)

Własności:ruchpołożenierozmiar

Operacje:

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 126: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki:platforma (mobilna)

Własności:ruchpołożenierozmiar

Operacje:

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 127: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki:platforma (mobilna)

Własności:ruchpołożenierozmiar

Operacje:

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 128: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki:platforma (mobilna)

Własności:ruchpołożenierozmiar

Operacje:

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 129: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki:platforma (mobilna)

Własności:ruchpołożenierozmiar

Operacje:sprawdzeniekolizyjności

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 130: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki:platforma (mobilna)

Własności:ruchpołożenierozmiar

Operacje:sprawdzeniekolizyjnościwyznaczanie odległości

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 131: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki:platforma (mobilna)

(Po rozwiązaniu analitcznym)Dodatkowe rzeczowniki:

wektor

Własności:ruchpołożenierozmiar

Operacje:sprawdzeniekolizyjnościwyznaczanie odległości

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 132: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki:platforma (mobilna)

(Po rozwiązaniu analitcznym)Dodatkowe rzeczowniki:

wektor

Własności:ruchpołożenierozmiar

Operacje:sprawdzeniekolizyjnościwyznaczanie odległości

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 133: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki:platforma (mobilna)

(Po rozwiązaniu analitcznym)Dodatkowe rzeczowniki:

wektor

Własności:ruchpołożenierozmiar

Operacje:sprawdzeniekolizyjnościwyznaczanie odległości

(Po rozwiązaniu analitycznym)Dodatkowe operacje:

odejmowanie wektorów

iloczyn skalarny

iloczyn wektorowy

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 134: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki:platforma (mobilna)

(Po rozwiązaniu analitcznym)Dodatkowe rzeczowniki:

wektor

Własności:ruchpołożenierozmiar

Operacje:sprawdzeniekolizyjnościwyznaczanie odległości

(Po rozwiązaniu analitycznym)Dodatkowe operacje:

odejmowanie wektorów

iloczyn skalarny

iloczyn wektorowy

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 135: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki:platforma (mobilna)

(Po rozwiązaniu analitcznym)Dodatkowe rzeczowniki:

wektor

Własności:ruchpołożenierozmiar

Operacje:sprawdzeniekolizyjnościwyznaczanie odległości

(Po rozwiązaniu analitycznym)Dodatkowe operacje:

odejmowanie wektorów

iloczyn skalarny

iloczyn wektorowy

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 136: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki:platforma (mobilna)

(Po rozwiązaniu analitcznym)Dodatkowe rzeczowniki:

wektor

Własności:ruchpołożenierozmiar

Operacje:sprawdzeniekolizyjnościwyznaczanie odległości

(Po rozwiązaniu analitycznym)Dodatkowe operacje:

odejmowanie wektorów

iloczyn skalarny

iloczyn wektorowy

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 137: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie,czy dla dwóch platform mobilnych poruszających się wzdłuż prostejruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębieokręgu opisanego na rzucie pionowym korpusu platformy.

Kluczowe rzeczowniki:platforma (mobilna)

(Po rozwiązaniu analitcznym)Dodatkowe rzeczowniki:

wektor

Własności:ruchpołożenierozmiar

Operacje:sprawdzeniekolizyjnościwyznaczanie odległości

(Po rozwiązaniu analitycznym)Dodatkowe operacje:

odejmowanie wektorów

iloczyn skalarny

iloczyn wektorowy

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 138: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 139: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 140: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 141: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 142: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 143: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 144: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 145: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Sformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

Diagram klas

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 146: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Etapy osiągania rozwiązania

Analiza

Projektowanie

Konstrukcja

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 147: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Etapy osiągania rozwiązania

Analiza

Projektowanie

Konstrukcja – jest odwzorowaniem modelu implementacji nadziałający system.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 148: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Plan prezentacji

1 Języki modelowaniaUML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

2 Problem kolizji dwóch obiektówSformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

3 Implementacja rozwiązaniaDefinicje klasDefinicja metody sprawdzania kolizji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 149: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicje klasy Wektor

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;

}

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 150: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicje klasy Wektor

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;

}

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 151: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicje klasy Wektor

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;

}

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 152: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicje klasy Wektor

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;

}

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 153: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Plan prezentacji

1 Języki modelowaniaUML – geneza i przeznaczenieUML – DiagramyPodstawowe oznaczenia – diagram klas

2 Problem kolizji dwóch obiektówSformułowanie problemuAnaliza problemu, rozwiązanie analityczneAnaliza obiektowa, projektowanie, konstrukcja

3 Implementacja rozwiązaniaDefinicje klasDefinicja metody sprawdzania kolizji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 154: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicja klasy PlatformaMobilnaclass 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 × VL)z ||| VL ||

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 155: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicja klasy PlatformaMobilnaclass 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 × VL)z ||| VL ||

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 156: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicja klasy PlatformaMobilnaclass 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 × VL)z ||| VL ||

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 157: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicja klasy PlatformaMobilnaclass 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 × VL)z ||| VL ||

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 158: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicja klasy PlatformaMobilnaclass 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 × VL)z ||| VL ||

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 159: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicja klasy PlatformaMobilnaclass 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 × VL)z ||| VL ||

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 160: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicja klasy PlatformaMobilnaclass 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 × VL)z ||| VL ||

Wyliczenie prędkości platformy 1 w lokalnymukładzie współrzędnych platformy nr 2.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 161: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicja klasy PlatformaMobilnaclass 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 × VL)z ||| VL ||

Wyliczenie prędkości platformy 1 w lokalnymukładzie współrzędnych platformy nr 2.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 162: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicja klasy PlatformaMobilnaclass 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 × VL)z ||| VL ||

Wyliczenie współrzędnych wektora poprowadzone zplatformy nr 2 do platformy nr 1.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 163: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicja klasy PlatformaMobilnaclass 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 × VL)z ||| VL ||

Wyliczenie współrzędnych wektora poprowadzone zplatformy nr 2 do platformy nr 1.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 164: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicja klasy PlatformaMobilnaclass 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 × VL)z ||| VL ||

Wyliczenie najmniejszej odległości między środkamiplatform.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 165: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicja klasy PlatformaMobilnaclass 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 × VL)z ||| VL ||

Wyliczenie najmniejszej odległości między środkamiplatform.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 166: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicja klasy PlatformaMobilnaclass 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 × VL)z ||| VL ||

Porównanie rozmiarów sumy obrysów obu platformz odległością ich największego zbliżenia.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 167: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Definicja klasy PlatformaMobilnaclass 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 × VL)z ||| VL ||

Porównanie rozmiarów sumy obrysów obu platformz odległością ich największego zbliżenia.

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 168: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Prównanie – metody wersus operatory

bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna& PM, float &d) const{Wektor V L = PM. Predkosc.Odejmij( Predkosc);Wektor r = PM. Pozycja.Odejmij( Pozycja);

d = fabs(r.IloczynWektZ(V L))/sqrt(V L.IloczynSkal(V L));

return d < PM. R+ R;}

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;

}

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 169: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Prównanie – metody wersus operatory

bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna& PM, float &d) const{Wektor V L = PM. Predkosc.Odejmij( Predkosc);Wektor r = PM. Pozycja.Odejmij( Pozycja);

d = fabs(r.IloczynWektZ(V L))/sqrt(V L.IloczynSkal(V L));

return d < PM. R+ R;}

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;

}

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 170: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Prównanie – metody wersus operatory

bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna& PM, float &d) const{Wektor V L = PM. Predkosc.Odejmij( Predkosc);Wektor r = PM. Pozycja.Odejmij( Pozycja);

d = fabs(r.IloczynWektZ(V L))/sqrt(V L.IloczynSkal(V L));

return d < PM. R+ R;}

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;

}

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 171: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Definicje klasDefinicja metody sprawdzania kolizji

Prównanie – metody wersus operatory

bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna& PM, float &d) const{Wektor V L = PM. Predkosc.Odejmij( Predkosc);Wektor r = PM. Pozycja.Odejmij( Pozycja);

d = fabs(r.IloczynWektZ(V L))/sqrt(V L.IloczynSkal(V L));

return d < PM. R+ R;}

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;

}

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja

Page 172: Wprowadzenie do UML, przyk ad uzycia kolizjarab.ict.pwr.wroc.pl/~kreczmer/po/materialy/07-uml-kolizja.pdf · UML jest językiem znormalizowanym, służącym do zapisywania projektu

Języki modelowaniaProblem kolizji dwóch obiektów

Implementacja rozwiązania

Koniec prezentacji

Programowanie obiektowe Wprowadzenie do UML, przykład użycia – kolizja