Triki najlepszych programistów gier 3D. Vademecum profesjonalisty

Wielkość: px
Rozpocząć pokaz od strony:

Download "Triki najlepszych programistów gier 3D. Vademecum profesjonalisty"

Transkrypt

1 PRZYK ADOWY ROZDZIA Wydawnictwo Helion ul. Chopina Gliwice tel. (32) helion@helion.pl IDZ DO KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWO CIACH ZAMÓW CENNIK CZYTELNIA SPIS TRE CI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY KSI EK ONLINE Triki najlepszych programistów gier 3D. Vademecum profesjonalisty Autor: Andre LaMothe T³umaczenie: Adam Bochenek (wstêp, rozdz. 1 3), Jaros³aw Dobrzañski (rozdz. 6 9), S³awomir Dzieniszewski (rozdz , dod. A F) ISBN: X Tytu³ orygina³u: Tricks of the 3D Game Programming Gurus Format: B5, stron: 1312 Swoje triki zdradz¹ Ci prawdziwi guru ze wiata twórców gier Tworzenie gier 3D wymaga opanowania nie tylko jêzyka programowania, ale tak e wielu innych dziedzin wiedzy -- analizy matematycznej, rachunku macierzowego i wektorowego oraz geometrii. Oczywi cie ka da z tych nauk zosta³a ju opisana w dziesi¹tkach tomów. Ksi¹ ka, któr¹ trzymasz w rêce, zawiera wszystkie informacje niezbêdne do stworzenia gry 3D dzia³aj¹cej w rodowisku Windows, zebrane w jednym tomie. Korzystaj¹c z niej, nie bêdziesz ju musia³ przerzucaæ tysiêcy stron w poszukiwaniu potrzebnego Ci wzoru. Autor ksi¹ ki, wykorzystuj¹c ponad dwudziestopiêcioletnie do wiadczenie w programowaniu, przedstawi Ci: algorytmy matematyczne wykorzystywane w grafice 3D, zasady programowania w Windows i DirectX, algorytmy wy wietlania grafiki 2D i 3D, techniki animacji i renderingu 3D, mapowanie tekstur, techniki symulacji o wietlenia i wiele innych informacji. Korzystaj¹c z tej ksi¹ ki, opracujesz doskona³y, oparty wy³¹cznie na warstwie oprogramowania silnik 3D dla gry, wykorzystasz w swoich grach modele i postaci stworzone w programach 3D, stworzysz realistyczn¹ sceneriê gry 3D i zoptymalizujesz kod ród³owy programu pod k¹tem szybko ci jego wykonywania. O autorze: Andre LaMothe to autor uznanych przez rynek ksi¹ ek o programowaniu gier i grafiki trójwymiarowej. Ci¹g jego sukcesów wydawniczych zapocz¹tkowa³o pierwsze wydanie tej ksi¹ ki (ustanowi³o ono swego czasu standardy programowania gier dla systemu DOS). Andre LaMothe programuje od ponad 25 lat i oprócz niew¹tpliwej praktyki posiada stosowne wykszta³cenie z zakresu matematyki, informatyki i elektrotechniki. Znany jest równie jako za³o yciel firm Xtreme Games LCC, Nurve Networks i XGDC.

2 Wprowadzenie...n...n...27 Elementy gier 2D/3D...n...n Ogólne wskazówki dotyczące programowania gier...n...33 Narzędzia...n...n...36 Edytor poziomów 3D...n...n.39 Przygotowanie kompilatora...n...40 Przykładowa gra 3D: Raiders 3D...n...43 Pętla obsługi zdarzeń...n...n.62 Logika gry 3D...n...n Rzutowanie 3D...n...n...64 Gwiezdne tło...n...n Działo laserowe i wykrywanie kolizji...n...66 Eksplozja...n...n Zasady gry...n...n Podsumowanie...n...n...67 Model programowania Win32...n...69 Programowanie w Windows absolutne minimum...n...70 Wszystko zaczyna się od WinMain()...n...70 Wzorcowa aplikacja Windows...n...75 Klasa okna...n...n Rejestracja klasy okna...n...80 Tworzenie okna...n...n...80 Obsługa zdarzeń...n...n...82 Pętla obsługi komunikatów...n...87 Pętla obsługi komunikatów pracująca w czasie rzeczywistym...90 DirectX i COM w pigułce...n...n91 HEL i HAL...n...n Komponenty DirectX...n...n94 Wprowadzenie do COM...n...n..95 Co to jest obiekt COM?...n...96 Tworzenie i używanie interfejsów COM biblioteki DirectX...98 Dostęp do interfejsów...n...n98 Podsumowanie...n...n

3 6 Triki najlepszych programistów gier 3D. Vademecum profesjonalisty Założenia interfejsu abstrakcyjnego komputera...n Budujemy abstrakcyjny komputer...n System video, bufor ramki...n Praca z kolorami...n...n Kopiowanie bufora...n...n..108 Kompletny system graficzny abstrakcyjnego komputera Dźwięk, muzyka, urządzenia wejścia...n Konsola do gier T3DLIB...n Podstawowa konsola do gier...n Biblioteka T3DLIB...n...n Architektura modułu graficznego...n Podstawowe definicje...n Makra...n...n Typy danych, struktury...n Funkcje...n...n Globalna dominacja...n...n.125 Interfejs DirectDraw...n...n126 Funkcje operujące na figurach 2D...n Funkcje matematyczne i obsługa błędów...n Mapy bitowe...n...n Obsługa palety w trybie 8-bitowym...n Funkcje pomocnicze...n...n145 Obiekty BOB...n...n T3DLIB2 moduł obsługi urządzeń wejścia...n T3DLIB3 biblioteka obsługi dźwięku i muzyki...n Definicje...n...n Typy...n...n Zmienne globalne...n...n DirectSound API...n...n DirectMusic API...n...n Ostateczna postać konsoli T3D...n Przypisanie funkcji graficznych abstrakcyjnemu modelowi Konsola T3DLIB...n...n Przykładowe aplikacje...n...n Aplikacje okienkowe...n Aplikacje pełnoekranowe...n Dźwięk i muzyka...n...n Klawiatura, myszka, joystick...n Podsumowanie...n...n Notacje matematyczne...n...n Dwuwymiarowe układy współrzędnych...n Dwuwymiarowy układ współrzędnych kartezjańskich Dwuwymiarowy układ współrzędnych biegunowych...n190 Trójwymiarowe układy współrzędnych...n Trójwymiarowe współrzędne kartezjańskie...n Trójwymiarowe współrzędne cylindryczne...n Konwersja trójwymiarowych współrzędnych kartezjańskich do współrzędnych cylindrycznych...n...196

4 Spis treści 7 Trójwymiarowe współrzędne sferyczne...n Podstawy trygonometrii...n...n.19 8 Trójkąt prostokątny...n...n..199 Odwrotne funkcje trygonometryczne...n Zależności trygonometryczne...n Wektory...n...n Długość wektora...n...n Normalizacja...n...n Mnożenie wektora przez wartości skalarne...n Dodawanie wektorów...n Odejmowanie wektorów...n Iloczyn skalarny wektorów...n Iloczyn wektorowy...n...n..209 Wektor zerowy...n...n Wektory położenia i wektory przemieszczenia...n Wektory jako kombinacje liniowe składowych...n Macierze i algebra liniowa...n Macierz jednostkowa...n Dodawanie macierzy...n Transpozycja macierzy...n Mnożenie macierzy...n...n..215 Reguły mnożenia macierzy...n Wyznaczanie macierzy odwrotnej i rozwiązywanie układów równań Reguła Cramera...n...n Przekształcenia geometryczne z wykorzystaniem macierzy Współrzędne jednorodne...n Przekształcenia macierzowe...n Podstawowe obiekty geometryczne...n Punkty...n...n Proste...n...n Proste w przestrzeni trójwymiarowej...n Płaszczyzny...n...n Równania parametryczne...n Proste parametryczne na płaszczyźnie i w przestrzeni trójwymiarowej Parametryczne definicje odcinków, wykorzystujące zwykły wektor kierunkowy v Parametryczne definicje odcinków, wykorzystujące jednostkowy wektor kierunkowy v = Parametryczne proste w przestrzeni trójwymiarowej...n.241 Kwaterniony wprowadzenie...n Teoria liczb zespolonych...n Rozszerzenie liczb zespolonych...n Zastosowania kwaternionów...n Wstęp do analizy matematycznej...n Pojęcie nieskończoności...n Granice...n...n Sumy i szeregi liczbowe skończone...n Szeregi liczbowe nieskończone...n Pochodne...n...n Całki...n...n Podsumowanie...n...n Moduł matematyczny przegląd...n Struktura plików modułu matematycznego...n Konwencja nazewnicza...n...282

5 8 Triki najlepszych programistów gier 3D. Vademecum profesjonalisty Obsługa błędów...n...n Słowo na temat języka C++...n Struktury i typy danych...n...n Wektory i punkty...n...n Równania parametryczne prostych...n Płaszczyzny w przestrzeni trójwymiarowej...n Macierze...n...n Kwaterniony...n...n Obsługa współrzędnych niekartezjańskich...n Dwuwymiarowy układ współrzędnych biegunowych...n292 Trójwymiarowy układ współrzędnych cylindrycznych Trójwymiarowy układ współrzędnych sferycznych...n Liczby stałoprzecinkowe...n Stałe matematyczne...n...n Makrodefinicje i funkcje rozwijane w miejscu wywołania Funkcje użytkowe i funkcje konwersji...n Funkcje manipulujące punktami i wektorami...n Macierze...n...n Kwaterniony...n...n Obliczenia stałoprzecinkowe...n Prototypy...n...n Zmienne globalne...n...n Interfejs programowy modułu matematycznego...n Funkcje trygonometryczne...n Funkcje obsługi różnych układów współrzędnych...n Funkcje obsługi wektorów...n Funkcje operujące na macierzach...n Funkcje operujące parametryczną reprezentacją prostych na płaszczyźnie i w przestrzeni trójwymiarowej...n Funkcje obsługi płaszczyzn trójwymiarowych...n Funkcje obsługi kwaternionów...n Funkcje obliczeń stałoprzecinkowych...n Funkcje rozwiązujące równania macierzowe...n Elementarz arytmetyki zmiennoprzecinkowej z wykorzystaniem koprocesora Architektura jednostki zmiennoprzecinkowej...n Stos jednostki zmiennoprzecinkowej...n Zestaw instrukcji jednostki FPU...n Klasyczny tryb adresowania operandów...n Tryb adresowania operandów z odwołaniem do pamięci Tryb adresowania operandów z odwołaniem do rejestru Adresowanie operandów ze zdjęciem operandu ze stosu Przykłady zastosowania instrukcji jednostki FPU...n Instrukcje FLD...n...n Instrukcje FST...n...n Instrukcje FADD...n...n Instrukcje FSUB...n...n Instrukcje FMUL...n...n Instrukcje FDIV...n...n Stosowanie modułu matematycznego uwagi...n Nowy szablon aplikacji...n Słowo o optymalizacji modułu...n Podsumowanie...n...n

6 Spis treści 9 Filozofia silnika 3D...n...n Struktura silnika gry 3D...n...n. 378 Silnik 3D...n...n Silnik gry...n...n System sterowania grą i gry sieciowej...n System animacji...n...n Wykrywanie kolizji i system nawigacji...n Moduł fizyki...n...n System sztucznej inteligencji...n Baza modeli 3D i grafiki...n Układy współrzędnych trójwymiarowych...n Współrzędne modelu (lokalne)...n Współrzędne świata gry...n Współrzędne kamery...n Ostateczna reprezentacja świata 3D za pomocą współrzędnych kamery Usuwanie ukrytych obiektów (powierzchni) i przycinanie Współrzędne perspektywy...n Zakończenie potoku współrzędne ekranowe...n Podstawowe struktury danych 3D...n Reprezentacje danych opisujących wielokąty w grafice 3D Definiowanie wielokątów...n Definiowanie obiektów...n Reprezentowanie światów...n Narzędzia 3D...n...n Animacja i dane o ruchu...n Ładowanie danych ze źródeł zewnętrznych...n Pliki PLG...n...n Pliki NFF...n...n Pliki 3D Studio...n...n Pliki COB firmy Caligari...n Pliki.X Microsoft DirectX...n Formaty plików 3D podsumowanie...n Proste przekształcenia i animacja...n Przesunięcie w przestrzeni...n Obrót w przestrzeni...n...n.463 Zmiana kształtu...n...n Podsumowanie potoku 3D...n Typy silników 3D...n...n Silniki przestrzeni kosmicznej...n Silniki terenu...n...n Silniki pomieszczeń zamkniętych...n Ray casting i silniki wokselowe...n Silniki hybrydowe...n...n Integracja całości w ostateczną postać silnika...n Podsumowanie...n...n Ogólna architektura silnika szkieletowego...n Struktury danych i potok 3D...n Główna lista wielokątów...n Nowe moduły programowe...n Piszemy program ładujący pliki 3D...n Program ładujący pliki PLG (PLX)...n...485

7 10 Triki najlepszych programistów gier 3D. Vademecum profesjonalisty Budowanie potoku 3D...n...n Ogólne funkcje przekształcające...n Przekształcenie współrzędnych lokalnych na współrzędne świata 3D Eulerowski model kamery...n Model kamery UVN...n...n503 Przekształcenie współrzędnych świata na współrzędne kamery Usuwanie obiektów...n...n.519 Usuwanie ścian zwróconych tyłem...n Przekształcenie współrzędnych kamery na współrzędne perspektywy Przekształcenie współrzędnych perspektywy na współrzędne ekranowe Połączone przekształcenie do współrzędnych perspektywy i współrzędnych ekranowych...n Renderowanie świata 3D...n Rzut oka na potok 3D...n Programy demonstracyjne 3D...n Pojedynczy trójkąt 3D DEMOII7_1.CPP EXE...n Szkielet sześcianu 3D DEMOII7_2.CPP EXE...n Szkielet sześcianu 3D z usuwaniem ścian zwróconych tyłem DEMOII7_3.CPP EXE...n Czołg 3D DEMOII7_4.CPP EXE...n Czołgi 3D i latająca kamera DEMOII7_5.CPP EXE Wycieczka po świecie gry à la Battle Zone DEMOII7_6.CPP EXE Podsumowanie...n...n Proste modele oświetlenia w grafice komputerowej...n Modele kolorów i materiały...n Typy świateł...n...n Oświetlanie i rasteryzacja trójkątów...n Przygotowania do implementacji oświetlenia...n Definiowanie materiałów...n Definiowanie świateł...n Cieniowanie w praktyce...n...n.59 6 Cieniowanie w trybie 16-bitowym...n Cieniowanie w trybie 8-bitowym...n Sprawny model RGB w trybach 8-bitowych...n Model z uproszczonym natężeniem dla trybów 8-bitowych Cieniowanie jednorodne...n Cieniowanie płaskie...n...n.607 Cieniowanie płaskie w trybie 8-bitowym...n Wstęp do cieniowania Gourauda...n Wstęp do cieniowania Phonga...n Sortowanie względem głębokości i algorytm malarza...n Praca z nowymi formatami plików...n Klasa parsera...n...n Interpretacja funkcji pomocniczych...n Format ASCII programu 3D Studio Max (.ASC)...n Format ASCII programu truespace (.COB)...n Przegląd formatu binarnego.md2 z gry Quake II...n Przegląd narzędzi do modelowania 3D...n Podsumowanie...n...n

8 Spis treści 11 Nowe funkcje silnika T3D...n Ulepszanie struktur danych i budowy silnika T3D...n Nowe definicje...n...n Nowe struktury matematyczne...n Makra pomocnicze...n...n..661 Dodatkowe elementy umożliwiające reprezentację danych siatki 3D Aktualizacja struktur obiektów i listy renderowania...n..668 Przegląd funkcji i prototypów...n Nowe wersje procedur ładujących obiekty...n Aktualizacja starego dobrego czytnika.plg (.PLX)...n.680 Aktualizacja czytnika formatu.asc z 3D Studio Max Aktualizacja czytnika.cob firmy Caligari...n Powtórka z rasteryzacji wielokątów...n Rasteryzacja trójkąta...n...n697 Konwencja wypełniania...n Przycinanie...n...n Nowe funkcje kreślące trójkąty...n Zabiegi optymalizacyjne...n Implementacja cieniowania Gourauda...n Cieniowanie Gourauda bez oświetlenia...n Uzupełnianie procedury cieniowania Gourauda o oświetlanie wierzchołków Podstawy teorii próbkowania...n Próbkowanie w jednym wymiarze...n Interpolacja dwuliniowa...n Interpolacja u i v...n...n Implementacja afinicznego mapowania tekstur...n Uwzględnienie tekstur w module oświetlenia i rasteryzacji Dodawanie oświetlenia do funkcji renderującej tekstury w trybie 16-bitowym Podsumowanie strategii optymalizacyjnych dla trybów 8- i 16-bitowych Tabele wyszukiwania...n Spójność wierzchołków siatki...n Buforowanie...n...n Instrukcje SIMD...n...n Programy demonstracyjne...n Raiders 3D II...n...n Podsumowanie...n...n Przycinanie scen 3D wprowadzenie...n Przycinanie w przestrzeni obiektu...n Przycinanie w obszarze obrazu sceny...n Omówienie algorytmów przycinania...n Przycinanie podstawy...n Algorytm Cohena-Sutherlanda...n Algorytm Cyrusa-Becka (Lianga-Barskiego)...n Algorytm Weilera-Athertona...n Przycinanie dodatkowe źródła informacji...n Przycinanie do ostrosłupa widzenia przykład implementacji Potok przekształceń geometrycznych i nowe struktury danych Dodawanie przycinania do silnika graficznego...n Zabawa w terenie...n...n Funkcja generowania terenu...n Generowanie mapy wysokości...n Rajd łazikiem terenowym...n Podsumowanie...n...n

9 12 Triki najlepszych programistów gier 3D. Vademecum profesjonalisty Bufory odległości i identyfikowanie widocznych powierzchni wprowadzenie Bufor Z...n...n Trudności implementacji bufora Z...n Przykład buforowania odległości...n Obliczanie wartości Z piksela z równania płaszczyzny Interpolacja współrzędnej Z...n Problemy buforowania Z i buforowanie odwrotności Z Przykładowa interpolacja Z i odwrotności Z...n Tworzenie systemu z buforem głębokości...n Dodawanie obsługi bufora Z do funkcji rasteryzacji...n..833 Optymalizacje bufora odległości...n Oszczędzanie pamięci...n Rzadsze czyszczenie bufora...n Buforowanie mieszane...n Bufory odległości problemy...n Programy demonstrujące działanie buforów Z...n Program 1.: Obrazowanie zawartości bufora Z...n Program 2.: Wodny rajd...n Podsumowanie...n...n Teksturowanie podejście drugie...n Nowe struktury w pliku nagłówkowym...n Podstawa funkcji rasteryzacji...n Przyjęcie formatu stałoprzecinkowego...n Nowe funkcje rasteryzacji bez buforowania Z...n Nowe funkcje rasteryzacji z buforowaniem Z...n Teksturowanie z cieniowaniem Gourauda...n Przezroczystość i łączenie alfa...n Łączenie alfa z wykorzystaniem tablic przeglądowych Niezależne definiowanie łączenia alfa dla poszczególnych obiektów Łączenie alfa w module generowania terenu...n Teksturowanie z korektą perspektywiczną i buforowanie odwrotności Z Matematyczne podstawy teksturowania z korektą perspektywiczną Dodawanie do rasteryzatorów buforowania odwrotności Z Implementacja teksturowania poprawnego perspektywicznie Implementacja teksturowania częściowo poprawnego perspektywicznie Aproksymacja kwadratowa w teksturowaniu perspektywicznym Optymalizacja teksturowania teksturowanie hybrydowe Dwuliniowe filtrowanie tekstur...n Filtrowanie trzyliniowe tekstur i mipmapowanie...n Wprowadzenie do analizy Fouriera i efektu aliasingu Tworzenie szeregu tekstur mipmapowania...n Wybór poziomu teksturowania mip...n Filtrowanie trzyliniowe...n Wyświetlanie i teksturowanie wieloprzebiegowe...n Zaawansowane teksturowanie w jednym wywołaniu...n Nowy kontekst renderowania...n Wypełnianie struktury kontekstu renderowania...n Funkcja zbiorcza rasteryzacji...n Podsumowanie...n...n

10 Spis treści 13 Nowy moduł silnika graficznego...n Podział przestrzenny i określanie widoczności powierzchni wprowadzenie Binarny podział przestrzeni (BSP)...n Binarny podział przestrzenny płaszczyznami równoległymni do osi układu współrzędnych...n Binarny podział przestrzenny płaszczyznami arbitralnymi Binarny podział przestrzenny płaszczyznami wyznaczanynmi przez płaszczyzny wielokątów...n Wyświetlanie (odwiedzanie) węzłów drzewa BSP...n Struktury danych i funkcje obsługujące drzewa BSP...n.995 Tworzenie drzewa BSP...n Strategie podziału...n...n Przeglądanie i wyświetlanie węzłów drzewa BSP...n Wpasowanie drzew BSP do potoku renderowania...n Edytor poziomu wykorzystujący drzewa BSP...n Ograniczenia drzew BSP...n Minimalizacja nadmiarowości odrysowywania z wykorzystaniem drzew BSP Wykorzystanie drzew BSP do redukowania sceny...n Wykorzystanie drzew BSP do wykrywania kolizji...n Integracja drzew BSP ze standardowymi funkcjami rasteryzacji Zbiory powierzchni potencjalnie widocznych...n Zastosowania zbiorów PVS...n Możliwe sposoby kodowania zbiorów potencjalnej widoczności Wyznaczanie zbiorów PVS...n Portale...n...n Hierarchie brył otaczających i drzewa oktalne...n Sposób użycia drzewa hierarchii BHV...n Wydajność w czasie rzeczywistym...n Strategie budowy hierarchii BHV...n Implementacja hierarchii BHV...n Drzewa oktalne...n...n Eliminowanie powierzchni zasłoniętych...n Bryły zasłaniające...n...n Wybór obiektów zasłaniających...n Hybrydowa metoda wyboru obiektów zasłaniających Podsumowanie...n...n Nowy moduł silnika gry...n Wprowadzenie i plan gry...n Uproszczone zasady fizyki cieni...n Droga fotonów i wyliczanie intensywności światła...n.1085 Symulowanie cieni za pomocą rzutowanych obrazów i billboardów Implementowanie rasteryzatorów z obsługą przezroczystości Nowa biblioteka...n...n Proste cienie...n...n Skalowanie cieni...n...n Śledzenie położenia źródła światła...n Końcowe uwagi na temat tworzenia symulowanych cieni Tworzenie cieni poprzez rzutowanie na płaszczyznę siatki obiektu Wzory przekształceń wektorowych dla potrzeb rzutowania Optymalizowanie cieni rzutowanych na płaszczyznę

11 14 Triki najlepszych programistów gier 3D. Vademecum profesjonalisty Wprowadzenie do mapowania oświetlenia i przechowywannia powierzchni w pamięci podręcznej...n Przechowywanie powierzchni w pamięci podręcznej Generowanie map oświetlenia...n Implementowanie mapera oświetlenia...n Mapowanie ciemności...n Efekty specjalne z użyciem map oświetlenia...n Optymalizowanie kodu mapowania oświetlenia...n Łącząc wszystko w jedną całość...n Podsumowanie...n...n Nowy moduł silnika gry...n Wprowadzenie do animacji trójwymiarowej...n Format.MD2 stosowany w grze Quake II...n Nagłówek pliku.md2...n Ładowanie plików.md2 gry Quake II...n Animowanie plików.md2...n Proste zasady animacji bez modeli bohaterów...n Rotacja w ruchu i ruch w wyniku translacji...n Złożone ruchy parametryczne i ruch po krzywej...n Wykorzystywanie skryptów do programowania ruchu Wykrywanie kolizji w przestrzeni trójwymiarowej...n Ograniczające sfery i walce...n Wykorzystywanie struktur danych do przyśpieszania wykrywania kolizji Poruszanie się po powierzchni terenu...n Podsumowanie...n...n Wprowadzenie do technik optymalizacyjnych...n Profilowanie kodu za pomocą kompilatora Microsoft Visualn C++ i programu VTune Intela...n Profilowanie przy pomocy kompilatora Visual C++...n1171 Analizowanie danych profilowania...n Optymalizowanie kodu za pomocą programu VTune Korzystanie z kompilatora C++ firmy Intel...n Ściąganie kompilatora optymalizacyjnego Intela...n Korzystanie z kompilatora...n Korzystanie z opcji optymalizacyjnych kompilatora Ręczne wybieranie różnych kompilatorów dla różnych plików źródłowych Strategie optymalizacyjne...n Przykład programowania instrukcji SIMD w mechanizmie SSE Podstawy architektury SIMD...n Jak naprawdę wygląda korzystanie z instrukcji SIMD Klasa wektorów trójwymiarowych przystosowana do instrukcji SIMD Kilka podstawowych trików optymalizacyjnych...n Trik 1. Pozbywanie się funkcji _ftol()...n Trik 2. Ustawianie słowa kontrolującego FPU...n Trik 3. Szybkie zerowanie liczb zmiennoprzecinkowych Trik 4. Szybkie wyciąganie pierwiastków kwadratowych Trik 5. Uproszczone wyliczanie arcustangens...n

12 Spis treści 15 Trik 6: Zwiększanie wartości wskaźnika...n Trik 7. Wyjmowanie instrukcji if z pętli...n Trik 8. Rozgałęzianie potoków instrukcji...n Trik 9. Wyrównywanie danych...n Trik 10. Wywoływanie wszystkich krótkich funkcji w miejscu Literatura...n...n Podsumowanie...n...n Instalowanie DirectX...n...n Korzystanie z kompilatora Visual C/C++...n Kilka praktycznych porad związanych z kompilacją...n Trygonometria...n...n Wektory...n...n Długość wektora...n...n Normalizacja...n...n Mnożenie wektora przez skalar...n Dodawanie wektorów...n Odejmowanie wektorów...n Iloczyn skalarny wektorów...n Iloczyn wektorowy wektorów...n Wektor zerowy...n...n Wektory pozycji...n...n Wektory jako liniowe kombinacje wektorów jednostkowych Czym język C++ różni się od C...n Minimum tego co trzeba wiedzieć o C++...n Nowe typy, słowa kluczowe i konwencje...n Komentarze...n...n Stałe...n...n Zmienne referencyjne...n Tworzenie zmiennych w dowolnym miejscu kodu...n Zarządzanie pamięcią...n...n Strumienie wejścia i wyjścia...n Klasy...n...n Całkiem nowy typ struktur...n Przykład prostej klasy...n Publiczne a prywatne...n Funkcje składowe klasy (metody)...n Konstruktory i destruktory...n Pisanie konstruktora...n Pisanie destruktora...n...n.1244 Operator ustalania zakresu...n Pisanie funkcji składowych klasy poza zakresem klasy Przeciążanie operatorów i funkcji...n Podstawy korzystania z szablonów...n Wprowadzenie do obsługi wyjątków...n Komponenty składające się na obsługę wyjątków...n Podsumowanie...n...n

13 16 Triki najlepszych programistów gier 3D. Vademecum profesjonalisty Witryny poświęcone programowaniu gier i nowinkom programistycznym Witryny, z których można ściągać użyteczne materiały i programy Silniki 2D i 3D...n...n Książki poświęcone programowaniu gier komputerowych Strony Microsoftu poświęcone interfejsowi DirectX...n Grupy dyskusyjne Usenetu...n Najnowsze wiadomości z branży: Blues News...n Magazyny komputerowe poświęcone projektowaniu gier Dodatkowe materiały do gry Quake...n Darmowe modele i tekstury...n Twórcy witryn poświęconych grom komputerowym...n

14 Rozdział 10. Nie bój się, to nie jest groźba pod Twoim adresem Marla, Fight Club Dość długo udawało się nam unikać tematu przycinania scen 3D, przyszedł jednak czas na rozwiązanie i tego problemu. Nie da się już dłużej omijać tematu przycinania. Dlatego w bieżącym rozdziale omówione zostaną podstawy teoretyczne oraz zaprezentowany będzie praktyczny szkielet modułu przycinania scen 3D; wskazane zostaną też powody, dla których konieczne jest realizowanie przycinania scen oraz działający przykład wykorzystania tej techniki. Głównśymi wątkami rozdziału będą: wprowadzenie do przycinania scen 3D; podstawy teoretyczne algorytmów przycinania; implementacja przycinania sceny do ostrosłupa widześnia; zabawa z przycinaniem. Przycinanie jako jedna z technik przetwarzania sceny w grafice komputerowej wzmiankowane było w niniejszej książce już kilkukrotnie; stosowne omówienia znajdują się również w drugim wydaniu książki Tricks of the Windows Game Programming Gurus. Przycinanie to jedna z najważniejszych technik grafikśi 3D, gdyż źle przycinane sceny są nie tylko nieprawidłowo wyświetlane na ekranie, ale również ich rzutowanie w ostrosłupie widzenia może doprowadzić do błędów dzielenia przez zero i niepoprawnych odwołań do pamięci. Mając to na uwadze przypomnimy sobie różne techniki przycinania i wskażemy przyczyny ich stosowania. O przycinaniu w przestrzeni obiektu mówimy wtedy, gdy przycinaniu do wyznaczonego obszaru podlegają współrzędne geometryczne elementów sceny. Obszar przycinania może być dwu- lub trójwymiarowy istotne jest to, że przycinanie zachodzi w matematycznej reprezentacji sceny i dotyczy matematycznych reprezentacji obiektów, trójkątów, elementów podstawowych i wszelkich innych części sceny. Zaletą przycinania w przestrzeni obiektu jest prostota: przy pomocy listy wierzchołków wielokątów tworzących scenę przycina się ich współrzędne do wyznaczonego dwu- lub trójwymiarowego obszaru rzutowania. Listę przyciętych trójkątów przekazuje się do następnego etśapu potoku renderowania. Wady przycinania w przestrzeni obiektu tkwią, jak zwykle, w szczegółach implementacyjnych. W omawianych w tej książce mechanizmach obrazowania jako elementy konstrukcyjne wykorzystywane są zawsze trójkąty. Tymczasem w wyniku przycinania, czy to do prostokąta rzutu dwuwymiarowego, czy do ostrosłupa widzenia, do sceny wprowadzane są wielokąty z więcej niż trzema wierzchołkami (a więc w wyniku przycinania scena przestaje składać się już wyłącznie z trójkątów). Tak więc dla każdej płaszczyzny przycinania

15 756 Część III Podstawy renderowania 3D należy przewidzieć potrzebę wprowadzenia dodatkowych wierzchołków przetwarzanych trójkątów, przez co stają się one czworokątami bądź wielokątami o jeszcze większej liczbie kątów. To pierwsza trudność. Gdyby silnik graficzny optymalizowany był pod kątem przetwarzania wielokątów o dowolnej liczbie wierzchołków, nie byłoby problemu, ale dotychczas omówione optymalizacje przetwarzania 3D opierały się zawsze na założeniu, że scena składa się wyłącznie z trójkątów. Dalej, przycinanie w dowolnym systemie przestrzeni obiektu oznacza konieczność przecinania prostych prostymi, prostych płaszczyznami i tak dalej. Z pozoru proste, operacje te okazują się trudne w wydajnej implementacji, wymagając rozwiązania wielu problemów. Przycinanie 2D w przestrzeni obiektu nie jest nam całkiem obce, ponieważ wielokrotnie prezentowaliśmy je dla grafiki 2D. Podstawowa koncepcja takiego przycinania zakłada, że dysponujemy gotowymi już rzutami prostych i wielokątów, które należy przyciąć do prostokątnego obszaru widzenia. Kod implementujący takie przycinanie prezentowany był już zarówno w tym, jak i poprzednim wydaniu książki. Przycinanie 2D nie może być dłużej pomocne, ponieważ podstawowym problemem jest to, że w przestrzeni trójwymiarowej rzutowaniu podlegają wielokąty, które mogą być potencjalnie tak rozległe, że nie tylko przenikają przez bliską płaszczyznę przycinania, ale również przez płaszczyznę o współrzędnej z równej 0, stąd do rzutowania przekazywane są wierzchołki o ujemnych wartościach tej współrzędnej (jak na rysunku 10.1). Wyłania się więc potrzeba opracowania techniki bardziej agresywneśgo przycinania 3D w przestrzeni obiektu. Rzutowanie wierzchołków o współrzędnej z mniejszeji lub równej zeru prowadzi do błędów

16 Rozdział 10. Przycinanie scen 3D 757 Jeżeli mechanizm obrazowania sceny ma sobie radzić z wielokątami o dowolnych rozmiarach i rozmieszczeniu, nie da się w prosty sposób uniknąć przycinania sceny do bliskiej płaszczyzny przycinania (patrz rysunek 10.2). Najbardziej prymitywnym sposobem uniknięcia przycinania jest usuwanie w całości ze sceny tych wielokątów, których wierzchołki wystają poza płaszczyznę przycinania, ale wymaga to konstruowania sceny z wielokątów o ograniczonym rozmiarze (patrz rysunek 10.3). Przy tym fragmenty scen przylegające do płaszczyzn przycinania nie będą właśściwie obrazowane. Zbyt długie wielokąty muszą zostać przycięte Niewielkie wielokąty mogą zostać w całości usuniętie bądź zaliczone do sceny

17 758 Część III Podstawy renderowania 3D Warunkiem koniecznym prawidłowego obrazowania sceny jest przycinanie wszystkich wielokątów sceny do bliższej płaszczyzny, przy czym uzyskane w wyniku przycięcia wielokąty mogą przestać być trójkątami. Trzeba się więc liczyć z koniecznością ponownego podziału powstałych wielokątów na trójkąty i tym samym przebudowania listy obrazowanych wielokątów. W najgorszym więc przypadku konieczne będzie przycięcie wszystkich wielokątów do bliskiej płaszczyzny przycinania, co sprowadza się do wyliczania punktów przecięcia prostych i płaszczyzn. W szczegółach problem okazuje się poważniejszy. Wiemy już o konieczności ponownego podziału sceny na trójkąty; dodatkowo należy jeszcze przyciąć współrzędne tekstur, przeliczyć dane potrzebne do cieniowania powierzchni i wyliczyć nowe wartości wektorów normalnych wierzchołków widać, że trudności jest niemałśo, ale poradzimy sobie i z nimi. Z drugiej strony, niebawem okaże się, że nie ma potrzeby wykonywania operacji przycinania dla pozostałych płaszczyzn ostrosłupa widzenia. Spójrzmy na rysunek Okazuje się, że przycinanie wielokątów do dalekiej płaszczyzny przycinania jest zwykłą stratą czasu. Jaki byłby zysk? Praktycznie żaden. Co gorsza, przycinanie to znacznie zwiększyłoby czas przetwarzania sceny. Wystarczy więc (zamiast przycinać) odrzucać w całości te wielokąty, które znajdują się poza daleką płaszczyzną przycinania niezależnie od ich odległości od tej płaszczyzny. Wielokąty, które w całości znajdują się poza tą płaszczyzną, zostaną raczej usunięte z wykorzystaniem sfer otaczających niż przycśinania. Nie wszystkie płaszczyzny ostrosłupa widzenia wymaigają przycinania 3D Dalej, również przycinanie na płaszczyznach tworzących górną, dolną, lewą i prawą ścianę ostrosłupa widzenia nie ma sensu. Przycinanie na ścianach ostrosłupa widzenia zajęłoby cenny czas, a służyłoby tylko do tego, żeby rzut sceny nie wykraczał poza obszar dwuwymiarowej płaszczyzny widoku sceny. O to można zaś zadbać na etapie rasteryzacji, w obszarze bufora ramki ekranu, co jest nieporównanie szybsze niż przycinanie w przestrzeni obiektu. Unikając przycinania na płaszczyznach ostrosłupa widzenia eliminujemy również ze sceny i potoku renderowania potencjalne dodatkowe wielokąty, powstałe z podziału wielokątów na granicach obszaru przycinania.

18 Rozdział 10. Przycinanie scen 3D 759 Naturalnie, jeżeli Czytelnikowi zależy na elegancji i kompletności mechanizmu obrazowania, może pokusić się o implementację przycinania dla wszystkich płaszczyzn; zostanie to zresztą pokazane w dalszej części rozdziału. Główny nacisk zostanie jednak położony na następujące etapy przycinania i usuwania wielokątów (patrz rysunek 10.5): Etapy w potoku przycinania 3D Usunięcie wszystkich zbędnych obiektów. Usunięcie wielokątów zwróconych tyłem do obserwatora. Przycięcie wszystkich wielokątów do obszaru ostrosłupaś widzenia. Pełnego przycinania wymaga jedynie bliska płaszczyzna przycinania w osi Z. Przyciśnanie na pozostałych pięciu płaszczyznach sprowadza się zaś do prostej kwalifikacji wielokątaś do sceny w całości (jeżeli trójkąt znajduje się częściowo lub w całości w obszarze przycinania, zostśaje zaliczony do sceny w całości; trójkąty pozostające w całości poza lewą, prawą, górną i dolśną płaszczyzną ostrosłupa widzenia można w całości usunąć ze sceny). Przekazanie wszystkich wielokątów do następnych etapówś potoku renderowania; wszelkie trójkąty wystające poza obszar płaszczyzny rzutu można przyciśąć na etapie rasteryzacji. Taki system przycinania jest łatwy w implementacji, działa znakomicie, i co najważniejsze jest bardzo szybki. Należałoby jeszcze sprecyzować, co należy rozumieć pod pojęciem przycinania w obszarze rzutu ekranu. Sytuacja wejściowa prezentowana jest na rysunku 10.6: wielokąt jest gotowy do odrysowania, ale jego fragment wystaje poza jedną z prostych wyznaczających obszar obrazu sceny. Nie jest to problem, o ile przycinanie ma nastąpić w pionie. Wystarczy rozpocząć pętlę odrysowywania wielokąta od wierzchołka uzyskanego przez obliczenie punktu przecięcia trójkąta z obszarem obrazu. Wyliczenie takie to zaledwie jeden dodatkowy wiersz kodu programu. W przypadku przecięcia z lewą bądź prawą krawędzią obrazu procedura odrysowywania jest nieco inna: przycinane są kolejne linie tworzone w pętli odrysowywania. Jest to szybsze niż przycinanie każdego wystającego trójkąta do wszystkich czterech płaszczyzn ostrosłupa widzenia. To ostatnie oznacza bowiem dodanie do sceny potencjalnie wielu nowych wielokątów, a co za tym idzie, oznacza konieczność wyliczania nowych współrzędnych teksturowania, przeliczania wektorów normalnych wielokątów i wierzchołków i tak dalej. Tymczasem aż nadto obciążające obliczeniowo jest już samo przycinanie do bliskiej płaszczyzny prśzycinania.

19 760 Część III Podstawy renderowania 3D Przycinanie w obszarze obrazu sceny, podczas rysowywania wielokątów Z drugiej strony, nie można dopuścić, aby przycinanie w obszarze bufora ramki doprowadziło do utraty jakichkolwiek informacji 3D; będą one jeszcze potrzebne, między innymi przy okazji konstruowania bufora Z. Operacje w obszarze bufora ramki wymagają ostrożności: gdy dojdzie do interpolacji wartości współrzędnych z dla krawędzi wielokątów, konieczne będzie zachowanie przynajmniej współrzędnych z wierzchołków. Chodzi o to, że podczas ostatecznej rasteryzacji nie można będzie już realizować przycinania wyłącznie na podstawie wartości współrzędnych 2D. Dojdśziemy do tego w stosownym czasie. Przed wkroczeniem w obszar teorii algorytmów przycinania chciałbym uprzedzić, że poważne nazwy co niektórych algorytmów niekiedy rozśmieszają, a to dlatego, że każdy z nich można wymyślić samemu wszystkie są po prostu formalizacją tego, co w domu robi każdy, kto zajmuje się choć trochę algorytmami graficznymi. Nazewnictwo algorytmów jest zresztą nieodłącznym problemem grafiki komputerowej: co i raz ktoś wymyśla nowy algorytm i publikuje go; odtąd zaczyna on funkcjonować pod pewną nazwą, niezależnie od innych nazw tego samego algorytmu publikowanego gdzie indziej. Nie zawsze zresztą nowa nazwa starego algorytmu jest dziełem samego autora publikacji często czytelnicy zaczynają odwoływać się do nowego algorytmu pod nową nazwą. Przycinanie to koncepcja na tyle prosta, że śmieszne byłoby sądzić, że została odkryta przez jedną konkretną osobę. Każdy algorytm przycinania jest pewnym wcieleniem zdroworozsądkowego podejścia do przetwarzania grafiki i opiera się na wyliczaniu punktów przecięcia wierzchołków. Algorytmy takie produkuje się zwykle pod presją pojawiających się zadań niejednokrotnie wyważa się wtedy otwarte już drzwi. Do czego zmierzam? Otóż nieco dalej wymienione zostaną z nazwy pewne powszechnie przyjęte algorytmy przycinania, jednak nie powinniście na ich podstawie wyrabiać sobie poglądu, że są one jedynymi możliwymi wcieleniami przycinania. Jak Wam zapewne wiadomo, programista niejednokrotnie spędza całe godziny na rozwiązaniu problemu, po czym dowiaduje się, że jego rozwiązanie jest bardzo podobne do już istniejących algorytmów. W przypadku algorytmów przycinania byłoby prościej, gdyby ich nazwy były bardziej opisowe. Istniejące nazwy brzmiśą przecież jak nazwy kancelarii prawniczych!

20 Rozdział 10. Przycinanie scen 3D 761 Wydaje się, że aby algorytm otrzymał nazwę, powinien cechować się pewnym wyrafinowaniem, powodującym, że opisywana przezeń technika nie jest bynajmniej oczywista dla osób średnio tylko zaawansowanych w danej dziedzinie. Zgodnie z takim rozumowaniem uzasadnione jest uhonorowanie wynalazcy algorytmu drzewa BSP (ang. binary space partitioning) przez nadanie mu jego imienia podział trójwymiarowej przestrzeni BSP nie jest bowiem algorytmem trywialnym. Kiedy jednak chodzi o przycinanie wielokąta do innego wielokąta, opracowanie algorytmu wymaga godziny (może dwóch) zastanowienia, spędzonego na kombinowaniu metod przycinania odcinków, klasyfikacji wierzchołków, kodowania bitowego czy parametrycznych reprezentacji prostych. Iś tyle! Mam zamiar, rzecz jasna, zachęcić Was do eksperymenctów. Co prawda, dziewięćdziesiąt dziewięć procent rozwiązywanych w ten sposób problecmów doczekało się już rozwiązania, nie oznacza o jednak, że rozwiązania te zostały gdzicekolwiek opublikowane. Dosyć narzekania. Do dzieła! Przystąpimy teraz do omówienia z teoretycznego punktu widzenia najpopularniejszych algorytmów przycinania, po czym zajmiemy się implementacją takiego algorytmu na potrzeby naszego silnika graficznego. Prezentowany algorytm, jako że powstał pod presją konkretnego problemu, będzie hybrydą wielu pomysłów. Na początek nieśco informacji podstawowych. Przycinanie wielokątów sprowadza się do przycinania odcinków, co z kolei sprowadza się do określania, czy pewne punkty zawierają się w danym obszarze dwuwymiarowym bądź w trójwymiarowej bryle. Ilustracją problemu w jego postaci ogólnej jest rysunek Otóż dany jest zbiór odcinków, tworzących wchodzące w skład sceny wielokąty, które mają zostać później poddane rzutowaniu. Należy określić, czy elementy te mieszczą się w pewnych zadanych granicach. Da się to sprowadzić do określenia, czy w granicach tych mieszczą się pojedyncze punkty charakterystyczne elementów. Innymi słowy, dane trójkąty determinowane są trzema wierzchołkami, łączonymi trzema odcinkami (krawędziami). Choć to właśnie krawędzie nadają trójkątowi zarys, naprawdę ważne są jedynie wierzchołki. Stąd, na najwyższym poziomie ogólności, problem sprowadza się do sprawdzenia, czy punkt o współrzędnych (x, y) bądź (x, y, z) znajduje się w zadanym obszarze (bryle), a więc do testu zawierania się punktu. Test zawierania się na płaszczyźnie dwuwymiarowej

21 762 Część III Podstawy renderowania 3D Dla danego punktu p0(x, y) i prostokątnego obszaru wyznaczanego prostymi xmin, xmax, ymin, ymax (patrz rysunek 10.7), punkt p0 zawiera się w zadanym obszarze, jeżeli spełnia nastśępujące nierówności: i Przypadek 1. Zawieranie się punktu w bryle prostopadłościennej. Dla danego punktu p0(x, y, z) i prostopadłościennego obszaru wyznaczonego płaszczyznami xmin, ymin, zmin, xmax, ymax, zmax (patrz rysunek 10.8), punkt p0 zawiera się w zadanym obszarze, jeżeli spełnia następujące nierówności: Testowanie zawierania się punktu w bryle 3D i i Pojawia się tu wątpliwość, czy warto zawracać sobie głowę przycinaniem do bryły prostopadłościennej, jeżeli z góry wiadomo, że ostrosłup widzenia taką bryłą nie jest? To prawda, ale wystarczy przypomnieć sobie omówienie rzutowania i dyskutowany przy tej okazji efekt prostowania ostrosłupa widzenia właśnie do postaci bryły prostopadłościennej. W takim przypadku przycinanie sprowadza się do trywialnych porównań współrzędnych wierzchołków wielokątów sceny ze współrzędnymi wierzchołków ścian bryły zawierania. Nikt też nie mówił, że przycinanie realizowane jest wyłącznie do ostrosłupa widzenia przecież promienie lasera wystrzeliwane w grze warto przyciąć również do jakiejś skończonej bryły w rozległym świecie gry kosmicznej, aby nie przeliczać ich pozycji w nieskończoność, gdy dawno opuściły penetrowany układ planetarny.

22 Rozdział 10. Przycinanie scen 3D 763 Przypadek 2. Przypadek ogólny zawierania się punktu w bryle ostrośsłupa widzenia. Przypadek ten będzie interesował nas najbardziej. To standardowy przypadek w przycinaniu: danych jest sześć płaszczyzn tworzących ścięty ostrosłup widzenia, do którego należy przyciąć wszelkie elementy geometryczne sceny. Ostrosłup widzenia można zdefiniować na kilka sposobów, na przykład przez określenie współrzędnych z płaszczyzn przycinania (bliższej i dalszej) wraz ze współrzędnymi prostokątnego obszaru na płaszczyźnie bliższej. Jednak niezależnie od sposobu wyznaczenia zadanych będzie sześć płaszczyzn. Nazwijmy je Pgórna, Pdolna, Pprawa, Plewa, Pdaleka i Pbliska. Dodatkowo załóżmy, że płaszczyzny zdefiniowano w taki sposób, że ich wektory normalne skierowane są do wewnątrz bryły ściętego ostrosłupa widzenia. Dalej, dla punktu p0(x, y, z) można wyznaczyć półprzestrzeń, w której się znajduje. Przynależność do półprzestrzeni dodatniej oznacza, że punkt znajduje się po wewnętrznej stronie płaszczyzny przycinania, przynależność do półprzestrzeni ujemnej że punkt znajduje się po stronie zewnętrznej, a tym samym poza ostrosłupem widzenia. Przypominacie sobie zapewne, że do określenia, czy dany punkt leży na płaszczyźnie, czy też należy do półprzestrzeni dodatniej bądź ujemnej, służy równanie płaszczyzny, prezentowane w rozdziałach 4. i 5. Załóżmy więc, że operator HS(p, pł) zwraca wartość półprzestrzeni punktu p względem płaszczyzny pł (dla półprzestrzeni dodatniej wynikiem operatora jest +1, dla ujemnej 1, a w przypadku, gdy punkt znajduje śsię dokładnie na płaszczyźnie 0). Do określenia zawierania się punktu w bryle niezbędne jest sprawdzenie, czy współrzędne punktu spełniają następujące nierówności: Obliczenia te są tylko pozornie skomplikowane. Znamy już sposób określania, czy dany punkt znajduje się wewnątrz, czy na zewnątrz wyznaczonego obszaru przycinania, zarówno na płaszczyźnie, jak i w przestrzeni trójwymiarowej. Kolejny krok to przejście na wyższy poziom abstrakcji i przycinanie odcinków (krawędzi) wyznaczanych punktami i tym samym przycinanie konturów trójkątów. Potrzebujemy tu narzędzia służącego do wykrywania punktów przecięć odcinków z płaszczyznami i innymi odcinkami. Stosowne wzory podane zostały i omówione w rozdziałach 4. i 5., nie będziemy więc od nowa ich wyprowadzać; konieczne będzie jednak odświeżenie pamięci. Przycinanie wielokątów to tylko pewne rozszerzenie zagadnienia przycinania odcinków, więc nie uprzedzając omówienia rzecz sprowadza się do wymyślenia sposobu przycięcia odcinka względem nieskończonej prostej (na płaszczyźnie) bądź względem płaszczyzny (w przestrzeni 3D). Pełny algorytm przycinania sceny to po prostu iteracyjne lub rekurencyjne stosowanie procedury przycinania dla każdego odcinka wielokąta względem każdej płaszczyzny przycinania ograniczającej ostrosłup widzenia. Naturalnie, algorytmy przycinania są odpowiednio optymalizowane, ale sprowadzają się właśnie do powyższej procedury, i to niezależnie od liczby wymiarów sceny. Skupmy się na zagadnieniu przycinania odcinków. Na pierwszy ogień pójdzie przypadek przycinania w przestrzeni dwuwymiarowej. Odwołując się do rysunku 10.9 wyobrażamy sobie odcinek łączący punkty p0(x0, y0) i p1(x1, y1). Odcinek ten ma zostać przycięty względem pionowej prostej wyznaczanej równaniem x = xl. Przycinanie trójkątów rzadko będzie odbywało względecm prostych o dowolnym kierunku zwykle wystarcza analiza przypadków względem prostcych poziomych i pionowych.

23 764 Część III Podstawy renderowania 3D Proste przycinanie odcinków Aby przyciąć prostą (odcinek), wystarczy dokonać konwersji jej reprezentacji do postaci parametrycznej i podstawić wartość x w punkcie przecięcia. Oto sposób rozuśmowania, który prowadzi do takiego wniosku: W postaci wektorowej pozycja punktu wzdłuż odcinka tśo: W postaci rozbitej na składowe: Do sprawdzenia, czy dany odcinek przecina zadaną prostą pionową, należy podstawić wartość x definiującą tę prostą (tutaj x = xl) do lewej strony równania dla składowej x, a następnie wyliczyć z tego równania wartość t. Jeżeli t należy do przedziału <0, 1>, odcinek przecina zadaną prostą; dla t spoza tego przedziału wiadomo, że odcinek nie przecina prostej: Po podstawieniu w miejsce x wartości xl otrzymujemy: Stąd t ma wartość: Jeżeli t ma wartość pomiędzy 0 a 1, odcinek przecina prostą. Należy pamiętać, że odcinek zdefiniowany tak, jak w przykładzie, rozciąga się pomiędzy punktami p0 i p1, przy t zmieniającym się od 0 do 1. Wartości t spoza tego zakresu należą co prawda do prostej, nie należą jednak do jej odcinka ograniczanego punktami p0 i p1. Po wyliczeniu t i stwierdzeniu, że mieści się ona w zakresie od 0 do 1,wystarczy podstawić je do równania dla składowej y:

24 Rozdział 10. Przycinanie scen 3D 765 I otrzymujemy współrzędne punktu przecięcia z danego odcinka z prostą pionową x = xl. Wyznaczenie punktu przecięcia z prostą poziomą jest równie proste, tyle, że jako pierwsze rozwiązujemy równanie dla składowej y i uzyskaną stąd wartość t podstawiamy do równania dla składowej x. Oto przykład dla prostej odcięcia wyznaczanej wzorem y = yl: Po podstawieniu yl do odpowiedniego równania otrzymuśjemy: Stąd wartość t to: Po sprawdzeniu wartości t otrzymujemy informację, czy nastąpiło przecięcie danych odcinków (dla t z zakresu od 0 do 1). Jeżeli tak, podstawiamy otrzymaną wartość dśo równania składowej x: I otrzymujemy drugą współrzędną punktu przecięcia odścinka z poziomą prostą y = yl. Oczywiście, efektywna implementacja takiego przycinania wymaga podejścia zdroworozsądkowego i wprowadzenia stosownych testów odsiewających. Przykładowo, jeżeli punkty końcowe p0 i p1 mają identyczne współrzędne, w ogóle nie trzeba przeprowadzać testu na przecięcie z prostą. Podobnie daremna jest próba obliczenia punktu przecięcia odcinka poziomego z pośziomą prostą i tak dalej. Przypadek przecinania prostych w przestrzeni trójwymiarowej okazuje się równie łatwy jak na płaszczyźnie cały problem sprowadza się do odpowiedniej reprezentacji płaszczyzn. Na razie nie będziemy jednak wprowadzać żadnych sztuczek i przyjrzymy się ogólnemu przypadkowi przycinania odcinków w przestrzeni 3D przy zadanej parametrycznie prostej i zadanej płaszczyźnie. Problem ilustrowany jest rysunkiem Na pierwszy ogień pójdzie równanie płaszczyzny będzie ona definiowana w postaci punktu zaczepienia i wektora normalnego płaszczyzny. Odcinek przecinający płaszczyznę w przestrzeni trójwymiarowej Niech p0 = (x0, y0, z0) będzie punktem leżącym na płaszczyźnie, a n [nx, ny, nz] wektorem normalnym tej płaszczyzny. Równanie płaszczyzny przyjmie wtedy śpostać:

25 766 Część III Podstawy renderowania 3D Odcinek pomiędzy punktami p1 i p2 dany będzie parametrycznie, w zapisie wektorowym: W postaci równań składowych: Pora na wyliczenie punktu przecięcia. Ponownie odsyłam Was do rozdziału 4., w którym zaprezentowano wzory niezbędne do realizacji obliczenia; objaśnienie procesu obliczeniowego można jednak sprowadzić do stwierdzenia, że wartości x, y i z prostej parametrycznej podstawiane są do równania płaszczyzny, po czym z równania tego obliczana jest wartość t: Po podstawieniu x, y i z do równania płaszczyzny otrzśymujemy: Po obliczeniu wartości t należy podstawić ją z powrotem do równania prostej w ten sposób wyliczone zostaną odpowiednie współrzędne punktu przecięcia. Jako, że pokazywaliśmy to już dla przypadku 2D, poszczególne etapy obliczenia zostaną tym razem pominięte. To już wszystko na temat przycinania, sprowadza się on bowiem właśnie do umiejętności obliczania punktów przecięcia prostej z prostą i prostej z płaszczyzną. Teraz wiedzę tę należy wykorzystać w algorytmie, który będzie ją efektywnie implementował. Przejdźmy więc do opisu kilku popularnych algorśytmów przycinania. Algorytm Cohena-Sutherlanda to jedna z najpopularniejszych technik przycinania odcinków do prostokątnych obszarów płaskich bądź do prostopadłościennych brył w przestrzeni trójwymiarowej. Algorytm dzieli się na dwie fazy. W fazie klasyfikacji punktów końcowych każdy odcinek na płaszczyźnie bądź w przestrzeni jest oznaczany jako leżący wewnątrz lub w poza obszarem przycinania; do klasyfikacji wykorzystuje się kodowanie bitowe, reprezentujące pozycję każdego z punktów końcowych odcinka jako wewnątrz (1) lub poza (0) zadanym obszarem. Schemat kodowania klasyfikującego dla przypaśdku 2D ilustrowany jest rysunkiem Każdy wierzchołek (x, y) odcinka ograniczonego punktami p0(x0, y0) i p1(x1, y1) wymaga osobnej klasyfikacji. Klasyfikacja punktów końcowych odcinka kodowana jest na czterech (sześciu w przestrzeni trójwymiarowej) bitach. Kod dla punktu p0 określać będziemy symbolem kb0 (analogicznie, dla p1 będzie to symbol kb1). Bity reprezentujące poszczególne obszary klasyfikacji mogą być kodowane w dowolny sposób, dla obszaru prostokątnego ograniczanego punktami (xmin, ymin) i (xmax, ymax) przyjęto jednak kody wymienione w tabeli Kodowanie położenia wierzchołków odcinków w algorytimie Cohena-Sutherlanda Nr bitu Znaczenie dla wartości 1, powyżej górnej krawędzi obszaru przycinania, poniżej dolnej krawędzi obszaru przycinania, na prawo od prawej krawędzi obszaru przycinania, na lewo od lewej krawędzi obszaru przycinania

Animowana grafika 3D. Opracowanie: J. Kęsik.

Animowana grafika 3D. Opracowanie: J. Kęsik. Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Rzutowanie Równoległe Perspektywiczne Rzutowanie równoległe Rzutowanie równoległe jest powszechnie używane w rysunku technicznym - umożliwienie

Bardziej szczegółowo

Julia 4D - raytracing

Julia 4D - raytracing i przykładowa implementacja w asemblerze Politechnika Śląska Instytut Informatyki 27 sierpnia 2009 A teraz... 1 Fraktale Julia Przykłady Wstęp teoretyczny Rendering za pomocą śledzenia promieni 2 Implementacja

Bardziej szczegółowo

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30 Wykład 4 mgr inż. 1/30 Synteza grafiki polega na stworzeniu obrazu w oparciu o jego opis. Synteza obrazu w grafice komputerowej polega na wykorzystaniu algorytmów komputerowych do uzyskania obrazu cyfrowego

Bardziej szczegółowo

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38 Wykład 5 Potok Renderowania Oświetlenie mgr inż. 1/38 Podejście śledzenia promieni (ang. ray tracing) stosuje się w grafice realistycznej. Śledzone są promienie przechodzące przez piksele obrazu wynikowego

Bardziej szczegółowo

LUBELSKA PRÓBA PRZED MATURĄ 09 MARCA Kartoteka testu. Maksymalna liczba punktów. Nr zad. Matematyka dla klasy 3 poziom podstawowy

LUBELSKA PRÓBA PRZED MATURĄ 09 MARCA Kartoteka testu. Maksymalna liczba punktów. Nr zad. Matematyka dla klasy 3 poziom podstawowy Matematyka dla klasy poziom podstawowy LUBELSKA PRÓBA PRZED MATURĄ 09 MARCA 06 Kartoteka testu Nr zad Wymaganie ogólne. II. Wykorzystanie i interpretowanie reprezentacji.. II. Wykorzystanie i interpretowanie

Bardziej szczegółowo

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a TEMATYKA: Krzywe Bézier a Ćwiczenia nr 7 DEFINICJE: Interpolacja: przybliżanie funkcji za pomocą innej funkcji, zwykle wielomianu, tak aby były sobie równe w zadanych punktach. Poniżej przykład interpolacji

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Inżynieria oprogramowania Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU GRAFICZNE MODELOWANIE

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

9. Podstawowe narzędzia matematyczne analiz przestrzennych

9. 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ółowo

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII Spis treści Od autora..................................................... Obliczenia inżynierskie i naukowe.................................. X XII Ostrzeżenia...................................................XVII

Bardziej szczegółowo

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku WYKŁ 3 WYPŁNINI OSZRÓW. Wypełnianie wieloboku Zasada parzystości: Prosta, która nie przechodzi przez wierzchołek przecina wielobok parzystą ilość razy. Plan wykładu: Wypełnianie wieloboku Wypełnianie konturu

Bardziej szczegółowo

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do 0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do obserwatora f) w kierunku od obserwatora 1. Obrót dookoła osi

Bardziej szczegółowo

3. Macierze i Układy Równań Liniowych

3. Macierze i Układy Równań Liniowych 3. Macierze i Układy Równań Liniowych Rozważamy równanie macierzowe z końcówki ostatniego wykładu ( ) 3 1 X = 4 1 ( ) 2 5 Podstawiając X = ( ) x y i wymnażając, otrzymujemy układ 2 równań liniowych 3x

Bardziej szczegółowo

MATEMATYKA Z PLUSEM DLA KLASY VII W KONTEKŚCIE WYMAGAŃ PODSTAWY PROGRAMOWEJ. programowej dla klas IV-VI. programowej dla klas IV-VI.

MATEMATYKA Z PLUSEM DLA KLASY VII W KONTEKŚCIE WYMAGAŃ PODSTAWY PROGRAMOWEJ. programowej dla klas IV-VI. programowej dla klas IV-VI. MATEMATYKA Z PLUSEM DLA KLASY VII W KONTEKŚCIE WYMAGAŃ PODSTAWY PROGRAMOWEJ TEMAT LICZBA GODZIN LEKCYJNYCH WYMAGANIA SZCZEGÓŁOWE Z PODSTAWY PROGRAMOWEJ UWAGI. LICZBY I DZIAŁANIA 6 h Liczby. Rozwinięcia

Bardziej szczegółowo

5. Rozwiązywanie układów równań liniowych

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

OpenGL i wprowadzenie do programowania gier

OpenGL i wprowadzenie do programowania gier OpenGL i wprowadzenie do programowania gier Wojciech Sterna Bartosz Chodorowski OpenGL i wprowadzenie do programowania gier Autorstwo rozdziałów: 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 Wojciech Sterna

Bardziej szczegółowo

V. WYMAGANIA EGZAMINACYJNE

V. WYMAGANIA EGZAMINACYJNE V. WYMAGANIA EGZAMINACYJNE Standardy wymagań egzaminacyjnych Zdający posiada umiejętności w zakresie: POZIOM PODSTAWOWY POZIOM ROZSZERZONY 1. wykorzystania i tworzenia informacji: interpretuje tekst matematyczny

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy na specjalności: Inżynieria oprogramowania Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE

Bardziej szczegółowo

Bartosz Bazyluk SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok

Bartosz Bazyluk SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok Synteza grafiki 3D Pod pojęciem syntezy grafiki rozumiemy stworzenie grafiki

Bardziej szczegółowo

Próbny egzamin z matematyki dla uczniów klas II LO i III Technikum. w roku szkolnym 2012/2013

Próbny egzamin z matematyki dla uczniów klas II LO i III Technikum. w roku szkolnym 2012/2013 Próbny egzamin z matematyki dla uczniów klas II LO i III Technikum w roku szkolnym 2012/2013 I. Zakres materiału do próbnego egzaminu maturalnego z matematyki: 1) liczby rzeczywiste 2) wyrażenia algebraiczne

Bardziej szczegółowo

Plan wykładu. Akcelerator 3D Potok graficzny

Plan wykładu. Akcelerator 3D Potok graficzny Plan wykładu Akcelerator 3D Potok graficzny Akcelerator 3D W 1996 r. opracowana została specjalna karta rozszerzeń o nazwie marketingowej Voodoo, którą z racji wspomagania procesu generowania grafiki 3D

Bardziej szczegółowo

Egzamin gimnazjalny z matematyki 2016 analiza

Egzamin gimnazjalny z matematyki 2016 analiza Egzamin gimnazjalny z matematyki 2016 analiza Arkusz zawierał 23 zadania: 20 zamkniętych i 3 otwarte. Dominowały zadania wyboru wielokrotnego, w których uczeń wybierał jedną z podanych odpowiedzi. W pięciu

Bardziej szczegółowo

Śledzenie promieni w grafice komputerowej

Śledzenie promieni w grafice komputerowej Dariusz Sawicki Śledzenie promieni w grafice komputerowej Warszawa 2011 Spis treści Rozdział 1. Wprowadzenie....... 6 1.1. Śledzenie promieni a grafika realistyczna... 6 1.2. Krótka historia śledzenia

Bardziej szczegółowo

Praktyczny Excel. 50 praktycznych formuł na każdą okazję

Praktyczny Excel. 50 praktycznych formuł na każdą okazję Praktyczny Excel 50 praktycznych formuł na każdą okazję 3 1 NUMER PRAWNICZY przygotowany przez + OCHRONA DANYCH OSOBOWYCH profesjonalnie i kompleksowo 1 2 + GRATIS 20% GRATIS 30%, tel. 22 518 29 29, email:

Bardziej szczegółowo

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010 KOMPUTEROWA

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010 KOMPUTEROWA 1/1 Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010 Nazwa przedmiotu: Kierunek: Specjalność: Tryb studiów: GRAFIKA KOMPUTEROWA INFORMATYKA Kod/nr GK PRZEDMIOT OBOWIĄZKOWY DLA WSZYSTKICH

Bardziej szczegółowo

Mgr Kornelia Uczeń. WYMAGANIA na poszczególne oceny-klasa VII-Szkoła Podstawowa

Mgr Kornelia Uczeń. WYMAGANIA na poszczególne oceny-klasa VII-Szkoła Podstawowa Mgr Kornelia Uczeń WYMAGANIA na poszczególne oceny-klasa VII-Szkoła Podstawowa Oceny z plusem lub minusem otrzymują uczniowie, których wiadomości i umiejętności znajdują się na pograniczu wymagań danej

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE Z MATEMATYKI 2016/2017 (zakres podstawowy) klasa 3abc

WYMAGANIA EDUKACYJNE Z MATEMATYKI 2016/2017 (zakres podstawowy) klasa 3abc WYMAGANIA EDUKACYJNE Z MATEMATYKI 2016/2017 (zakres podstawowy) klasa 3abc 1, Ciągi zna definicję ciągu (ciągu liczbowego); potrafi wyznaczyć dowolny wyraz ciągu liczbowego określonego wzorem ogólnym;

Bardziej szczegółowo

w jednym kwadrat ziemia powietrze równoboczny pięciobok

w jednym kwadrat ziemia powietrze równoboczny pięciobok Wielościany Definicja 1: Wielościanem nazywamy zbiór skończonej ilości wielokątów płaskich spełniających następujące warunki: 1. każde dwa wielokąty mają bok lub wierzchołek wspólny albo nie mają żadnego

Bardziej szczegółowo

Rozkład materiału z matematyki dla II klasy technikum zakres podstawowy I wariant (38 tyg. 2 godz. = 76 godz.)

Rozkład materiału z matematyki dla II klasy technikum zakres podstawowy I wariant (38 tyg. 2 godz. = 76 godz.) Rozkład materiału z matematyki dla II klasy technikum zakres podstawowy I wariant (38 tyg. godz. = 76 godz.) I. Funkcja i jej własności.4godz. II. Przekształcenia wykresów funkcji...9 godz. III. Funkcja

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY 7SP. V. Obliczenia procentowe. Uczeń: 1) przedstawia część wielkości jako procent tej wielkości;

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY 7SP. V. Obliczenia procentowe. Uczeń: 1) przedstawia część wielkości jako procent tej wielkości; WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY 7SP Liczby. TEMAT Rozwinięcia dziesiętne liczb wymiernych. Zaokrąglanie liczb. Szacowanie wyników. Dodawanie i odejmowanie liczb dodatnich. Mnożenie i dzielenie

Bardziej szczegółowo

Wymagania edukacyjne z matematyki w klasie III gimnazjum

Wymagania edukacyjne z matematyki w klasie III gimnazjum Wymagania edukacyjne z matematyki w klasie III gimnazjum - nie potrafi konstrukcyjnie podzielić odcinka - nie potrafi konstruować figur jednokładnych - nie zna pojęcia skali - nie rozpoznaje figur jednokładnych

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa SIMR 06/07, Analiza, wykład, 07-0- Przestrzeń wektorowa Przestrzeń wektorowa (liniowa) - przestrzeń (zbiór) w której określone są działania (funkcje) dodawania elementów i mnożenia elementów przez liczbę

Bardziej szczegółowo

Geometria w R 3. Iloczyn skalarny wektorów

Geometria w R 3. Iloczyn skalarny wektorów Geometria w R 3 Andrzej Musielak Str 1 Geometria w R 3 Działania na wektorach Wektory w R 3 możemy w naturalny sposób dodawać i odejmować, np.: [2, 3, 1] + [ 1, 2, 1] = [1, 5, 2] [2, 3, 1] [ 1, 2, 1] =

Bardziej szczegółowo

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D Wprowadzenie do rysowania w 3D 13 Praca w środowisku 3D Pierwszym krokiem niezbędnym do rozpoczęcia pracy w środowisku 3D programu AutoCad 2010 jest wybór odpowiedniego obszaru roboczego. Można tego dokonać

Bardziej szczegółowo

WYMAGANIA na poszczególne oceny-klasa I Gimnazjum

WYMAGANIA na poszczególne oceny-klasa I Gimnazjum WYMAGANIA na poszczególne oceny-klasa I Gimnazjum Oceny z plusem lub minusem otrzymują uczniowie, których wiadomości i umiejętności znajdują się na pograniczu wymagań danej oceny głównej. (Znaki + i -

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/6 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Manipulowanie przestrzenią 2 Przygotował: mgr inż. Maciej Lasota 1) Manipulowanie przestrzenią Istnieją dwa typy układów współrzędnych:

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE

WYMAGANIA EDUKACYJNE GIMNAZJUM NR 2 W RYCZOWIE WYMAGANIA EDUKACYJNE niezbędne do uzyskania poszczególnych śródrocznych i rocznych ocen klasyfikacyjnych z MATEMATYKI w klasie I gimnazjum str. 1 Wymagania edukacyjne niezbędne

Bardziej szczegółowo

Następnie przypominamy (dla części studentów wprowadzamy) podstawowe pojęcia opisujące funkcje na poziomie rysunków i objaśnień.

Następnie przypominamy (dla części studentów wprowadzamy) podstawowe pojęcia opisujące funkcje na poziomie rysunków i objaśnień. Zadanie Należy zacząć od sprawdzenia, co studenci pamiętają ze szkoły średniej na temat funkcji jednej zmiennej. Na początek można narysować kilka krzywych na tle układu współrzędnych (funkcja gładka,

Bardziej szczegółowo

I. Potęgi. Logarytmy. Funkcja wykładnicza.

I. Potęgi. Logarytmy. Funkcja wykładnicza. WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY TRZECIEJ LICEUM OGÓLNOKSZTAŁCĄCEGO ZAKRES PODSTAWOWY I. Potęgi. Logarytmy. Funkcja wykładnicza. dobrą, bardzo - oblicza potęgi o wykładnikach wymiernych; - zna

Bardziej szczegółowo

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Grażyna Koba MIGRA 2019 Spis treści (propozycja na 2*32 = 64 godziny lekcyjne) Moduł A. Wokół komputera i sieci komputerowych

Bardziej szczegółowo

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 13 Rekurencja 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Rekurencja - pojęcie 2 Rekurencja - pojęcie Rekurencja (rekursja) wywołanie

Bardziej szczegółowo

ROZKŁAD MATERIAŁU NAUCZANIA KLASA 1, ZAKRES PODSTAWOWY

ROZKŁAD MATERIAŁU NAUCZANIA KLASA 1, ZAKRES PODSTAWOWY ROZKŁAD MATERIAŁU NAUCZANIA KLASA 1, ZAKRES PODSTAWOWY Numer lekcji 1 2 Nazwa działu Lekcja organizacyjna. Zapoznanie z programem nauczania i kryteriami wymagań Zbiór liczb rzeczywistych i jego 3 Zbiór

Bardziej szczegółowo

WYMAGANIA EDUKACYJN KRYTERIA OCENY Z MATEMATYKI W KLASIE II GIMNAZJUM

WYMAGANIA EDUKACYJN KRYTERIA OCENY Z MATEMATYKI W KLASIE II GIMNAZJUM Na ocenę dopuszczającą uczeń umie : WYMAGANIA EDUKACYJN KRYTERIA OCENY Z MATEMATYKI W KLASIE II GIMNAZJUM stosować cztery podstawowe działania na liczbach wymiernych, zna kolejność wykonywania działań

Bardziej szczegółowo

Matematyka z komputerem dla gimnazjum

Matematyka z komputerem dla gimnazjum IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWO CIACH ZAMÓW CENNIK CZYTELNIA SPIS TRE CI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY

Bardziej szczegółowo

2) R stosuje w obliczeniach wzór na logarytm potęgi oraz wzór na zamianę podstawy logarytmu.

2) R stosuje w obliczeniach wzór na logarytm potęgi oraz wzór na zamianę podstawy logarytmu. ZAKRES ROZSZERZONY 1. Liczby rzeczywiste. Uczeń: 1) przedstawia liczby rzeczywiste w różnych postaciach (np. ułamka zwykłego, ułamka dziesiętnego okresowego, z użyciem symboli pierwiastków, potęg); 2)

Bardziej szczegółowo

Układy równań i nierówności liniowych

Układy równań i nierówności liniowych Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +

Bardziej szczegółowo

Kryteria oceniania z matematyki Klasa III poziom podstawowy

Kryteria oceniania z matematyki Klasa III poziom podstawowy Kryteria oceniania z matematyki Klasa III poziom podstawowy Potęgi Zakres Dopuszczający Dostateczny Dobry Bardzo dobry oblicza potęgi o wykładnikach wymiernych; zna prawa działań na potęgach i potrafi

Bardziej szczegółowo

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne

Bardziej szczegółowo

Zad. 3: Układ równań liniowych

Zad. 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ółowo

Metody numeryczne Wykład 4

Metody numeryczne Wykład 4 Metody numeryczne Wykład 4 Dr inż. Michał Łanczont Instytut Elektrotechniki i Elektrotechnologii E419, tel. 4293, m.lanczont@pollub.pl, http://m.lanczont.pollub.pl Zakres wykładu Metody skończone rozwiązywania

Bardziej szczegółowo

EGZAMIN W KLASIE TRZECIEJ GIMNAZJUM W ROKU SZKOLNYM 2017/2018 CZĘŚĆ 2. ZASADY OCENIANIA ROZWIĄZAŃ ZADAŃ

EGZAMIN W KLASIE TRZECIEJ GIMNAZJUM W ROKU SZKOLNYM 2017/2018 CZĘŚĆ 2. ZASADY OCENIANIA ROZWIĄZAŃ ZADAŃ EGZAMIN W KLASIE TRZECIEJ GIMNAZJUM W ROKU SZKOLNYM 2017/2018 CZĘŚĆ 2. MATEMATYKA ZASADY OCENIANIA ROZWIĄZAŃ ZADAŃ ARKUSZE: GM-MX1, GM-M2, GM-M4, GM-M5 KWIECIEŃ 2018 Zadanie 1. (0 1) I. Wykorzystanie i

Bardziej szczegółowo

1 Wstęp teoretyczny. Temat: Obcinanie odcinków do prostokąta. Grafika komputerowa 2D. Instrukcja laboratoryjna Prostokąt obcinający

1 Wstęp teoretyczny. Temat: Obcinanie odcinków do prostokąta. Grafika komputerowa 2D. Instrukcja laboratoryjna Prostokąt obcinający Instrukcja laboratoryjna 3 Grafika komputerowa 2D Temat: Obcinanie odcinków do prostokąta Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny 1.1

Bardziej szczegółowo

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

1. Potęgi. Logarytmy. Funkcja wykładnicza

1. Potęgi. Logarytmy. Funkcja wykładnicza 1. Potęgi. Logarytmy. Funkcja wykładnicza Tematyka zajęć: WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY KL. 3 POZIOM PODSTAWOWY Potęga o wykładniku rzeczywistym powtórzenie Funkcja wykładnicza i jej własności

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

Bardziej szczegółowo

Co należy zauważyć Rzuty punktu leżą na jednej prostej do osi rzutów x 12, którą nazywamy prostą odnoszącą Wysokość punktu jest odległością rzutu

Co należy zauważyć Rzuty punktu leżą na jednej prostej do osi rzutów x 12, którą nazywamy prostą odnoszącą Wysokość punktu jest odległością rzutu Oznaczenia A, B, 1, 2, I, II, punkty a, b, proste α, β, płaszczyzny π 1, π 2, rzutnie k kierunek rzutowania d(a,m) odległość punktu od prostej m(a,b) prosta przechodząca przez punkty A i B α(1,2,3) płaszczyzna

Bardziej szczegółowo

MATEMATYKA DLA KLASY VII W KONTEKŚCIE WYMAGAŃ PODSTAWY PROGRAMOWEJ

MATEMATYKA DLA KLASY VII W KONTEKŚCIE WYMAGAŃ PODSTAWY PROGRAMOWEJ MATEMATYKA DLA KLASY VII W KONTEKŚCIE WYMAGAŃ PODSTAWY PROGRAMOWEJ TEMAT 1. LICZBY I DZIAŁANIA Liczby. Rozwinięcia dziesiętne liczb wymiernych. Zaokrąglanie liczb. Szacowanie wyników. Dodawanie i odejmowanie

Bardziej szczegółowo

KRYTERIA OCEN Z MATEMATYKI DLA KLASY VII

KRYTERIA OCEN Z MATEMATYKI DLA KLASY VII KRYTERIA OCEN Z MATEMATYKI DLA KLASY VII Na ocenę dopuszczającą uczeń powinien : Na ocenę dostateczną uczeń powinien: Na ocenę dobrą uczeń powinie: Na ocenę bardzo dobrą uczeń powinien: Na ocenę celującą

Bardziej szczegółowo

Trójwymiarowa grafika komputerowa rzutowanie

Trójwymiarowa grafika komputerowa rzutowanie Trójwymiarowa grafika komputerowa rzutowanie Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej Rzutowanie w przestrzeni 3D etapy procesu rzutowania określenie rodzaju rzutu określenie

Bardziej szczegółowo

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7 Spis treści Wprowadzenie...n...n... 5 Jak korzystać z tej książki?...t... 6 Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7 Podsumowanie...t...t...15 Rozdział 2. Rozdział

Bardziej szczegółowo

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania.

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania. Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania. Chcąc osiągnąć realizm renderowanego obrazu, należy rozwiązać problem świetlenia. Barwy, faktury i inne właściwości przedmiotów postrzegamy

Bardziej szczegółowo

Modelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak

Modelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak Modelowanie i wstęp do druku 3D Wykład 1 Robert Banasiak Od modelu 3D do wydruku 3D Typowa droga...czasem wyboista... Pomysł!! Modeler 3D Przygotowanie modelu do druku Konfiguracja Programu do drukowania

Bardziej szczegółowo

I semestr WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA VI. Wymagania na ocenę dopuszczającą. Dział programu: Liczby naturalne

I semestr WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA VI. Wymagania na ocenę dopuszczającą. Dział programu: Liczby naturalne WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA VI Wymagania na ocenę dopuszczającą I semestr Dział programu: Liczby naturalne Oblicza różnice czasu proste Wymienia jednostki opisujące prędkość, drogę, czas. Rozwiązuje

Bardziej szczegółowo

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład 13 1 Kody liniowe - kodowanie w oparciu o macierz parzystości Przykład Różne macierze parzystości dla kodu powtórzeniowego. Co wiemy z algebry

Bardziej szczegółowo

FUNKCJA LINIOWA - WYKRES

FUNKCJA LINIOWA - WYKRES FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (Postać kierunkowa) Funkcja liniowa jest podstawowym typem funkcji. Jest to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości

Bardziej szczegółowo

Tomasz Tobiasz PLAN WYNIKOWY (zakres podstawowy)

Tomasz Tobiasz PLAN WYNIKOWY (zakres podstawowy) Tomasz Tobiasz PLAN WYNIKOWY (zakres podstawowy) klasa 3. PAZDRO Plan jest wykazem wiadomości i umiejętności, jakie powinien mieć uczeń ubiegający się o określone oceny na poszczególnych etapach edukacji

Bardziej szczegółowo

WYMAGANIE EDUKACYJNE Z MATEMATYKI W KLASIE II GIMNAZJUM. dopuszczającą dostateczną dobrą bardzo dobrą celującą

WYMAGANIE EDUKACYJNE Z MATEMATYKI W KLASIE II GIMNAZJUM. dopuszczającą dostateczną dobrą bardzo dobrą celującą 1. Statystyka odczytać informacje z tabeli odczytać informacje z diagramu 2. Mnożenie i dzielenie potęg o tych samych podstawach 3. Mnożenie i dzielenie potęg o tych samych wykładnikach 4. Potęga o wykładniku

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA I GIMNAZJUM Małgorzata Janik

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA I GIMNAZJUM Małgorzata Janik WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA I GIMNAZJUM Małgorzata Janik DOPUSZCZAJĄCY DOSTATECZNY DOBRY BARDZO DOBRY LICZBY I DZIAŁANIA zna pojęcie liczby naturalnej, całkowitej, wymiernej. rozumie rozszerzenie

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Algorytmy i programowanie Algorithms and Programming Kierunek: Zarządzanie i Inżynieria Produkcji Rodzaj przedmiotu: kierunkowy Poziom studiów: studia I stopnia forma studiów: studia

Bardziej szczegółowo

Algebra liniowa z geometrią

Algebra liniowa z geometrią Algebra liniowa z geometrią Maciej Czarnecki 15 stycznia 2013 Spis treści 1 Geometria płaszczyzny 2 1.1 Wektory i skalary........................... 2 1.2 Macierze, wyznaczniki, układy równań liniowych.........

Bardziej szczegółowo

str 1 WYMAGANIA EDUKACYJNE ( ) - matematyka - poziom podstawowy Dariusz Drabczyk

str 1 WYMAGANIA EDUKACYJNE ( ) - matematyka - poziom podstawowy Dariusz Drabczyk str 1 WYMAGANIA EDUKACYJNE (2017-2018) - matematyka - poziom podstawowy Dariusz Drabczyk Klasa 3e: wpisy oznaczone jako: (T) TRYGONOMETRIA, (PII) PLANIMETRIA II, (RP) RACHUNEK PRAWDOPODOBIEŃSTWA, (ST)

Bardziej szczegółowo

STEREOMETRIA CZYLI GEOMETRIA W 3 WYMIARACH

STEREOMETRIA CZYLI GEOMETRIA W 3 WYMIARACH STEREOMETRIA CZYLI GEOMETRIA W 3 WYMIARACH Stereometria jest działem geometrii, którego przedmiotem badań są bryły przestrzenne oraz ich właściwości. WZAJEMNE POŁOŻENIE PROSTYCH W PRZESTRZENI 2 proste

Bardziej szczegółowo

LUBELSKA PRÓBA PRZED MATURĄ 2017 poziom podstawowy

LUBELSKA PRÓBA PRZED MATURĄ 2017 poziom podstawowy LUELSK PRÓ PRZE MTURĄ 07 poziom podstawowy Schemat oceniania Uwaga: kceptowane są wszystkie odpowiedzi merytorycznie poprawne i spełniające warunki zadania (podajemy kartotekę zadań, gdyż łatwiej będzie

Bardziej szczegółowo

Podstawa programowa przedmiotu MATEMATYKA. III etap edukacyjny (klasy I - III gimnazjum)

Podstawa programowa przedmiotu MATEMATYKA. III etap edukacyjny (klasy I - III gimnazjum) Podstawa programowa przedmiotu MATEMATYKA III etap edukacyjny (klasy I - III gimnazjum) Cele kształcenia wymagania ogólne: I. Wykorzystanie i tworzenie informacji. Uczeń interpretuje i tworzy teksty o

Bardziej szczegółowo

Rok akademicki: 2017/2018 Kod: JFM s Punkty ECTS: 7. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Rok akademicki: 2017/2018 Kod: JFM s Punkty ECTS: 7. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne Nazwa modułu: Grafika komputerowa 1 Rok akademicki: 2017/2018 Kod: JFM-1-507-s Punkty ECTS: 7 Wydział: Fizyki i Informatyki Stosowanej Kierunek: Fizyka Medyczna Specjalność: Poziom studiów: Studia I stopnia

Bardziej szczegółowo

Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe

Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe Czym są tekstury? Tekstury są tablicowymi strukturami danych o wymiarze od 1 do 3, których elementami są tzw. teksele.

Bardziej szczegółowo

Dodawanie grafiki i obiektów

Dodawanie grafiki i obiektów Dodawanie grafiki i obiektów Word nie jest edytorem obiektów graficznych, ale oferuje kilka opcji, dzięki którym można dokonywać niewielkich zmian w rysunku. W Wordzie możesz zmieniać rozmiar obiektu graficznego,

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

Bardziej szczegółowo

Klasa 1 technikum. Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:

Klasa 1 technikum. Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne: Klasa 1 technikum Przedmiotowy system oceniania wraz z wymaganiami edukacyjnymi Wyróżnione zostały następujące wymagania programowe: konieczne (K), podstawowe (P), rozszerzające (R), dopełniające (D) i

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

Wymagania szczegółowe z matematyki klasa 7

Wymagania szczegółowe z matematyki klasa 7 Wymagania szczegółowe z matematyki klasa 7 Dział Szczegółowe wymagania Liczby całkowite (liczby dodatnie, ujemne i zero) - wyróżnia wśród liczb wymiernych liczby naturalne i całkowite oraz liczby pierwsze,

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA II GIMNAZJUM Małgorzata Janik

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA II GIMNAZJUM Małgorzata Janik WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA II GIMNAZJUM Małgorzata Janik DOPUSZCZAJĄCY DOSTATECZNY DOBRY BARDZO DOBRY Potęgi i pierwiastki Uczeń: Zna i rozumie pojęcie potęgi o wykładniku naturalnym Umie

Bardziej szczegółowo

ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II

ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II POZIOM ROZSZERZONY Równania i nierówności z wartością bezwzględną. rozwiązuje równania i nierówności

Bardziej szczegółowo

Zad. 3: Rotacje 2D. Demonstracja przykładu problemu skończonej reprezentacji binarnej liczb

Zad. 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ółowo

MATEMATYKA WYKAZ UMIEJĘTNOŚCI WYMAGANYCH NA POSZCZEGÓLNE OCENY DLA KLASY DRUGIEJ

MATEMATYKA WYKAZ UMIEJĘTNOŚCI WYMAGANYCH NA POSZCZEGÓLNE OCENY DLA KLASY DRUGIEJ MATEMATYKA WYKAZ UMIEJĘTNOŚCI WYMAGANYCH NA POSZCZEGÓLNE OCENY 1. SUMY ALGEBRAICZNE DLA KLASY DRUGIEJ 1. Rozpoznawanie jednomianów i sum algebraicznych Obliczanie wartości liczbowych wyrażeń algebraicznych

Bardziej szczegółowo

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23 Wykład 6 mgr inż. 1/23 jest to technika w grafice komputerowej, której celem jest zwiększenie szczegółowości renderowanych powierzchni za pomocą tekstur. jest to pewna funkcja (najczęściej w formie bitmapy)

Bardziej szczegółowo

Ćwiczenie nr 8 - Modyfikacje części, tworzenie brył złożonych

Ćwiczenie nr 8 - Modyfikacje części, tworzenie brył złożonych Ćwiczenie nr 8 - Modyfikacje części, tworzenie brył złożonych Wprowadzenie Utworzone elementy bryłowe należy traktować jako wstępnie wykonane elementy, które dopiero po dalszej obróbce będą gotowymi częściami

Bardziej szczegółowo

SPIS TREŚCI WSTĘP... 8 1. LICZBY RZECZYWISTE 2. WYRAŻENIA ALGEBRAICZNE 3. RÓWNANIA I NIERÓWNOŚCI

SPIS TREŚCI WSTĘP... 8 1. LICZBY RZECZYWISTE 2. WYRAŻENIA ALGEBRAICZNE 3. RÓWNANIA I NIERÓWNOŚCI SPIS TREŚCI WSTĘP.................................................................. 8 1. LICZBY RZECZYWISTE Teoria............................................................ 11 Rozgrzewka 1.....................................................

Bardziej szczegółowo

Definicja i własności wartości bezwzględnej.

Definicja i własności wartości bezwzględnej. Równania i nierówności z wartością bezwzględną. Rozwiązywanie układów dwóch (trzech) równań z dwiema (trzema) niewiadomymi. Układy równań liniowych z parametrem, analiza rozwiązań. Definicja i własności

Bardziej szczegółowo

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ. ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ. LICZBA TEMAT GODZIN LEKCYJNYCH Potęgi, pierwiastki i logarytmy (8 h) Potęgi 3 Pierwiastki 3 Potęgi o wykładnikach

Bardziej szczegółowo

Animowana grafika 3D. Opracowanie: J. Kęsik.

Animowana grafika 3D. Opracowanie: J. Kęsik. Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Powierzchnia obiektu 3D jest renderowana jako czarna jeżeli nie jest oświetlana żadnym światłem (wyjątkiem są obiekty samoświecące) Oświetlenie

Bardziej szczegółowo

PRZEDMIOTOWY SYSTEM OCENIANIA- MATEMATYKA KLASA 6. Rok szkolny 2012/2013. Tamara Kostencka

PRZEDMIOTOWY SYSTEM OCENIANIA- MATEMATYKA KLASA 6. Rok szkolny 2012/2013. Tamara Kostencka PRZEDMIOTOWY SYSTEM OCENIANIA- MATEMATYKA KLASA 6 Rok szkolny 2012/2013 Tamara Kostencka 1 LICZBY NA CO DZIEŃ LICZBY NATURALNE I UŁAMKI Wymagania programowe dla klasy VI szkoły podstawowej DZIAŁ WYMAGANIA

Bardziej szczegółowo

Standardy wymagań maturalnych z matematyki - matura

Standardy wymagań maturalnych z matematyki - matura Standardy wymagań maturalnych z matematyki - matura 2011-2014 STANDARDY WYMAGAŃ BĘDĄCE PODSTAWĄ PRZEPROWADZANIA EGZAMINU MATURALNEGO Zdający posiada umiejętności w zakresie: POZIOM PODSTAWOWY 1. wykorzystania

Bardziej szczegółowo

3. FUNKCJA LINIOWA. gdzie ; ół,.

3. FUNKCJA LINIOWA. gdzie ; ół,. 1 WYKŁAD 3 3. FUNKCJA LINIOWA FUNKCJĄ LINIOWĄ nazywamy funkcję typu : dla, gdzie ; ół,. Załóżmy na początek, że wyraz wolny. Wtedy mamy do czynienia z funkcją typu :.. Wykresem tej funkcji jest prosta

Bardziej szczegółowo

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15. Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop. 2017 Spis treści Wstęp 15 Podziękowania 23 Listy kontrolne 25 Tabele 27 Rysunki 29 Część I Proces budowy oprogramowania

Bardziej szczegółowo

KRYTERIUM OCENY Z MATEMATYKI DLA KLASY 6

KRYTERIUM OCENY Z MATEMATYKI DLA KLASY 6 KRYTERIUM OCENY Z MATEMATYKI DLA KLASY 6 DOPUSZCZAJĄC Oblicza różnice czasu proste Wymienia jednostki opisujące prędkość, drogę, czas. Rozwiązuje proste zadania dotyczące obliczania wydatków. Dodaje, odejmuje,

Bardziej szczegółowo

ZESTAWIENIE TEMATÓW Z MATEMATYKI Z PLUSEM DLA KLASY VIII Z WYMAGANIAMI PODSTAWY PROGRAMOWEJ WYMAGANIA SZCZEGÓŁOWE Z PODSTAWY PROGRAMOWEJ

ZESTAWIENIE TEMATÓW Z MATEMATYKI Z PLUSEM DLA KLASY VIII Z WYMAGANIAMI PODSTAWY PROGRAMOWEJ WYMAGANIA SZCZEGÓŁOWE Z PODSTAWY PROGRAMOWEJ ZESTAWIENIE TEMATÓW Z MATEMATYKI Z PLUSEM DLA KLASY VIII Z WYMAGANIAMI PODSTAWY PROGRAMOWEJ TEMAT LICZBA GODZIN LEKCYJNYCH WYMAGANIA SZCZEGÓŁOWE Z PODSTAWY PROGRAMOWEJ UWAGI 1. LICZBY I DZIAŁANIA 14 h

Bardziej szczegółowo

Matematyka z kluczem. Układ treści w klasach 4 8 szkoły podstawowej. KLASA 4 (126 h) część 1 (59 h) część 2 (67 h)

Matematyka z kluczem. Układ treści w klasach 4 8 szkoły podstawowej. KLASA 4 (126 h) część 1 (59 h) część 2 (67 h) Matematyka z kluczem Układ treści w klasach 4 8 szkoły podstawowej KLASA 4 (126 h) część 1 (59 h) I. LICZBY NATURALNE część 1 (23) 1. Jak się uczyć matematyki (1) 2. Oś liczbowa 3. Jak zapisujemy liczby

Bardziej szczegółowo