Trójwymiarowe animacje na LCD (2) Tworzenie animacji 3D na wyświetlaczu LCD za pomocą STM32
|
|
- Mirosław Brzozowski
- 9 lat temu
- Przeglądów:
Transkrypt
1 Trójwymiarowe animacje na KURS LCD Trójwymiarowe animacje na LCD (2) Tworzenie animacji 3D na wyświetlaczu LCD za pomocą STM32 Tekst jest kontynuacją artykułu Animacje na LCD opublikowanego w Elektronice Praktycznej nr 1/2012. Projekt przykładowy został zrealizowany z użyciem mikrokontrolera STM32F103VCT6 z rdzeniem Cortex-M3 taktowanego sygnałem o częstotliwości 72 MHz. Po odpowiednie schematy i opis interfejsu należy sięgnąć do wspomnianego artykułu (jest na CD). Animacje trójwymiarowe są w rzeczywistości animacjami dwuwymiarowymi, ponieważ w ostateczności wyświetlane są na płaskich ekranach monitorów bądź innych wyświetlaczy. Złudzenie przestrzeni trójwymiarowej jest uzyskiwane poprzez zastosowanie pewnych trików i innych mechanizmów operujących na pikselach obrazu, dających w końcowej fazie złudzenie obrazu przestrzennego i głębi. Za prawdziwe animacje trójwymiarowe można by uznać np. projekcje holograficzne, które prezentują obiekty w rzeczywistej przestrzeni, mające szerokość, wysokość i głębokość. Tej ostatniej bez wątpienia brakuje obiektom prezentowanym na ekranie płaskim. Reprezentacja Animacje trójwymiarowe w rozumieniu klasycznym, tzn. animacji wyświetlanych na płaskich wyświetlaczach, ale posiadających złudzenie głębi, różni od animacji 2D proces ich generowania. Ponieważ formalinie niemożliwe jest ich odróżnienie, tj. po wymiarze, gdyż obie są dwuwymiarowe, to jednak w większości przypadkach odbiorca prawie natychmiast jest w stanie spostrzec różnice i odpowiednio wskazać tak zwane animacje 2D oraz 3D. Co więcej, dobry animator 2D jest w stanie uzyskać zadowalające efekty głębi, tak, że niektóre oko nie byłoby wstanie poprawnie rozpoznać, czy dana animacja jest tak zwaną 3D czy 2D. Mimo to, po wskazaniu techniki generowania owej animacji ta sama osoba bez wahania wskazałaby na 2D. Jak widzimy, rezultaty nie są dobrym kryterium identyfikującym. Sam proces tworzenia można jednak z większą dozą pewności uznać za bardziej rozróżnialny. Zazwyczaj w animacjach 2D rozpatrywany jest pewien obiekt posiadający tylko dwa wymiary tj. wysokość i szerokość, i wykonywane są na nim pewne operacje, przekształcenia, deformacje, przesunięcia itd. które następnie są prezentowane na wyświetlaczu również 2D. Natomiast w animacjach 3D obiekty posiadają trzy cechy, mianowicie wysokość, szerokość, i głębokość, które są poprzez różnie przekształcenia odpowiednio modyfikowane i podobnie jak w animacjach 2D prezentowane na ekranie. Tutaj jednak wykonywana jest dodatkowa operacja konwertująca trzy cechy do dwóch. Inaczej nie jest możliwością wyświetlenie ich na płaskim ekranie. Wyróżniamy zatem dwa podstawowe etapy tworzenia animacji 3D: modelowanie w przestrzeni trójwymiarowej oraz konwersja do odpowiednika płaskiego. Modelowanie Punkty w przestrzeni trójwymiarowej są reprezentowane trzema liczbami (x,y,z), gdzie każda współrzędna x, y, z reprezentuje szerokość, wysokość i głębokość odpo- Rysunek 3. Sekwencja klatek animacji sześcianu Dodatkowe materiały na CD/FTP: ftp://ep.com.pl, user: 18453, pass: 5eyp1854 pierwsza część kursu wiednio. Każde trzy różne niewspółliniowe punkty w przestrzeni wyznaczają niezdegenerowany trójkąt. Mając do dyspozycji wiele Rysunek 1. Rzut równoległy na płaszczyznę Rysunek 2. Bryła z widocznymi tylnymi ścianami (prawy) i niewidocznymi (lewy) 83
2 KURS takich trójkątów można utworzyć praktycznie dowolną figurę w przestrzeni trójwymiarowej (bryłę). W zależności od ich ilości oraz wielkości figura będzie mniej lub bardziej przypominać nasz docelowy obiekt. Oczywiście zwiększanie ilości trójkątów wiąże się z zwiększeniem ilości obliczeń, co za tym idzie posiadaniem większej mocy obliczeniowej. Bryłę można zatem utożsamiać z skończonym zbiorem odpowiednio dobranych trójkątów (patrz rysunek z delfinem). Wybór trójkątów jako podstawowych elementów budulcowych nie jest koniecznością. Równie dobrze można wykorzystać inne figury, takie jak kwadraty lub wielokąty. Niestety każda z nich ma swoje ograniczenia jak i zalety. Dobór oczywiście jest zdeterminowany przeznaczeniem i narzuconymi wymaganiami. Podstawowe transformacje Dany punkt w przestrzeni trójwymiarowej można przesunąć w dowolne inne miejsce w tej przestrzeni poprzez dodanie/odjęcie do ich współrzędnych odpowiednich wartości. Zastosowawszy tą operację do wszystkich punktów każdego trójkąta otrzymamy przesunięcie całej bryły. Operację tą nazywamy translacją o wektor. Za każdym razem, gdy bryła jest przemieszczana jej przednia część jest zawsze z przodu i nie ma żadnej możliwości obejrzenia jej tylnej, bocznej czy górnej części. Efekt taki można uzyskać za pomocą operacji obrotu wokół osi. Ponieważ działamy w przestrzeni trójwymiarowej wyróżniamy trzy podstawowe obroty wokół osi współrzędnych Ox,Oy,Oz. Pozostaje jeszcze jedna operacja: skalowanie umożliwiająca powiększanie lub zmniejszanie obiektów zachowując proporcje. Powyższe operacje nie należy wyobrażać sobie, jako animacje obrotu czy przemieszczania bryły z jednego miejsca do drugiego. Są to operacje jednostkowe, powodujące przemieszczenie bryły za jednym zamachem, natychmiast w inne miejsce. Powyższe trzy podstawowe transformacje wykonane w odpowiedniej kolejności i odpowiednią ilość razy umożliwiają wykonanie praktycznie dowolnej czynności, która będzie nam potrzebna do skonstruowana prostej animacji. Istnieją naturalnie przekształcenia, których nie da się uzyskać za pomocą tych trzech podstawowych operacji. Są to np. różnego rodzaju deformacje albo efekty wyrastania nowych części czy chociażby efekty rozłupywania brył na mniejsze. Te oraz inne efekty wykonywane są za pomocą innych bardziej złożonych technik. Jak wprawić bryłę w ruch? Jak pamiętamy możemy wykonać pewne operacje na bryle w sposób skokowy. Zmniejszając odległości tych skoków jesteśmy w stanie stworzyć złudzenie płynności. I właściwie to jest na tyle. Animacja jest gotowa! Odpowiedni dobór odległości oraz zarządzanie Realizacja usuwania niewidocznych ścian Usuwanie niewidocznych ścian realizowane jest za pomocą iloczynu wektorowego i iloczynu skalarnego wektorów (rysunek 2). Iloczyn wektorowy dwóch wektorów jest wektorem prostopadłym do płaszczyzny wyznaczonej przez te dwa wektory i razem z nimi tworzy układ prawoskrętny. Iloczyn skalarny dwóch wektorów umożliwia nam wyznaczenie kąta, pod jakim są owe wektory do siebie ustawione. Dla dowolnego trójkąta ustalamy dwa boki i obliczamy iloczyn wektorowy wektorów wyznaczonych przez te boki. Jeżeli otrzymany wektor tworzy z wektorem [0,0, 1] kąt należący do przedziału ( 90,90 ), to trójkąt ten jest ustawiony do obserwatora przednią częścią. W przeciwnym przypadku jest ustawiony tylną tj. jest niewidoczny. Należy podkreślić, że jest to jedna z najprostszych meczasem wyświetlania daje efekt gładkości działania oraz dynamizmu do całej animacji. Natomiast, zły dobór skutkuje różnymi niepożądanymi zjawiskami, jak migotanie, brak płynności i inne, które mogą powodować niezadowalający rezultat. Jak to wszystko wyświetlić na płaskim ekranie? Jak z animacji 3D zrobić animację 2D, która dawałaby złudzenie przestrzeni, mimo że jest całkowicie płaska? Proces ten nazywa się rzutowaniem. Wyróżnia się kilka sposobów rzutowania, i każdy ma swoje własności. Najprostszym jest rzutowanie równoległe niedające złudzenia perspektywy. Rzutowanie perspektywistyczne daje ową, ale za to jest bardziej złożone obliczeniowo. W większości przypadkach wykorzystywane są różne wersje rzutu perspektywistecznego dającego zdecydowanie lepsze rezultaty niż prosty rzut równoległy. Niemniej, do naszych potrzeb wystarczający jest ten prostszy. Rzutowanie jest jak pokazuje rysunek 1, procesem redukcji bryły trójwymiarowej na płaszczyznę. Ukrywanie niewidocznych ścian Jak sprawić, żeby bryła była widoczna tylko z tej strony, na którą patrzymy? Innymi słowy jak nie wyświetlać części, które nie są widoczne, bo są z tyłu albo są zasłaniane przez inne bryły czy inne części tej samej bryły? Na to pytanie nie ma ogólnej prostej odpowiedzi. W zależności od złożoności bryły techniki stają się coraz bardziej wyszukane i skomplikowane bądź, co istotne, są w miarę proste, ale wymagają dużej mocy obliczeniowej i sporej pamięci urządzenia. Animacja przeznaczona jest na prosty mikrokontroler, zatem musimy się spodziewać pewnych ograniczeń i nie oczekiwać rezultatów w stylu Hollywoodzkim. Ukrywanie ścian wykonywane jest w przypadku, gdy bryła uważana jest za nieprzezroczystą jak np. ściana, drzwi. Czasami pożądany jest jednak efekt przezroczystości, wtedy dopuszcza się pokazywanie niewidocznych części. Realizacja transformacji Punkty w przestrzeni trójwymiarowej przedstawiane są w postaci wektorowej. Dla punktu p=(p x, p y, p z ) odpowiadający wektor ma następującą postać: Dla operacji translacji, obrotu i skalowania wyznacza się macierze transformacji. Na rys. 4 przedstawione są macierze: translacji o wektor (v z,v y,v z ), macierze obrotu o kąt a wokół osi Ox, Oy, Oz oraz macierz skalowania ze współczynnikiem proporcjonalności s. W celu uzyskania współrzędnych punktu będącego wynikiem jednej z tych operacji wystarczy wymnożyć dany punkt p w postaci wektorowej z odpowiednią macierzą. Wykonywane jest tutaj mnożenie macierzy przez wektor. Otrzymany w wyniku tego wektor jest szukanym punktem. Operacje bardziej złożone można otrzymać poprzez składanie podstawowych operacji. Objawia się to zwykłym mnożeniem macierzy. Na przykład, dla wykonania translacji o wektor v, obrót wokół osi X o kąt a, ponownie wykonanie translacji o wektor v oraz obrót wokół osi Y o kąt b wystarczy obliczyć macierz: Należy zwrócić uwagę na kolejność wykonywania operacji. Nie jest ona przemienna. Wynikiem powyższego mnożenia jest znowu macierz, co umożliwia budowanie dowolnie złożonych operacji nie zwiększając przy tym ani o bajt zużycia pamięci czy mocy obliczeniowej (przy założeniu, że macierz tą wyliczy się raz przed przystąpieniem do wykonywania animacji). Transformacja trójkąta czy całej bryły jest analogiczna. Wystarczy zastosować operację do każdego punktu bryły. Powodem używania zapisu macierzowego jest jego zwięzłość oraz przejrzystość. Te same wzory zapisane w klasycznym stylu, za pomocą formuł, zajęłyby znacznie więcej miejsca oraz stałyby się całkowicie nieczytelne. Co więcej, zapis taki zmniejsza ilość pracy wykonywanej przez człowieka przerzucając ją na maszynę. 84
3 Trójwymiarowe animacje na LCD Listing 1. Funkcja rzutująca point projection_p(point3d p3){ point p; // punkt 2D p.x = p3.x; p.y = p3.y; return p; Listing 2. Tablica elements float x,y,z; point3d; point3d p1,p2,p3; triangle3d; triangle3d elements[12]; int elements_count; tod tego typu. Nie stosuje się ona do bardziej złożonych brył albo do kilku brył, które mogą przysłaniać się nawzajem. W takim przypadku wykorzystywane są bardziej subtelne techniki analizujące strukturę i kształt obiektu oraz jego położenie w stosunku do innych obiektów czy do samego siebie. Inna techniką jest metoda Bufora Z, polegająca na obliczaniu dla każdego piksela odległości od ekranu. Dla dwóch nakładających się pikseli wyświetlany jest wtedy ten bliższy. Przy rozdzielczości wyświetlacza pikseli oraz 3 bajtach na kolor wymagane by było co najmniej 230 kb pamięci RAM, co jest dosyć trudne do osiągnięcia dla mikrokontrolera (metoda is_visible_t). Realizacja rzutowania Rzutowanie równoległe jest zwykłą konwersją punktu (x,y,z) na punkt (x,y,0), który można interpretować jako punkt (x,y) i bezpośrednio wyświetlić na wyświetlaczu (listing 1). Przykład animacji sześcianu Sekwencję klatek wyświetlanych podczas animowania ruchu sześcianu na ekranie LCD pokazano na rysunku 3. Pierwszym krokiem jest stworzenie bryły sześcianu. Jak wiemy Listing 3. Funkcja generująca sześcian void init_cube() { angle=0; //front up, front down triangle3d fd = create_triangle3d( create_point3d(-1,1,-1), create_point3d(-1,-1,-1), create_point3d(1,-1,-1)); triangle3d fu = operation_t(rotation_z_matrix(180*pi/180),fd); // back down, back up triangle3d bd = operation_t(rotation_y_matrix(pi),fd); triangle3d bu = operation_t(rotation_y_matrix(pi),fu); // right down, right up triangle3d rd = operation_t(rotation_y_matrix(pi/2),fd); triangle3d ru = operation_t(rotation_y_matrix(pi/2),fu); // left down, left up triangle3d ld = operation_t(rotation_y_matrix(-pi/2),fd); triangle3d lu = operation_t(rotation_y_matrix(-pi/2),fu); // up down, up up triangle3d ud = operation_t(rotation_x_matrix(-pi/2),fd); triangle3d uu = operation_t(rotation_x_matrix(-pi/2),fu); // down down, down up triangle3d dd = operation_t(rotation_x_matrix(pi/2),fd); triangle3d du = operation_t(rotation_x_matrix(pi/2),fu); elements[0]=fd; elements[1]=fu; elements[2]=bd; elements[3]=bu; elements[4]=rd; elements[5]=ru; elements[6]=ld; elements[7]=lu; elements[8]=ud; elements[9]=uu; elements[10]=dd; elements[11]=du; elements_count=12; sześcian składa się z ośmiu wierzchołków i sześciu kwadratowych ścian, co daje nam 12 trójkątów i 36 punktów do wyznaczenia. Tablica elements (listing 2) przechowuje wszystkie trójkąty naszej bryły. Funkcja init_cube generuje bryłę. Sześcian będzie położony w początku układu współrzędnych, tj. jego środek będzie punktem (0,0,0). Bok będzie długości 2.0, rozciągając się od wartości 1.0 do Pierwszy trójkąt reprezentujący przednią ścianę bryły jest trójkątem pokrywającym lewą dolną połówkę ściany (rysunek 4). Żeby otrzymać drugą połówkę wystarczy obrócić pierwszy trójkąt o 180 stopni wokół osi Z. Oś Z jest osią prostopadłą do powierzchni monitora, o wartościach dodatnich za monitorem, i wartościach ujemnych przed tj. bliżej użytkownika. Oś X jest pozioma, oś Y pionowa (rysunek 5). Drugą ścianę (tylnią) otrzymamy przez obrót pierwszej o kąt 180 stopni wokół osi. Trzecią ścianę (prawą) otrzymujemy poprzez obrót pierwszej o 90 stopni wokół osi Y. Ścianę lewą otrzymamy poprzez obrót pierwszej ściany o kąt 90 stopni wokół osi Y. Ścianę górną otrzymamy poprzez rotację pierwszej o kąt 90 stopni wokół osi X. Ostatecznie ściana dolna jest obrazem ściany przedniej w obrocie o kąt 90 wokół osi X. Wszystkie trójkąty zapisujemy do tablicy i ustawiamy jej wielkość na 12. Praktyczną realizację wymienionych korków działania programu pokazano na listingu 3. Funkcje rotation_x_matrix(), rotation_y_ matrix(), rotation_z_matrix() i translation_matrix() tworzą macierze przekształceń, natomiast funkcja operation() wymnaża wektor przez macierz. Mamy już bryłę, ożywmy ją zatem. W funkcji main() naszego programu umieszczamy następujący kod pokazany na listingu 4. Funkcja draw_cube() jest odpowiedzialna za generowanie i wyświetlanie pojedynczej klatki animacji. Każda iteracja pętli generuje pojedynczą klatkę animacji (listing 5). Rysunek 4. Triangulacja sześcianu (fd = front down, fu = front up, rd = right down) Listing 4. Szkielet animacji bryły init_cube(); while(true){ // czyść ekran... draw_cube();... // sleep 85
4 KURS Listing 5. Funkcja odpowiedzialna za wygenerowanie pojedynczej klatki animacji i jej wyświetlenie #define foreachi(i,n) for(int i=0;i<n;++i) void main_function(){ matrix bigger = scale_matrix(distance_z,distance_z,distance_z); matrix rotate_x = rotation_x_matrix(angle*pi/180); matrix rotate_y = rotation_y_matrix(angle*pi/180); matrix rotate_z = rotation_z_matrix(angle*pi/180); matrix move = translation_matrix(120,160,100/*distance_z*/); matrix anim = multiply_m(move, multiply_m(rotate_z, multiply_m(rotate_y, multiply_m(rotate_x,bigger)))); point3d direction = create_point3d(0,0,1); if( is_visible_t(direction,operation_t(anim,elements[i]))) { drawtriangle(projection_t(operation_t(anim,elements[i]))); Listing 6. Tworzenie i wymnażanie macierzy przekształceń podstawowych void main_function(){ // tworzymy macierze przekształceń podstawowych matrix bigger = scale_matrix(distance_z,distance_z,distance_z); matrix rotate_x = rotation_x_matrix(angle*pi/180); matrix rotate_y = rotation_y_matrix(angle*pi/180); matrix rotate_z = rotation_z_matrix(angle*pi/180); matrix move = translation_matrix(120,160,100/*distance_z*/); // generujemy macierz przekształcenia matrix anim = multiply_m(move, multiply_m(rotate_z, multiply_m(rotate_y, multiply_m(rotate_x,bigger)))); // wykonujemy obliczenia dla każdego trójkąta // sprawdzamy czy trójkąt jest widoczny if( is_visible_t(direction,operation_t(anim,elements[i]))) { drawtriangle(projection_t(operation_t(anim,elements[i]))); Listing 7. Funkcja generująca torus void init_torus2() { #define CMAX 9 point3d circle_plus[cmax]; point3d circle_minus[cmax]; float angle=0; angle= (((float)i)/cmax)*(180.0) * pi/180*2; float x = cos(angle); float y = sin(angle); float z = 0; circle_plus[i] = create_point3d(x,y,z); circle_minus[i] = create_point3d(x,y,z); #define XMAX 9 matrix translation = translation_matrix(2,0,0); matrix rotate = rotation_y_matrix((0.5/xmax)*pi*2); matrix anim = multiply_m(rotate,translation); circle_plus[i] = operation_p(anim,circle_plus[i]); rotate = rotation_y_matrix((-0.5/xmax)*pi*2); anim = multiply_m(rotate,translation); circle_minus[i] = operation_p(anim,circle_minus[i]); //triangle3d ring[cmax+1]; foreachi(i,cmax-1){ triangle3d trl = create_triangle3d( circle_plus[i], circle_minus[i], circle_plus[i+1]); triangle3d trr = create_triangle3d( circle_minus[i+1], circle_plus[i+1], circle_minus[i]); elements[2*i] = trl; elements[2*i+1]= trr; elements[cmax*2] = create_triangle3d( circle_plus[cmax-1], circle_minus[cmax-1], circle_plus[0]); elements[cmax*2+1] = create_triangle3d( circle_minus[0], circle_plus[0], circle_minus[cmax-1]); elements_count=2*(cmax)+2; foreachi(q,xmax-1){ rotate = rotation_y_matrix((((float)(q+1))/xmax)*pi*2); elements[i+elements_count*(q+1)]=operation_t(rotate,elements[i]); elements_count *= XMAX; Rysunek 5. Torus z gęstą triangulacją Pozostała ostatnia kwestia i animacja będzie gotowa. Jak wcześniej zostało powiedziane do stworzenia prostej animacji wystarczą podstawowe trzy operacje. Składając odpowiednią ich ilość jesteśmy w stanie utworzyć dość ciekawe i złożone ruchy, na pewno wystarczające dla naszych potrzeb. W tym przykładzie animacja składać się będzie z obrotu sześcianu o jeden stopień we wszystkich trzech kierunkach. W rezultacie otrzymamy obracającą się kostkę w pozornie losowy sposób. Na początku tworzymy macierze przekształceń podstawowych. Następnie wymnażamy macierze w celu otrzymania jednej, reprezentującej całą sekwencję poprzednich. Ostatecznie dla wszystkich trójkątów z tabeli elements, reprezentującą naszą bryłę wykonujemy operację anim, jednocześnie sprawdzając czy dana ściana po transformacji jest widoczna. Operacje te pokazano na listingu 6. Przykład animacji torusa Przykład z torusem (rysunek 5) jest bardziej złożony. Wygenerowanie odpowiednich trójkątów składających się na całego torusa jest dosyć żmudną pracą. Na początku wygenerujemy dwa identyczne zestawy punktów na okręgu znajdującym się w środku układu współrzędnych jak pokazuje rysunek 6a. Następnie odsuniemy je troszkę od środka i pierwszy okrąg obrócimy odrobinę w prawo, drugi odrobinę w lewo rysunek 6b. Następnie połączymy odpowiednie punkty na obydwu okręgach tworząc trójkąty. Otrzymamy w ten sposób mały skrawek docelowego torusa rysunek 6c. Na końcu wystarczy powielić tę część odpowiednią ilość razy by otrzymać gotową bryłę rysunki 6d 6f. Sposób definiowania bryły torusa pokazano na listingu 7. Proces animacji pozostaje taki sam jak w przypadku sześcianu. Podążając zgodnie z powyższymi metodami tworzenia i animowania figur można stworzyć dowolną bryłę tj. klin pryzma, oktaedr, ostrosłup, kula, walec, stożek, torus podwójny, wstęgę Mobiusa (powierzchnia). Dowolne łączenie figur może skutkować lepszym efektem jak klasyczny przykład dzbanka 3D. Ograniczeniem mogą być nieregularne kształty bryły, których punkty podczas tworzenia będzie trzeba ręcznie wygenerować. Optymalizacja W związku z ograniczoną mocą obliczeniową mikrokontrolera jak i szybkością obsługi LCD animacje oddają wrażenie migotania. Można ten efekt zadowalająco zniwelować 86
5 Trójwymiarowe animacje na LCD Rysunek 6. Etapy tworzenie przykładowej bryły torus Listing 8.Struktury wykorzystywane w programie typedef struct{ float x,y; point; float x,y,z; point3d; point p1,p2,p3; triangle; point3d p1,p2,p3; triangle3d; float value[4][4]; matrix; float value[4]; vector; wyświetlając figury w następujący sposób. Wyświetlamy figurę, obracamy ją o ustalony kąt i wyświetlamy ją jeszcze raz. Teraz na ekranie mamy dwie figury niejako rozmazane. Zmazujemy pierwszą figurę np. przez narysowanie jej w kolorze tła, po czym obracamy o kąt i rysujemy kolejną. Co nam daje taki sposób? Na ekranie zawsze jest narysowana jedna albo dwie figury, dlatego proces rysowania kolejnej przesuniętej o dany kąt nie jest tak widoczny. W praktyce dzięki takiemu podejściu wyświetlanie animacji bryły na całym ekranie LCD jest w pełni płynne. Uwagi końcowe Na listingu 8 pokazano struktury wykorzystywane w programie. Jak można zauważyć, służą one do deklarowania typów zmiennych zawierających współrzędne punktu na płaszczyźnie, punktu w przestrzeni lub wektora w przestrzeni. Definiowanie struktur tego typu ułatwia pracę nad Listing 9. Wybrane metody wykorzystywane w procesie generowania animacji matrix translation_matrix(float x, float y, float z){ matrix m = identity_matrix(); m.value[0][3] = x; m.value[1][3] = y; m.value[2][3]= z; return m; matrix rotation_x_matrix(float alpha){ matrix m = null_matrix(); m.value[0][0]=1; m.value[1][1]=cos(alpha); m.value[2][2]=cos(alpha); m.value[2][1]=-sin(alpha); m.value[1][2]=sin(alpha); m.value[3][3]=1; return m; Listing 10. Metoda rozstrzygająca widoczność ścian (trójkąta) int is_visible_t(point3d direction, triangle3d tr){ point3d first_vector,second_vector,multiplied; first_vector = create_vector3d(tr.p1,tr.p2); second_vector = create_vector3d(tr.p1,tr.p3); // iloczyn wektorowy multiplied = vector_multiplication(first_vector,second_vector); // iloczyn skalarny float angle = scalar_multiplication(direction,multiplied); if( angle < 0 ){ return 0; // ściana niewidoczna else { return 1; // ściana widoczna programem, ponieważ wszystkie parametry (np. współrzędne punktu) są przechowywane w pojedynczej zmiennej. Na listingach 9 i 10 zamieszczono, odpowiednio przykłady funkcji zawierających wybrane metody generowania animacji oraz algorytm rozstrzygający widoczność ścian animowanego trójkąta. Po lekturze artykułu, samodzielna analiza sposobu ich działania nie powinna nastręczać żadnego problemu. W artykule omówiono podstawowe metody tworzenia animacji za pomocą przekształceń brył. Dosyć użyteczną metodą i jednocześnie stosunkowo prostą do wykonania, ale wymagającą sporych zasobów pamięci, jest przechowywanie w pamięci mikrokontrolera gotowych klatek (obrazów) do wyświetlenia, utworzonych na przykład za pomocą programów graficznych. Ta metoda jest jednak łatwa do samodzielnego zaimplementowania po opanowaniu 1-szej części tego kursu. Tomasz Rzędowski tomasz.rzedowski@gmail.com REKLAMA 87
2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/6 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Manipulowanie przestrzenią 2 Przygotował: mgr inż. Maciej Lasota 1) Manipulowanie przestrzenią Istnieją dwa typy układów współrzędnych:
Trójwymiarowa grafika komputerowa rzutowanie
Trójwymiarowa grafika komputerowa rzutowanie Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej Rzutowanie w przestrzeni 3D etapy procesu rzutowania określenie rodzaju rzutu określenie
Animowana grafika 3D. Opracowanie: J. Kęsik.
Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Rzutowanie Równoległe Perspektywiczne Rzutowanie równoległe Rzutowanie równoległe jest powszechnie używane w rysunku technicznym - umożliwienie
Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30
Wykład 4 mgr inż. 1/30 Synteza grafiki polega na stworzeniu obrazu w oparciu o jego opis. Synteza obrazu w grafice komputerowej polega na wykorzystaniu algorytmów komputerowych do uzyskania obrazu cyfrowego
1. Prymitywy graficzne
1. Prymitywy graficzne Prymitywy graficzne są elementarnymi obiektami jakie potrafi bezpośrednio rysować, określony system graficzny (DirectX, OpenGL itp.) są to: punkty, listy linii, serie linii, listy
0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do
0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do obserwatora f) w kierunku od obserwatora 1. Obrót dookoła osi
STEREOMETRIA CZYLI GEOMETRIA W 3 WYMIARACH
STEREOMETRIA CZYLI GEOMETRIA W 3 WYMIARACH Stereometria jest działem geometrii, którego przedmiotem badań są bryły przestrzenne oraz ich właściwości. WZAJEMNE POŁOŻENIE PROSTYCH W PRZESTRZENI 2 proste
GEOMETRIA PRZESTRZENNA (STEREOMETRIA)
GEOMETRIA PRZESTRZENNA (STEREOMETRIA) WZAJEMNE POŁOŻENIE PROSTYCH W PRZESTRZENI Stereometria jest działem geometrii, którego przedmiotem badań są bryły przestrzenne oraz ich właściwości. Na początek omówimy
Definicja 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
Wprowadzenie do rysowania w 3D. Praca w środowisku 3D
Wprowadzenie do rysowania w 3D 13 Praca w środowisku 3D Pierwszym krokiem niezbędnym do rozpoczęcia pracy w środowisku 3D programu AutoCad 2010 jest wybór odpowiedniego obszaru roboczego. Można tego dokonać
Przekształcenia geometryczne. Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej
Przekształcenia geometryczne Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza w Krakowie Przekształcenia elementarne w przestrzeni D Punkty p w E na płaszczyźnie
Rachunek wektorowy - wprowadzenie. dr inż. Romuald Kędzierski
Rachunek wektorowy - wprowadzenie dr inż. Romuald Kędzierski Graficzne przedstawianie wielkości wektorowych Długość wektora jest miarą jego wartości Linia prosta wyznaczająca kierunek działania wektora
Ć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
Z ostatniego wzoru i zależności (3.20) można obliczyć n6. Otrzymujemy (3.23) 3.5. Transformacje geometryczne
46 III. Przekształcenia w przestrzeni trójwymiarowej Z ostatniego wzoru i zależności (3.20) można obliczyć n6. Otrzymujemy (3.23) 3.5. Transformacje geometryczne Złożone obiekty trójwymiarowe można uważać,
w jednym kwadrat ziemia powietrze równoboczny pięciobok
Wielościany Definicja 1: Wielościanem nazywamy zbiór skończonej ilości wielokątów płaskich spełniających następujące warunki: 1. każde dwa wielokąty mają bok lub wierzchołek wspólny albo nie mają żadnego
Zad. 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
1 Wstęp teoretyczny. Temat: Manipulowanie przestrzenią. Grafika komputerowa 3D. Instrukcja laboratoryjna Układ współrzędnych
Instrukcja laboratoryjna 9 Grafika komputerowa 3D Temat: Manipulowanie przestrzenią Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny 1.1 Układ
Zad. 3: Rotacje 2D. Demonstracja przykładu problemu skończonej reprezentacji binarnej liczb
Zad. 3: Rotacje 2D 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich struktur
gdzie (4.20) (4.21) 4.3. Rzut równoległy
4.3. Rzut równoległy 75 gdzie (4.20) Punkt zbiegu, określony wzorami (4.19) (4.20), leży na prostej przechodzącej przez środek rzutowania i równoległej do wektora u. Zauważmy, że gdy wektor u jest równoległy
Temat: Transformacje 3D
Instrukcja laboratoryjna 11 Grafika komputerowa 3D Temat: Transformacje 3D Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny Bardzo często programując
Tomasz Tobiasz PLAN WYNIKOWY (zakres podstawowy)
Tomasz Tobiasz PLAN WYNIKOWY (zakres podstawowy) klasa 3. PAZDRO Plan jest wykazem wiadomości i umiejętności, jakie powinien mieć uczeń ubiegający się o określone oceny na poszczególnych etapach edukacji
i = [ 0] j = [ 1] k = [ 0]
Ćwiczenia nr TEMATYKA: Układy współrzędnych: kartezjański, walcowy (cylindryczny), sferyczny (geograficzny), Przekształcenia: izometryczne, nieizometryczne. DEFINICJE: Wektor wodzący: wektorem r, ρ wodzącym
Notacja Denavita-Hartenberga
Notacja DenavitaHartenberga Materiały do ćwiczeń z Podstaw Robotyki Artur Gmerek Umiejętność rozwiązywania prostego zagadnienia kinematycznego jest najbardziej bazową umiejętność zakresu Robotyki. Wyznaczyć
1. Potęgi. Logarytmy. Funkcja wykładnicza
1. Potęgi. Logarytmy. Funkcja wykładnicza Tematyka zajęć: WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY KL. 3 POZIOM PODSTAWOWY Potęga o wykładniku rzeczywistym powtórzenie Funkcja wykładnicza i jej własności
Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki
Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki Ćwiczenie laboratoryjne 2 Temat: Modelowanie powierzchni swobodnych 3D przy użyciu programu Autodesk Inventor Spis treści 1.
Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty.
Przyszedł czas na rysowanie własnych figur, czyli prymitywy, obracanie bitmap, oraz alpha blending-czyli półprzezroczystość. Będę opisywał tylko rzeczy nowe-nie ma potrzeby abym się powtarzał. Zaczynajmny
Symetria w fizyce materii
Symetria w fizyce materii - Przekształcenia symetrii w dwóch i trzech wymiarach - Wprowadzenie w teorię grup; grupy symetrii - Wprowadzenie w teorię reprezentacji grup - Teoria grup a mechanika kwantowa
I. Potęgi. Logarytmy. Funkcja wykładnicza.
WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY TRZECIEJ LICEUM OGÓLNOKSZTAŁCĄCEGO ZAKRES PODSTAWOWY I. Potęgi. Logarytmy. Funkcja wykładnicza. dobrą, bardzo - oblicza potęgi o wykładnikach wymiernych; - zna
Kryteria oceniania z matematyki Klasa III poziom podstawowy
Kryteria oceniania z matematyki Klasa III poziom podstawowy Potęgi Zakres Dopuszczający Dostateczny Dobry Bardzo dobry oblicza potęgi o wykładnikach wymiernych; zna prawa działań na potęgach i potrafi
WYMAGANIA EDUKACYJNE Z MATEMATYKI 2016/2017 (zakres podstawowy) klasa 3abc
WYMAGANIA EDUKACYJNE Z MATEMATYKI 2016/2017 (zakres podstawowy) klasa 3abc 1, Ciągi zna definicję ciągu (ciągu liczbowego); potrafi wyznaczyć dowolny wyraz ciągu liczbowego określonego wzorem ogólnym;
Graniastosłupy mają dwie podstawy, a ich ściany boczne mają kształt prostokątów.
GRANIASTOSŁUPY I OSTROSŁUPY Bryły czyli figury przestrzenne dzielimy na: graniastosłupy ostrosłupy bryły obrotowe Graniastosłupy i ostrosłupy nazywamy wielościanami Graniastosłupy mają dwie podstawy, a
Elementy geometrii analitycznej w R 3
Rozdział 12 Elementy geometrii analitycznej w R 3 Elementy trójwymiarowej przestrzeni rzeczywistej R 3 = {(x,y,z) : x,y,z R} możemy interpretować co najmniej na trzy sposoby, tzn. jako: zbiór punktów (x,
Co należy zauważyć Rzuty punktu leżą na jednej prostej do osi rzutów x 12, którą nazywamy prostą odnoszącą Wysokość punktu jest odległością rzutu
Oznaczenia A, B, 1, 2, I, II, punkty a, b, proste α, β, płaszczyzny π 1, π 2, rzutnie k kierunek rzutowania d(a,m) odległość punktu od prostej m(a,b) prosta przechodząca przez punkty A i B α(1,2,3) płaszczyzna
Stereometria bryły. Wielościany. Wielościany foremne
Stereometria bryły Stereometria - geometria przestrzeni trójwymiarowej. Przedmiotem jej badań są własności brył oraz przekształcenia izometryczne i afiniczne przestrzeni. Przyjęte oznaczenia: - Pole powierzchni
WYMAGANIA EDUKACYJNE NIEZBĘDNE DO UZYSKANIA ŚRÓDROCZNYCH I ROCZNYCH OCEN KLASYFIKACYJNYCH Z MATEMATYKI W KLASIE III GIMNAZJUM
WYMAGANIA EDUKACYJNE NIEZBĘDNE DO UZYSKANIA ŚRÓDROCZNYCH I ROCZNYCH OCEN KLASYFIKACYJNYCH Z MATEMATYKI W KLASIE III GIMNAZJUM OCENA ŚRÓDROCZNA: NIEDOSTATECZNY ocenę niedostateczny otrzymuje uczeń, który
Laboratorium grafiki komputerowej i animacji. Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny
Laboratorium grafiki komputerowej i animacji Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny Przygotowanie do ćwiczenia: 1. Zapoznać się ze zdefiniowanymi w OpenGL modelami światła i właściwości materiałów.
RZUTOWANIE PROSTOKĄTNE
RZUTOWANIE PROSTOKĄTNE WPROWADZENIE Wykonywanie rysunku technicznego - zastosowanie Rysunek techniczny przedmiotu jest najczęściej podstawą jego wykonania, dlatego odwzorowywany przedmiot nie powinien
Baltie 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
Geometria wykreślna. 5. Obroty i kłady. Rozwinięcie wielościanu. dr inż. arch. Anna Wancław. Politechnika Gdańska, Wydział Architektury
Geometria wykreślna 5. Obroty i kłady. Rozwinięcie wielościanu. dr inż. arch. Anna Wancław Politechnika Gdańska, Wydział Architektury Studia inżynierskie, kierunek Architektura, semestr I 1 5. Obroty i
Przy dużej wielkości głębokości uzyskamy wrażenie nieskończoności: Dla głębokości zerowej uzyskamy tekst płaski:
Temat 6: Tekst w przestrzeni trójwymiarowej. Podstawy tworzenia animacji. Instrukcja warunkowa if. Program pozwala umieszczać na scenie nie tylko bryły, czy figury płaskie, ale też tekst. Polecenie tworzące
Bartosz Bazyluk SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok
SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok Synteza grafiki 3D Pod pojęciem syntezy grafiki rozumiemy stworzenie grafiki
GRAFIKA KOMPUTEROWA podstawy matematyczne. dr inż. Hojny Marcin pokój 406, pawilon B5 E-mail: mhojny@metal.agh.edu.pl Tel.
GRAFIKA KOMPUTEROWA podstawy matematyczne dr inż. Hojny Marcin pokój 406, pawilon B5 E-mail: mhojny@metal.agh.edu.pl Tel. (12) 617 46 37 Plan wykładu 1/4 ZACZNIEMY OD PRZYKŁADOWYCH PROCEDUR i PRZYKŁADÓW
Geometria w R 3. Iloczyn skalarny wektorów
Geometria w R 3 Andrzej Musielak Str 1 Geometria w R 3 Działania na wektorach Wektory w R 3 możemy w naturalny sposób dodawać i odejmować, np.: [2, 3, 1] + [ 1, 2, 1] = [1, 5, 2] [2, 3, 1] [ 1, 2, 1] =
Przekształcenia geometryczne w grafice komputerowej. Marek Badura
Przekształcenia geometryczne w grafice komputerowej Marek Badura PRZEKSZTAŁCENIA GEOMETRYCZNE W GRAFICE KOMPUTEROWEJ Przedstawimy podstawowe przekształcenia geometryczne na płaszczyźnie R 2 (przestrzeń
Pokrywka. Rysunek 1. Projekt - wynik końcowy. Rysunek 2. Pierwsza linia łamana szkicu
Pokrywka Rysunek 1. Projekt - wynik końcowy Projekt rozpoczynamy od narysowania zamkniętego szkicu. 1. Narysujemy i zwymiarujmy linię łamaną jako część szkicu (nie zamknięty), rys. 2. Uwaga: a) Dodajmy
3.3. dwie płaszczyzny równoległe do siebie α β Dwie płaszczyzny równoległe do siebie mają ślady równoległe do siebie
Widoczność A. W rzutowaniu europejskim zakłada się, że przedmiot obserwowany znajduje się między obserwatorem a rzutnią, a w amerykańskim rzutnia rozdziela przedmiot o oko obserwatora. B. Kierunek patrzenia
Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki
Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Obraz realistyczny Pojęcie obrazu realistycznego jest rozumiane w różny sposób Nie zawsze obraz realistyczny
Część II Wyświetlanie obrazów
Tło fragmentu ABA-X Display jest wyposażony w mechanizm automatycznego tworzenia tła fragmentu. Najprościej można to wykonać za pomocą skryptu tlo.sh: Składnia: tlo.sh numer oznacza numer
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego
MATEMATYKA Z PLUSEM DLA KLASY VII W KONTEKŚCIE WYMAGAŃ PODSTAWY PROGRAMOWEJ. programowej dla klas IV-VI. programowej dla klas IV-VI.
MATEMATYKA Z PLUSEM DLA KLASY VII W KONTEKŚCIE WYMAGAŃ PODSTAWY PROGRAMOWEJ TEMAT LICZBA GODZIN LEKCYJNYCH WYMAGANIA SZCZEGÓŁOWE Z PODSTAWY PROGRAMOWEJ UWAGI. LICZBY I DZIAŁANIA 6 h Liczby. Rozwinięcia
Rzutowanie 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
Rys 3-1. Rysunek wałka
Obiekt 3: Wałek Rys 3-1. Rysunek wałka W tym dokumencie zostanie zaprezentowany schemat działania w celu przygotowania trójwymiarowego rysunku wałka. Poniżej prezentowane są sugestie dotyczące narysowania
Krystalochemia białek 2016/2017
Zestaw zadań 4. Grupy punktowe. Składanie elementów symetrii. Translacyjne elementy symetrii grupy punktowe, składanie elementów symetrii, translacyjne elementy symetrii: osie śrubowe, płaszczyzny ślizgowe
Podstawy działań na wektorach - dodawanie
Podstawy działań na wektorach - dodawanie Metody dodawania wektorów można podzielić na graficzne i analityczne (rachunkowe). 1. Graficzne (rysunkowe) dodawanie dwóch wektorów. Założenia: dane są dwa wektory
WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY 7SP. V. Obliczenia procentowe. Uczeń: 1) przedstawia część wielkości jako procent tej wielkości;
WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY 7SP Liczby. TEMAT Rozwinięcia dziesiętne liczb wymiernych. Zaokrąglanie liczb. Szacowanie wyników. Dodawanie i odejmowanie liczb dodatnich. Mnożenie i dzielenie
Grafika inżynierska geometria wykreślna. 5a. Obroty i kłady. Rozwinięcie wielościanu.
Grafika inżynierska geometria wykreślna 5a. Obroty i kłady. Rozwinięcie wielościanu. dr inż. arch. Anna Wancław Politechnika Gdańska, Wydział Architektury Studia inżynierskie, kierunek Gospodarka przestrzenna,
KONSTRUKCJA TRÓJKĄTA 1 KONSTRUKCJA TRÓJKĄTA 2 KONSTRUKCJA CZWOROKĄTA KONSTRUKCJA OKRĘGU KONSTRUKCJA STYCZNYCH
Wstęp Ten multimedialny program edukacyjny zawiera zadania konstrukcyjne pozwalające na samodzielne ćwiczenie i sprawdzenie wiadomości w zakresie konstrukcji podstawowych figur geometrycznych. Jest przeznaczony
PLANIMETRIA CZYLI GEOMETRIA PŁASZCZYZNY CZ. 1
PLANIMETRIA CZYLI GEOMETRIA PŁASZCZYZNY CZ. 1 Planimetria to dział geometrii, w którym przedmiotem badań są własności figur geometrycznych leżących na płaszczyźnie (patrz określenie płaszczyzny). Pojęcia
Wymagania edukacyjne z matematyki Klasa III zakres podstawowy
Wymagania edukacyjne z matematyki Klasa III zakres podstawowy Program nauczania zgodny z: Kurczab M., Kurczab E., Świda E., Program nauczania w liceach i technikach. Zakres podstawowy., Oficyna Edukacyjna
Systemy wirtualnej rzeczywistości. Komponenty i serwisy
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Komponenty i serwisy Wstęp: W trzeciej części przedstawione zostaną podstawowe techniki
Pytania do spr / Własności figur (płaskich i przestrzennych) (waga: 0,5 lub 0,3)
Pytania zamknięte / TEST : Wybierz 1 odp prawidłową. 1. Punkt: A) jest aksjomatem in. pewnikiem; B) nie jest aksjomatem, bo można go zdefiniować. 2. Prosta: A) to zbiór punktów; B) to zbiór punktów współliniowych.
Grafika komputerowa Wykład 4 Geometria przestrzenna
Grafika komputerowa Wykład 4 Geometria przestrzenna Instytut Informatyki i Automatyki Państwowa Wyższa Szkoła Informatyki i Przedsiębiorczości w Łomży 2 0 0 9 Spis treści Spis treści 1 Geometria 3D - podstawowe
w najprostszych przypadkach, np. dla trójkątów równobocznych
MATEMATYKA - klasa 3 gimnazjum kryteria ocen według treści nauczania (Przyjmuje się, że jednym z warunków koniecznych uzyskania danej oceny jest spełnienie wszystkich wymagań na oceny niższe.) Dział programu
Wymagania na poszczególne oceny szkolne z. matematyki. dla uczniów klasy IIIa i IIIb. Gimnazjum im. Jana Pawła II w Mętowie. w roku szkolnym 2015/2016
Wymagania na poszczególne oceny szkolne z matematyki dla uczniów klasy IIIa i IIIb Gimnazjum im. Jana Pawła II w Mętowie w roku szkolnym 2015/2016 DZIAŁ 1. FUNKCJE (11h) Uczeń: poda definicję funkcji (2)
Ćwiczenie nr 3 Edycja modeli bryłowych
Ćwiczenie nr 3 Edycja modeli bryłowych 1. Fazowanie oraz zaokrąglanie. Wykonaj element pokazany na rys. 1a. Wymiary elementu: średnice 100 i 40. Długość wałków 30 i 100 odpowiednio. Następnie wykonaj fazowanie
Geometria wykreślna. 3. Równoległość. Prostopadłość. Transformacja celowa. dr inż. arch. Anna Wancław. Politechnika Gdańska, Wydział Architektury
Geometria wykreślna 3. Równoległość. Prostopadłość. Transformacja celowa. dr inż. arch. Anna Wancław Politechnika Gdańska, Wydział Architektury Studia inżynierskie, kierunek Architektura, semestr I 1 3.
Julia 4D - raytracing
i przykładowa implementacja w asemblerze Politechnika Śląska Instytut Informatyki 27 sierpnia 2009 A teraz... 1 Fraktale Julia Przykłady Wstęp teoretyczny Rendering za pomocą śledzenia promieni 2 Implementacja
Grafika 3D program POV-Ray - 94 -
Temat 12: Polecenie blob parametry i zastosowanie do tworzenia obiektów. Użycie polecenia blob (kropla) jest wygodnym sposobem tworzenia gładkiego przejścia pomiędzy bryłami (kulami lub walcami). Możemy
Zad. 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
Transformacje obiektów 3D
Synteza i obróbka obrazu Transformacje obiektów 3D Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Lokalny układ współrzędnych Tworząc model obiektu, zapisujemy
Ruch jednostajnie zmienny prostoliniowy
Ruch jednostajnie zmienny prostoliniowy Przyspieszenie w ruchu jednostajnie zmiennym prostoliniowym Jest to taki ruch, w którym wektor przyspieszenia jest stały, co do wartości (niezerowej), kierunku i
3. FUNKCJA LINIOWA. gdzie ; ół,.
1 WYKŁAD 3 3. FUNKCJA LINIOWA FUNKCJĄ LINIOWĄ nazywamy funkcję typu : dla, gdzie ; ół,. Załóżmy na początek, że wyraz wolny. Wtedy mamy do czynienia z funkcją typu :.. Wykresem tej funkcji jest prosta
MACIERZE. Sobiesiak Łukasz Wilczyńska Małgorzata
MACIERZE Sobiesiak Łukasz Wilczyńska Małgorzata Podstawowe pojęcia dotyczące macierzy Nie bez przyczyny zaczynamy od pojęcia macierzy, które jest niezwykle przydatne we wszystkich zastosowaniach, obliczeniach
ZAKRES PODSTAWOWY CZĘŚĆ II. Wyrażenia wymierne
CZĘŚĆ II ZAKRES PODSTAWOWY Wyrażenia wymierne Temat: Wielomiany-przypomnienie i poszerzenie wiadomości. (2 godz.) znać i rozumieć pojęcie jednomianu (2) znać i rozumieć pojęcie wielomianu stopnia n (2)
1 Wstęp teoretyczny. Temat: Obcinanie odcinków do prostokąta. Grafika komputerowa 2D. Instrukcja laboratoryjna Prostokąt obcinający
Instrukcja laboratoryjna 3 Grafika komputerowa 2D Temat: Obcinanie odcinków do prostokąta Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny 1.1
Zasady rzutowania prostokątnego. metodą europejską. Opracował: Robert Urbanik Zespół Szkół Mechanicznych w Opolu. Zasady rzutowania prostokątnego
Zasady rzutowania prostokątnego metodą europejską Opracował: Robert Urbanik Zespół Szkół Mechanicznych w Opolu Wiadomości ogólne Rzutem nazywamy rysunkowe odwzorowanie przedmiotu lub bryły geometrycznej
3. Macierze i Układy Równań Liniowych
3. Macierze i Układy Równań Liniowych Rozważamy równanie macierzowe z końcówki ostatniego wykładu ( ) 3 1 X = 4 1 ( ) 2 5 Podstawiając X = ( ) x y i wymnażając, otrzymujemy układ 2 równań liniowych 3x
Plan wykładu. Wykład 3. Rzutowanie prostokątne, widoki, przekroje, kłady. Rzutowanie prostokątne - geneza. Rzutowanie prostokątne - geneza
Plan wykładu Wykład 3 Rzutowanie prostokątne, widoki, przekroje, kłady 1. Rzutowanie prostokątne - geneza 2. Dwa sposoby wzajemnego położenia rzutni, obiektu i obserwatora, metoda europejska i amerykańska
REALIZACJA TREŚCI PODSTAWY PROGRAMOWEJ PRZEZ PROGRAM MATEMATYKA Z PLUSEM
REALIZACJA TREŚCI PODSTAWY PROGRAMOWEJ PRZEZ PROGRAM MATEMATYKA Z PLUSEM Treści nauczania wg podstawy programowej Podręcznik M+ Klasa I Klasa II Klasa III 1. Liczby wymierne dodatnie. Uczeń: 1) odczytuje
Programowanie strukturalne i obiektowe. Funkcje
Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy
SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa
SIMR 06/07, Analiza, wykład, 07-0- Przestrzeń wektorowa Przestrzeń wektorowa (liniowa) - przestrzeń (zbiór) w której określone są działania (funkcje) dodawania elementów i mnożenia elementów przez liczbę
Wymagania edukacyjne z matematyki dla klasy I gimnazjum wg programu Matematyka z plusem
Wymagania edukacyjne z matematyki dla klasy I gimnazjum wg programu Matematyka z plusem pojęcie liczby naturalnej, całkowitej, wymiernej rozszerzenie osi liczbowej na liczby ujemne sposób i potrzebę zaokrąglania
Katalog wymagań na poszczególne stopnie szkolne klasa 3
Katalog wymagań na poszczególne stopnie szkolne klasa 3 I. GRANIASTOSŁUPY I OSTROSŁUPY 6 5 4 3 2 Wskazuje wśród wielościanów graniastosłupy proste i pochyłe. Wskazuje na modelu lub rysunku krawędzie, wierzchołki,
Aleksandra Zając. Raport. Blender. Pokemon: Eevee
Aleksandra Zając Raport Blender Pokemon: Eevee 1. Modelowanie Przed rozpoczęciem modelowania do Blendera załadowałam obraz przedstawiający wybranego pokemona, aby podczas modelowania jak najlepiej odwzorować
FUNKCJA LINIOWA - WYKRES. y = ax + b. a i b to współczynniki funkcji, które mają wartości liczbowe
FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (postać kierunkowa) Funkcja liniowa to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości liczbowe Szczególnie ważny w postaci
FUNKCJE. Kurs ZDAJ MATURĘ Z MATEMATYKI MODUŁ 5 Teoria funkcje cz.1. Definicja funkcji i wiadomości podstawowe
1 FUNKCJE Definicja funkcji i wiadomości podstawowe Jeżeli mamy dwa zbiory: zbiór X i zbiór Y, i jeżeli każdemu elementowi ze zbioru X przyporządkujemy dokładnie jeden element ze zbioru Y, to takie przyporządkowanie
Kurs ZDAJ MATURĘ Z MATEMATYKI - MODUŁ 13 Teoria stereometria
1 GRANIASTOSŁUPY i OSTROSŁUPY wiadomości ogólne Aby tworzyć wzory na OBJĘTOŚĆ i POLE CAŁKOWITE graniastosłupów musimy znać pola figur płaskich a następnie na ich bazie stosować się do zasady: Objętość
WYMAGANIA na poszczególne oceny-klasa I Gimnazjum
WYMAGANIA na poszczególne oceny-klasa I Gimnazjum Oceny z plusem lub minusem otrzymują uczniowie, których wiadomości i umiejętności znajdują się na pograniczu wymagań danej oceny głównej. (Znaki + i -
Podstawa programowa przedmiotu MATEMATYKA. III etap edukacyjny (klasy I - III gimnazjum)
Podstawa programowa przedmiotu MATEMATYKA III etap edukacyjny (klasy I - III gimnazjum) Cele kształcenia wymagania ogólne: I. Wykorzystanie i tworzenie informacji. Uczeń interpretuje i tworzy teksty o
Π 1 O Π 3 Π Rzutowanie prostokątne Wiadomości wstępne
2. Rzutowanie prostokątne 2.1. Wiadomości wstępne Rzutowanie prostokątne jest najczęściej stosowaną metodą rzutowania w rysunku technicznym. Reguły nim rządzące zaprezentowane są na rysunkach 2.1 i 2.2.
I semestr WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA VI. Wymagania na ocenę dopuszczającą. Dział programu: Liczby naturalne
WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA VI Wymagania na ocenę dopuszczającą I semestr Dział programu: Liczby naturalne Oblicza różnice czasu proste Wymienia jednostki opisujące prędkość, drogę, czas. Rozwiązuje
str 1 WYMAGANIA EDUKACYJNE ( ) - matematyka - poziom podstawowy Dariusz Drabczyk
str 1 WYMAGANIA EDUKACYJNE (2017-2018) - matematyka - poziom podstawowy Dariusz Drabczyk Klasa 3e: wpisy oznaczone jako: (T) TRYGONOMETRIA, (PII) PLANIMETRIA II, (RP) RACHUNEK PRAWDOPODOBIEŃSTWA, (ST)
WYMAGANIA EGZAMINACYJNE DLA KLASY III GIMNAZJUM
WYMAGANIA EGZAMINACYJNE DLA KLASY III GIMNAZJUM TEMAT WYMAGANIA SZCZEGÓŁOWE 1. LICZBY I WYRAŻENIA ALGEBRAICZNE 2. System dziesiątkowy 1. Liczby wymierne dodatnie. Uczeń: 1) zaokrągla rozwinięcia dziesiętne
9. Podstawowe narzędzia matematyczne analiz przestrzennych
Waldemar Izdebski - Wykłady z przedmiotu SIT 75 9. odstawowe narzędzia matematyczne analiz przestrzennych Niniejszy rozdział służy ogólnemu przedstawieniu metod matematycznych wykorzystywanych w zagadnieniu
Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki
Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Zagadnienia Jak rozumiemy fotorealizm w grafice komputerowej Historyczny rozwój kart graficznych Przekształcenia
VII. WYKRESY Wprowadzenie
VII. WYKRESY 7.1. Wprowadzenie Wykres jest graficznym przedstawieniem (w pewnym układzie współrzędnych) zależności pomiędzy określonymi wielkościami. Ułatwia on interpretację informacji (danych) liczbowych.
Rozdział VII. Przekształcenia geometryczne na płaszczyźnie Przekształcenia geometryczne Symetria osiowa Symetria środkowa 328
Drogi Czytelniku 9 Oznaczenia matematyczne 11 Podstawowe wzory 15 Rozdział I. Zbiory. Działania na zbiorach 21 1. Zbiór liczb naturalnych 22 1.1. Działania w zbiorze liczb naturalnych 22 1.2. Prawa działań
WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA I GIMNAZJUM Małgorzata Janik
WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA I GIMNAZJUM Małgorzata Janik DOPUSZCZAJĄCY DOSTATECZNY DOBRY BARDZO DOBRY LICZBY I DZIAŁANIA zna pojęcie liczby naturalnej, całkowitej, wymiernej. rozumie rozszerzenie
Wymagania edukacyjne z matematyki - klasa III (poziom rozszerzony) wg programu nauczania Matematyka Prosto do matury
STEREOMETRIA Wymagania edukacyjne z matematyki - klasa III (poziom rozszerzony) wskazać płaszczyzny równoległe i prostopadłe do danej płaszczyzny wskazać proste równoległe i prostopadłe do danej płaszczyzny
Tworzenie 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