Systemy wirtualnej rzeczywistości. Podstawy grafiki 3D

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

Download "Systemy wirtualnej rzeczywistości. Podstawy grafiki 3D"

Transkrypt

1 Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Podstawy grafiki 3D Wstęp: W drugiej części przedstawione zostaną podstawowe mechanizmy tworzenia 3-wymiarowej grafiki czasu rzeczywistego, tworzenia buforów wierzchołków i indeksów, macierzy przekształceń i renderowania. 1. Bufory wierzchołków i indeksów oraz teksturowanie Celem niniejszej instrukcji jest stworzenie prostego terenu, po którym będzie mógł poruszać się czołg. Większość modeli 3D opisana jest za pomocą trójkątów. Trójkąty natomiast opisane są trzema wierzchołkami. Chcielibyśmy aby nasz teren był kwadratem o zadanej wielkości. Do zbudowania kwadratu potrzeba 2-ch trójkątów, a zatem 6 wierzchołków (rys. 3a). Łatwo zauważyć, że 2 wierzchołki z pierwszego trójkąta pokrywają się z 2-ma wierzchołkami drugiego trójkąta. Aby ograniczyć powtarzanie zbędnych danych stworzono indeksowanie. Każdy wierzchołek podawany jest tylko raz, a strukturę trójkątów opisujemy w buforze indeksów. Mechanizm ten ilustruje rys. 3b. Należy pamiętać, że domyślnie każdy trójkąt jest widoczny tylko z jednej strony. DirectX uznaje trójkąt za widoczny jeśli jego wierzchołki układają się zgodnie z ruchem wskazówek zegara (rys. 4), w przeciwnym razie trójkąt jest niewidoczny bufor indeksów = [1,2,4,2,3,4] widoczny niewidoczny Rys. 1 - a) kwadrat złożony z 6 wierzchołków, b) kwadrat złożony z 4 wierzchołków i bufor indeksów Rys. 2 - Widoczność trójkąta

2 Dodatkowo chcielibyśmy aby nasz teren pokryty był uprzednio dodaną teksturą trawy. Aby poprawnie teksturować obiekt 3D potrzeba dodatkowych danych zwanych współrzędnymi UV lub po prostu współrzędnymi tekstury. Górnemu lewemu rogowi tekstury przypisuje się współrzędne (0, 0), a dolnemu prawemu (1, 1). Następnie dodając do wierzchołków siatki odpowiednie współrzędne UV można opisać jak tekstura ma być nałożona na trójkąt (rys. 5). (0,0) (1,0) (0,0) (2,0) (0.3,0.3) (1,0.3) (0,0) (2,0) (0,1) (1,1) (0,2) (2,2) (0.3,1) (1,1) (1,0) (2,1) Rys. 3 - Tekstura nałożona na kwadrat przy różnych wartościach UV Potrzebny jest zatem bufor wierzchołków i indeksów. Deklarujemy dwie zmienne w klasie głównej gry: VertexBuffer terenwierzcholki; IndexBuffer terenindeksy; Stwórzmy też metodę, która zainicjuje oba bufory: protected void StworzTeren() { } Najpierw utworzymy wierzchołki. Posłuży nam do tego tablica typu VertexPositionTexture. Typ ten reprezentuje wierzchołek zawierający współrzędne pozycji i tekstury. Dodatkowe dwie zmienne typu float pomogą nam w prawidłowym zainicjowaniu wierzchołków. Pierwsza z nich określa wielkość terenu, natomiast druga określa stopień rozciągnięcia tekstury na płaszczyźnie terenu. VertexPositionTexture[] wierzcholki = new VertexPositionTexture[4]; float skala = 10.0f; float skalatekstury = 1.0f; Następnie wypełniamy tablicę wierzchołków odpowiednimi wartościami współrzędnych: 2

3 wierzcholki[0].position = new Vector3(-skala, 0.0f, -skala); wierzcholki[0].texturecoordinate.x = 0.0f; wierzcholki[0].texturecoordinate.y = 0.0f; wierzcholki[1].position = new Vector3(skala, 0.0f, -skala); wierzcholki[1].texturecoordinate.x = skalatekstury; wierzcholki[1].texturecoordinate.y = 0.0f; wierzcholki[2].position = new Vector3(-skala, 0.0f, skala); wierzcholki[2].texturecoordinate.x = 0.0f; wierzcholki[2].texturecoordinate.y = skalatekstury; wierzcholki[3].position = new Vector3(skala, 0.0f, skala); wierzcholki[3].texturecoordinate.x = skalatekstury; wierzcholki[3].texturecoordinate.y = skalatekstury; Wreszcie tworzymy i wypełniamy bufor wierzchołków: terenwierzcholki = new VertexBuffer(graphics.GraphicsDevice, typeof(vertexpositiontexture), 4, BufferUsage.WriteOnly); terenwierzcholki.setdata<vertexpositiontexture>(wierzcholki); W analogiczny sposób stworzymy bufor indeksów: short[] indeksy = new short[6]; indeksy[0] = 0; indeksy[1] = 1; indeksy[2] = 2; indeksy[3] = 1; indeksy[4] = 3; indeksy[5] = 2; terenindeksy = new IndexBuffer(graphics.GraphicsDevice, typeof(short), 6, BufferUsage.WriteOnly); terenindeksy.setdata<short>(indeksy); Na koniec pozostaje jedynie wywołanie napisanej właśnie metody w metodzie LoadContent klasy gry: StworzTeren(); 2. Macierze transformacji Przed przystąpieniem do renderingu musimy jeszcze zdefiniować macierze transformacji. Posłużą one do określenia gdzie znajdują się obiekty w scenie, jak są zorientowane, gdzie jest kamera, w którą stronę jest zwrócona oraz w jaki sposób obiekty 3D są rzutowane na 2- wymiarowy ekran. W zależności od pełnionej funkcji rozróżnia się trzy rodzaje macierzy: 3

4 macierz świata opisuje przesunięcie obiektu w przestrzeni, jego obrót oraz skalę macierz widoku reprezentuje obserwatora, w którym miejscu się znajduje oraz na co patrzy macierz projekcji opisuje w jaki sposób 3-wymiarowy obiekt jest rzutowany na płaszczyznę ekranu Ważną właściwością macierzy transformacji jest to, że można je łączyć wymnażając je ze sobą. Np. posiadając macierz translacji A i macierz obrotu B można utworzyć jedną macierz reprezentującą jednocześnie translację i obrót wykonując następujące działanie: = = Należy jednak pamiętać o zachowaniu odpowiedniej kolejności mnożenia. Działanie A*B da inny efekt niż B*A (rys. 6). przesunięcie obrót obrót przesunięcie Rys. 4 - Wynik zastosowania tych samych transformacji w różnej kolejności Macierze transformacji są bardzo istotnym elementem zagadnień związanych z grafiką trójwymiarową. Więcej informacji na temat macierzy transformacji można znaleźć w literaturze związanej z grafiką 3D. Deklarujemy zatem trzy macierze: Matrix projekcja; Matrix widok; Matrix swiat; Następnie przypisujemy im wartości korzystając z pomocniczych metod klasy Matrix. Metoda CreatePerspectiveFieldOfView pobiera jako parametr pole widzenia (w radianach), proporcje obrazu, przednią i tylną płaszczyznę (rys. 7). Pole widzenia oraz płaszczyzny 4

5 przednia i tylna określają obszar widzenia kamery. Wszystkie obiekty znajdujące się bliżej niż przednia płaszczyzna lub dalej niż tylna płaszczyzna są obcinane. CreateLookAt tworzy macierz widoku po podaniu położenia kamery, punktu na który jest zwrócona oraz wektora wskazującego górę. Chcemy aby teren znajdował się w środku sceny bez żadnych transformacji dlatego macierz świata ustawimy na macierz jedynkową. tylna płaszczyzna obserwator przednia płaszczyzna Rys. 5 - Przednia i tylna płaszczyzna projekcja = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(50), graphics.graphicsdevice.viewport.aspectratio, 0.1f, f); widok = Matrix.CreateLookAt(new Vector3(24.0f, 20.0f, 10.0f), new Vector3(0.0f, 0.0f, 0.0f), Vector3.Up); swiat = Matrix.Identity; 3. Rendering Ostatnim brakującym elementem potrzebnym do narysowania sceny jest shader. Shader y to małe programy odpowiedzialne za cieniowanie obiektów. Inaczej mówiąc shader y obliczają gotowy obraz na podstawie danych o wierzchołkach, oświetleniu, teksturach, itd. Rozwój sprzętu spowodował, że wykonywane na procesorze karty graficznej shader y służą już nie tylko cieniowaniu ale również rozmaitym efektom i obliczeniom nie związanym bezpośrednio z obliczaniem grafiki. W XNA klasą reprezentującą zbiór shader ów jest klasa Effect. My jednak skorzystamy z uproszczonej jej wersji BasicEffect, która zawiera wbudowane podstawowe mechanizmy renderowania. Deklarujemy zmienną typu BasicEffect: BasicEffect basiceffect; Następnie w LoadContent tworzymy nowy efekt i ustawiamy w nim macierze transformacji: basiceffect = new BasicEffect(graphics.GraphicsDevice, null); basiceffect.projection = projekcja; 5

6 basiceffect.view = widok; basiceffect.world = swiat; Wreszcie możemy przystąpić do rysowania sceny. Przechodzimy do metody Draw. Usuwamy kod rysujący obraz trawy, nie będziemy go już potrzebować. W podobny do rysowania 2- wymiarowych obrazów sposób rozpoczynamy i kończymy rysowanie metodami Begin oraz End ale na rzecz obiektu basiceffect. Określamy typ wierzchołków (VertexDeclaration) jakich zamierzamy używać w naszym przypadku będą to wierzchołki zawierające współrzędne 3D oraz współrzędne tekstury (VertexPositionTexture). Następnie ustawiamy na urządzeniu nasze bufory wierzchołków i indeksów. Każda siatka 3D może mieć przypisane różne materiały wymagające różnych shader ów. Dlatego efekt może zawierać różne techniki, a każda z technik może składać się z kilku przebiegów. W naszym przypadku wykorzystujemy tylko podstawowe mechanizmy, jedną technikę i jeden przebieg. Rozpoczynamy zatem rysowanie metodą Begin pierwszego przebiegu pierwszej techniki i rysujemy teren metodą DrawIndexedPrimitives. Po narysowaniu obiektu zamykamy przebieg metodą End. basiceffect.begin(); graphics.graphicsdevice.vertexdeclaration = new VertexDeclaration( graphics.graphicsdevice, VertexPositionTexture.VertexElements); graphics.graphicsdevice.vertices[0].setsource(terenwierzcholki, 0, VertexPositionTexture.SizeInBytes); graphics.graphicsdevice.indices = terenindeksy; basiceffect.techniques[0].passes[0].begin(); graphics.graphicsdevice.drawindexedprimitives(primitivetype.trianglelist, 0, 0, 4, 0, 2); basiceffect.techniques[0].passes[0].end(); basiceffect.end(); Po skompilowaniu powinniśmy otrzymać wynik jak na rys. 8. Ostatnią rzeczą jaką chcielibyśmy zrealizować jest nałożenie na teren tekstury trawy. Wracamy więc do metody LoadContent i określamy dwa dodatkowe parametry efektu: basiceffect.textureenabled = true; basiceffect.texture = trawa; Rys. 6 - Teren bez tekstury Rys. 8 - Teren bez tekstury 6

7 Teraz obraz powinien wyglądać jak na rys. 9. Tekstura wydaje się być zbyt rozciągnięta. Możemy to bardzo prosto naprawić zmieniając wartość zmiennej skalatekstury w metodzie StworzTeren. Jeżeli zmienimy ją na 10 uzyskamy efekt jak na rys. 10. Rys. 8 - Teren z teksturą dla skalatekstury = 1 Rys. 7 Teren z teksturą dla skalatekstury = 10 7

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

Systemy wirtualnej rzeczywistości. Komponenty i serwisy Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Komponenty i serwisy Wstęp: W trzeciej części przedstawione zostaną podstawowe techniki

Bardziej szczegółowo

1. Prymitywy graficzne

1. Prymitywy graficzne 1. Prymitywy graficzne Prymitywy graficzne są elementarnymi obiektami jakie potrafi bezpośrednio rysować, określony system graficzny (DirectX, OpenGL itp.) są to: punkty, listy linii, serie linii, listy

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

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

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

Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty.

Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty. Przyszedł czas na rysowanie własnych figur, czyli prymitywy, obracanie bitmap, oraz alpha blending-czyli półprzezroczystość. Będę opisywał tylko rzeczy nowe-nie ma potrzeby abym się powtarzał. Zaczynajmny

Bardziej szczegółowo

1 Wstęp teoretyczny. Temat: Manipulowanie przestrzenią. Grafika komputerowa 3D. Instrukcja laboratoryjna Układ współrzędnych

1 Wstęp teoretyczny. Temat: Manipulowanie przestrzenią. Grafika komputerowa 3D. Instrukcja laboratoryjna Układ współrzędnych Instrukcja laboratoryjna 9 Grafika komputerowa 3D Temat: Manipulowanie przestrzenią Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny 1.1 Układ

Bardziej szczegółowo

Temat: Transformacje 3D

Temat: Transformacje 3D Instrukcja laboratoryjna 11 Grafika komputerowa 3D Temat: Transformacje 3D Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny Bardzo często programując

Bardziej szczegółowo

Wykład 4. Rendering (1) Informacje podstawowe

Wykład 4. Rendering (1) Informacje podstawowe Wykład 4. Rendering (1) Informacje podstawowe Z punktu widzenia dzisiejszego programowania gier: Direct3D jest najczęściej wykorzystywanym przez profesjonalnych deweloperów gier API graficznym na platformie

Bardziej szczegółowo

Rysunek 1: Okno timeline wykorzystywane do tworzenia animacji.

Rysunek 1: Okno timeline wykorzystywane do tworzenia animacji. Ćwiczenie 5 - Tworzenie animacji Podczas tworzenia prostej animacji wykorzystywać będziemy okno Timeline domyślnie ustawione na dole okna Blendera (Rys. 1). Proces tworzenia animacji polega na stworzeniu

Bardziej szczegółowo

Transformacje obiektów 3D

Transformacje obiektów 3D Synteza i obróbka obrazu Transformacje obiektów 3D Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Lokalny układ współrzędnych Tworząc model obiektu, zapisujemy

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo

Programowanie telefonów z Windows Phone 7, cz. 3

Programowanie telefonów z Windows Phone 7, cz. 3 Programowanie telefonów z Windows Phone 7, cz. 3 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój

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

Transformacje. dr Radosław Matusik. radmat

Transformacje. dr Radosław Matusik.   radmat www.math.uni.lodz.pl/ radmat Cel wykładu Celem wykładu jest prezentacja m.in. przestrzeni modelu, świata, kamery oraz projekcji, a także omówienie sposobów oświetlania i cieniowania obiektów. Pierwsze

Bardziej szczegółowo

Grafika Komputerowa Materiały Laboratoryjne

Grafika Komputerowa Materiały Laboratoryjne Grafika Komputerowa Materiały Laboratoryjne Laboratorium 12 Blender, teksturowanie UV Wstęp W poprzednim laboratorium poprawialiśmy strukturę otksturowanego domku. Dokonane naprawy spowodowały utratę rozłożenia

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

Krystalochemia białek 2016/2017

Krystalochemia białek 2016/2017 Zestaw zadań 4. Grupy punktowe. Składanie elementów symetrii. Translacyjne elementy symetrii grupy punktowe, składanie elementów symetrii, translacyjne elementy symetrii: osie śrubowe, płaszczyzny ślizgowe

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

BLENDER- Laboratorium 1 opracował Michał Zakrzewski, 2014 r. Interfejs i poruszanie się po programie oraz podstawy edycji bryły

BLENDER- Laboratorium 1 opracował Michał Zakrzewski, 2014 r. Interfejs i poruszanie się po programie oraz podstawy edycji bryły BLENDER- Laboratorium 1 opracował Michał Zakrzewski, 2014 r. Interfejs i poruszanie się po programie oraz podstawy edycji bryły Po uruchomieniu programu Blender zawsze ukaże się nam oto taki widok: Jak

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

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Programy geometrii wprowadzenie Miejsce w potoku graficznym Wejścia i wyjścia programów geometrii Wierzchołki, prymitywy, ich nowe rodzaje

Bardziej szczegółowo

Laboratorium 1. Część I. Podstawy biblioteki graficznej OpenGL.

Laboratorium 1. Część I. Podstawy biblioteki graficznej OpenGL. Laboratorium 1 Część I Podstawy biblioteki graficznej OpenGL. I. Konfiguracja środowiska 1. Ściągamy bibliotekę freeglut i rozpakujemy do głównego folderu dysku systemowego np. C:\freeglut 2. Uruchamiamy

Bardziej szczegółowo

Elementarne obiekty geometryczne, bufory. Dorota Smorawa

Elementarne obiekty geometryczne, bufory. Dorota Smorawa Elementarne obiekty geometryczne, bufory Dorota Smorawa Elementarne obiekty Tworząc scenę 3D, od najprostszej, po najbardziej skomplikowaną, używamy obiektów złożonych, przede wszystkim podstawowych, elementarnych

Bardziej szczegółowo

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.h>

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import Fraction.h #import <stdio.h> #import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:

Bardziej szczegółowo

Grafika Komputerowa Materiały Laboratoryjne

Grafika Komputerowa Materiały Laboratoryjne Grafika Komputerowa Materiały Laboratoryjne Laboratorium 6 Processing c.d. Wstęp Laboratorium 6 poszerza zagadnienie generowania i przetwarzania obrazów z wykorzystaniem języka Processing 2, dedykowanego

Bardziej szczegółowo

Karta przedmiotu. Podstawy programowania procesorów graficznych. realizowanego w ramach projektu PO WER

Karta przedmiotu. Podstawy programowania procesorów graficznych. realizowanego w ramach projektu PO WER Karta przedmiotu Podstawy programowania procesorów graficznych realizowanego w ramach projektu PO WER 2017-2019 Wydział Inżynierii Elektrycznej i Komputerowej Kierunek studiów: Informatyka Profil: Ogólnoakademicki

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

Ćwiczenia nr 4. TEMATYKA: Rzutowanie

Ćwiczenia nr 4. TEMATYKA: Rzutowanie TEMATYKA: Rzutowanie Ćwiczenia nr 4 DEFINICJE: Rzut na prostą: rzutem na prostą l (zwaną rzutnią) w kierunku rzutowania k (k l) nazywamy przekształcenie płaszczyzny przyporządkowujące: a) Punktom prostej

Bardziej szczegółowo

GRK 2. dr Wojciech Palubicki

GRK 2. dr Wojciech Palubicki GRK dr Wojciech Palubicki Macierz wektor produkt jako Transformacja T: R n R m T Ԧx = A Ԧx Przemieszczanie wierzchołków - Transformacje Skalowanie Rotacja Translacja -y -y Macierz rotacji M wobec punktu

Bardziej szczegółowo

Informatyka II. Laboratorium Aplikacja okienkowa

Informatyka II. Laboratorium Aplikacja okienkowa Informatyka II Laboratorium Aplikacja okienkowa Założenia Program będzie obliczał obwód oraz pole trójkąta na podstawie podanych zmiennych. Użytkownik będzie poproszony o podanie długości boków trójkąta.

Bardziej szczegółowo

Aleksandra Zając. Raport. Blender. Pokemon: Eevee

Aleksandra Zając. Raport. Blender. Pokemon: Eevee Aleksandra Zając Raport Blender Pokemon: Eevee 1. Modelowanie Przed rozpoczęciem modelowania do Blendera załadowałam obraz przedstawiający wybranego pokemona, aby podczas modelowania jak najlepiej odwzorować

Bardziej szczegółowo

OpenGL przezroczystość

OpenGL przezroczystość OpenGL przezroczystość W standardzie OpenGL efekty przezroczystości uzyskuje się poprzez zezwolenie na łączenie kolorów: Kolor piksela tworzy się na podstawie kolorów obiektu przesłanianego i przesłaniającego

Bardziej szczegółowo

Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki

Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki Ćwiczenie laboratoryjne 2 Temat: Modelowanie powierzchni swobodnych 3D przy użyciu programu Autodesk Inventor Spis treści 1.

Bardziej szczegółowo

Politechnika Poznańska, Instytut Informatyki, SUM-TWO

Politechnika Poznańska, Instytut Informatyki, SUM-TWO Politechnika Poznańska, Instytut Informatyki, SUM-TWO 11 kwietnia 2015 Historia DirectX Gry pod DOS korzystały z własnych bibliotek graficznych. Pierwsze wersje Windows umożliwiały tworzenie grafiki tylko

Bardziej szczegółowo

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji Materiał jest zbiorem informacji o właściwościach powierzchni. Składa się na niego kolor, sposób odbijania światła i sposób nakładania

Bardziej szczegółowo

Laboratorium grafiki komputerowej i animacji. Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny

Laboratorium grafiki komputerowej i animacji. Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny Laboratorium grafiki komputerowej i animacji Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny Przygotowanie do ćwiczenia: 1. Zapoznać się ze zdefiniowanymi w OpenGL modelami światła i właściwości materiałów.

Bardziej szczegółowo

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Obraz realistyczny Pojęcie obrazu realistycznego jest rozumiane w różny sposób Nie zawsze obraz realistyczny

Bardziej szczegółowo

Materiały. Dorota Smorawa

Materiały. Dorota Smorawa Materiały Dorota Smorawa Materiały Materiały, podobnie jak światła, opisywane są za pomocą trzech składowych. Opisują zdolności refleksyjno-emisyjne danej powierzchni. Do tworzenia materiału służy funkcja:

Bardziej szczegółowo

Architektura Procesorów Graficznych

Architektura Procesorów Graficznych Architektura Procesorów Graficznych Referat: Rendering 3D: potok 3D, możliwości wsparcia sprzętowego, możliwości przyspieszenia obliczeń. Grupa wyrównawcza Cezary Sosnowski 1. Renderowanie Renderowanie

Bardziej szczegółowo

Praktyczne przykłady wykorzystania GeoGebry podczas lekcji na II etapie edukacyjnym.

Praktyczne przykłady wykorzystania GeoGebry podczas lekcji na II etapie edukacyjnym. Praktyczne przykłady wykorzystania GeoGebry podczas lekcji na II etapie edukacyjnym. Po uruchomieniu Geogebry (wersja 5.0) Pasek narzędzi Cofnij/przywróć Problem 1: Sprawdź co się stanie, jeśli połączysz

Bardziej szczegółowo

Dodatkowo klasa powinna mieć destruktor zwalniający pamięć.

Dodatkowo klasa powinna mieć destruktor zwalniający pamięć. Zadanie 1. Utworzyć klasę reprezentującą liczby wymierne. Obiekty klasy powinny przechowywać licznik i mianownik rozłożone na czynniki pierwsze. Klasa powinna mieć zdefiniowane operatory czterech podstawowych

Bardziej szczegółowo

3 Przygotował: mgr inż. Maciej Lasota

3 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 3 1/5 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Rysowanie prymitywów 3 Przygotował: mgr inż. Maciej Lasota 1) Rysowanie prymitywów Podstawową rodziną funkcji wykorzystywanych

Bardziej szczegółowo

Przekształcenia geometryczne w grafice komputerowej. Marek Badura

Przekształcenia geometryczne w grafice komputerowej. Marek Badura Przekształcenia geometryczne w grafice komputerowej Marek Badura PRZEKSZTAŁCENIA GEOMETRYCZNE W GRAFICE KOMPUTEROWEJ Przedstawimy podstawowe przekształcenia geometryczne na płaszczyźnie R 2 (przestrzeń

Bardziej szczegółowo

Grafika trójwymiarowa

Grafika trójwymiarowa Strona 1 Grafika 3D w systemie Android Wprowadzenie do OpenGL ES Podstawy rysowania Rzutowanie i kamera Klasa GLSurfaceView Algorytm rysowania Tekstury Strona 2 Grafika 3D w systemie Android W komputerach,

Bardziej szczegółowo

Grafika komputerowa Tekstury

Grafika komputerowa Tekstury . Tekstury Tekstury są dwuwymiarowymi obrazkami nakładanymi na obiekty lub ich części, w celu poprawienia realizmu rysowanych brył oraz dodatkowego określenia cech ich powierzchni np. przez nałożenie obrazka

Bardziej szczegółowo

Dokąd on zmierza? Przemieszczenie i prędkość jako wektory

Dokąd on zmierza? Przemieszczenie i prędkość jako wektory A: 1 OK Muszę to powtórzyć... Potrzebuję pomocy Dokąd on zmierza? Przemieszczenie i prędkość jako wektory Łódź żegluje po morzu... Płynie z szybkością 10 węzłów (węzeł to 1 mila morska na godzinę czyli

Bardziej szczegółowo

TRYGONOMETRIA FUNKCJE TRYGONOMETRYCZNE KĄTA SKIEROWANEGO

TRYGONOMETRIA FUNKCJE TRYGONOMETRYCZNE KĄTA SKIEROWANEGO TRYGONOMETRIA Trygonometria to dział matematyki, którego przedmiotem badań są związki między bokami i kątami trójkątów oraz tzw. funkcje trygonometryczne. Trygonometria powstała i rozwinęła się głównie

Bardziej szczegółowo

DesignCAD 3D Max 24.0 PL

DesignCAD 3D Max 24.0 PL DesignCAD 3D Max 24.0 PL Październik 2014 DesignCAD 3D Max 24.0 PL zawiera następujące ulepszenia i poprawki: Nowe funkcje: Tryb RedSDK jest teraz dostępny w widoku 3D i jest w pełni obsługiwany przez

Bardziej szczegółowo

GRAFIKA KOMPUTEROWA 7: Kolory i cieniowanie

GRAFIKA KOMPUTEROWA 7: Kolory i cieniowanie GRAFIKA KOMPUTEROWA 7: Kolory i cieniowanie http://galaxy.agh.edu.pl/~mhojny Prowadzący: dr inż. Hojny Marcin Akademia Górniczo-Hutnicza Mickiewicza 30 30-059 Krakow pawilon B5/p.406 tel. (+48)12 617 46

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

Gry Komputerowe - laboratorium 2. Kamera FPP / TPP. mgr inż. Michał Chwesiuk 1/11. Szczecin, r

Gry Komputerowe - laboratorium 2. Kamera FPP / TPP. mgr inż. Michał Chwesiuk 1/11. Szczecin, r Gry Komputerowe - laboratorium 2 FPP / TPP mgr inż. Michał Chwesiuk 1/11 a model 2/11 Stwórz nową klasę Player a model Do stworzonej klasy Player w pliku player.h dodaj trzy pola (trzeba dodać #include

Bardziej szczegółowo

INSTRUKCJA UŻYTKOWANIA PROGRAMU MEB EDYTOR 1. Dane podstawowe Program MEB edytor oblicza zadania potencjalne Metodą Elementów Brzegowych oraz umożliwia ich pre- i post-processing. Rozwiązywane zadanie

Bardziej szczegółowo

Animowana grafika 3D Laboratorium 3

Animowana grafika 3D Laboratorium 3 3DStudio MAX teksturowanie modelu budynku dla potrzeb gry 3D W ćwiczeniu tym zakładamy, że mamy już ukończony model naszego budynku. Składa się on z wielu elementów: ścian, okien, drzwi, dachu itp. W teorii

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Załóżmy, że uprawiamy jogging i chcemy monitorować swoje postępy. W tym celu napiszemy program, który zlicza, ile czasu

Bardziej szczegółowo

Rozdział 1 Podstawowe koncepcje grafiki 3D

Rozdział 1 Podstawowe koncepcje grafiki 3D Rozdział 1 Podstawowe koncepcje grafiki 3D Wersja z 2014-03-20 Projektowanie gry musimy zacząć od przygotowania sobie środowiska pracy. Zakładam, że Czytelnik posiada już doświadczenie w programowaniu

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

Przekształcenia geometryczne. Dorota Smorawa

Przekształcenia geometryczne. Dorota Smorawa Przekształcenia geometryczne Dorota Smorawa Przekształcenia geometryczne Na poprzednich laboratoriach już dowiedzieliśmy się, na czym polegają podstawowe przekształcenia geometryczne. Trzy podstawowe przekształcenia

Bardziej szczegółowo

Mapowanie sześcienne otoczenia (cubic environment mapping)

Mapowanie sześcienne otoczenia (cubic environment mapping) Mapowanie sześcienne otoczenia (cubic environment mapping) Mapowanie środowiska jest techniką pozwalającą na odwzorowanie otoczenia na powierzchni przedmiotu przy użyciu specjalnie spreparowanej tekstury.

Bardziej szczegółowo

SpriteKit. Biblioteka do tworzenia gier wbudowana w SDK. Wspiera grafikę 2D w oparciu o sprite y

SpriteKit. Biblioteka do tworzenia gier wbudowana w SDK. Wspiera grafikę 2D w oparciu o sprite y SpriteKit SpriteKit Biblioteka do tworzenia gier wbudowana w SDK Wspiera grafikę 2D w oparciu o sprite y SpriteKit HelloWorld SpriteKit HelloWorld SpriteKit AppDelegate identyczny jak w innych szablonach

Bardziej szczegółowo

Mobilne Aplikacje Multimedialne

Mobilne Aplikacje Multimedialne Mobilne Aplikacje Multimedialne Rozszerzona rzeczywistość (AR, Augmented Reality) w Systemie Android Cz.1 Krzysztof Bruniecki Podstawy Algebra liniowa, operacje na wektorach, macierzach, iloczyn skalarny

Bardziej szczegółowo

Grafika Komputerowa Materiały Laboratoryjne

Grafika Komputerowa Materiały Laboratoryjne Grafika Komputerowa Materiały Laboratoryjne Laboratorium 7b Teksturowanie Wstęp W poprzednim laboratorium poprawiliśmy kształt domku w trybie edycyjnym. Zmianom podlegał układ powierzchni obiektu ale nie

Bardziej szczegółowo

Ćwiczenie nr 5 i 6 Przygotowanie dokumentacji technicznej dla brył

Ćwiczenie nr 5 i 6 Przygotowanie dokumentacji technicznej dla brył Ćwiczenie nr 5 i 6 Przygotowanie dokumentacji technicznej dla brył Zadanie A Celem będzie wykonanie rysunku pokazanego NA KOŃCU zadania. Rysując proszę się posłużyć podanymi tam wymiarami. Pamiętajmy o

Bardziej szczegółowo

Przekształcenia geometryczne. Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej

Przekształcenia geometryczne. Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej Przekształcenia geometryczne Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza w Krakowie Przekształcenia elementarne w przestrzeni D Punkty p w E na płaszczyźnie

Bardziej szczegółowo

Obiekt 2: Świątynia Zeusa

Obiekt 2: Świątynia Zeusa Obiekt 2: Świątynia Zeusa Rys 2-1. Wyobrażenie greckiej świątyni ku czci Zeusa Prezentowane w tym dokumencie zadanie polega na narysowaniu bryły, będącej wyobrażeniem greckiej świątyni ku czci Zeusa. Poniżej

Bardziej szczegółowo

Grafika Komputerowa Materiały Laboratoryjne

Grafika Komputerowa Materiały Laboratoryjne Grafika Komputerowa Materiały Laboratoryjne Laboratorium 14 Blender, podstawy animacji Wstęp Zagadnienie tworzenia animacji 3D w Blenderze jest bardzo szerokie i wiąże się z wieloma grupami rozwiązao.

Bardziej szczegółowo

1 Temat: Vertex Shader

1 Temat: Vertex Shader Instrukcja Architektura procesorów graficznych 1 Temat: Vertex Shader Przygotował: mgr inż. Tomasz Michno 1 Wstęp 1.1 Czym jest shader Shader jest programem (zazwyczaj krótkim), wykonywanym przez kartę

Bardziej szczegółowo

Programowanie strukturalne i obiektowe. Funkcje

Programowanie strukturalne i obiektowe. Funkcje Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy

Bardziej szczegółowo

Zatem standardowe rysowanie prymitywów wygląda następująco:

Zatem standardowe rysowanie prymitywów wygląda następująco: Instrukcja laboratoryjna 10 Grafika komputerowa 3D Temat: Prymitywy Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny Prymitywy proste figury geometryczne,

Bardziej szczegółowo

Podstawy 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 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ółowo

Symulacja samochodu z kamerą stereowizyjną. Krzysztof Sykuła 15 czerwca 2007

Symulacja samochodu z kamerą stereowizyjną. Krzysztof Sykuła 15 czerwca 2007 Symulacja samochodu z kamerą stereowizyjną Krzysztof Sykuła 15 czerwca 2007 1 1 Opis wykonanego projektu Symulacja samochodu z kamerą stereowizyjną była pretekstem do napisania Engine u 3D, wykorzystującego

Bardziej szczegółowo

Rozdział 4 Komponenty gry na przykładzie prostopadłościanu

Rozdział 4 Komponenty gry na przykładzie prostopadłościanu Rozdział 4 Komponenty gry na przykładzie prostopadłościanu Wersja z 2014-03-21 Budowanie gry, nawet stosunkowo prostej, to spore wyzwanie dla programisty. Bardzo łatwo zgubić się w dużej ilości linii kodu

Bardziej szczegółowo

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2. Spis treści: 1 Podstawy pracy z aplikacją... 2 1.1 Układ strony... 2 strona 1 z 7 1 Podstawy pracy z aplikacją InDesign jest następcą starzejącego się PageMakera. Pod wieloma względami jest do niego bardzo

Bardziej szczegółowo

Zad. 6: Sterowanie robotem mobilnym

Zad. 6: Sterowanie robotem mobilnym Zad. 6: Sterowanie robotem mobilnym 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie dziedziczenia

Bardziej szczegółowo

4. Podstawowa konfiguracja

4. Podstawowa konfiguracja 4. Podstawowa konfiguracja Po pierwszym zalogowaniu się do urządzenia należy zweryfikować poprawność licencji. Można to zrobić na jednym z widżetów panelu kontrolnego. Wstępną konfigurację można podzielić

Bardziej szczegółowo

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Wykład 11 Grafika 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Grafika GDI+ GDI+ - Graphics Device Interface jeden z trzech podstawowych komponentów

Bardziej szczegółowo

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki > C++ dynamiczna alokacja/rezerwacja/przydział pamięci Dane: Iwona Polak iwona.polak@us.edu.pl Uniwersytet Śląski Instytut Informatyki 1429536600 > Dzisiejsze zajęcia sponsorują słówka: new oraz delete

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Ćwiczenie dodatkowe - Wybrane narzędzia modelowania Zadanie Przygotować model stołu z krzesłami jak na rysunku poniżej(rys. 1).

Ćwiczenie dodatkowe - Wybrane narzędzia modelowania Zadanie Przygotować model stołu z krzesłami jak na rysunku poniżej(rys. 1). Ćwiczenie dodatkowe - Wybrane narzędzia modelowania Zadanie Przygotować model stołu z krzesłami jak na rysunku poniżej(rys. 1). Wymiary krzesła: wymiary przednich nóg: 1 x 1 x 6 wymiary tylnich nóg połączonych

Bardziej szczegółowo

Rys 3-1. Rysunek wałka

Rys 3-1. Rysunek wałka Obiekt 3: Wałek Rys 3-1. Rysunek wałka W tym dokumencie zostanie zaprezentowany schemat działania w celu przygotowania trójwymiarowego rysunku wałka. Poniżej prezentowane są sugestie dotyczące narysowania

Bardziej szczegółowo

GRAFIKA CZASU RZECZYWISTEGO Podstawy syntezy grafiki 3D i transformacji geometrycznych

GRAFIKA CZASU RZECZYWISTEGO Podstawy syntezy grafiki 3D i transformacji geometrycznych GRAFIKA CZASU RZECZYWISTEGO Podstawy syntezy grafiki 3D i transformacji geometrycznych Grafika komputerowa i wizualizacja, Bioinformatyka S1, II Rok Synteza grafiki 3D Pod pojęciem syntezy grafiki rozumiemy

Bardziej szczegółowo

Gry Komputerowe Laboratorium 4. Teksturowanie Kolizje obiektów z otoczeniem. mgr inż. Michał Chwesiuk 1/29. Szczecin, r

Gry Komputerowe Laboratorium 4. Teksturowanie Kolizje obiektów z otoczeniem. mgr inż. Michał Chwesiuk 1/29. Szczecin, r Gry Komputerowe Laboratorium 4 Teksturowanie Kolizje obiektów z otoczeniem mgr inż. Michał Chwesiuk 1/29 Klasa Stwórzmy najpierw klasę TextureManager, która będzie obsługiwała tekstury w projekcie. 2/29

Bardziej szczegółowo

gdzie (4.20) (4.21) 4.3. Rzut równoległy

gdzie (4.20) (4.21) 4.3. Rzut równoległy 4.3. Rzut równoległy 75 gdzie (4.20) Punkt zbiegu, określony wzorami (4.19) (4.20), leży na prostej przechodzącej przez środek rzutowania i równoległej do wektora u. Zauważmy, że gdy wektor u jest równoległy

Bardziej szczegółowo

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne

Bardziej szczegółowo

Zadanie 1. Ściana. 1. Potrzebne zmienne w dołączonym do zadania kodzie źródłowym

Zadanie 1. Ściana. 1. Potrzebne zmienne w dołączonym do zadania kodzie źródłowym Zadanie 1. Ściana Zadanie W pliku walls.cpp znajduje się funkcja void draw_back_wall(). Należy uzupełnić ją, ustawiając odpowiednio parametry teksturowania tak, aby na ścianę, która w pierwotnej wersji

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

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

Programowanie Procesorów Graficznych

Programowanie Procesorów Graficznych Programowanie Procesorów Graficznych Wykład 1 9.10.2012 Prehistoria Zadaniem karty graficznej było sterowanie sygnałem do monitora tak aby wyświetlić obraz zgodnie z zawartościa pamięci. Programiści pracowali

Bardziej szczegółowo

Plan wykładu. Wykład 3. Rzutowanie prostokątne, widoki, przekroje, kłady. Rzutowanie prostokątne - geneza. Rzutowanie prostokątne - geneza

Plan wykładu. Wykład 3. Rzutowanie prostokątne, widoki, przekroje, kłady. Rzutowanie prostokątne - geneza. Rzutowanie prostokątne - geneza Plan wykładu Wykład 3 Rzutowanie prostokątne, widoki, przekroje, kłady 1. Rzutowanie prostokątne - geneza 2. Dwa sposoby wzajemnego położenia rzutni, obiektu i obserwatora, metoda europejska i amerykańska

Bardziej szczegółowo

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3 ZESTAW I 1. Rozwiązać równanie. Pierwiastki zaznaczyć w płaszczyźnie zespolonej. z 3 8(1 + i) 3 0, Sposób 1. Korzystamy ze wzoru a 3 b 3 (a b)(a 2 + ab + b 2 ), co daje: (z 2 2i)(z 2 + 2(1 + i)z + (1 +

Bardziej szczegółowo

Wprowadzenie do QT OpenGL

Wprowadzenie do QT OpenGL Wprowadzenie do QT mgr inż. Michał Chwesiuk mgr inż. Tomasz Sergej inż. Patryk Piotrowski 1/21 - Open Graphics Library Open Graphics Library API pozwalające na wykorzystanie akceleracji sprzętowej do renderowania

Bardziej szczegółowo

Projektowanie graficzne. Wykład 2. Open Office Draw

Projektowanie graficzne. Wykład 2. Open Office Draw Projektowanie graficzne Wykład 2 Open Office Draw Opis programu OpenOffice Draw OpenOffice Draw umożliwia tworzenie prostych oraz złożonych rysunków. Posiada możliwość eksportowania rysunków do wielu różnych

Bardziej szczegółowo

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1 Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem

Bardziej szczegółowo

Java. Wykład 9. Piotr Tronczyk

Java. Wykład 9. Piotr Tronczyk Java Wykład 9 Piotr Tronczyk Zegar analogowy Tarcza Cyferblat Wskazówki Timer 2 Zegar analogowy Tym razem postaramy się napisać program, który wyświetlał będzie zegar analogowy. Część odpowiedzialna za

Bardziej szczegółowo

OPROGRAMOWANIE UŻYTKOWE

OPROGRAMOWANIE UŻYTKOWE R 3 OPROGRAMOWANIE UŻYTKOWE PROJEKTOWANIE Z WYKORZYSTANIEM PROGRAMU Solid Edge Cz. I Part 14 A 1,5 15 R 2,5 OO6 R 4,5 12,72 29 7 A 1,55 1,89 1,7 O33 SECTION A-A OPRACOWANIE: mgr inż. Marcin Bąkała Uruchom

Bardziej szczegółowo

Rachunek wektorowy - wprowadzenie. dr inż. Romuald Kędzierski

Rachunek wektorowy - wprowadzenie. dr inż. Romuald Kędzierski Rachunek wektorowy - wprowadzenie dr inż. Romuald Kędzierski Graficzne przedstawianie wielkości wektorowych Długość wektora jest miarą jego wartości Linia prosta wyznaczająca kierunek działania wektora

Bardziej szczegółowo

Autodesk 3D Studio MAX Teksturowanie modeli 3D

Autodesk 3D Studio MAX Teksturowanie modeli 3D Autodesk 3D Studio MAX Teksturowanie modeli 3D dr inż. Andrzej Czajkowski Instyt Sterowania i Systemów Informatycznych Wydział Informatyki, Elektrotechniki i Automatyki 25 kwietnia 2017 1 / 20 Plan Wykładu

Bardziej szczegółowo

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów

Bardziej szczegółowo

GRAFIKA CZASU RZECZYWISTEGO Wprowadzenie do OpenGL

GRAFIKA CZASU RZECZYWISTEGO Wprowadzenie do OpenGL GRAFIKA CZASU RZECZYWISTEGO Wprowadzenie do OpenGL Grafika komputerowa i wizualizacja, Bioinformatyka S1, II Rok OpenGL Open Graphics Library Jest to API pozwalające na renderowanie grafiki w czasie rzeczywistym,

Bardziej szczegółowo