Temat: Transformacje 3D
|
|
- Wacław Lewandowski
- 6 lat temu
- Przeglądów:
Transkrypt
1 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 grafikę 3D występuje potrzeba dokonywania przekształceń obiektów (przesuwanie, obracanie, skalowanie itp.). W bibliotece OpenGL, w celu dostarczenia tych funkcjonalności, zastosowano technikę polegającą na modyfikowaniu całego układu współrzędnych, dzięki czemu przekształcenia nakładają się na siebie. Od strony programisty operacja ta polega na modyfikowaniu macierzy modelowania, zazwyczaj za pomocą dostarczanych funkcji, opisanych w dalszej części instrukcji. 1.1 Przekształcenia Translacja Translacja jest przekształceniem polegającym na przesunięciu obiektu o podany wektor (mówiąc ściślej przesunięciu całego układu współrzędnych). W bibliotece OpenGL realizowane jest to za pomocą funkcji: void gltranslatef(glfloat x, GLfloat y, GLfloat z) void gltranslated(gldouble x, GLdouble y, GLdouble z) Obie funkcje przyjmują 3 parametry: x, y oraz z, które informują bibliotekę o ile jednostek przesunąć obiekt na osiach OX, OY oraz OZ. Funkcja mnoży bieżąca macierz modelowania (widoku modelu) przez macierz translacji. Następnie nowa macierz staje się bieżącą macierzą modelowania. Przykład 1. Przesunięcie trójkąta o wektor [-250, -100, -100]: void display() { glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); glloadidentity(); glcolor3f(0.0, 0.0, 1.0); 1/7
2 gltranslatef(-250, -100, -100); /* <===== translacja, każdy obiekt po tym wywołaniu będzie przesunięty o ten wektor [-250, -100, -100] */ glbegin(gl_triangles); glvertex3f(0, 200, 0); glcolor3f(0.0, 1.0, 1.0); glvertex3f(50, 220, 0); glcolor3f(1.0, 1.0, 1.0); glvertex3f(100, 200, 0); glend(); glutswapbuffers(); } Skalowanie Skalowanie, podobnie jak w bibliotece Allegro, polega na zmniejszeniu lub powiększeniu obiektu o zadany współczynnik, zdefiniowany dla każdej z osi: void glscalef(glfloat x, GLfloat y, GLfloat z) void glscaled(gldouble x, GLdouble y, GLdouble z) Funkcje przyjmują współczynniki skalowania dla kolejnych osi. Wartość współczynnika równa 1 oznacza pozostawienie figury bez zmian. Przykład 2. Zmniejszenie obiektu w osi OX o połowę: glscalef(0.5, 1, 1); // zwykłe rysowanie trójkątów glbegin(gl_triangles); glvertex3f(0, 200, 0); // pierwszy punkt glcolor3f(0.0, 1.0, 1.0); glvertex3f(50, 220, 0); // drugi punkt 2/7
3 glcolor3f(1.0, 1.0, 1.0); glvertex3f(100, 200, 0); // trzeci punkt glend(); Rotacja Rotacja w OpenGL polega na obrocie układu współrzędnych wokół podanego wektora (np. wektor [0, 1, 0] obróci nam wokół osi OY): void glrotatef(glfloat angle, GLfloat x, GLfloat y, GLfloat z) void glrotated(gldouble angle, GLdouble x, GLdouble y, GLdouble z) Parametr angle określa o jaki kąt (w stopniach) będzie dokonywany obrót, natomiast x, y i z są to poszczególne składowe wektora. Funkcja mnoży bieżącą macierz modelowania (widoku modelu) przez macierz obrotu. Kąt obrotu określany jest w kierunku przeciwnym do ruchu wskazówek zegara, sam obrót dokonywany jest wokół osi wyznaczonej przez wektor o początku w układzie współrzędnych i końcu w punkcie (x,y,z). Nowa macierz staje się bieżącą macierzą modelowania Własne mnożenie macierzy Istnieje również możliwość własnego, ręcznego wykonania wymienionych (i niewymienionych) przekształceń, za pomocą mnożenia bieżącej macierzy przez drugą macierz. Odpowiedzialna za to jest funkcja: void glmultmatrixd(const GLdouble * m); void glmultmatrixf(const GLfloat * m); Więcej informacji można znaleźć pod poniższym adresem: Inne przydatne funkcje Poniżej zostały zebrane funkcje, które czasami są przydatne w aplikacjach z przekształceniami obiektów Resetowanie macierzy Na początku funkcji rysującej należy zawsze wczytać początkowe wartości do macierzy 3/7
4 modelowania. Dzięki temu unikniemy sytuacji, w której przekształcenia będą się nakładały na siebie w nieskończoność. Aby zresetować macierz widoku należy wywołać funkcję: void glloadidentity( void); Funkcja ta ładuje macierz jednostkową, dzięki czemu układ współrzędnych zostaje ustawiony na domyślnym położeniu. Oprócz macierzy modelowania, glloadidentity() można stosować do innych macierzy (tak na prawdę glloadidentity po prostu wczytuje macierz jednostkową do aktualnie używanej macierzy). Przełączanie pomiędzy macierzami wykonuje się za pomocą glmatrixmode: glmatrixmode(gl_projection); // Macierz projekcji glmatrixmode(gl_modelview); // macierz modelowania Tryb wypełniania Tryb wypełniania wielokątów umożliwia decydowanie o tym, jak ma być wypełniona przednia, a jak tylna strona wielokąta. Do ustawia trybu wypełniania wielokątów służy funkcja: void glpolygonmode(glenum face, GLenum mode) Jej pierwszy parametr określa, których ścian będzie dotyczyć operacja (GL_FRONT, GL_BACK, GL_FRONT_AND_BACK). Drugi parametr określa styl wypełniania ścian wielokąta (GL_LINE, GL_POINT, GL_FILL). Domyślnie jest ustawiony GL_FILL czyli wypełnianie całego wielokąta. GL_LINE oznacza że będą widocznie jedynie linie tzw. tryb wireframe (druciak), GL_POINT oznacza, że będą widoczne jedynie punkty wielokąta Widoczność i ukrywanie krawędzi Często niepotrzebne jest rysowanie wewnętrznych ścian obiektów, rysowanie takie zajmuje jedynie dodatkową moc obliczeniową komputera. OpenGL umożliwia automatyczne usuwanie niewidocznych ścian. Aby ukryć niewidoczne ściany należy włączyć opcję ukrywania niewidocznych powierzchni wielokątów za pomocą funkcji glenable z parametrem GL_CULL_FACE. Następnie należy wywołać funkcję glcullface. void glcullface(glenum face) Funkcja ta przyjmuje jeden z trzech parametrów GL_FRONT (ściana przednia), GL_BACK (ściana tylna), GL_FRONT_AND_BACK (ściana przednia i tylna). 4/7
5 Ukrywanie krawędzi wykorzystywane jest w przypadku rysowania obiektów w trybie tzw. wireframe (siatki). Do ukrywani krawędzi służy specjalna funkcja OpenGL: void gledgeflag(glenum flag) Funkcja ta przyjmuje jeden z dwóch parametrów GL_TRUE (rysuj krawędź), GL_FALSE (nie rysuj krawędzi). Przykład 3: glpolygonmode(gl_front_and_back, GL_LINE); glbegin(gl_polygon); glcolor3f(0.5f, 0.5f, 0.5f); gledgeflag(gl_false); glvertex3f(0.0f, 2.0f, 0.0f); gledgeflag(gl_true); glvertex3f(2.0f, 2.0f, 0.0f); glvertex3f(2.0f, -2.0f, 0.0f); glvertex3f(-4.0f, -2.0f, 0.0f); glvertex3f(-5.0f, 0.0f, 0.0f); glend(); Timer Czasami występuje potrzeba wykonywania kodu w pewnych, ustalonych odstępach czasu (np. animacja). W celu rozwiązania tego problemu programista/programiści biblioteki glut dodali do niej obsługę timerów. Timer jest funkcją, która wykonuje się co pewien zadany czas. Glut wymaga, aby funkcja ta miała ustalone parametry: void funkcjatimera(int value); Następnie należy zarejestrować ją (podobnie jak funkcje rysowania i klawiatury) za pomocą następującej funkcji: void gluttimerfunc(unsigned int msecs, void (*func)(int value), value); Parametry są następujące: 5/7
6 msecs czas w milisekundach, po którym zostanie wywołana funkcja timera func wskaźnik na funkcję timera value wartość przekazywana do funkcji timera (parametr value funkcji timera będzie ustawiany na tą wartość) Uwaga! Ustawienie timera w funkcji gluttimerfunc spowoduje tylko jednorazowe jego wywołanie. Dlatego w funkcji timera najlepiej jest użyć jej ponownie (patrz przykład 4). Glut umożliwia zadeklarowanie dowolnej liczby timerów (np. można zadeklarować dwa timery, które wykonują się o różnym czasie). Przykład 4: void funkcjatimera(int val) { // kod wykonywany w timerze //... // odrysowanie ekranu po wprowadzeniu zmian (jeśli jest taka potrzeba): glutpostredisplay(); // ponowne ustawienie timera (co 1000 ms = 1s): gluttimerfunc(1000, funkcjatimera, 0); } int main(int argc, char *argv[]) { glutinit(&argc, argv); /*... */ // ustawienie timera (wywoła funkcję funkcjatimera po 1000 ms = 1s): gluttimerfunc(1000, funkcjatimera, 0); glutmainloop(); 6/7
7 return(0); } 2 Zadania Napisz program, który będzie wykonywał animacje (z użyciem timera) kilku obiektów (dowolnych) z użyciem przedstawionych w instrukcji transformacji 3D (translacja, obrót, skalowanie), np. odbijające się od ścian okna obiekty dostarczane przez gluta. Aplikacja powinna używając timera zmieniać kolory obiektów (co 5 sekund) oraz zmieniać tryb wypełniania (co 8 sekund) można użyć dwóch timerów. Wskazówki i uwagi nie używaj funkcji glulookat(); ponieważ wprowadza przekształcenia sceny na końcu funkcji display() umieść wywołanie funkcji glutpostredisplay(); która odświeża zawartość ekranu do poprawnego wyświetlania obiektów należy prawidłowo obsłużyć bufor głębokości 1. Inicjalizacja trybu wyświetlania dodanie parametru GLUT_DEPTH 2. Włączenie testu głębokości parametr GL_DEPTH_TEST 3. Czyszczenie bufora głębokości przed rysowaniem param. GL_DEPTH_BUFFER_BIT 7/7
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ółowoZatem 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ółowoGrafika 3D OpenGL część II
#include #include #include float kat=0.0f; void renderujscene(void) { glclearcolor(1.0f,1.0f,1.0f,1.0f); glclear(gl_color_buffer_bit); glpushmatrix(); glrotatef(kat,0,0,1);
Bardziej szczegółowoOprogramowanie i wykorzystanie stacji roboczych. Wykład 6
Wykład 6 p. 1/2 Oprogramowanie i wykorzystanie stacji roboczych Wykład 6 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Wektory normalne
Bardziej szczegółowoLaboratorium 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ółowoGrafika komputerowa INSTRUKCJA DO LABORATORIUM 2: operacje przestrzenne oraz obsługa klawiatury i myszki
Grafika komputerowa INSTRUKCJA DO LABORATORIUM 2: operacje przestrzenne oraz obsługa klawiatury i myszki Strona 1 z 9 C E L Ć W I C Z E N I A Celem ćwiczenia jest zapoznanie się z podstawowymi operacjami
Bardziej szczegółowo1 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ółowo3 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ółowo6 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 6 1/7 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Materiały i oświetlenie 6 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie Specyfikacja biblioteki OpenGL rozróżnia trzy
Bardziej szczegółowo2 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ółowoTemat: Wprowadzenie do OpenGL i GLUT
Instrukcja laboratoryjna 8 Grafika komputerowa 3D Temat: Wprowadzenie do OpenGL i GLUT Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny OpenGL
Bardziej szczegółowoGRAFIKA 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ółowoWprowadzenie do programowania z wykorzystaniem biblioteki OpenGL. Dorota Smorawa
Wprowadzenie do programowania z wykorzystaniem biblioteki OpenGL Dorota Smorawa Pierwszy program Pierwszy program będzie składał się z trzech etapów: Funkcji rysującej scenę 3D, Inicjacji okna renderingu,
Bardziej szczegółowoOświetlenie w OpenGL. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 8. Światło otaczajace. Światło rozproszone.
Oświetlenie w OpenGL Oprogramowanie i wykorzystanie stacji roboczych Wykład 8 Dr inż. Tomasz Olas olas@icis.pcz.pl W OpenGL źródło światła w scenie składa się z trzech składowych oświetlenia: otoczenia,
Bardziej szczegółowoRzutowanie DOROTA SMORAWA
Rzutowanie DOROTA SMORAWA Rzutowanie Rzutowanie jest operacja polegająca na tym, aby odpowiednie piksele na płaskim ekranie były wyświetlane w taki sposób, by sprawiać wrażenie trójwymiarowej głębi (przestrzeni
Bardziej szczegółowoJanusz Ganczarski. OpenGL Pierwszy program
Janusz Ganczarski OpenGL Pierwszy program Spis treści Spis treści..................................... 1 1. Pierwszy program.............................. 1 1.1. Rysowanie sceny 3D...........................
Bardziej szczegółowoLaboratorium 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ółowoPrzekształ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ółowoMateriał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ółowoGRAFIKA 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ółowoOPENGL PRZEKSZTAŁCENIA GEOMETRYCZNE
OPENGL PRZEKSZTAŁCENIA GEOMETRYCZNE SPIS TREŚCI 1. Przekształcenia geometryczne... 3 1.1. Obrót... 3 1.2. Skalowanie... 3 1.3. Przesunięcie... 3 1.4. Mnożenie macierzy... 4 1.5. Ładowanie macierzy... 4
Bardziej szczegółowoWprowadzenie do klas w C++ oraz biblioteki opengl
Wprowadzenie do klas w C++ oraz biblioteki opengl 1. Bibliotek opengl. W celu rozpoczęcia pracy z użyciem biblioteki opengl należy pobrać pliki archiwum glut- 3.7.6.zip ze strony: http://www.opengl.org/resources/libraries/glut/glut_downloads.php
Bardziej szczegółowoProsty program- cpp. #include <GL/glut.h>
Wizualizacje 3D Prosty program- cpp #include #include #include int main(int argc, char** argv) { glutinit(&argc, argv); glutinitdisplaymode( GLUT_DOUBLE GLUT_RGBA ); glutinitwindowsize(400,
Bardziej szczegółowo1. 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ółowoglwindowpos2d void DrawString (GLint x, GLint y, char *string) { glwindowpos2i (x,y); int len = strlen (string); for (int i = 0; i < len; i++)
Wizualizacja 3D glwindowpos2d Funkcja wprowadzona w wersji 1.4 biblioteki OpenGL Funkcja pozwala na ustawienie rastra względem okna, a nie względem macierzy modelu Stosowana podczas pisania tekstów, np.:
Bardziej szczegółowoOpenGL - maszyna stanu. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 7. Grupy atrybutów. Zmienne stanu.
OpenGL - maszyna stanu Oprogramowanie i wykorzystanie stacji roboczych Wykład 7 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska OpenGL posiada
Bardziej szczegółowoStudium podyplomowe. Programowanie w OpenGL. Michał Turek, AGH Kraków
Studium podyplomowe Programowanie w OpenGL Michał Turek, AGH Kraków Charakterystyka (I) OpenGL - (Open Graphics Library) Graficzna biblioteka 2D/3D Liczne porty biblioteki, w tym takŝe akcelerowane sprzętowo
Bardziej szczegółowoŚwiatła i rodzaje świateł. Dorota Smorawa
Światła i rodzaje świateł Dorota Smorawa Rodzaje świateł Biblioteka OpenGL posiada trzy podstawowe rodzaje świateł: światło otoczenia, światło rozproszone oraz światło odbite. Dodając oświetlenie na scenie
Bardziej szczegółowoZadanie 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ółowo0. 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ółowoGRAFIKA CZASU RZECZYWISTEGO Wstęp do programowania grafiki czasu rzeczywistego.
GRAFIKA CZASU RZECZYWISTEGO Wstęp do programowania grafiki czasu rzeczywistego. http://bazyluk.net/zpsb Grafika Komputerowa, Informatyka, I Rok PROGRAMOWANIE GRAFIKI KOMPUTEROWEJ CZASU RZECZYWISTEGO Grafika
Bardziej szczegółowo8 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 8 1/6 Grafika Komputerowa Instrukcja laboratoryjna Temat: Listy wyświetlania i tablice wierzchołków 8 Przygotował: mgr inż. Maciej Lasota 1) Listy wyświetlania Listy wyświetlania (ang.
Bardziej szczegółowoIRONCAD. TriBall IRONCAD Narzędzie pozycjonujące
IRONCAD IRONCAD 2016 TriBall o Narzędzie pozycjonujące Spis treści 1. Narzędzie TriBall... 2 2. Aktywacja narzędzia TriBall... 2 3. Specyfika narzędzia TriBall... 4 3.1 Kula centralna... 4 3.2 Kule wewnętrzne...
Bardziej szczegółowoŚwiatło. W OpenGL można rozróżnić 3 rodzaje światła
Wizualizacja 3D Światło W OpenGL można rozróżnić 3 rodzaje światła Światło otaczające (ambient light) równomiernie oświetla wszystkie elementy sceny, nie pochodzi z żadnego konkretnego kierunku Światło
Bardziej szczegółowoSystemy 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ółowoCo to jest OpenGL? Oprogramowanie i wykorzystanie stacji roboczych. Wykład 5. OpenGL - Achitektura. OpenGL - zalety. olas@icis.pcz.
Co to jest OpenGL? Oprogramowanie i wykorzystanie stacji roboczych Wykład 5 Dr inż. Tomasz Olas olas@icis.pcz.pl OpenGL (Open Graphics Library) jest niskopoziomowa biblioteka graficzna (API - programowy
Bardziej szczegółowoOprogramowanie i wykorzystanie stacji roboczych. Wykład 5
Wykład 5 p. 1/? Oprogramowanie i wykorzystanie stacji roboczych Wykład 5 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Wykład 5 p. 2/? Co
Bardziej szczegółowoJanusz Ganczarski. OpenGL Definiowanie sceny 3D
Janusz Ganczarski OpenGL Definiowanie sceny 3D Spis treści Spis treści..................................... 1 1. Definiowanie sceny 3D........................... 1 1.1. Obszar renderingu............................
Bardziej szczegółowoEfekt lustra 3D w OpenGL z wykorzystaniem bufora szablonowego (stencil buffer)
Efekt lustra 3D w OpenGL z wykorzystaniem bufora szablonowego (stencil buffer) Autor: Radosław Płoszajczak Spis treści I. Wstęp...2 II. Metoda rysująca przeźroczystą szybę...2 III. Bufor szablonowy (stencil
Bardziej szczegółowoGrafika Komputerowa, Informatyka, I Rok
SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Wstęp do programowania grafiki 3D z użyciem OpenGL. Transformacje geometryczne. Grafika Komputerowa, Informatyka, I Rok Synteza grafiki 3D
Bardziej szczegółowo4.2. Program i jego konfiguracja
4.2. Program i jego konfiguracja Dopasowywanie wielkości widoku Podczas pracy z programem często dochodzi do sytuacji w której trzeba dopasować ilość zawartych danych w arkuszu do wielkości ekranu. Np.
Bardziej szczegółowoBartosz Bazyluk Wprowadzenie Organizacja i tematyka zajęć, warunki zaliczenia.
Wprowadzenie Organizacja i tematyka zajęć, warunki zaliczenia http://bazyluk.net/dydaktyka Grafika Komputerowa i Wizualizacja, Informatyka S1, II Rok O MNIE mgr inż. Pokój 322/WI2 lub 316/WI2 bbazyluk@wi.zut.edu.pl
Bardziej szczegółowoAllegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy.
Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy. #include #include #include #include
Bardziej szczegółowoGrafika 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ółowoKsięgarnia PWN: Andrzej Jaskulski - AutoCAD 2010/LT Podstawy projektowania parametrycznego i nieparametrycznego
Księgarnia PWN: Andrzej Jaskulski - AutoCAD 2010/LT2010+. Podstawy projektowania parametrycznego i nieparametrycznego Spis treści 1. Koncepcja i zawartość podręcznika...11 1.1. Zawartość programowa...11
Bardziej szczegółowoBufor koloru cd. Czyszczenie bufora koloru glclearcolor( )
Wizualizacje 3D Bufor koloru Bufor koloru służy do przechowywania obrazu renderowanej sceny 3D. Typowo OpenGL stosuje dwa bufory koloru: przedni i tylny. Bieżąca scena znajduje się w przednim buforze i
Bardziej szczegółowoProgramowanie 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ółowoLaboratorium Programowanie urządzeń mobilnych
Laboratorium Programowanie urządzeń mobilnych Wprowadzenie Klasa Transform - Umożliwia realizację różnych zmian obiektu. Obiekt może zostać przesunięty, może być zmieniony jego rozmiar lub obrócony. Klasa
Bardziej szczegółowoKGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012
Rysowanie precyzyjne 7 W ćwiczeniu tym pokazane zostaną wybrane techniki bardzo dokładnego rysowania obiektów w programie AutoCAD 2012, między innymi wykorzystanie punktów charakterystycznych. Narysować
Bardziej szczegółowoSystemy wirtualnej rzeczywistości. Podstawy grafiki 3D
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
Bardziej szczegółowoWprowadzenie 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ółowoMisja#3. Robimy film animowany.
Po dzisiejszej lekcji będziesz: tworzyć programy animujące obiekty na ekranie komputera określać położenie i orientację obiektu w kartezjańskim układzie współrzędnych Zauważ że... Ludzkie oko charakteryzuje
Bardziej szczegółowoWykład 12. Wprowadzenie do malarstwa, str. 1 OpenGL Open Graphics Library. OpenGL składa się z
Wykład 12. Wprowadzenie do malarstwa, str. 1 OpenGL Open Graphics Library OpenGL składa się z teoretycznego modelu grafiki 3D, zestawu typów i funkcji obsługujących różne cechy tego modelu. WjęzykuC: pliki
Bardziej szczegółowoRysowanie precyzyjne. Polecenie:
7 Rysowanie precyzyjne W ćwiczeniu tym pokazane zostaną różne techniki bardzo dokładnego rysowania obiektów w programie AutoCAD 2010, między innymi wykorzystanie punktów charakterystycznych. Z uwagi na
Bardziej szczegółowoMapowanie 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ółowoDruga 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ółowoWybrane 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ółowo1 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ółowoProgramowanie Równoległe wykład, 21.01.2013. CUDA, przykłady praktyczne 1. Maciej Matyka Instytut Fizyki Teoretycznej
Programowanie Równoległe wykład, 21.01.2013 CUDA, przykłady praktyczne 1 Maciej Matyka Instytut Fizyki Teoretycznej Motywacja l CPU vs GPU (anims) Plan CUDA w praktyce Wykład 1: CUDA w praktyce l aplikacja
Bardziej szczegółowoOpis ikon OPIS IKON. Ikony w pionowym pasku narzędzi: Ikony te używane są przy edycji mapy. ta ikona otwiera szereg kolejnych ikon, które pozwalają na
OPIS IKON Poniższa instrukcja opisuje ikony w programie Agrinavia Map. Funkcje związane z poszczególnymi ikonami, można również uruchomić korzystając z paska narzędzi. Ikony w pionowym pasku narzędzi:
Bardziej szczegółowoAnimowana 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ółowoPrzekształ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ółowoSpis treści CZĘŚĆ I. NIEPARAMETRYCZNE PROJEKTOWANIE 2D...31
Spis treści 1. Koncepcja i zawartość podręcznika...13 1.1. Zawartość programowa...13 1.2. Zakładany efekt i metodyka szkolenia...14 1.3. Przeznaczenie...14 1.4. Autor...14 1.4.1. Blog...15 1.4.2. Kanał
Bardziej szczegółowoUkłady współrzędnych GUW, LUW Polecenie LUW
Układy współrzędnych GUW, LUW Polecenie LUW 1 Układy współrzędnych w AutoCAD Rysowanie i opis (2D) współrzędnych kartezjańskich: x, y współrzędnych biegunowych: r
Bardziej szczegółowoPodstawy 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ółowoDARMOWA PRZEGLĄDARKA MODELI IFC
www.bimvision.eu DARMOWA PRZEGLĄDARKA MODELI IFC BIM VISION. OPIS FUNKCJONALNOŚCI PROGRAMU. CZĘŚĆ I. Spis treści OKNO GŁÓWNE... 1 NAWIGACJA W PROGRAMIE... 3 EKRAN DOTYKOWY... 5 MENU... 6 ZAKŁADKA WIDOK....
Bardziej szczegółowo1 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ółowoBadanie ruchu złożenia
Badanie ruchu złożenia W wersji Standard programu SolidWorks mamy do dyspozycji dwie aplikacje: Podstawowy ruch symulacja ruchu z użyciem grawitacji, sprężyn, napędów oraz kontaktu między komponentami.
Bardziej szczegółowoSystem graficzny. Potok graficzny 3D. Scena 3D Zbiór trójwymiarowych danych wejściowych wykorzystywanych do wygenerowania obrazu wyjściowego 2D.
System graficzny scena 3D algorytm graficzny obraz 2D Potok graficzny 3D Radosław Mantiuk Dane wejściowe Algorytm tworzący obraz wyjściowy na podstawie sceny 3D Dane wyjściowe Wydział Informatyki Zachodniopomorski
Bardziej szczegółowoMieszanie kolorów. Dorota Smorawa
Mieszanie kolorów Dorota Smorawa Tworzenie efektu przezroczystości Biblioteka OpenGL umożliwia nam tworzenie bardzo ciekawych efektów związanych z przezroczystością i odbiciem. Aby zrealizować efekt przezroczystości
Bardziej szczegółowoZajęcia z grafiki komputerowej Pov Ray część 2
Zajęcia z grafiki komputerowej Pov Ray część 2 Stwórzmy na początek pustą scenę. #include "colors.inc" camera { location look_at 0 angle 36 White plane { , -1.5 pigment
Bardziej szczegółowoPrzekształ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ółowoStudia Podyplomowe Grafika Komputerowa i Techniki Multimedialne, 2017, semestr II Modelowanie 3D - Podstawy druku 3D. Ćwiczenie nr 4.
Ćwiczenie nr 4 Metaobiekty 1 Materiały ćwiczeniowe Wszelkie materiały ćwiczeniowe: wykłady, instrukcje oraz ewentualne pliki ćwiczeniowe dla potrzeb realizacji materiału dydaktycznego z przedmiotu Modelowanie
Bardziej szczegółowoANDROID. OpenGL ES 1.0. Tomasz Dzieniak
ANDROID OpenGL ES 1.0 Tomasz Dzieniak Wymagania JRE & JDK 5.0 + IDE (Eclipse 3.3.1 + / Netbeans 7.0.0 +) Android SDK Starter Package Android SDK Components Pierwszy program Project name: OpenGL Build Target:
Bardziej szczegółowo11.3 Definiowanie granic obszaru przeznaczonego do kreskowania
Auto CAD 14 11-1 11. Kreskowanie. 11.1 Wstęp Aby wywołać polecenie BHATCH, wybierz HATCH z paska narzędzi Draw. Po wywołaniu polecenia wyświetlane jest okno narzędziowe Boundary Hatch. Żeby narysować obiekt
Bardziej szczegółowoGRAFIKA KOMPUTEROWA 10: Antyaliasing
GRAFIKA KOMPUTEROWA 10: Antyaliasing 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 37 e-mail:
Bardziej szczegółowoBartosz Bazyluk Wprowadzenie Organizacja i tematyka zajęć, warunki zaliczenia.
Wprowadzenie Organizacja i tematyka zajęć, warunki zaliczenia http://bazyluk.net/dydaktyka Gry komputerowe, Informatyka N1, III Rok, 2018 r. O MNIE dr inż. bbazyluk@wi.zut.edu.pl http://bazyluk.net/dydaktyka
Bardziej szczegółowoZad. 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ółowoOpenGL model oświetlenia
Składowe światła OpenGL Światło otaczające (ambient) OpenGL model oświetlenia Nie pochodzi z żadnego określonego kierunku. Powoduje równomierne oświetlenie obiektów na wszystkich powierzchniach i wszystkich
Bardziej szczegółowoGLKit. 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ółowoTworzenie nowego rysunku Bezpośrednio po uruchomieniu programu zostanie otwarte okno kreatora Nowego Rysunku.
1 Spis treści Ćwiczenie 1...3 Tworzenie nowego rysunku...3 Ustawienia Siatki i Skoku...4 Tworzenie rysunku płaskiego...5 Tworzenie modeli 3D...6 Zmiana Układu Współrzędnych...7 Tworzenie rysunku płaskiego...8
Bardziej szczegółowoZad. 5: Rotacje 3D. 1 Cel ćwiczenia. 2 Program zajęć. 3 Opis zadania programowego
Zad. 5: Rotacje 3D 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas. Praktyczne zweryfikowanie wcześniejszej konstrukcji programu. Jeśli
Bardziej szczegółowoWykład 12. Wprowadzenie do malarstwa, str. 1 OpenGL Open Graphics Library. OpenGL składa się z
Wykład 12. Wprowadzenie do malarstwa, str. 1 OpenGL Open Graphics Library OpenGL składa się z teoretycznego modelu grafiki 3D, zestawu typów i funkcji obsługujących różne cechy tego modelu. Funkcje OpenGL
Bardziej szczegółowoZegary. Zegary (timers) umożliwiają cykliczne w danych odstępach czasu wykonać określone operacje.
Zegary Zegary (timers) umożliwiają cykliczne w danych odstępach czasu wykonać określone operacje. Zaczniemy od funkcji przetwarzania komunikatów: //procedura okna LRESULT CALLBACK WndProc(HWND hwnd, UINT
Bardziej szczegółowoZad. 3: Rotacje 2D. Demonstracja przykładu problemu skończonej reprezentacji binarnej liczb
Zad. 3: Rotacje 2D 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich struktur
Bardziej szczegółowoAUTOCAD MIERZENIE I PODZIAŁ
AUTOCAD MIERZENIE I PODZIAŁ Czasami konieczne jest rozmieszczenie na obiekcie punktów lub bloków, w równych odstępach. Na przykład, moŝe zachodzić konieczność zlokalizowania na obiekcie punktów oddalonych
Bardziej szczegółowoMaskowanie i selekcja
Maskowanie i selekcja Maska prostokątna Grafika bitmapowa - Corel PHOTO-PAINT Pozwala definiować prostokątne obszary edytowalne. Kiedy chcemy wykonać operacje nie na całym obrazku, lecz na jego części,
Bardziej szczegółowoRysowanie punktów na powierzchni graficznej
Rysowanie punktów na powierzchni graficznej Tworzenie biblioteki rozpoczniemy od podstawowej funkcji graficznej gfxplot() - rysowania pojedynczego punktu na zadanych współrzędnych i o zadanym kolorze RGB.
Bardziej szczegółowo1. Opis okna podstawowego programu TPrezenter.
OPIS PROGRAMU TPREZENTER. Program TPrezenter przeznaczony jest do pełnej graficznej prezentacji danych bieżących lub archiwalnych dla systemów serii AL154. Umożliwia wygodną i dokładną analizę na monitorze
Bardziej szczegółowoWstawianie nowej strony
Wstawianie nowej strony W obszernych dokumentach będziemy spotykali się z potrzebą dzielenia dokumentu na części. Czynność tę wykorzystujemy np.. do rozpoczęcia pisania nowego rozdziału na kolejnej stronie.
Bardziej szczegółowoBartosz Bazyluk Wprowadzenie Organizacja i tematyka zajęć, warunki zaliczenia.
Wprowadzenie Organizacja i tematyka zajęć, warunki zaliczenia http://bazyluk.net/dydaktyka Gry komputerowe, Informatyka S1, II Rok, 2018 r. O MNIE dr inż. bbazyluk@wi.zut.edu.pl http://bazyluk.net/dydaktyka
Bardziej szczegółowoZad. 4: Rotacje 2D. 1 Cel ćwiczenia. 2 Program zajęć. 3 Opis zadania programowego
Zad. 4: Rotacje 2D 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich struktur
Bardziej szczegółowoGrafika komputerowa i wizualizacja. dr Wojciech Pałubicki
Grafika komputerowa i wizualizacja dr Wojciech Pałubicki Grafika komputerowa Obrazy wygenerowane za pomocy komputera Na tych zajęciach skupiamy się na obrazach wygenerowanych ze scen 3D do interaktywnych
Bardziej szczegółowoAnimacje z zastosowaniem suwaka i przycisku
Animacje z zastosowaniem suwaka i przycisku Animacja Pole równoległoboku Naukę tworzenia animacji uruchamianych na przycisk zaczynamy od przygotowania stosunkowo prostej animacji, za pomocą, której można
Bardziej szczegółowoWyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780
Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą
Bardziej szczegółowoDesignCAD 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ółowoSłowa kluczowe Sterowanie klawiaturą, klawiatura, klawisze funkcyjne, przesuwanie obiektów ekranowych, wydawanie poleceń za pomocą klawiatury
Obsługa za pomocą klawiatury Różnego typu interfejsy wykorzystują różne metody reagowania i wydawania poleceń przez użytkownika. W środowisku graficznym najpopularniejsza jest niewątpliwie mysz i inne
Bardziej szczegółowoUruchamianie programu
Wprowadzenie do programu SolidWorks Uruchamianie programu Rysunek 1.1. Menu w postaci zwiniętej (na górze) i rozwiniętej (na dole) Po uruchomieniu programu SolidWorks pojawia się okno bez otwartego pliku.
Bardziej szczegółowoRzutowanie z 4D na 3D
Politechnika Wrocławska Instytut Informatyki Automatyki i Robotyki Wizualizacja danych sensorycznych Rzutowanie z 4D na 3D Autor: Daniel Piłat Opiekun projektu: dr inż. Bogdan Kreczmer 15 czerwca 2010
Bardziej szczegółowoWASM AppInventor Lab 3. Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI
Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI Kanwa, to komponent służący do rysowania. Można ją dodać w Designerze przeciągając komponent Canvas z sekcji Basic. W celu ustawienia obrazka jako
Bardziej szczegółowo