Wykład 12. Wprowadzenie do malarstwa, str. 1 OpenGL Open Graphics Library. OpenGL składa się z
|
|
- Halina Sowińska
- 8 lat temu
- Przeglądów:
Transkrypt
1 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 dostępne są z różnych języków na wielu platformach.
2 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: Funkcje OpenGL dostępne są z różnych języków na wielu platformach. pliki nagłówkowe: #include <GL/glut.h>
3 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: Funkcje OpenGL dostępne są z różnych języków na wielu platformach. pliki nagłówkowe: #include <GL/glut.h> #include <math.h> jeśli liczymy obroty, rzuty, itp.
4 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: Funkcje OpenGL dostępne są z różnych języków na wielu platformach. pliki nagłówkowe: #include <GL/glut.h> #include <math.h> jeśli liczymy obroty, rzuty, itp. biblioteki do wspólnej kompilacji: gcc-lgl-lglu-lglut-lm...
5 Wykład 12. Wprowadzenie do malarstwa, str. 2 OpenGL Open Graphics Library Typowy Makefile: # nazwa programu: PROG = wprawki # biblioteki: LIBS=-lGL-lGLU-lglut-lm $(PROG):$(PROG).c gcc-wall-std=c99 $(PROG).c-o $(PROG) $(LIBS) usun: rm-f$(prog)*
6 Sztalugi i płótno Wykład 12. Wprowadzenie do malarstwa, str. 3
7 Sztalugi i płótno Wykład 12. Wprowadzenie do malarstwa, str. 3 Program główny ustala początkowy rozmiar okna: glutinitwindowsize(szerokość, wysokość);
8 Sztalugi i płótno Wykład 12. Wprowadzenie do malarstwa, str. 3 Program główny ustala początkowy rozmiar okna: glutinitwindowsize(szerokość, wysokość); ustala początkową pozycję okna na ekranie: glutinitwindowposition(od lewej, od góry);
9 Sztalugi i płótno Wykład 12. Wprowadzenie do malarstwa, str. 3 Program główny ustala początkowy rozmiar okna: glutinitwindowsize(szerokość, wysokość); ustala początkową pozycję okna na ekranie: glutinitwindowposition(od lewej, od góry); tworzy okno: glutcreatewindow(nazwa na ramce);
10 Sztalugi i płótno Wykład 12. Wprowadzenie do malarstwa, str. 3 Program główny ustala początkowy rozmiar okna: glutinitwindowsize(szerokość, wysokość); ustala początkową pozycję okna na ekranie: glutinitwindowposition(od lewej, od góry); tworzy okno: glutcreatewindow(nazwa na ramce); ustalakolortła:glclearcolor(r,g,b,α);
11 Sztalugi i płótno Wykład 12. Wprowadzenie do malarstwa, str. 3 Program główny ustala początkowy rozmiar okna: glutinitwindowsize(szerokość, wysokość); ustala początkową pozycję okna na ekranie: glutinitwindowposition(od lewej, od góry); tworzy okno: glutcreatewindow(nazwa na ramce); ustalakolortła:glclearcolor(r,g,b,α); wywołuje funkcję użytkownika odwzorowującą scenę w okno i przekazuje jej rozmiary okna: glutreshapefunc(funkcja);
12 Sztalugi i płótno Wykład 12. Wprowadzenie do malarstwa, str. 3 Program główny ustala początkowy rozmiar okna: glutinitwindowsize(szerokość, wysokość); ustala początkową pozycję okna na ekranie: glutinitwindowposition(od lewej, od góry); tworzy okno: glutcreatewindow(nazwa na ramce); ustalakolortła:glclearcolor(r,g,b,α); wywołuje funkcję użytkownika odwzorowującą scenę w okno i przekazuje jej rozmiary okna: glutreshapefunc(funkcja); wywołuje funkcję użytkownika rysującą scenę: glutdisplayfunc(funkcja);
13 Sztalugi i płótno Wykład 12. Wprowadzenie do malarstwa, str. 3 Program główny ustala początkowy rozmiar okna: glutinitwindowsize(szerokość, wysokość); ustala początkową pozycję okna na ekranie: glutinitwindowposition(od lewej, od góry); tworzy okno: glutcreatewindow(nazwa na ramce); ustalakolortła:glclearcolor(r,g,b,α); wywołuje funkcję użytkownika odwzorowującą scenę w okno i przekazuje jej rozmiary okna: glutreshapefunc(funkcja); wywołuje funkcję użytkownika rysującą scenę: glutdisplayfunc(funkcja); uruchamia rysowanie: glutmainloop();
14 Sztalugi i płótno Wykład 12. Wprowadzenie do malarstwa, str. 4
15 Sztalugi i płótno Wykład 12. Wprowadzenie do malarstwa, str. 4 glutinitwindowsize(400, 300);
16 Sztalugi i płótno Wykład 12. Wprowadzenie do malarstwa, str. 4 glutinitwindowsize(400, 300); glutinitwindowposition(200, 250);
17 Sztalugi i płótno Wykład 12. Wprowadzenie do malarstwa, str. 4 glutinitwindowsize(400, 300); glutinitwindowposition(200, 250); glutcreatewindow("wprawki"); wprawki
18 Sztalugi i płótno Wykład 12. Wprowadzenie do malarstwa, str. 4 glutinitwindowsize(400, 300); glutinitwindowposition(200, 250); glutcreatewindow("wprawki"); glclearcolor(zolty, 0.0); wprawki
19 Sztalugi i płótno Wykład 12. Wprowadzenie do malarstwa, str. 4 glutinitwindowsize(400, 300); glutinitwindowposition(200, 250); glutcreatewindow("wprawki"); glclearcolor(zolty, 0.0); wprawki Żeby okno się pojawiło, konieczna jest jeszcze komenda glutmainloop(); (por. program wprawki00.c)
20 Kadrowanie i głębia ostrości Wykład 12. Wprowadzenie do malarstwa, str. 5 Funkcja wywołana w glutreshapefunc ustala geometrię. Patrzymy od strony dodatniej półosi z. Funkcja glortho(-20, 20,-15, 15,-5, 5); wyznacza prostopadłościan, którego zawartość zostanie przedstawiona: y x z
21 Kadrowanie i głębia ostrości Wykład 12. Wprowadzenie do malarstwa, str. 5 Funkcja wywołana w glutreshapefunc ustala geometrię. Patrzymy od strony dodatniej półosi z. Funkcja glortho(-20, 20,-15, 15,-5, 5); wyznacza prostopadłościan, którego zawartość zostanie przedstawiona: y x z...
22 Kadrowanie i głębia ostrości Wykład 12. Wprowadzenie do malarstwa, str. 5 Funkcja wywołana w glutreshapefunc ustala geometrię. Patrzymy od strony dodatniej półosi z. Funkcja glortho(-20, 20,-15, 15,-5, 5); wyznacza prostopadłościan, którego zawartość zostanie przedstawiona: y x z...
23 Kadrowanie i głębia ostrości Wykład 12. Wprowadzenie do malarstwa, str. 5 Funkcja wywołana w glutreshapefunc ustala geometrię. Patrzymy od strony dodatniej półosi z. Funkcja glortho(-20, 20,-15, 15,-5, 5); wyznacza prostopadłościan, którego zawartość zostanie przedstawiona: y x [ ] x z...
24 Kadrowanie i głębia ostrości Wykład 12. Wprowadzenie do malarstwa, str. 5 Funkcja wywołana w glutreshapefunc ustala geometrię. Patrzymy od strony dodatniej półosi z. Funkcja glortho(-20, 20,-15, 15,-5, 5); wyznacza prostopadłościan, którego zawartość zostanie przedstawiona: y x [ ] y [ ] x z...
25 Kadrowanie i głębia ostrości Wykład 12. Wprowadzenie do malarstwa, str. 5 Funkcja wywołana w glutreshapefunc ustala geometrię. Patrzymy od strony dodatniej półosi z. Funkcja glortho(-20, 20,-15, 15,-5, 5); wyznacza prostopadłościan, którego zawartość zostanie przedstawiona: y x [ ] y [ ] x z [ 5..5] z...
26 Kadrowanie i głębia ostrości Wykład 12. Wprowadzenie do malarstwa, str. 5 Funkcja wywołana w glutreshapefunc ustala geometrię. Patrzymy od strony dodatniej półosi z. Funkcja glortho(-20, 20,-15, 15,-5, 5); wyznacza prostopadłościan, którego zawartość zostanie przedstawiona: y x [ ] y [ ] x z [ 5..5] z...
27 Kadrowanie i głębia ostrości Wykład 12. Wprowadzenie do malarstwa, str. 6 O rzutowaniach
28 Kadrowanie i głębia ostrości Wykład 12. Wprowadzenie do malarstwa, str. 6 O rzutowaniach HORYZONT rzut zbieżny perspektywiczny
29 Kadrowanie i głębia ostrości Wykład 12. Wprowadzenie do malarstwa, str. 6 O rzutowaniach HORYZONT rzut zbieżny perspektywiczny rzut równoległy
30 Kadrowanie i głębia ostrości Wykład 12. Wprowadzenie do malarstwa, str. 6 O rzutowaniach HORYZONT rzut zbieżny perspektywiczny rzut równoległy Funkcja glortho realizuje rzut równoległy
31 Kadrowanie i głębia ostrości Wykład 12. Wprowadzenie do malarstwa, str. 6 O rzutowaniach HORYZONT rzut zbieżny perspektywiczny rzut równoległy Funkcja glortho realizuje rzut równoległy; rzut zbieżny realizuje funkcja gluperspective (nie na tym wykładzie).
32 Kadrowanie i głębia ostrości Wykład 12. Wprowadzenie do malarstwa, str. 6 O rzutowaniach HORYZONT rzut zbieżny perspektywiczny rzut równoległy Funkcja glortho realizuje rzut równoległy; rzut zbieżny realizuje funkcja gluperspective (nie na tym wykładzie). O zmienianiu punktu widzenia mowa będzie później.
33 Pierwsze szkice Funkcja wywołana w glutdisplayfunc tworzy rysunek. Wykład 12. Wprowadzenie do malarstwa, str. 7
34 Pierwsze szkice Funkcja wywołana w glutdisplayfunc tworzy rysunek. W OpenGL rysunek powstaje z wierzchołków Wykład 12. Wprowadzenie do malarstwa, str. 7
35 Pierwsze szkice Funkcja wywołana w glutdisplayfunc tworzy rysunek. W OpenGL rysunek powstaje z wierzchołków: Wykład 12. Wprowadzenie do malarstwa, str. 7 glbegin(gl LINE LOOP); glvertex3d(-5, 0, 0); glvertex3d( 0, 5, 0); glvertex3d( 5, 0, 0); glvertex3d( 0,-5, 0); glend();
36 Pierwsze szkice Funkcja wywołana w glutdisplayfunc tworzy rysunek. W OpenGL rysunek powstaje z wierzchołków: Wykład 12. Wprowadzenie do malarstwa, str. 7 glbegin(gl LINE LOOP); glvertex3d(-5, 0, 0); glvertex3d( 0, 5, 0); glvertex3d( 5, 0, 0); glvertex3d( 0,-5, 0); glend(); ( 5,0,0) (0,5,0) (0, 5,0) (5,0,0)
37 Pierwsze szkice Funkcja wywołana w glutdisplayfunc tworzy rysunek. W OpenGL rysunek powstaje z wierzchołków: Wykład 12. Wprowadzenie do malarstwa, str. 7 glbegin(gl LINE LOOP); glvertex3d(-5, 0, 0); glvertex3d( 0, 5, 0); glvertex3d( 5, 0, 0); glvertex3d( 0,-5, 0); glend(); ( 5,0,0) (0,5,0) (0, 5,0) (5,0,0) GL POINTS rysuje zbiór punktów. GL LINES rysuje pary odcinków. GL LINE STRIP rysuje łamaną otwartą. GL LINE LOOP rysuje łamaną zamkniętą. GL POLYGON rysuje wypełniony wielokąt.
38 Pierwsze szkice Funkcja wywołana w glutdisplayfunc tworzy rysunek. W OpenGL rysunek powstaje z wierzchołków: Wykład 12. Wprowadzenie do malarstwa, str. 7 glbegin(gl LINE LOOP); glvertex3d(-5, 0, 0); glvertex3d( 0, 5, 0); glvertex3d( 5, 0, 0); glvertex3d( 0,-5, 0); glend(); ( 5,0,0) (0,5,0) (0, 5,0) (5,0,0) GL POINTS rysuje zbiór punktów. GL LINES rysuje pary odcinków. GL LINE STRIP rysuje łamaną otwartą. GL LINE LOOP rysuje łamaną zamkniętą. GL POLYGON rysuje wypełniony wielokąt. (por. program wprawki01.c).
39 Pierwsze szkice Wykład 12. Wprowadzenie do malarstwa, str. 8 Modyfikacje rysunku
40 Pierwsze szkice Wykład 12. Wprowadzenie do malarstwa, str. 8 Modyfikacje rysunku glcolor3d(kolor); ustalenie koloru(ważne aż do ustalenia nowego koloru); np. glcolor3d(1.0, 0.0, 0.0); oznaczaczerwony(r=1.0,g=0.0,b=0.0);
41 Pierwsze szkice Wykład 12. Wprowadzenie do malarstwa, str. 8 Modyfikacje rysunku glcolor3d(kolor); ustalenie koloru(ważne aż do ustalenia nowego koloru); np. glcolor3d(1.0, 0.0, 0.0); oznaczaczerwony(r=1.0,g=0.0,b=0.0); gllinewidth(liczba pikseli); ustalenie grubości linii(ważne aż do ustalenia nowej grubości); np. gllinewidth(5); oznacza linie szerokości 5 pikseli;
42 Pierwsze szkice Wykład 12. Wprowadzenie do malarstwa, str. 8 Modyfikacje rysunku glcolor3d(kolor); ustalenie koloru(ważne aż do ustalenia nowego koloru); np. glcolor3d(1.0, 0.0, 0.0); oznaczaczerwony(r=1.0,g=0.0,b=0.0); gllinewidth(liczba pikseli); ustalenie grubości linii(ważne aż do ustalenia nowej grubości); np. gllinewidth(5); oznacza linie szerokości 5 pikseli; glpushmatrix(); gltranslated(x, y, z); glpopmatrix(); przesunięcieobrazkaowektor(x,y,z).
43 Pierwsze szkice Wykład 12. Wprowadzenie do malarstwa, str. 9 Ciało funkcji rysującej musi
44 Pierwsze szkice Wykład 12. Wprowadzenie do malarstwa, str. 9 Ciało funkcji rysującej musi zaczynaćsięod glclear(gl COLOR BUFFER BIT); inaczej w rysunku mogą wystąpić śmieci
45 Pierwsze szkice Wykład 12. Wprowadzenie do malarstwa, str. 9 Ciało funkcji rysującej musi zaczynaćsięod glclear(gl COLOR BUFFER BIT); inaczej w rysunku mogą wystąpić śmieci
46 Pierwsze szkice Wykład 12. Wprowadzenie do malarstwa, str. 9 Ciało funkcji rysującej musi zaczynaćsięod glclear(gl COLOR BUFFER BIT); inaczej w rysunku mogą wystąpić śmieci; kończyćsięna glflush(); (ang. flush = spłukać) żeby przygotowany rysunek się pojawił.
47 Pierwsze szkice Wykład 12. Wprowadzenie do malarstwa, str. 9 Ciało funkcji rysującej musi zaczynaćsięod glclear(gl COLOR BUFFER BIT); inaczej w rysunku mogą wystąpić śmieci; kończyćsięna glflush(); (ang. flush = spłukać) żeby przygotowany rysunek się pojawił.
48 Linie inne niż łamane Wykład 12. Wprowadzenie do malarstwa, str. 10 Linie inne niż łamane są rysowane jako łamane z bardzo krótkich odcinków.
49 Linie inne niż łamane Wykład 12. Wprowadzenie do malarstwa, str. 10 Linie inne niż łamane są rysowane jako łamane z bardzo krótkich odcinków. glbegin(gl LINE STRIP); for(double x=-4.0; x<=4.0; x+=przyrost) glvertex3d(x, x*x-7, 0); glend(); parabola
50 Linie inne niż łamane Wykład 12. Wprowadzenie do malarstwa, str. 10 Linie inne niż łamane są rysowane jako łamane z bardzo krótkich odcinków. glbegin(gl LINE STRIP); for(double x=-4.0; x<=4.0; x+=przyrost) glvertex3d(x, x*x-7, 0); glend(); parabola glbegin(gl POLYGON); for(double kat=0; kat<=2*m PI; kat+=przyrost) glvertex3d(prom*cos(kat), prom*sin(kat), 0); glend(); koło pełne
51 Linie inne niż łamane Wykład 12. Wprowadzenie do malarstwa, str. 10 Linie inne niż łamane są rysowane jako łamane z bardzo krótkich odcinków. glbegin(gl LINE STRIP); for(double x=-4.0; x<=4.0; x+=przyrost) glvertex3d(x, x*x-7, 0); glend(); parabola glbegin(gl POLYGON); for(double kat=0; kat<=2*m PI; kat+=przyrost) glvertex3d(prom*cos(kat), prom*sin(kat), 0); glend(); koło pełne (por. program wprawki02.c).
52 Ćwiczenie z rysowania buźki Wykład 12. Wprowadzenie do malarstwa, str. 11
53 Ćwiczenie z rysowania buźki Wykład 12. Wprowadzenie do malarstwa, str. 11 Buźka składa się z: okręgu stanowiącego obrys; koła stanowiącego wypełnienie; oczuzłożonychzdwóchłuków (odcinków okręgu); ust wycinkakoła; nosa kuli,wystającejwtrzeci wymiar.
54 Ćwiczenie z rysowania buźki Wykład 12. Wprowadzenie do malarstwa, str. 11 Buźka składa się z: okręgu stanowiącego obrys; koła stanowiącego wypełnienie; oczuzłożonychzdwóchłuków (odcinków okręgu); ust wycinkakoła; nosa kuli,wystającejwtrzeci wymiar.
55 Ćwiczenie z rysowania buźki Wykład 12. Wprowadzenie do malarstwa, str. 11 Buźka składa się z: okręgu stanowiącego obrys; koła stanowiącego wypełnienie; oczuzłożonychzdwóchłuków (odcinków okręgu); ust wycinkakoła; nosa kuli,wystającejwtrzeci wymiar.
56 Ćwiczenie z rysowania buźki Wykład 12. Wprowadzenie do malarstwa, str. 11 Buźka składa się z: okręgu stanowiącego obrys; koła stanowiącego wypełnienie; oczuzłożonychzdwóchłuków (odcinków okręgu); ust wycinkakoła; nosa kuli,wystającejwtrzeci wymiar.
57 Ćwiczenie z rysowania buźki Wykład 12. Wprowadzenie do malarstwa, str. 11 Buźka składa się z: okręgu stanowiącego obrys; koła stanowiącego wypełnienie; oczuzłożonychzdwóchłuków (odcinków okręgu); ust wycinkakoła; nosa kuli,wystającejwtrzeci wymiar.
58 Ćwiczenie z rysowania buźki Wykład 12. Wprowadzenie do malarstwa, str. 11 Buźka składa się z: okręgu stanowiącego obrys; koła stanowiącego wypełnienie; oczuzłożonychzdwóchłuków (odcinków okręgu); ust wycinkakoła; nosa kuli,wystającejwtrzeci wymiar. (por. program wprawki03.c).
59 Ćwiczenie z rysowania buźki Wykład 12. Wprowadzenie do malarstwa, str. 11 Buźka składa się z: okręgu stanowiącego obrys; koła stanowiącego wypełnienie; oczuzłożonychzdwóchłuków (odcinków okręgu); ust wycinkakoła; nosa kuli,wystającejwtrzeci wymiar. (por. program wprawki03.c). To,żenosjestkuląaniekołem,uwidocznisię,kiedybędziemymoglispojrzećnabuźkęzboku.
60 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 12 Jeśli niczego nie zażądamy na rysunku zostanie przedstawiona zawartość sześcianu [ 1..1] [ 1..1] [ 1..1] obraz będzie przedstawiony z punktu widzenia obserwatora na osi z, patrzącego w kierunku od plusów do minusów
61 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 12 Jeśli niczego nie zażądamy, to: na rysunku zostanie przedstawiona zawartość sześcianu [ 1..1] [ 1..1] [ 1..1] obraz będzie przedstawiony z punktu widzenia obserwatora na osi z, patrzącego w kierunku od plusów do minusów y x z
62 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 12 Jeśli niczego nie zażądamy, to: na rysunku zostanie przedstawiona zawartość sześcianu [ 1..1] [ 1..1] [ 1..1] obraz będzie przedstawiony z punktu widzenia obserwatora na osi z, patrzącego w kierunku od plusów do minusów y x z
63 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 12 Jeśli niczego nie zażądamy, to: na rysunku zostanie przedstawiona zawartość sześcianu [ 1..1] [ 1..1] [ 1..1] obraz będzie przedstawiony z punktu widzenia obserwatora na osi z, patrzącego w kierunku od plusów do minusów y x z czyli tak: (por. program wprawki04.c).
64 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 13 Zmiany zakresu sceny dokonuje funkcja glortho(x,x +,y,y +,z,z + ) x x x + y y y + z + z z y x z
65 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 13 Zmiany zakresu sceny dokonuje funkcja glortho(x,x +,y,y +,z,z + ): x x x + y y y + z + z z y x z
66 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 13 Zmiany zakresu sceny dokonuje funkcja glortho(x,x +,y,y +,z,z + ): x x x + y y y + z + z z Przykład: M glortho(-2,2,-2,2,-2,2) y x z
67 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 13 Zmiany zakresu sceny dokonuje funkcja glortho(x,x +,y,y +,z,z + ): x x x + y y y + z + z z y x z Przykład: M glortho(-2,2,-2,2,-2,2): glortho(-1,1,-2,2,-1,1) (por. program wprawki05.c)
68 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 13 Zmiany zakresu sceny dokonuje funkcja glortho(x,x +,y,y +,z,z + ): x x x + y y y + z + z z y x z Przykład: M glortho(-2,2,-2,2,-2,2): glortho(-1,1,-2,2,-1,1): (por. program wprawki05.c) (por. program wprawki06.c)
69 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 14 Zmiany zakresu sceny dokonuje funkcja glortho(x,x +,y,y +,z,z + ): x x x + y y y + z + z z Przykład: M glortho(0,2,-1,1,-1,1) y x z
70 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 14 Zmiany zakresu sceny dokonuje funkcja glortho(x,x +,y,y +,z,z + ): x x x + y y y + z + z z Przykład: M glortho(0,2,-1,1,-1,1): y glortho(-1,1,-1,1, 1,2) x z (por. program wprawki07.c)
71 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 14 Zmiany zakresu sceny dokonuje funkcja glortho(x,x +,y,y +,z,z + ): x x x + y y y + z + z z y x z Przykład: M glortho(0,2,-1,1,-1,1): glortho(-1,1,-1,1, 1,2): (por. program wprawki07.c) (por. program wprawki08.c)
72 Co widzimy na rysunku? Zmiany punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 15
73 Co widzimy na rysunku? Zmiany punktu widzenia dokonuje funkcja glulookat(oko x,oko y,oko z, centrum x,centrum y,centrum z, góra x,góra y,góra z ) Wykład 12. Wprowadzenie do malarstwa, str. 15
74 Co widzimy na rysunku? Zmiany punktu widzenia dokonuje funkcja glulookat(oko x,oko y,oko z, centrum x,centrum y,centrum z, góra x,góra y,góra z ): Wykład 12. Wprowadzenie do malarstwa, str. 15 oko= oko x,oko y,oko z punkt,wktórymustawionajest kamera
75 Co widzimy na rysunku? Zmiany punktu widzenia dokonuje funkcja glulookat(oko x,oko y,oko z, centrum x,centrum y,centrum z, góra x,góra y,góra z ): Wykład 12. Wprowadzenie do malarstwa, str. 15 oko= oko x,oko y,oko z punkt,wktórymustawionajest kamera, centrum= centrum x,centrum y,centrum z punkt,naktórypatrzy
76 Co widzimy na rysunku? Zmiany punktu widzenia dokonuje funkcja glulookat(oko x,oko y,oko z, centrum x,centrum y,centrum z, góra x,góra y,góra z ): Wykład 12. Wprowadzenie do malarstwa, str. 15 oko= oko x,oko y,oko z punkt,wktórymustawionajest kamera, centrum= centrum x,centrum y,centrum z punkt,naktórypatrzy Jeszcze trzeba powiedzieć, jak kamera jest przekręcona
77 Co widzimy na rysunku? Zmiany punktu widzenia dokonuje funkcja glulookat(oko x,oko y,oko z, centrum x,centrum y,centrum z, góra x,góra y,góra z ): Wykład 12. Wprowadzenie do malarstwa, str. 15 oko= oko x,oko y,oko z punkt,wktórymustawionajest kamera, centrum= centrum x,centrum y,centrum z punkt,naktórypatrzy Jeszcze trzeba powiedzieć, jak kamera jest przekręcona:......
78 Co widzimy na rysunku? Zmiany punktu widzenia dokonuje funkcja glulookat(oko x,oko y,oko z, centrum x,centrum y,centrum z, góra x,góra y,góra z ): Wykład 12. Wprowadzenie do malarstwa, str. 15 oko= oko x,oko y,oko z punkt,wktórymustawionajest kamera, centrum= centrum x,centrum y,centrum z punkt,naktórypatrzy Jeszcze trzeba powiedzieć, jak kamera jest przekręcona:......
79 Co widzimy na rysunku? Zmiany punktu widzenia dokonuje funkcja glulookat(oko x,oko y,oko z, centrum x,centrum y,centrum z, góra x,góra y,góra z ): Wykład 12. Wprowadzenie do malarstwa, str. 15 oko= oko x,oko y,oko z punkt,wktórymustawionajest kamera, centrum= centrum x,centrum y,centrum z punkt,naktórypatrzy Jeszcze trzeba powiedzieć, jak kamera jest przekręcona: góra= góra x,góra y,góra z wektornarysunkuskierowanywgórę
80 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 16 Przykład: M glulookat(-0.6,0.7,1, 0,0,0,0,1,0); -0.6 przesunięcie kamery w lewo 0.7 przesunięcie kamery w górę 0,0,0 skierowanie na środek 0,1,0 osiąykugórze (por. program wprawki09.c) y x z
81 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 16 Przykład: M glulookat(-0.6,0.7,1, 0,0,0,0,1,0); -0.6 przesunięcie kamery w lewo 0.7 przesunięcie kamery w górę 0,0,0 skierowanie na środek 0,1,0 osiąykugórze (por. program wprawki09.c) y x z
82 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 16 Przykład: M glulookat(-0.6,0.7,1, 0,0,0,0,1,0); -0.6 przesunięcie kamery w lewo 0.7 przesunięcie kamery w górę 0,0,0 skierowanie na środek 0,1,0 osiąykugórze (por. program wprawki09.c) y x.. z....
83 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 16 Przykład: M glulookat(-0.6,0.7,1, 0,0,0,0,1,0); -0.6 przesunięcie kamery w lewo 0.7 przesunięcie kamery w górę 0,0,0 skierowanie na środek 0,1,0 osiąykugórze (por. program wprawki09.c) y x.. z....
84 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 16 Przykład: M glulookat(-0.6,0.7,1, 0,0,0,0,1,0); -0.6 przesunięcie kamery w lewo 0.7 przesunięcie kamery w górę 0,0,0 skierowanie na środek 0,1,0 osiąykugórze (por. program wprawki09.c) y x.. z....
85 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 16 Przykład: M glulookat(-0.6,0.7,1, 0,0,0,0,1,0); -0.6 przesunięcie kamery w lewo 0.7 przesunięcie kamery w górę 0,0,0 skierowanie na środek 0,1,0 osiąykugórze (por. program wprawki09.c) y x.. z....
86 Co widzimy na rysunku? Wykład 12. Wprowadzenie do malarstwa, str. 16 Przykład: M glulookat(-0.6,0.7,1, 0,0,0,0,1,0); -0.6 przesunięcie kamery w lewo 0.7 przesunięcie kamery w górę 0,0,0 skierowanie na środek 0,1,0 osiąykugórze (por. program wprawki09.c) y x.. z....
87 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 17 glulookat(gdzie jest oko, na co patrzy, co przedstawić na górze)
88 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 17 glulookat(gdzie jest oko, na co patrzy, co przedstawić na górze) Standardowo OpenGL patrzy odstronydodatniejpółosiz
89 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 17 glulookat(gdzie jest oko, na co patrzy, co przedstawić na górze) Standardowo OpenGL patrzy odstronydodatniejpółosiz w kierunku punktu jej ujemnych wartości
90 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 17 glulookat(gdzie jest oko, na co patrzy, co przedstawić na górze) Standardowo OpenGL patrzy odstronydodatniejpółosiz w kierunku punktu jej ujemnych wartości tak, żeby dodatnia półoś y wskazywała w górę rysunku.
91 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 17 glulookat(gdzie jest oko, na co patrzy, co przedstawić na górze) Standardowo OpenGL patrzy odstronydodatniejpółosiz w kierunku punktu jej ujemnych wartości tak, żeby dodatnia półoś y wskazywała w górę rysunku. Możemy to zmienić przez użycie funkcji glulookat
92 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 17 glulookat(gdzie jest oko, na co patrzy, co przedstawić na górze) Standardowo OpenGL patrzy odstronydodatniejpółosiz w kierunku punktu jej ujemnych wartości tak, żeby dodatnia półoś y wskazywała w górę rysunku. Możemy to zmienić przez użycie funkcji glulookat: pierwsze trzy argumenty współrzędne oka
93 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 17 glulookat(gdzie jest oko, na co patrzy, co przedstawić na górze) Standardowo OpenGL patrzy odstronydodatniejpółosiz w kierunku punktu jej ujemnych wartości tak, żeby dodatnia półoś y wskazywała w górę rysunku. Możemy to zmienić przez użycie funkcji glulookat: pierwsze trzy argumenty współrzędne oka; następne trzy argumenty współrzędne punktu, na który patrzymy
94 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 17 glulookat(gdzie jest oko, na co patrzy, co przedstawić na górze) Standardowo OpenGL patrzy odstronydodatniejpółosiz w kierunku punktu jej ujemnych wartości tak, żeby dodatnia półoś y wskazywała w górę rysunku. Możemy to zmienić przez użycie funkcji glulookat: pierwsze trzy argumenty współrzędne oka; następne trzy argumenty współrzędne punktu, na który patrzymy; ostatnie trzy argumenty kierunek w górę obrazka.
95 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 17 glulookat(gdzie jest oko, na co patrzy, co przedstawić na górze) Standardowo OpenGL patrzy odstronydodatniejpółosiz w kierunku punktu jej ujemnych wartości tak, żeby dodatnia półoś y wskazywała w górę rysunku. Możemy to zmienić przez użycie funkcji glulookat: pierwsze trzy argumenty współrzędne oka; następne trzy argumenty współrzędne punktu, na który patrzymy; ostatnie trzy argumenty kierunek w górę obrazka. Uwaga: Użycie funkcji glulookat powoduje zmianę ustawienia w przestrzeni(obrót) przedstawianego obiektu.
96 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 17 glulookat(gdzie jest oko, na co patrzy, co przedstawić na górze) Standardowo OpenGL patrzy odstronydodatniejpółosiz w kierunku punktu jej ujemnych wartości tak, żeby dodatnia półoś y wskazywała w górę rysunku. Możemy to zmienić przez użycie funkcji glulookat: pierwsze trzy argumenty współrzędne oka; następne trzy argumenty współrzędne punktu, na który patrzymy; ostatnie trzy argumenty kierunek w górę obrazka. Uwaga: Użycie funkcji glulookat powoduje zmianę ustawienia w przestrzeni(obrót) przedstawianego obiektu. W wyniku tej zmiany może on przestać się mieścić w prostopadłościanie, wyznaczonym przez funkcję glortho.
97 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 17 glulookat(gdzie jest oko, na co patrzy, co przedstawić na górze) Standardowo OpenGL patrzy odstronydodatniejpółosiz w kierunku punktu jej ujemnych wartości tak, żeby dodatnia półoś y wskazywała w górę rysunku. Możemy to zmienić przez użycie funkcji glulookat: pierwsze trzy argumenty współrzędne oka; następne trzy argumenty współrzędne punktu, na który patrzymy; ostatnie trzy argumenty kierunek w górę obrazka. Uwaga: Użycie funkcji glulookat powoduje zmianę ustawienia w przestrzeni(obrót) przedstawianego obiektu. W wyniku tej zmiany może on przestać się mieścić w prostopadłościanie, wyznaczonym przez funkcję glortho. Dwukrotne zastosowanie funkcji glulookat powoduje dalszy obrót(por. program wprawki10.c).
98 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 18 Standardowy punkt widzenia
99 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 18 Standardowy punkt widzenia Punkt widzenia po glulookat(3,0,1, 0,0,0, 0,1,0);
100 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 18 Standardowy punkt widzenia Punkt widzenia po glulookat(3,0,1, 0,0,0, 0,1,0); okonapłaszczyźniexz,bardzozprawej
101 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 18 Standardowy punkt widzenia Punkt widzenia po glulookat(3,0,1, 0,0,0, 0,1,0); okonapłaszczyźniexz,bardzozprawej centrum sceny w początku układu współrzędnych
102 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 18 Standardowy punkt widzenia Punkt widzenia po glulookat(3,0,1, 0,0,0, 0,1,0); okonapłaszczyźniexz,bardzozprawej centrum sceny w początku układu współrzędnych, ośypatrzywgórę.
103 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 18 Standardowy punkt widzenia Punkt widzenia po glulookat(3,0,1, 0,0,0, 0,1,0); okonapłaszczyźniexz,bardzozprawej centrum sceny w początku układu współrzędnych, ośypatrzywgórę. (por. program wprawki11.c).
104 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 19 OpenGL transformuje kierunki rzutowania(również oświetlenie itp.) przy pomocy rachunku macierzowego. Zmianie punktu widzenia odpowiada przekształcenie obrazu, polegające na pomnożeniu przez odpowiednią macierz.
105 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 19 OpenGL transformuje kierunki rzutowania(również oświetlenie itp.) przy pomocy rachunku macierzowego. Zmianie punktu widzenia odpowiada przekształcenie obrazu, polegające na pomnożeniu przez odpowiednią macierz. Polecenie ustalenia rzutu(np. równoległego) w funkcji odpowiedzialnej za geometrię należy poprzedzić informacją, że będziemy zmieniać macierz odpowiedzialną za perspektywę i że początkowo ma to być macierz jednostkowa
106 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 19 OpenGL transformuje kierunki rzutowania(również oświetlenie itp.) przy pomocy rachunku macierzowego. Zmianie punktu widzenia odpowiada przekształcenie obrazu, polegające na pomnożeniu przez odpowiednią macierz. Polecenie ustalenia rzutu(np. równoległego) w funkcji odpowiedzialnej za geometrię należy poprzedzić informacją, że będziemy zmieniać macierz odpowiedzialną za perspektywę i że początkowo ma to być macierz jednostkowa: voidgeom(intw,inth) { glmatrixmode(gl PROJECTION); glloadidentity(); glortho(-20, 20,-15, 15,-25, 25); }
107 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 20 OpenGL transformuje kierunki rzutowania(również oświetlenie itp.) przy pomocy rachunku macierzowego. Zmianie punktu widzenia odpowiada przekształcenie obrazu, polegające na pomnożeniu przez odpowiednią macierz. Polecenie ustalenia punktu widzenia w funkcji odpowiedzialnej za wyswietlanie należy poprzedzić informacją, że będziemy zmieniać macierz odpowiedzialną za widok modelu, oraz że początkowo ma to być macierz jednostkowa
108 Zmiana punktu widzenia Wykład 12. Wprowadzenie do malarstwa, str. 20 OpenGL transformuje kierunki rzutowania(również oświetlenie itp.) przy pomocy rachunku macierzowego. Zmianie punktu widzenia odpowiada przekształcenie obrazu, polegające na pomnożeniu przez odpowiednią macierz. Polecenie ustalenia punktu widzenia w funkcji odpowiedzialnej za wyswietlanie należy poprzedzić informacją, że będziemy zmieniać macierz odpowiedzialną za widok modelu, oraz że początkowo ma to być macierz jednostkowa: void wyswietl(void) { glclear(gl COLOR BUFFER BIT); glmatrixmode(gl MODELVIEW); glloadidentity(); glulookat(3,0,1, 0,0,0, 0,1,0); twarz(); glflush(); }
109 Wykład 12. Wprowadzenie do malarstwa, str. 21 Film ruchomy(ale ciągle niemy) Jak wyświetlać różniące się obrazki jeden za drugim, żeby uzyskać efekt ruchu?
110 Wykład 12. Wprowadzenie do malarstwa, str. 21 Film ruchomy(ale ciągle niemy) Jak wyświetlać różniące się obrazki jeden za drugim, żeby uzyskać efekt ruchu? funkcji wyświetlającej zabrać odpowiedzialność za punkt widzenia: void wyswietl(void) { glclear(gl COLOR BUFFER BIT); glmatrixmode(gl MODELVIEW); glloadidentity(); glulookat(3,0,1, 0,0,0, 0,1,0); twarz(); glflush(); }
111 Wykład 12. Wprowadzenie do malarstwa, str. 21 Film ruchomy(ale ciągle niemy) Jak wyświetlać różniące się obrazki jeden za drugim, żeby uzyskać efekt ruchu? funkcji wyświetlającej zabrać odpowiedzialność za punkt widzenia: void wyswietl(void) { glclear(gl COLOR BUFFER BIT); glmatrixmode(gl MODELVIEW); glloadidentity(); glulookat(3,0,1, 0,0,0, 0,1,0); twarz(); glflush(); } (ale pozostawić zbudowanie początkowego obrazka).
112 Wykład 12. Wprowadzenie do malarstwa, str. 21 Film ruchomy(ale ciągle niemy) Jak wyświetlać różniące się obrazki jeden za drugim, żeby uzyskać efekt ruchu? funkcji wyświetlającej zabrać odpowiedzialność za punkt widzenia: void wyswietl(void) { glclear(gl COLOR BUFFER BIT); glmatrixmode(gl MODELVIEW); glloadidentity(); glulookat(3,0,1, 0,0,0, 0,1,0); twarz(); glflush(); } (ale pozostawić zbudowanie początkowego obrazka). dodatkowej funkcji powierzyć modyfikacje obrazka; np. co ustalony czas; albo co kliknięcie myszą.
113 Wykład 12. Wprowadzenie do malarstwa, str. 22 Film ruchomy(ale ciągle niemy) W części main umieścić informację, że będzie używany czasomierz: gluttimerfunc(15, timer, 0); zwłoka w milisekundach funkcja czasomierza parametr dla fkcji czasomierza
114 Wykład 12. Wprowadzenie do malarstwa, str. 22 Film ruchomy(ale ciągle niemy) W części main umieścić informację, że będzie używany czasomierz: gluttimerfunc(15, timer, 0); zwłoka w milisekundach Zdefiniować zmiany w obrazku: funkcja czasomierza parametr dla fkcji czasomierza void timer(int v) { staticdoublealfa=0; alfa+=katobrotu; if(alfa>=2*mpi)alfa-=2*mpi; glmatrixmode(gl MODELVIEW); glloadidentity(); glulookat(20*cos(alfa), 7, 20*sin(alfa), 0,0,0, 0,1,0); glutpostredisplay(); gluttimerfunc(15, timer, v); }
115 Wykład 12. Wprowadzenie do malarstwa, str. 22 Film ruchomy(ale ciągle niemy) W części main umieścić informację, że będzie używany czasomierz: gluttimerfunc(15, timer, 0); zwłoka w milisekundach Zdefiniować zmiany w obrazku: funkcja czasomierza parametr dla fkcji czasomierza void timer(int v) { staticdoublealfa=0; alfa+=katobrotu; if(alfa>=2*mpi)alfa-=2*mpi; glmatrixmode(gl MODELVIEW); glloadidentity(); glulookat(20*cos(alfa), 7, 20*sin(alfa), 0,0,0, 0,1,0); glutpostredisplay(); gluttimerfunc(15, timer, v); } obrótwokółosiy
116 Wykład 12. Wprowadzenie do malarstwa, str. 22 Film ruchomy(ale ciągle niemy) W części main umieścić informację, że będzie używany czasomierz: gluttimerfunc(15, timer, 0); zwłoka w milisekundach Zdefiniować zmiany w obrazku: funkcja czasomierza parametr dla fkcji czasomierza void timer(int v) { staticdoublealfa=0; alfa+=katobrotu; if(alfa>=2*mpi)alfa-=2*mpi; glmatrixmode(gl MODELVIEW); glloadidentity(); glulookat(20*cos(alfa), 7, 20*sin(alfa), 0,0,0, 0,1,0); glutpostredisplay(); gluttimerfunc(15, timer, v); } (por. program wprawki12.c). obrótwokółosiy
117 Dlaczego nos wędruje? Wykład 12. Wprowadzenie do malarstwa, str. 23 Fragmenty obrazka narysowane później zakrywają fragmenty narysowane wcześniej. Nos był narysowany na końcu, dlatego jest stale na wierzchu. Jak to leczyć?
118 Dlaczego nos wędruje? Wykład 12. Wprowadzenie do malarstwa, str. 23 Fragmenty obrazka narysowane później zakrywają fragmenty narysowane wcześniej. Nos był narysowany na końcu, dlatego jest stale na wierzchu. Jak to leczyć?
119 Dlaczego nos wędruje? Wykład 12. Wprowadzenie do malarstwa, str. 23 Fragmenty obrazka narysowane później zakrywają fragmenty narysowane wcześniej. Nos był narysowany na końcu, dlatego jest stale na wierzchu. Jak to leczyć?
120 Dlaczego nos wędruje? Wykład 12. Wprowadzenie do malarstwa, str. 23 Fragmenty obrazka narysowane później zakrywają fragmenty narysowane wcześniej. Nos był narysowany na końcu, dlatego jest stale na wierzchu. Jak to leczyć?
121 Dlaczego nos wędruje? Wykład 12. Wprowadzenie do malarstwa, str. 23 Fragmenty obrazka narysowane później zakrywają fragmenty narysowane wcześniej. Nos był narysowany na końcu, dlatego jest stale na wierzchu. Jak to leczyć? Sprawdzanie głębokości OpenGL może sprawdzać odległość elementów sceny od obserwatora i nie rysować dalszych, zasłoniętych przez bliższe.
122 Dlaczego nos wędruje? Wykład 12. Wprowadzenie do malarstwa, str. 23 Fragmenty obrazka narysowane później zakrywają fragmenty narysowane wcześniej. Nos był narysowany na końcu, dlatego jest stale na wierzchu. Jak to leczyć? Sprawdzanie głębokości OpenGL może sprawdzać odległość elementów sceny od obserwatora i nie rysować dalszych, zasłoniętych przez bliższe. W części main: glenable(gl DEPTH TEST); W funkcji wyświetlającej: glclear(gl DEPTH BUFFER BIT);
123 Dlaczego nos wędruje? Wykład 12. Wprowadzenie do malarstwa, str. 23 Fragmenty obrazka narysowane później zakrywają fragmenty narysowane wcześniej. Nos był narysowany na końcu, dlatego jest stale na wierzchu. Jak to leczyć? Sprawdzanie głębokości OpenGL może sprawdzać odległość elementów sceny od obserwatora i nie rysować dalszych, zasłoniętych przez bliższe. W części main: glenable(gl DEPTH TEST); W funkcji wyświetlającej: glclear(gl DEPTH BUFFER BIT);
124 Dlaczego nos wędruje? Wykład 12. Wprowadzenie do malarstwa, str. 23 Fragmenty obrazka narysowane później zakrywają fragmenty narysowane wcześniej. Nos był narysowany na końcu, dlatego jest stale na wierzchu. Jak to leczyć? Sprawdzanie głębokości OpenGL może sprawdzać odległość elementów sceny od obserwatora i nie rysować dalszych, zasłoniętych przez bliższe. W części main: glenable(gl DEPTH TEST); (por. program wprawki13.c). W funkcji wyświetlającej: glclear(gl DEPTH BUFFER BIT);
125 Zasłanianie dlaczego miga?! Wykład 12. Wprowadzenie do malarstwa, str. 24 Dwa wielokąty wypełnienie buzki i usta są narysowane w tej samej płaszczyźnie, więc OpenGL nie wie, który powinien zasłaniać który. Jak to leczyć?
126 Zasłanianie dlaczego miga?! Wykład 12. Wprowadzenie do malarstwa, str. 24 Dwa wielokąty wypełnienie buzki i usta są narysowane w tej samej płaszczyźnie, więc OpenGL nie wie, który powinien zasłaniać który. Jak to leczyć?
127 Zasłanianie dlaczego miga?! Wykład 12. Wprowadzenie do malarstwa, str. 24 Dwa wielokąty wypełnienie buzki i usta są narysowane w tej samej płaszczyźnie, więc OpenGL nie wie, który powinien zasłaniać który. Jak to leczyć?
128 Zasłanianie dlaczego miga?! Wykład 12. Wprowadzenie do malarstwa, str. 24 Dwa wielokąty wypełnienie buzki i usta są narysowane w tej samej płaszczyźnie, więc OpenGL nie wie, który powinien zasłaniać który. Jak to leczyć? Lekko przesunąć w przestrzeni jeden wielokąt, żeby uniknąć współpłaszczyznowości z drugim
129 Zasłanianie dlaczego miga?! Wykład 12. Wprowadzenie do malarstwa, str. 24 Dwa wielokąty wypełnienie buzki i usta są narysowane w tej samej płaszczyźnie, więc OpenGL nie wie, który powinien zasłaniać który. Jak to leczyć? Lekko przesunąć w przestrzeni jeden wielokąt, żeby uniknąć współpłaszczyznowości z drugim: glpushmatrix(); gltranslated(0, 0, 0.5); glbegin(gl POLYGON); odcinek okregu(1.414*4, 5*M PI/4, 7*M PI/4); glend(); glpopmatrix();
130 Zasłanianie dlaczego miga?! Wykład 12. Wprowadzenie do malarstwa, str. 24 Dwa wielokąty wypełnienie buzki i usta są narysowane w tej samej płaszczyźnie, więc OpenGL nie wie, który powinien zasłaniać który. Jak to leczyć? Lekko przesunąć w przestrzeni jeden wielokąt, żeby uniknąć współpłaszczyznowości z drugim: glpushmatrix(); gltranslated(0, 0, 0.5); glbegin(gl POLYGON); odcinek okregu(1.414*4, 5*M PI/4, 7*M PI/4); glend(); glpopmatrix(); (por. program wprawki14.c).
131 Więcej przestrzeni! Wykład 12. Wprowadzenie do malarstwa, str. 25 Drugiednoodtyłu glpushmatrix(); gltranslated(0, 0,-2); glcolor3d(czarn); //obrysbuzki... glcolor3d(szary); // wypelnienie buzki... glpopmatrix();
132 Więcej przestrzeni! Wykład 12. Wprowadzenie do malarstwa, str. 25 Drugiednoodtyłu korzyśćzprzesunięć: glpushmatrix(); gltranslated(0, 0,-2); glcolor3d(czarn); //obrysbuzki... glcolor3d(szary); // wypelnienie buzki... glpopmatrix();
133 Więcej przestrzeni! Wykład 12. Wprowadzenie do malarstwa, str. 25 Drugiednoodtyłu korzyśćzprzesunięć: glpushmatrix(); gltranslated(0, 0,-2); glcolor3d(czarn); //obrysbuzki... glcolor3d(szary); // wypelnienie buzki... glpopmatrix(); (por. program wprawki15.c).
134 Więcej przestrzeni! Wykład 12. Wprowadzenie do malarstwa, str. 25 Drugiednoodtyłu korzyśćzprzesunięć: glpushmatrix(); gltranslated(0, 0,-2); glcolor3d(czarn); //obrysbuzki... glcolor3d(szary); // wypelnienie buzki... glpopmatrix(); (por. program wprawki15.c). Zadanie domowe: Dorobić powierzchnię walcową między dwoma szarymi kołami, żeby zamknąć pudełko.
135 Więcej światła! Wykład 12. Wprowadzenie do malarstwa, str. 26 Bez właściwego oświetlenia nie widać przestrzenności: Ilustracja z (por. program wprawki16.c).
136 Więcej światła! Wykład 12. Wprowadzenie do malarstwa, str. 27 Ustawianie źródeł światła: glenable(gl LIGHTING); GLfloatswiatlomce[]={2,2,-1,0}; gllightfv(gl LIGHT0, GL POSITION, swiatlo mce); glenable(gl LIGHT0); glenable(gl COLOR MATERIAL);
137 Więcej światła! Wykład 12. Wprowadzenie do malarstwa, str. 27 Ustawianie źródeł światła: glenable(gl LIGHTING); GLfloatswiatlomce[]={2,2,-1,0}; gllightfv(gl LIGHT0, GL POSITION, swiatlo mce); glenable(gl LIGHT0); glenable(gl COLOR MATERIAL); Oświetlenie jest rzeczą skomplikowaną.
138 Więcej światła! Wykład 12. Wprowadzenie do malarstwa, str. 27 Ustawianie źródeł światła: glenable(gl LIGHTING); GLfloatswiatlomce[]={2,2,-1,0}; gllightfv(gl LIGHT0, GL POSITION, swiatlo mce); glenable(gl LIGHT0); glenable(gl COLOR MATERIAL); Oświetlenie jest rzeczą skomplikowaną. W OpenGL można ustawiać m.in. charakterystykę światła(kolor, rozproszenie itp.)
139 Więcej światła! Wykład 12. Wprowadzenie do malarstwa, str. 27 Ustawianie źródeł światła: glenable(gl LIGHTING); GLfloatswiatlomce[]={2,2,-1,0}; gllightfv(gl LIGHT0, GL POSITION, swiatlo mce); glenable(gl LIGHT0); glenable(gl COLOR MATERIAL); Oświetlenie jest rzeczą skomplikowaną. W OpenGL można ustawiać m.in. charakterystykę światła(kolor, rozproszenie itp.), geometrię powierzchni odbijającej(jak jest powyginana)
140 Więcej światła! Wykład 12. Wprowadzenie do malarstwa, str. 27 Ustawianie źródeł światła: glenable(gl LIGHTING); GLfloatswiatlomce[]={2,2,-1,0}; gllightfv(gl LIGHT0, GL POSITION, swiatlo mce); glenable(gl LIGHT0); glenable(gl COLOR MATERIAL); Oświetlenie jest rzeczą skomplikowaną. W OpenGL można ustawiać m.in. charakterystykę światła(kolor, rozproszenie itp.), geometrię powierzchni odbijającej(jak jest powyginana), charakterystykę powierzchni odbijającej(kolor, połysk, gładkość, itp.)
141 Więcej światła! Wykład 12. Wprowadzenie do malarstwa, str. 27 Ustawianie źródeł światła: glenable(gl LIGHTING); GLfloatswiatlomce[]={2,2,-1,0}; gllightfv(gl LIGHT0, GL POSITION, swiatlo mce); glenable(gl LIGHT0); glenable(gl COLOR MATERIAL); Oświetlenie jest rzeczą skomplikowaną. W OpenGL można ustawiać m.in. charakterystykę światła(kolor, rozproszenie itp.), geometrię powierzchni odbijającej(jak jest powyginana), charakterystykę powierzchni odbijającej(kolor, połysk, gładkość, itp.), osłabianie i rozmywanie światła przez odległość, mgłę itd.
142 Wykład 12. Wprowadzenie do malarstwa, str. 28 Skacząca piłeczka, czyli trochę fizyki (por. program wprawki17.c).
143 Wykład 12. Wprowadzenie do malarstwa, str. 28 Skacząca piłeczka, czyli trochę fizyki (por. program wprawki17.c). Ruch obiektów bez własnego napędu odbywa się pod wpływem sił. Jeśli Fjestsumą(wektorową!)siłdziałającychnapiłeczkę,mającąw chwilitprędkość vipołożenie r,to
144 Wykład 12. Wprowadzenie do malarstwa, str. 28 Skacząca piłeczka, czyli trochę fizyki (por. program wprawki17.c). Ruch obiektów bez własnego napędu odbywa się pod wpływem sił. Jeśli Fjestsumą(wektorową!)siłdziałającychnapiłeczkę,mającąw chwilitprędkość vipołożenie r,to
145 Wykład 12. Wprowadzenie do malarstwa, str. 28 Skacząca piłeczka, czyli trochę fizyki (por. program wprawki17.c). Ruch obiektów bez własnego napędu odbywa się pod wpływem sił. JeśliFjestsumą(wektorową!)siłdziałającychnapiłeczkę,mającąw chwilitprędkość vipołożenie r,to jejprędkośćwchwilit+ twyniesie v+ t F (m masa m piłeczki)
146 Wykład 12. Wprowadzenie do malarstwa, str. 28 Skacząca piłeczka, czyli trochę fizyki (por. program wprawki17.c). Ruch obiektów bez własnego napędu odbywa się pod wpływem sił. JeśliFjestsumą(wektorową!)siłdziałającychnapiłeczkę,mającąw chwilitprędkość vipołożenie r,to jejprędkośćwchwilit+ twyniesie v+ t F (m masa m piłeczki); jejpołożeniewchwilit+ twyniesie r+ t v+ t2 F. 2m
147 Wykład 12. Wprowadzenie do malarstwa, str. 28 Skacząca piłeczka, czyli trochę fizyki (por. program wprawki17.c). Ruch obiektów bez własnego napędu odbywa się pod wpływem sił. JeśliFjestsumą(wektorową!)siłdziałającychnapiłeczkę,mającąw chwilitprędkość vipołożenie r,to jejprędkośćwchwilit+ twyniesie v+ t F (m masa m piłeczki); jejpołożeniewchwilit+ twyniesie r+ t v+ t2 F. 2m Na piłeczkę działają dwie siły: grawitacja:m g=m 0, g,0,gdzieg 10 m s 2 jestprzyspieszeniem grawitacyjnym
148 Wykład 12. Wprowadzenie do malarstwa, str. 28 Skacząca piłeczka, czyli trochę fizyki (por. program wprawki17.c). Ruch obiektów bez własnego napędu odbywa się pod wpływem sił. JeśliFjestsumą(wektorową!)siłdziałającychnapiłeczkę,mającąw chwilitprędkość vipołożenie r,to jejprędkośćwchwilit+ twyniesie v+ t F (m masa m piłeczki); jejpołożeniewchwilit+ twyniesie r+ t v+ t2 F. 2m Na piłeczkę działają dwie siły: grawitacja:m g=m 0, g,0,gdzieg 10 m s 2 jestprzyspieszeniem grawitacyjnym; opór powietrza proporcjonalny do kwadratu prędkości i przeciwnieskierowany: ω v v.
149 Wykład 12. Wprowadzenie do malarstwa, str. 28 Skacząca piłeczka, czyli trochę fizyki (por. program wprawki17.c). Ruch obiektów bez własnego napędu odbywa się pod wpływem sił. JeśliFjestsumą(wektorową!)siłdziałającychnapiłeczkę,mającąw chwilitprędkość vipołożenie r,to jejprędkośćwchwilit+ twyniesie v+ t F (m masa m piłeczki); jejpołożeniewchwilit+ twyniesie r+ t v+ t2 F. 2m Na piłeczkę działają dwie siły: grawitacja:m g=m 0, g,0,gdzieg 10 m s 2 jestprzyspieszeniem grawitacyjnym; opór powietrza proporcjonalny do kwadratu prędkości i przeciwnieskierowany: ω v v. Odbicie: kiedy piłeczka dotknie podłogi(czyli jej y będzie mniejszy od promienia), to pionowa składowa prędkości zmieni się na przeciwną.
Wykł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ółowoWykład 10. Wprowadzene do malarstwa, str. 1 OpenGL Open Graphics Library. OpenGL składa się z
Wykład 10. Wprowadzene 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ół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ół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ół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ół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ółowoWprowadzenie 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ół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ół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ółowoTemat: 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ółowoTró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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ółowoAUTOCAD teoria i zadania z podstaw rysowania Rysowanie linii, prostej, półprostej, punktu, trasy, polilinii. Zadania geodezyjne.
AUTOCAD teoria i zadania z podstaw rysowania Rysowanie linii, prostej, półprostej, punktu, trasy, polilinii. Zadania geodezyjne. RYSOWANIE 2D Polecenie LINIA Polecenie LINIA tworzy linię, której punkty
Bardziej szczegółowoTechniki wstawiania tabel
Tabele w Wordzie Tabela w Wordzie to uporządkowany układ komórek w postaci wierszy i kolumn, w które może być wpisywany tekst lub grafika. Każda komórka może być formatowana oddzielnie. Możemy wyrównywać
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ół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ółowoĆwiczenie nr 5 Zautomatyzowane tworzenie dokumentacji
Ćwiczenie nr 5 Zautomatyzowane tworzenie dokumentacji technicznej Od wersji 2013 programu AutoCAD istnieje możliwość wykonywania pełnej dokumentacji technicznej dla obiektów 3D tj. wykonywanie rzutu bazowego
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ółowoINSTRUKCJA 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ół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ółowonarzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania.
Elementy programu Paint Aby otworzyć program Paint, należy kliknąć przycisk Start i Paint., Wszystkie programy, Akcesoria Po uruchomieniu programu Paint jest wyświetlane okno, które jest w większej części
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ół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ółowoPlan 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ółowoProgramowanie: grafika w SciLab Slajd 1. Programowanie: grafika w SciLab
Programowanie: grafika w SciLab Slajd 1 Programowanie: grafika w SciLab Programowanie: grafika w SciLab Slajd 2 Plan zajęć 1. Wprowadzenie 2. Wykresy 2-D 3. Wykresy 3-D 4. Rysowanie figur geometrycznych
Bardziej szczegółowoRys.1. Uaktywnianie pasków narzędzi. żądanych pasków narzędziowych. a) Modelowanie części: (standardowo widoczny po prawej stronie Przeglądarki MDT)
Procesy i techniki produkcyjne Instytut Informatyki i Zarządzania Produkcją Wydział Mechaniczny Ćwiczenie 3 (1) Zasady budowy bibliotek parametrycznych Cel ćwiczenia: Celem tego zestawu ćwiczeń 3.1, 3.2
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ół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ółowoO czym należy pamiętać?
O czym należy pamiętać? Podczas pracy na płaszczyźnie możliwe jest wprowadzanie współrzędnych punktów w następujących układach: - układ współrzędnych kartezjańskich: x, y służy do rysowania odcinków o
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ółowo1. Wybierz polecenie rysowania linii, np. poprzez kliknięcie ikony W wierszu poleceń pojawi się pytanie o punkt początkowy rysowanej linii:
Uruchom program AutoCAD 2012. Utwórz nowy plik wykorzystując szablon acadiso.dwt. 2 Linia Odcinek linii prostej jest jednym z podstawowych elementów wykorzystywanych podczas tworzenia rysunku. Funkcję
Bardziej szczegółowoPrzykład 1 wałek MegaCAD 2005 2D przykład 1 Jest to prosty rysunek wałka z wymiarowaniem. Założenia: 1) Rysunek z branży mechanicznej; 2) Opracowanie w odpowiednim systemie warstw i grup; Wykonanie 1)
Bardziej szczegółowoINSTYTUT INFORMATYKI STOSOWANEJ MODELOWANIE CZĘŚCI Z WYKORZYSTANIEM PROGRAMU SOLID EDGE
INSTYTUT INFORMATYKI STOSOWANEJ MODELOWANIE CZĘŚCI Z WYKORZYSTANIEM PROGRAMU SOLID EDGE Łódź 2012 1 Program Solid Edge ST (Synchronous Technology) umożliwia projektowanie urządzeń technicznych w środowisku
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ółowoRYSUNEK TECHNICZNY I GEOMETRIA WYKREŚLNA INSTRUKCJA DOM Z DRABINĄ I KOMINEM W 2D
Politechnika Białostocka Wydział Budownictwa i Inżynierii Środowiska Zakład Informacji Przestrzennej Inżynieria Środowiska INSTRUKCJA KOMPUTEROWA z Rysunku technicznego i geometrii wykreślnej RYSUNEK TECHNICZNY
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ółowoOpenGL oświetlenie. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska
OpenGL oświetlenie Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2017 Bogdan Kreczmer Niniejszy dokument zawiera
Bardziej szczegółowoTworzenie dokumentacji 2D
Tworzenie dokumentacji 2D Tworzenie dokumentacji technicznej 2D dotyczy określonej części (detalu), uprzednio wykonanej w przestrzeni trójwymiarowej. Tworzenie rysunku 2D rozpoczynamy wybierając z menu
Bardziej szczegółowoGrafika 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ółowoOpenGL 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ół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ółowoJęzyki formalne i automaty Ćwiczenia 5
Języki formalne i automaty Ćwiczenia 5 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 L-systemy... 2 Grafika żółwia... 2 Bibliografia... 5 Zadania... 6 Zadania na 3.0... 6 Zadania
Bardziej szczegółowoPłaszczyzny, Obrót, Szyk
Płaszczyzny, Obrót, Szyk Zagadnienia. Szyk kołowy, tworzenie brył przez Obrót. Geometria odniesienia, Płaszczyzna. Wykonajmy model jak na rys. 1. Wykonanie korpusu pokrywki Rysunek 1. Model pokrywki (1)
Bardziej szczegółowo4. Rysowanie krzywych
1. Operator plot y x \begin{tikzpicture} \draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$}; \draw[->] (0,-1.2) -- (0,4.2) node[above] {$y$}; \draw (3,4) -- (3,3) plot coordinates{(2,3) (3,0) (4,3)}; \end{tikzpicture}
Bardziej szczegółowoSimba 3D LOGO. Cele zajęć: - Poznanie zasad i sposobów tworzenia procedur z parametrami. - Poznanie zasad wywoływania procedur z parametrami.
Simba 3D LOGO Scenariusz lekcji Dokument zawiera cykl proponowanych scenariuszy lekcji z wykorzystaniem programu dydaktycznego Simba 3D LOGO. Program ten oparty jest na edukacyjnym języku programowania
Bardziej szczegółowoSpora część kodu programu jest dla nas nieprzydatna. Dokonaj zmian tak, aby kod miał postać:
Temat 8: Rodzaje kamery. Ustawienia kamery. Animacja ruchu kamery. Aby prześledzić różne możliwości zastosowania kamery zbudujemy najpierw jakąś ciekawą scenę. Ćwiczenie 053 Otwórz nowy plik. Z menu programu
Bardziej szczegółowo1. OPEN OFFICE RYSUNKI
1. 1 1. OPEN OFFICE RYSUNKI 1.1 Wiadomości podstawowe Po uruchomieniu programu Draw okno aplikacji wygląda jak na poniższym rysunku. Składa się ono z głównego okna, w którym edytuje się rysunek oraz czterech
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ół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ółowoProjektowanie 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ółowoaksonometrie trójosiowe odmierzalne odwzorowania na płaszczyźnie
aksonometrie trójosiowe odmierzalne odwzorowania na płaszczyźnie Przykładowy rzut (od lewej) izometryczny, dimetryczny ukośny i dimetryczny prostokątny Podział aksonometrii ze względu na kierunek rzutowania:
Bardziej szczegółowoPolitechnika 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(1,10) (1,7) (5,5) (5,4) (2,1) (0,0) Grafika 3D program POV-Ray - 73 -
Temat 10: Tworzenie brył obrotowych poprzez obrót krzywych (lathe). W poprzednim temacie wymodelowaliśmy kieliszek obracając krzywą Beziera wokół osi Y. Zastosowaliśmy w tym celu polecenie lathe. Krzywa
Bardziej szczegółowoWstęp Pierwsze kroki Pierwszy rysunek Podstawowe obiekty Współrzędne punktów Oglądanie rysunku...
Wstęp... 5 Pierwsze kroki... 7 Pierwszy rysunek... 15 Podstawowe obiekty... 23 Współrzędne punktów... 49 Oglądanie rysunku... 69 Punkty charakterystyczne... 83 System pomocy... 95 Modyfikacje obiektów...
Bardziej szczegółowoRZUTOWANIE PROSTOKĄTNE
RZUTOWANIE PROSTOKĄTNE wg PN-EN ISO 5456-2 rzutowanie prostokątne (przedstawienie prostokątne) stanowi odwzorowanie geometrycznej postaci konstrukcji w postaci rysunków dwuwymiarowych. Jest to taki rodzaj
Bardziej szczegółowoĆ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ółowoCel ćwiczenia: Celem ćwiczenia jest nabranie wprawy w rysowaniu kół i okręgów o zadanych rozmiarach.
Cel ćwiczenia: Celem ćwiczenia jest nabranie wprawy w rysowaniu kół i okręgów o zadanych rozmiarach. Dodatkowo w zadaniu tym, ćwiczone są umiejętności w nadawaniu kolorów wypełnienia i obrysu oraz w używaniu
Bardziej szczegółowoProjekt połowicznej, prostej endoprotezy stawu biodrowego w programie SOLIDWorks.
1 Projekt połowicznej, prostej endoprotezy stawu biodrowego w programie SOLIDWorks. Rysunek. Widok projektowanej endoprotezy według normy z wymiarami charakterystycznymi. 2 3 Rysunek. Ilustracje pomocnicze
Bardziej szczegółowoGrafika i komunikacja człowiek komputer Laboratorium. Część 2: Graphics
UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI Opracował: mgr inż. Przemysław Pardel, dr hab. Bogdan Kwolek v1.01 2010 Grafika i komunikacja człowiek komputer Laboratorium Część 2: Graphics ZAGADNIENIA DO
Bardziej szczegółowoRys. 1. Rozpoczynamy rysunek pojedynczej części
Inventor cw1 Otwieramy nowy rysunek typu Inventor Part (ipt) pojedyncza część. Wykonujemy to następującym algorytmem, rys. 1: 1. Na wstędze Rozpocznij klikamy nowy 2. W oknie dialogowym Nowy plik klikamy
Bardziej szczegółowoZadanie I. 2. Gdzie w przestrzeni usytuowane są punkty (w której ćwiartce leży dany punkt): F x E' E''
GEOMETRIA WYKREŚLNA ĆWICZENIA ZESTAW I Rok akademicki 2012/2013 Zadanie I. 1. Według podanych współrzędnych punktów wykreślić je w przestrzeni (na jednym rysunku aksonometrycznym) i określić, gdzie w przestrzeni
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 Zagadnienia Jak rozumiemy fotorealizm w grafice komputerowej Historyczny rozwój kart graficznych Przekształcenia
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ółowoArchitektura interfejsu użytkownika
Uniwersytet Jagielloński Interfejsy graficzne Wykład 3 Architektura interfejsu użytkownika Barbara Strug 2011 Hall of shame Hall of Shame Hall of Fame O czym dzisiaj Model Widok- Kontroler Hierarchia widoków
Bardziej szczegółowo- biegunowy(kołowy) - kursor wykonuje skok w kierunku tymczasowych linii konstrukcyjnych;
Ćwiczenie 2 I. Rysowanie precyzyjne Podczas tworzenia rysunków często jest potrzeba wskazania dokładnego punktu na rysunku. Program AutoCad proponuje nam wiele sposobów zwiększenia precyzji rysowania.
Bardziej szczegółowoCorelDraw - Edytor grafiki wektorowej
CorelDraw - Edytor grafiki wektorowej Rodzaje grafik Obecnie możemy spotkać się z dwoma rodzajami grafik: grafiką rastrową (zwaną również grafiką bitmapową) oraz grafiką wektorową. W grafice rastrowej
Bardziej szczegółowoGRAFIKA 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ółowoPraktyka programowania projekt
Praktyka programowania projekt Zadanie projektowe nr. 2 Gra PacMan K. M. Ocetkiewicz, T Goluch 19 listopada 2012 Plan prezentacji Opis 2 zadania projektowego Plan prezentacji Opis 2 zadania projektowego
Bardziej szczegółowoPrzykłady zastosowania zaawansowanych operacji
Przykłady zastosowania zaawansowanych operacji Wyciągnięcie po ścieżce Rysunek 17.1. Szkic okręgu Wyciągnięciem po ścieżce można: Dodać materiał, poleceniem. Odjąć materiał, poleceniem. W przykładzie przedstawiono
Bardziej szczegółowoCykl lekcji informatyki w klasie IV szkoły podstawowej. Wstęp
Cykl lekcji informatyki w klasie IV szkoły podstawowej Wstęp Poniżej przedstawiam cykl początkowych lekcji informatyki poświęconym programowi Paint. Nie są to scenariusze lekcji, lecz coś w rodzaju kart
Bardziej szczegółowoTransformacje 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ółowoBartosz 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ół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ółoworysunkowej Rys. 1. Widok nowego arkusza rysunku z przeglądarką obiektów i wywołanym poleceniem edycja arkusza
Ćwiczenie nr 12 Przygotowanie dokumentacji rysunkowej Wprowadzenie Po wykonaniu modelu części lub zespołu kolejnym krokiem jest wykonanie dokumentacji rysunkowej w postaci rysunków części (rysunki wykonawcze)
Bardziej szczegółowoBaltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup
Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie
Bardziej szczegółowoRYSUNEK ODRĘCZNY PERSPEKTYWA
RYSUNEK ODRĘCZNY PERSPEKTYWA WYKŁAD 3B DR INŻ. BEATA SADOWSKA rysunek odręczny budowlany rysunek techniczny stwarza możliwość przekazu informacji stwarza możliwość przekazu informacji ułatwia porozumienie
Bardziej szczegółowoWektory, układ współrzędnych
Wektory, układ współrzędnych Wielkości występujące w przyrodzie możemy podzielić na: Skalarne, to jest takie wielkości, które potrafimy opisać przy pomocy jednej liczby (skalara), np. masa, czy temperatura.
Bardziej szczegółowoWSTĘP; NARZĘDZIA DO RYSOWANIA
1 z 5 Link do instalacji Gimpa Gimp WSTĘP; NARZĘDZIA DO RYSOWANIA Menu w Gimpie znajduje się w oknie głównym Gimpa i w oknie obrazu. Dostępne jest również po kliknięciu prawym klawiszem myszy na obraz.
Bardziej szczegółowoDefinicja obrotu: Definicja elementów obrotu:
5. Obroty i kłady Definicja obrotu: Obrotem punktu A dookoła prostej l nazywamy ruch punktu A po okręgu k zawartym w płaszczyźnie prostopadłej do prostej l w kierunku zgodnym lub przeciwnym do ruchu wskazówek
Bardziej szczegółowoWyciągnięcie po ścieŝce, dodawanie Płaszczyzn
Wyciągnięcie po ścieŝce, dodawanie Płaszczyzn Przykład wg pomysłu dr inŝ. Grzegorza Linkiewicza. Zagadnienia. Tworzenie brył przez Dodanie/baza przez wyciągnięcie po ścieŝce, Geometria odniesienia, Płaszczyzna,
Bardziej szczegółowoZaawansowany kurs języka Python
PyGame 18 grudnia 2015 Plan wykładu 1 Wprowadzenie Parametry wyświetlania Powierzchnie 2 Klawiatura Mysz Dżojstik 3 Odtwarzanie plików dźwiękowych Odtwarzanie muzyki Samodzielne tworzenie dźwięków 4 3D:
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 Zagadnienia Jak rozumiemy fotorealizm w grafice komputerowej Historyczny rozwój kart graficznych Przekształcenia
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ółowoPrzekształcanie wykresów.
Sławomir Jemielity Przekształcanie wykresów. Pokażemy tu, jak zmiana we wzorze funkcji wpływa na wygląd jej wykresu. A. Mamy wykres funkcji f(). Jak będzie wyglądał wykres f ( ) + a, a stała? ( ) f ( )
Bardziej szczegółowoSTEREOMETRIA 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ółowoMETODA RZUTÓW MONGE A (II CZ.)
RZUT PUNKTU NA TRZECIĄ RZUTNIĘ METODA RZUTÓW MONGE A (II CZ.) Dodanie trzeciej rzutni pozwala na dostrzeżenie ważnej, ogólnej zależności. Jeżeli trzecia rzutnia została postawiona na drugiej - pionowej,
Bardziej szczegółowoNastępnie zdefiniujemy utworzony szkic jako blok, wybieramy zatem jak poniżej
Zadanie 1 Wykorzystanie opcji Blok, Podziel oraz Zmierz Funkcja Blok umożliwia zdefiniowanie dowolnego złożonego elementu rysunkowego jako nowy blok a następnie wykorzystanie go wielokrotnie w tworzonym
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ółowoCorelDraw - wbudowane obiekty wektorowe - prostokąty Rysowanie prostokątów
CorelDraw - wbudowane obiekty wektorowe - prostokąty Rysowanie prostokątów Naciskamy klawisz F6 lub klikamy w ikonę prostokąta w przyborniku po lewej stronie ekranu - zostanie wybrane narzędzie prostokąt.
Bardziej szczegółowoJutro idę do szkoły - innowacyjny program edukacji przedszkolnej
1 2 3 4 SPIS TREŚĆ 1. Podłączenie oraz instalacja zestawu interaktywnego 6 1.1 Podłączenie tablicy interaktywnej IQBoard. 6 1.2 Instalacja oprogramowania IQBoard 8 1.3 Podłączenie wizualizera. 14 1.4 Instalacja
Bardziej szczegółowo