Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem
|
|
- Teodor Jaworski
- 6 lat temu
- Przeglądów:
Transkrypt
1 Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego. Jest on udostępniony pod warunkiem wykorzystania wyłacznie do własnych prywatnych potrzeb i może on być kopiowany wyłacznie w całości, razem z niniejsza strona tytułowa.
2 Planowanie ścieżki bezkolizyjnej robota Problem planowanie ścieżki bezkolizyjnej dla robota typu omni-directional można sprowadzić do planowania ścieżki bezkolizyjnej dla punktu materialnego. Można to zrobić poprzez powiększenie przeszkód o promień obrysu rzutu pionowego korpusu robota. Ten sposób postępowania jest szczególnym przypadkiem wynikajacym z pojęcia przestrzeni konfiguracyjnej, które zostało wprowadzone przez Lozano-Péreza (1983). Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 1
3 Metody planowania Szukanie ścieżki bezkolizyjnej można sprawdzić do problemu przeszukiwania grafu. Do najbardziej popularnych należa metody grafu widoczności (ang. Visibility Graph) oraz grafu styczności (ang. Tangent Graph). Idea metody: Zbuduj graf (widoczności lub styczności) Znajdź najkrótsza ścieżkę w grafie Graf widoczności Graf styczności Zaleta: Znajdowana jest optymalna ścieżka pod względem długości. Wada: Konieczność tworzenia złożonych struktur grafowych. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 2
4 Metoda labiryntowa Metoda labiryntowa buduje ścieżkę bezkolizyjna odcinek po odcinku. Idea metody: 1. Czy odcinek do punktu S przecina wielobok? Jeśli nie to odcinek znaleziony. 2. Omiń przeszkodę i powróć do 1. W celu znalezienia kolejnego odcinka procedura jest powtarzana przyjmujac za S koniec znalezionej części ścieżki. Zaleta: Nie tworzy grafu. Szybko znajduje pojedynczy odcinek ścieżki. Wada: Znaleziona ścieżka jest suboptymalna. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 3
5 Opis problemu: Zaimplementować procedurę obliczeniowa pozwalajac a ustalić, czy odcinek łacz acy dwa punkty S i F przecina wielobok W. Jeżeli takie przecięcie wystapi, to należy wyznaczyć punkt przecięcia najbliższy punktowi S. Przypadek gdy odcinek pokrywa się całkowicie lub częściowo z bokiem wieloboku nie jest traktowany jako przecięcie. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 4
6 Analiza problemu: Zaimplementować procedurę obliczeniowa pozwalajac a ustalić, czy odcinek łacz acy dwa punkty S i F przecina wielobok W. Jeżeli takie przecięcie wystapi, to należy wyznaczyć punkt przecięcia najbliższy punktowi S. Kluczowe rzeczowniki: odcinek komponenty: wierzchołki punkty Własności: położenie wieloboki, odcinek, punkty Relacje: Istnienie punktów przecięcia wielobok komponenty: wierzchołki punkty punkty Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 5
7 Problemy i podproblemy Szukanie najbliższego punktu przecięcia dla odcinka i wieloboku Szukanie punktu przecięcia odcinka z brzegiem wieloboku Szukanie punktu przecięcia odcinka z odcinkiem Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 6
8 Przecięcie Nie zawsze wykrycie punktu wspólnego odcinka i boku figury musi oznaczać przecięcie. Najprostszy przypadek, gdy odcinek SF przecina się z bokiem figury. Odcinek SF ma punkty wspólne z krańcami dwóch boków. Odcinek SF ma punkty wspólne z krańcami dwóch boków, ale tym razem nie można powiedzieć, że przecina wielobok. Jedynie styka się z nim. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 7
9 Problemy i podproblemy Szukanie najbliższego punktu przecięcie dla odcinka i wieloboku Szukanie punktu przecięcia odcinka z brzegiem wieloboku Szukanie punktu przecięcia odcinka z odcinkiem Rozpoznanie przecięcia z brzegiem, gdy odcinka przechodzi przez wierzchołek Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 8
10 Szukanie punktu przecięcia odcinków Równanie parametryczne odcinka: Warunek istnienia punktu wspólnego: { x = ax t + b xo y = a y t + b yo { ax,1 t 1 + b xo,1 = a x,2 t 2 + b xo,2 a y,1 t 2 + b yo,1 = a y,2 t 2 + b yo,2 Układ równań liniowych względem t 1 i t 2 : { ax,1 t 1 a x,2 t 2 = b xo,2 b xo,1 a y,1 t 1 a y,2 t 2 = b yo,2 b yo,1 Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 9
11 Szukanie punktu przecięcia odcinków Układ równań liniowych względem t 1 i t 2 : { ax,1 t 1 a x,2 t 2 = b xo,2 b xo,1 Rozwiazanie: a y,1 t 1 a y,2 t 2 = b yo,2 b yo,1 W = a x,2 a y,1 a y,2 a x,1 D 1 = a x,2 (b yo,2 b yo,1) a y,2 (b xo,2 b xo,1) D 2 = a x,1 (b yo,2 b yo,1) a y,1 (b xo,2 b xo,1) t 1 = D 1 W, t 2 = D 2 W (W 0) Warunek istnienia pojedynczego punktu wspólnego: 0 t t 2 1 Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 10
12 Kiedy przecięcie? Przecięcie wnikajace. Kiedy na pewno odcinek SF wnika w wielobok. α (0,Π) β (0,Π) upraszczaj ac sinα > 0 sinβ > 0 W przypadku, gdy mamy do czynienia z przestrzenia dwuwymiarowa możemy rozszerzyć ja do przestrzeni trójwymiarowej. Pozwala to skorzystać z iloczynu wektorowego i w prosty sposób otrzymać znak sinusa kata między dwoma wektorami. Sprawdzenie powyższego warunku można sprowadzić do prostych działań arytmetycznych. Postępowanie to poprawne, gdyż w tym przypadku miara kata mieści się w przedziale [0, 2Π). ( SF a) z > 0 ( SF b) z > 0 Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 11
13 Kiedy przecięcie? Przecięcie wnikajace. Kiedy na pewno odcinek SF wnika w wielobok.?? Drugi z przypadków należy potraktować jako przecięcie wnikajace. Pomimo tego, że może mieć miejsce ślizganie się odcinka wewnatrz wieloboku, jednak gdy szukamy najbliższego punktu przecięcia, ten przypadek i tak zostanie wyeliminowany. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 12
14 Kiedy przecięcie? Przecięcie wnikajace. Kiedy na pewno odcinek SF wnika w wielobok.?? I tym razem również drugi z przypadków należy potraktować jako przecięcie wnikajace. Pomimo tego, że może mieć miejsce ślizganie się odcinka wewnatrz wieloboku, jednak gdy szukamy najbliższego punktu przecięcia, ten przypadek i tak zostanie wyeliminowany. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 13
15 Kiedy przecięcie? Przecięcie wnikajace. Kiedy na pewno odcinek SF wnika w wielobok. α (0,Π) β = Π α = 0 β (0,Π) Szczegółowa analiza pozwala sformułować warunki umożliwiajace stwierdzić czy mamy do czynienia z przecięciem wnikajacym, czy też ze ślizganiem się po brzegu. Warunki te formułowane sa w kontekście procedury szukania przecięcia, która wymaga zbadania całego brzegu wieloboku. Z tego względu dla realizacji jej elementarnego kroku wystarcza informacja tylko o dwóch kolejnych bokach. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 14
16 Kiedy przecięcie? Przecięcie wnikajace Pierwszy przypadek brzegowy α (0,Π) β = Π Ze względu na to, że miara kata w tym przypadku mieści się w przedziale [0, Π), więc warunek może być sprowadzony do postaci: sinα > 0 sinβ = 0 cosβ = 1 Korzystajac z formalnego rozszerzenia do 3D możemy użyć iloczynu wektorowego, aby sprawdzić znak funkcji sinus, zaś aby sprawdzić znak funkcji cosinus wykorzystać możemy iloczyn skalarny. ( SF a) z > 0 ( SF b) z = 0 SF b < 0 Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 15
17 Kiedy przecięcie? Przecięcie wnikajace Drugi przypadek brzegowy α = 0 β (0,Π) Ze względu na to, że miara kata w tym przypadku mieści się w przedziale [0, Π), więc warunek może być sprowadzony do postaci: sinα = 0 cosα = 1 sinβ > 0 Korzystajac z formalnego rozszerzenia do 3D możemy użyć iloczynu wektorowego, aby sprawdzić znak funkcji sinus, zaś aby sprawdzić znak funkcji cosinus wykorzystać możemy iloczyn skalarny. ( SF a) z = 0 SF a > 0 ( SF b) z > 0 Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 16
18 Kiedy przecięcie? α (0,Π) β (0,Π) α (0,Π) β = Π α = 0 β (0,Π) α (0,Π) β (0,Π] α [0,Π) β (0,Π) Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 17
19 Kiedy przecięcie? α (0,Π) β (0,Π] α [0,Π) β (0,Π) α (0,Π) (β (0,Π) β = Π) (α (0,Π) α = 0) β (0,Π) sinα > 0 (sinβ > 0 sinβ = 0 cosβ = 1) (sinα > 0 sinα = 0 cosα = 1) sinβ > 0 ( ) ( SF a) z > 0 ( SF b) z > 0 ( SF b) z = 0 SF b < 0 ( ) ( SF a) z > 0 ( SF a) z = 0 SF a > 0 ( SF b) z > 0 Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 18
20 Implementacja rozwiazania w C (cz. 1) typedef struct OdcinekProstej { float xo, yo, xn, yn; } Odcinek; float CzyPunktWspolny( Odcinek Odc1, Odcinek Odc2, float wx, float wy ) { float x A1, y A1, x A2, y A2, x B, y B; float t1, t2, Wz; x A1 = Odc1.xn Odc1.xo; y A1 = Odc1.yn Odc1.yo; x A2 = Odc2.xn Odc2.xo; y A2 = Odc2.yn Odc2.yo; x B = Odc2.xo Odc1.xo; y B = Odc2.yo Odc1.yo; Wz = x A2 y A1 x A1 y A2; } if ( Wz == 0 ) return MAXFLOAT; t1 = (x A2 y B y A2 x B)/Wz; t2 = (x A1 y B y A1 x B)/Wz; if ( t1 < 0 1 < t1 t2 < 0 1 < t2 ) return MAXFLOAT; wx = x A1 t1 + Odc1.xo; wy = y A1 t1 + Odc1.yo; return t1; Czyż to nie jest koszmarne? Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 19
21 Implementacja rozwiazania w C (cz. 2) typedef struct Wektor { float x, y; } Wektor; typedef struct Odcinek { Wektor Po, Pn; } Odcinek;... float CzyPunktWspolny( Odcinek Odc1, Odcinek Odc2, Wektor wpprzec ) { Wektor A1 = OdejmijWektory(&Odc1.Pn, &Odc1.Po); Wektor A2 = OdejmijWektory(&Odc2.Pn, &Odc2.Po); Wektor B = OdejmijWektory(&Odc2.Po, &Odc1.Po); float t1, t2, Wz = IloczynWekZ(A2, A1); if ( Wz == 0 ) return MAXFLOAT; t1 = IloczynWekZ(A2,B)/Wz; t2 = IloczynWekZ(A1,B)/Wz; if ( t1 < 0 1 < t1 t2 < 0 1 < t2 ) return MAXFLOAT; wpprzec = DodajWektory(PomnozWektorPrzezLiczbe(A1,t1), Odc1.Po); return t1; } Obiektowo zorientowana implementacja czyni ten zapis bardziej czytelnym. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 20
22 Implementacja rozwiazania w C (cz. 3)... Wektor DodajWektory( Wektor W1, Wektor W2 ) { W1.x += W2.x; W1.y += W2.y; return W1; } Wektor OdejmijWektory( Wektor ww1, Wektor ww2 ) { Wektor Wr; Wr.x = ww1 >x ww2 >x; Wr.y = ww1 >y ww2 >y; return Wr; } Wektor PomnozWektorPrzezLiczbe( Wektor W, float L ) { W.x = L; W.y = L; return W; } float IloczynWekZ( Wektor W1, Wektor W2 ) { return W1.x W2.y W1.y W2.y; }... Przekazywanie parametru przez wartość pozwala na uproszczenie zapisu implementacji funkcji (porównaj np. implementację funkcji DodajWektory i OdejmijWektory). Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 21
23 Diagramy klas w UML Rysunek 1: Diagram klas dla implementacji rozwiazania problemu wykrywania przecięcia. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 22
24 Klasa Wektor class Wektor { float x, y; public : Wektor( ) { x = y = 0; } Wektor( float x, float y ) { x = x; y = y; } float x( ) const { return x; } float y( ) const { return y; } Wektor Zmien( float x, float y ) { x = x; y = y; return this ; } Wektor & operator += ( const Wektor &W ) { x += W. x; y += W. y; return this ; } Wektor operator + ( Wektor W ) const { return W += this ; } Wektor & operator = ( const Wektor &W ) { x = W. x; y = W. y; return this ; } Wektor operator ( Wektor W ) const { return Wektor( x W. x, y W. y); } }; float operator ( Wektor W ) const { return x W. y y W. x; } Wektor operator ( float L) const { return Wektor( x L, y L); } Klasa Wektor wyposażona jest w interfejs, który umożliwia kontrolę nad operacjami odczytu i zapisu. Redukuje to możliwość przypadkowych błędów. Wada jest utrudnione odwoływanie się do pól klasy. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 23
25 Klasa Odcinek class Odcinek { // public : Wektor Po, Pn; float CzyPunktWspolny( const Wektor & P2o, const Wektor & P2n, float & t2, Wektor & PPrzec ) const; float CzyPunktWspolny( const Odcinek & Odc, float & t2, Wektor & PPrzec ) const { return CzyPunktWspolny(Odc. Po, Odc. Pn, t2, PPrzec); } }; // Odcinek jest reprezentowany w klasie Odcinek poprzez swoje dwa punkty krańcowe. Ponadto klasa ta zawiera metody implementujace relację posiadania punktu wspólnego przez dwa odcinki. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 24
26 Klasa Wielobok class Wielobok { // public : int Ilosc; Wektor Wierz[MAX WIERZ]; Wielobok( ) { Ilosc = 0; } bool CzyWnika( const Odcinek & Odc, unsigned int Indeks Pop, unsigned int Indeks Bie, unsigned int Indeks Nas ) const; float CzyPrzeciecie( const Odcinek & Odc, Wektor & PntPrz ) const; }; // Wielobok jest reprezentowany poprzez zbiór swoich wierzchołków. Ich kolejność występowania w tablicy może zadawać orientację jego brzegu. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 25
27 Reprezentacja wieloboku Obiekt klasy Wielobok umożliwia reprezentację wieloboku poprzez przechowywanie informacji o współrzędnych kolejnych wierzchołków. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 26
28 Reprezentacja wieloboku Korzystanie ze struktur statycznych wewnatrz klasy Wielobok ogranicza zbiór wieloboków, które moga być reprezentowane przez obiekty tej klasy. Kolejność występowania współrzędnych poszczególnych wierzchołków w tablicy nie jest obojętna. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 27
29 Reprezentacja wieloboku Kolejność występowania wierzchołków w tablicy w naturalny sposób wyznacza orientację brzegu wieloboku. Tym samym z każdym z boków tej figury możemy skojarzyć odpowiedni wektor zgodny z orientacja brzegu. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 28
30 Szukanie punktu przecięcia float Wielobok::CzyPrzeciecie( const Odcinek & Odc, Wektor & PntPrz ) const { float t min = numeric limits<float>::max( ), t, t2; Wektor Pnt; } for (int i n=0, i o= Ilosc 1, i p= Ilosc 2; i n < Ilosc; i p = i o, i o = i n++) if ( (t = Odc.CzyPunktWspolny( Wierz[i o], Wierz[i n], t2, Pnt) ) < t min) { if ( t2 == 1 ) continue ; if ( t2 == 0 ) { if (!CzyWnika(Odc, i p, i o, i n) ) continue ; } t min = t; PntPrz = Pnt; } return t min; Zdekomponowanie podstawowego zadania pozwala łatwiej zapisać rozwiazanie podstawowego problemu. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 29
31 Wyznaczanie punktu wspólnego float Odcinek::CzyPunktWspolny( const Wektor & P2o, const Wektor & P2n, float & t2, Wektor & PntPrz ) const { Wektor A1 = Pn Po, A2 = P2n P2o; Wektor B = P2o Po; float Wz = A2 A1; } if ( Wz == 0 ) return numeric limits<float>::max( ); float t1 = (A2 B)/Wz; t2 = (A1 B)/Wz; if (t1 < 0 1 < t1 t2 < 0 1 < t2) return numeric limits<float>::max( ); PntPrz = A1 t1 + Po; return t1; Zdefiniowanie działań na wektorach znaczaco upraszcza zapis metody. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 30
32 Sprawdzenie warunku wnikania bool Wielobok::CzyWnika( const Odcinek & Odc, unsigned int Indeks Pop, unsigned int Indeks Bie, unsigned int Indeks Nas ) const { Wektor V sf = Odc. Po Odc. Pn; Wektor V a = Wierz[Indeks Bie] Wierz[Indeks Pop]; Wektor V b = Wierz[Indeks Nas] Wierz[Indeks Bie]; float VsfxVa = V sf V a; float VsfxVb = V sf V b; } return VsfxVa > 0 && (VsfxVb > 0 VsfxVb == 0 && (V sf & V b) < 0) (VsfxVa > 0 VsfxVa == 0 && (V sf & V b) > 0) && VsfxVb > 0; sinα > 0 (sinβ > 0 sinβ = 0 cosβ = 1) (sinα > 0 sinα = 0 cosα = 1) sinβ > 0 Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 31
33 Jak radzić sobie z błędami obliczeń float Wynik;... if ( Wynik == 0 ) {... } Błędy obliczeń moga sprawić, że wartość zmiennej Wynik będzie nieznacznie różna od 0, choć teoretycznie powinna równać się 0. #define BLAD DLA FLOAT 1E-8 #define BLAD DLA DOUBLE 1E-14 inline int sgn( float x ) { return x+blad DLA FLOAT > 0? x-blad DLA FLOAT < 0? 0 : 1 : -1; } inline int sgn( double x ) { return x+blad DLA DOUBLE > 0? x-blad DLA DOUBLE < 0? 0 : 1 : -1; } if ( sgn( Wynik ) == 0 ) {... } Dobór stałych błędów zależy od stosowanej reprezentacji liczb zmiennoprzecinkowych. Przedstawiony sposób nie daje gwarancji rozwiazania problemu niedokładności obliczeń. Jednak może go znaczaco zredukować. Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 32
34 Translacja warunków x == 0 sgn(x) == 0 x > 0 sgn(x) == 1 x >= 0 sgn(x)!= -1 x == 7 sgn(x 7) == 0 x!= 7 sgn(x 7)!= 0 x > 7 sgn(x 7) == 1 x >= 7 sgn(x 7)!= 1 Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 33
35 Szukanie punktu przecięcia (użycie funkcji sgn) float Wielobok::CzyPrzeciecie( const Odcinek & Odc, Wektor & PntPrz ) const { float t min = numeric limits<float>::max( ), t, t2; Wektor Pnt; } for (int i n=0, i o= Ilosc 1, i p= Ilosc 2; i n < Ilosc; i p = i o, i o = i n++) if ( (t = Odc.CzyPunktWspolny( Wierz[i o], Wierz[i n], t2, Pnt) ) < t min) { if (! sgn(t2 1) ) continue ; if (! sgn(t2) ) { if (!CzyWnika(Odc, i p, i o, i n) ) continue ; } t min = t; PntPrz = Pnt; } return t min; Oryginalna postać warunków: t2 == 1 t1 == 0 Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 34
36 Wyznaczanie punktu wspólnego (użycie funkcji sgn) float Odcinek::CzyPunktWspolny( const Wektor & P2o, const Wektor & P2n, float & t2, Wektor & PntPrz ) const { Wektor A1 = Pn Po, A2 = P2n P2o; Wektor B = P2o Po; float Wz = A2 A1; } if (! sgn( Wz ) ) return numeric limits<float>::max( ); float t1 = (A2 B)/Wz; t2 = (A1 B)/Wz; if ( sgn(t1) == -1 sgn(1 t1) == -1 sgn(t2) == -1 sgn(1 t2) == -1 ) return numeric limits<float>::max( ); PntPrz = A1 t1 + Po; return t1; Oryginalna postać warunków: Wz == 0 t1 < 0 1 < t1 t2 < 0 1 < t2 Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 35
37 Sprawdzenie warunku wnikania (użycie funkcji sgn) bool Wielobok::CzyWnika( const Odcinek & Odc, unsigned int Indeks Pop, unsigned int Indeks Bie, unsigned int Indeks Nas ) const { Wektor V sf = Odc. Po Odc. Pn; Wektor V a = Wierz[Indeks Bie] Wierz[Indeks Pop]; Wektor V b = Wierz[Indeks Nas] Wierz[Indeks Bie]; float VsfxVa = V sf V a; float VsfxVb = V sf V b; } return sgn(vsfxva) == 1 && (sgn(vsfxvb) == 1!sgn(VsfxVb) && sgn(v sf & V b) == -1) (sgn(vsfxva) == 1!sgn(VsfxVa) && sgn(v sf & V b) == 1) && sgn(vsfxvb) == 1; Oryginalna postać warunków: VsfxVa > 0 && (VsfxVb > 0 VsfxVb == 0 && (V sf & V b) < 0) (VsfxVa > 0 VsfxVa == 0 && (V sf & V b) > 0) && VsfxVb > 0 Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 36
38 Pytania i ćwiczenia 1. Zakładajac że wszystkie zmienne sa poprawnie zadeklarowane jaki będzie wynik wywołania niniejszej metody: Odcinek Odc; Wektor PPrzec; Odc.CzyPunktWspolny(Odc. Pn,Odc. Po,&PPrzec); Czy otrzymany wynik będzie różny od wywołania: Odc.CzyPunktWspolny(Odc,&PPrzec); 2. Czy przedstawione w poprzednim punkcie wywołania metody CzyPunktWspolny będzie mogło być wykonane w przypadku, gdy obiekt Odc zadeklarowany zostanie jako obiekt stały? Copyright c Bogdan Kreczmer Przykład zastosowania przeciażeń operatorów i metod stałych - szukanie punktu przecięcia z wielobokiem 37
Wprowadzenie do szablonów szablony funkcji
Wprowadzenie do szablonów szablony funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do
Bardziej szczegółowoWprowadzenie do szablonów szablony funkcji
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoWartości domyślne, przeciażenia funkcji
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoReferencje do zmiennych i obiektów
Referencje do zmiennych i obiektów Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoWyliczanie wyrażenia obiekty tymczasowe
Wyliczanie wyrażenia obiekty tymczasowe Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2013 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoWartości domyślne, przeciażenia funkcji
Wartości domyślne, przeciażenia funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoWprowadzenie do UML, przykład użycia kolizja
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoDiagramy UML, przykład problemu kolizji
Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoKlasa, metody, rozwijanie w linii
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoKlasa, metody, rozwijanie w linii
Klasa, metody, rozwijanie w linii Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoSzablon klasy std::list
Szablon klasy std::list Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania
Bardziej szczegółowoKonstruktor kopiujacy
Konstruktor kopiujacy Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego. Jest on udostępniony
Bardziej szczegółowoPola i metody statyczne
Pola i metody statyczne Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2009 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania
Bardziej szczegółowoSzablon klasy std::vector
Szablon klasy std::vector Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat
Bardziej szczegółowoLista dwukierunkowa - przykład implementacji destruktorów
Lista dwukierunkowa - przykład implementacji destruktorów Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2008 Bogdan Kreczmer Niniejszy dokument zawiera
Bardziej szczegółowoPrzykład implementacji przeciażeń operatorów problem kolizji
Przykład implementacji przeciażeń operatorów problem kolizji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera
Bardziej szczegółowoSzablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoRzutowanie i konwersje
Rzutowanie i konwersje Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2013 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania
Bardziej szczegółowoStyle programowania - krótki przeglad
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoOperacje wejścia/wyjścia odsłona pierwsza
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoZad. 3: Układ równań liniowych
1 Cel ćwiczenia Zad. 3: Układ równań liniowych Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich
Bardziej szczegółowoOperacje wejścia/wyjścia (odsłona druga) - pliki
Operacje wejścia/wyjścia (odsłona druga) - pliki Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały
Bardziej szczegółowoUkłady równań i nierówności
Układy równań i nierówności Zad : Dla jakich wartości parametru m rozwiązaniem układu równań: + y m = 0 + y = 0 y jest para liczb x, y spełniająca warunek: =? x Odp: m = lub m = 4 Zad : Dla jakich wartości
Bardziej szczegółowoWprowadzenie do szablonów klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008-2010 Bogdan Kreczmer Niniejszy
Bardziej szczegółowoGeneza powstania języka C++
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoPrzesłanianie nazw, przestrzenie nazw
Przesłanianie nazw, przestrzenie nazw Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2013 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoGeneza powstania języka C++
Geneza powstania języka C++ Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat
Bardziej szczegółowoStyle programowania - krótki przeglad
Style programowania - krótki przeglad Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoTypy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1
Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy
Bardziej szczegółowoPodejście obiektowe - podstawowe pojęcia
Podejście obiektowe - podstawowe pojęcia Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2003 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoHermetyzacja oraz pola i metody statyczne
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2010 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoObiekty i metody stałe
Obiekty i metody stałe Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania
Bardziej szczegółowoWstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this
Wstęp do programowania obiektowego WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this 1 Nazwa typu Rozmiar Zakres Uwagi bool 1 bit wartości true albo false stdbool.h TYPY ZNAKOWE
Bardziej szczegółowo( ) Arkusz I Zadanie 1. Wartość bezwzględna Rozwiąż równanie. Naszkicujmy wykresy funkcji f ( x) = x + 3 oraz g ( x) 2x
Arkusz I Zadanie. Wartość bezwzględna Rozwiąż równanie x + 3 x 4 x 7. Naszkicujmy wykresy funkcji f ( x) x + 3 oraz g ( x) x 4 uwzględniając tylko ich miejsca zerowe i monotoniczność w ten sposób znajdziemy
Bardziej szczegółowoPodstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Tablice wielowymiarowe C umożliwia definiowanie tablic wielowymiarowych najczęściej stosowane
Bardziej szczegółowoWskazówki do zadań testowych. Matura 2016
Wskazówki do zadań testowych. Matura 2016 Zadanie 1 la każdej dodatniej liczby a iloraz jest równy.. C.. Korzystamy ze wzoru Zadanie 2 Liczba jest równa.. 2 C.. 3 Zadanie 3 Liczby a i c są dodatnie. Liczba
Bardziej szczegółowoKLUCZ PUNKTOWANIA ODPOWIEDZI
Egzamin maturalny maj 009 MATEMATYKA POZIOM PODSTAWOWY KLUCZ PUNKTOWANIA ODPOWIEDZI Zadanie 1. Matematyka poziom podstawowy Wyznaczanie wartości funkcji dla danych argumentów i jej miejsca zerowego. Zdający
Bardziej szczegółowo9. Podstawowe narzędzia matematyczne analiz przestrzennych
Waldemar Izdebski - Wykłady z przedmiotu SIT 75 9. odstawowe narzędzia matematyczne analiz przestrzennych Niniejszy rozdział służy ogólnemu przedstawieniu metod matematycznych wykorzystywanych w zagadnieniu
Bardziej szczegółowoQt sygnały i sloty. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska
Qt sygnały i sloty Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera
Bardziej szczegółowoProsta i płaszczyzna w przestrzeni
Prosta i płaszczyzna w przestrzeni Wybrane wzory i informacje Równanie prostej przechodzącej przez punkt P 0 = (x 0, y 0, z 0 ) o wektorze wodzącym r 0 i równoległej do wektora v = [a, b, c] : postać parametrycznego
Bardziej szczegółowoGeometria analityczna
Geometria analityczna Wektory Zad Dane są wektory #» a, #» b, #» c Znaleźć długość wektora #» x (a #» a = [, 0, ], #» b = [0,, 3], #» c = [,, ], #» x = #» #» a b + 3 #» c ; (b #» a = [,, ], #» b = [,,
Bardziej szczegółowoDział I FUNKCJE TRYGONOMETRYCZNE
MATEMATYKA ZAKRES PODSTAWOWY Rok szkolny 01/013 Klasa: III Nauczyciel: Mirosław Kołomyjski Dział I FUNKCJE TRYGONOMETRYCZNE Lp. Zagadnienie Osiągnięcia ucznia. 1. Miara kąta. Sprawnie operuje pojęciami:
Bardziej szczegółowoWstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 5 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu:
Bardziej szczegółowoRównania prostych i krzywych; współrzędne punktu
Równania prostych i krzywych; współrzędne punktu Zad 1: Na paraboli o równaniu y = 1 x znajdź punkt P leŝący najbliŝej prostej o równaniu x + y = 0 Napisz równanie stycznej do tej paraboli, poprowadzonej
Bardziej szczegółowoKLUCZ PUNKTOWANIA ODPOWIEDZI
Egzamin maturalny maj 009 MATEMATYKA POZIOM PODSTAWOWY KLUCZ PUNKTOWANIA ODPOWIEDZI Zadanie. a) Matematyka poziom podstawowy Wyznaczanie wartości funkcji dla danych argumentów i jej miejsca zerowego.
Bardziej szczegółowoZADANIA ZAMKNIETE W zadaniach 1-25 wybierz i zaznacz na karcie odpowiedzi poprawna
Arkusz A04 2 Poziom podstawowy ZADANIA ZAMKNIETE W zadaniach 1-25 wybierz i zaznacz na karcie odpowiedzi poprawna odpowiedź Zadanie 1. (0-1) Liczba π spełnia nierówność: A. + 1 > 5 B. 1 < 2 C. + 2 3 4
Bardziej szczegółowoTablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1
Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).
Bardziej szczegółowoKLUCZ PUNKTOWANIA ODPOWIEDZI
Egzamin maturalny maj 009 MATEMATYKA POZIOM ROZSZERZONY KLUCZ PUNKTOWANIA ODPOWIEDZI Zadanie. a) Wiadomości i rozumienie Matematyka poziom rozszerzony Wykorzystanie pojęcia wartości argumentu i wartości
Bardziej szczegółowoPRÓBNY EGZAMIN MATURALNY
PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI ZESTAW PRZYGOTOWANY PRZEZ SERWIS WWW.ZADANIA.INFO POZIOM PODSTAWOWY 3 KWIETNIA 016 CZAS PRACY: 170 MINUT 1 Zadania zamknięte ZADANIE 1 (1 PKT) Liczba 3 7 48 jest równa
Bardziej szczegółowo#include <iostream.h> #include <conio.h>
[p_00.cpp] // Przykladowy program ilustrujacy operacje na zwyklej tablicy liczb "float". // Operacja zapisania wczytanej "wartosci" do tablicy // oraz operacja wyswietlenia wskazanego elementu. // Bez
Bardziej szczegółowoBlok III: Funkcje elementarne. e) y = 1 3 x. f) y = x. g) y = 2x. h) y = 3x. c) y = 3x + 2. d) y = x 3. c) y = x. d) y = x.
Blok III: Funkcje elementarne III. Narysuj wykres funkcji: a) y = x y = x y = x y = x III. Narysuj wykres funkcji: a) y = x + y = 4 x III. Znajdź miejsca zerowe funkcji: a) y = 6 x y = x e) y = x f) y
Bardziej szczegółowoZad. 5: Rotacje 3D. 1 Cel ćwiczenia. 2 Program zajęć. 3 Opis zadania programowego
Zad. 5: Rotacje 3D 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas. Praktyczne zweryfikowanie wcześniejszej konstrukcji programu. Jeśli
Bardziej szczegółowoMetoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):
może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład): 1 Narysuj na płaszczyźnie zbiór dopuszczalnych rozwiazań. 2 Narysuj funkcję
Bardziej szczegółowoZaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 6 - szablony. dr inż. Robert Nowak - p. 1/15 Kolekcje i algorytmy» Deklaracja szablonu y Pojęcia niezależne od typu: kolekcje (np. listy) algorytmy (np. znajdowania
Bardziej szczegółowoPRÓBNA MATURA ZADANIA PRZYKŁADOWE
ZESPÓŁ SZKÓŁ HOTELARSKO TURYSTYCZNO GASTRONOMICZNYCH NR UL. KRASNOŁĘCKA 3, WARSZAWA Z A D AN I A Z A M K N I Ę T E ) Liczba, której 5% jest równe 6, to : A. 0,3 C. 30. D. 0 5% 6 II sposób: x nieznana liczba
Bardziej szczegółowoCzęść całkowita i ułamkowa, funkcje trygonometryczne, podstawowe własności funkcji
Sprawdzian nr 2: 25..204, godz. 8:5-8:40 (materiał zad. -48) Sprawdzian nr 3: 9.2.204, godz. 8:5-8:40 (materiał zad. -88) Część całkowita i ułamkowa, funkcje trygonometryczne, podstawowe własności funkcji
Bardziej szczegółowoCo to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem.
1 Wektory Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem. 1.1 Dodawanie wektorów graficzne i algebraiczne. Graficzne - metoda równoległoboku. Sprowadzamy wektory
Bardziej szczegółowoW. Guzicki Zadanie 21 z Informatora Maturalnego poziom rozszerzony 1
W. Guzicki Zadanie 21 z Informatora Maturalnego poziom rozszerzony 1 Zadanie 21. krąg o środku S = (3, 2) leży wewnątrz okręgu o równaniu (x 6) 2 + (y 8) 2 = 100 i jest do niego styczny. Wyznacz równanie
Bardziej szczegółowoLaboratorium z Krystalografii. 2 godz.
Uniwersytet Śląski - Instytut Chemii Zakład Krystalografii ul. Bankowa 14, pok. 132, 40-006 Katowice tel. 0323591627, e-mail: ewa.malicka@us.edu.pl opracowanie: dr Ewa Malicka Laboratorium z Krystalografii
Bardziej szczegółowoKolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w
Metoda Simpleks Jak wiadomo, problem PL z dowolną liczbą zmiennych można rozwiązać wyznaczając wszystkie wierzchołkowe punkty wielościanu wypukłego, a następnie porównując wartości funkcji celu w tych
Bardziej szczegółowozajęcia 1. Bartosz Górski, Tomasz Kulczyński, Błażej Osiński
zajęcia 1. Bartosz Górski, Tomasz Kulczyński, Błażej Osiński Geometria dla informatyka wyłacznie obliczenia wszystko oparte na liczbach, współrzędnych, miarach programista i/lub użytkownik musi przełożyć
Bardziej szczegółowo? 14. Dana jest funkcja. Naszkicuj jej wykres. Dla jakich argumentów funkcja przyjmuje wartości dodatnie? 15. Dana jest funkcja f x 2 a x
FUNKCE FUNKCJA LINIOWA Sporządź tabelkę i narysuj wykres funkcji ( ) Dla jakich argumentów wartości funkcji są większe od 5 Podaj warunek równoległości prostych Wyznacz równanie prostej równoległej do
Bardziej szczegółowoGEOMETRIA ANALITYCZNA W PRZESTRZENI
Wykład z Podstaw matematyki dla studentów Inżynierii Środowiska Wykład 13. Egzaminy I termin wtorek 31.01 14:00 Aula A Wydział Budownictwa II termin poprawkowy czwartek 9.02 14:00 Aula A Wydział Budownictwa
Bardziej szczegółowowykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis
i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje
Bardziej szczegółowo11. Znajdż równanie prostej prostopadłej do prostej k i przechodzącej przez punkt A = (2;2).
1. Narysuj poniższe figury: a), b), c) 2. Punkty A = (0;1) oraz B = (-1;0) należą do okręgu którego środek należy do prostej o równaniu x-2 = 0. Podaj równanie okręgu. 3. Znaleźć równanie okręgu przechodzącego
Bardziej szczegółowoZad. 4: Szablonu dla układu równań liniowych
Zad. 4: Szablonu dla układu równań liniowych 1 Cel ćwiczenia Wykształcenie zdolności definiowania szablonów funkcji i klas oraz abstrahowania operacji arytmetycznych od konkretnych typów. Unaocznienie
Bardziej szczegółowoZad. 3: Rotacje 2D. Demonstracja przykładu problemu skończonej reprezentacji binarnej liczb
Zad. 3: Rotacje 2D 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich struktur
Bardziej szczegółowoKLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Bardziej szczegółowoMETODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Bardziej szczegółowoPrzykłady oprogramowania wykorzystujacego Qt
Przykłady oprogramowania wykorzystujacego Qt Bogdan Kreczmer ZPCiR ICT PWR pokój 307 budynek C3 kreczmer@ict.pwr.wroc.pl Copyright c 2003 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoOCENIANIE ARKUSZA POZIOM PODSTAWOWY
Numer zadania.. Etapy rozwiązania zadania OCENIANIE ARKUSZA POZIOM PODSTAWOWY Zapisanie ceny wycieczki po podwyżce, np. x + 5% x, gdzie x oznacza pierwotną cenę wycieczki. Liczba punktów. Zapisanie równania:
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Bardziej szczegółowoElementy geometrii analitycznej w R 3
Rozdział 12 Elementy geometrii analitycznej w R 3 Elementy trójwymiarowej przestrzeni rzeczywistej R 3 = {(x,y,z) : x,y,z R} możemy interpretować co najmniej na trzy sposoby, tzn. jako: zbiór punktów (x,
Bardziej szczegółowoProgramowanie 2. Język C++. Wykład 3.
3.1 Programowanie zorientowane obiektowo... 1 3.2 Unie... 2 3.3 Struktury... 3 3.4 Klasy... 4 3.5 Elementy klasy... 5 3.6 Dostęp do elementów klasy... 7 3.7 Wskaźnik this... 10 3.1 Programowanie zorientowane
Bardziej szczegółowoGeometria analityczna - przykłady
Geometria analityczna - przykłady 1. Znaleźć równanie ogólne i równania parametryczne prostej w R 2, któr przechodzi przez punkt ( 4, ) oraz (a) jest równoległa do prostej x + 5y 2 = 0. (b) jest prostopadła
Bardziej szczegółowoSkrypt 19. Trygonometria: Opracowanie L3
Projekt Innowacyjny program nauczania matematyki dla liceów ogólnokształcących współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Skrypt 19 Trygonometria: 9. Proste
Bardziej szczegółowoGEOMETRIA ANALITYCZNA. Poziom podstawowy
GEOMETRIA ANALITYCZNA Poziom podstawowy Zadanie (4 pkt.) Dana jest prosta k opisana równaniem ogólnym x + y 6. a) napisz równanie prostej k w postaci kierunkowej. b) podaj współczynnik kierunkowy prostej
Bardziej szczegółowoMatematyka rozszerzona matura 2017
Matematyka rozszerzona matura 017 Zadanie 1 Liczba ( 3 + 3) jest równa A. B. 4 C. 3 D. 3 ( 3 + 3) = 3 ( 3)( + 3) + + 3 = A. 3 4 3 + + 3 = 4 1 = 4 = Zadanie. Nieskończony ciąg liczbowy jest określony wzorem
Bardziej szczegółowoEGZAMIN MATURALNY Z MATEMATYKI
Miejsce na naklejkę z kodem szkoły dysleksja MMA-R1_1P-07 EGZAMIN MATURALNY Z MATEMATYKI POZIOM ROZSZERZONY Czas pracy 180 minut Instrukcja dla zdającego 1 Sprawdź, czy arkusz egzaminacyjny zawiera 15
Bardziej szczegółowoKLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Bardziej szczegółowoZad. 5: Sterowanie robotem mobilnym
Zad. 5: Sterowanie robotem mobilnym 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie
Bardziej szczegółowoProgramowanie, część I
11 marca 2010 Kontakt Wstęp Informacje organizacyjne Materiał na ćwiczenia Plan wykładu http://www.fuw.edu.pl/~rwys/prog rwys@fuw.edu.pl tel. 22 55 32 263 Materiał na ćwiczenia Informacje organizacyjne
Bardziej szczegółowoGeometria analityczna
Geometria analityczna Paweł Mleczko Teoria Informacja (o prostej). postać ogólna prostej: Ax + By + C = 0, A + B 0, postać kanoniczna (kierunkowa) prostej: y = ax + b. Współczynnik a nazywamy współczynnikiem
Bardziej szczegółowoMETODY MATEMATYCZNE I STATYSTYCZNE W INŻYNIERII CHEMICZNEJ
METODY MATEMATYCZNE I STATYSTYCZNE W INŻYNIERII CHEMICZNEJ Wykład 3 Elementy analizy pól skalarnych, wektorowych i tensorowych Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 1 Analiza
Bardziej szczegółowoA,B M! v V ; A + v = B, (1.3) AB = v. (1.4)
Rozdział 1 Prosta i płaszczyzna 1.1 Przestrzeń afiniczna Przestrzeń afiniczna to matematyczny model przestrzeni jednorodnej, bez wyróżnionego punktu. Można w niej przesuwać punkty równolegle do zadanego
Bardziej szczegółowoZad. 5: Sterowanie dronem
1 Cel ćwiczenia Zad. 5: Sterowanie dronem Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie dziedziczenia
Bardziej szczegółowoFunkcja liniowa i prosta podsumowanie
Funkcja liniowa i prosta podsumowanie Definicja funkcji liniowej Funkcja liniowa określona jest wzorem postaci: y = ax + b, x R, a R, b R a, b współczynniki funkcji dowolne liczby rzeczywiste a- współczynnik
Bardziej szczegółowoAUTORKA: ELŻBIETA SZUMIŃSKA NAUCZYCIELKA ZESPOŁU SZKÓŁ OGÓLNOKSZTAŁCĄCYCH SCHOLASTICUS W ŁODZI ZNANE RÓWNANIA PROSTEJ NA PŁASZCZYŹNIE I W PRZESTRZENI
UTORK: ELŻBIET SZUMIŃSK NUCZYCIELK ZESPOŁU SZKÓŁ OGÓLNOKSZTŁCĄCYCH SCHOLSTICUS W ŁODZI ZNNE RÓWNNI PROSTEJ N PŁSZCZYŹNIE I W PRZESTRZENI SPIS TREŚCI: PROST N PŁSZCZYŻNIE Str 1. Równanie kierunkowe prostej
Bardziej szczegółowoLaboratorium z przedmiotu Programowanie obiektowe - zestaw 04
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych kolekcji. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Bardziej szczegółowoUkład równań liniowych
Układ równań liniowych 1 Cel zadania Wykształcenie umiejętności projektowania własnych klas modelujących pojęcia niezbędne do rozwiązania postawionego problemu. Rozwinięcie umiejętności przeciążania operatorów
Bardziej szczegółowoZad. 7: Sterowanie robotami mobilnymi w obecności przeszkód
Zad. 7: Sterowanie robotami mobilnymi w obecności przeszkód 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas oraz czynności. Wykorzystanie
Bardziej szczegółowoKRYTERIA OCENIANIA Z MATEMATYKI W OPARCIU O PODSTAWĘ PROGRAMOWĄ I PROGRAM NAUCZANIA MATEMATYKA 2001 DLA KLASY DRUGIEJ
KRYTERIA OCENIANIA Z MATEMATYKI W OPARCIU O PODSTAWĘ PROGRAMOWĄ I PROGRAM NAUCZANIA MATEMATYKA 2001 DLA KLASY DRUGIEJ TREŚCI KSZTAŁCENIA WYMAGANIA PODSTAWOWE WYMAGANIA PONADPODSTAWOWE Liczby wymierne i
Bardziej szczegółowoZad. 5: Układ równań liniowych liczb zespolonych
Zad. 5: Układ równań liniowych liczb zespolonych 1 Cel ćwiczenia Wykształcenie zdolności abstrahowania operacji arytmetycznych od konkretnych typów. Unaocznienie problemów związanych z programowaniem uogólnionym
Bardziej szczegółowoPraca kontrolna z matematyki nr 1 Liceum Ogólnokształcące dla Dorosłych Semestr 5 Rok szkolny 2014/2015
Praca kontrolna z matematyki nr 1 Liceum Ogólnokształcące dla Dorosłych Semestr 5 Rok szkolny 2014/2015 2 6 + 3 1. Oblicz 3. 3 x 1 3x 2. Rozwiąż nierówność > x. 2 3 3. Funkcja f przyporządkowuje każdej
Bardziej szczegółowoZad. 4: Rotacje 2D. 1 Cel ćwiczenia. 2 Program zajęć. 3 Opis zadania programowego
Zad. 4: Rotacje 2D 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich struktur
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca
Bardziej szczegółowoODLEGŁOŚĆ NA PŁASZCZYŹNIE - SPRAWDZIAN
ODLEGŁOŚĆ NA PŁASZCZYŹNIE - SPRAWDZIAN Gr. 1 Zad. 1. Dane są punkty: P = (-, 1), R = (5, -1), S = (, 3). a) Oblicz odległość między punktami R i S. b) Wyznacz współrzędne środka odcinka PR. c) Napisz równanie
Bardziej szczegółowoZajęcia nr 1 (1h) Dwumian Newtona. Indukcja. Zajęcia nr 2 i 3 (4h) Trygonometria
Technologia Chemiczna 008/09 Zajęcia wyrównawcze. Pokazać, że: ( )( ) n k k l = ( n l )( n l k l Zajęcia nr (h) Dwumian Newtona. Indukcja. ). Rozwiązać ( ) ( równanie: ) n n a) = 0 b) 3 ( ) n 3. Znaleźć
Bardziej szczegółowoPrzykładowy zestaw zadań nr 1 z matematyki Odpowiedzi i schemat punktowania poziom podstawowy ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR 1
Nr zadania Nr czynności. Przykładowy zestaw zadań nr z matematyki ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR Etapy rozwiązania zadania POZIOM PODSTAWOWY Obliczenie wyróżnika oraz pierwiastków trójmianu
Bardziej szczegółowo