Ćwiczenie P-2. Processing definiowanie i rysowanie obiektów 2D i 3D. Grafika komputerowa. Instrukcja laboratoryjna. opracował: mgr inż.
|
|
- Miłosz Murawski
- 9 lat temu
- Przeglądów:
Transkrypt
1 Ćwiczenie P-2 Processing definiowanie i rysowanie obiektów 2D i 3D Instrukcja laboratoryjna opracował: mgr inż. Jakub Możaryn Człowiek - najlepsza inwestycja Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Warszawa 2009
2 2 Ćwiczenie P-2 Definiowanie i rysowanie obiektów 2D i 3D SPIS TREŚCI 1. Rysowanie krzywych RYSOWANIE KRZYWYCH OPISANYCH WIELOMIANAMI FUNKCJE DO GENEROWANIA KRZYWYCH Krzywe Beziera Krzywe Catmull-Roma Rysowanie i kontrola kształtu krzywej Grafika 3D SILNIKI 3D OKREŚLENIE TRYBU WYŚWIETLANIA GRAFIKI Bryły 3D SFERA I PROSTOPADŁOŚCIAN DEFINIOWANIE ZŁOŻONYCH KSZTAŁTÓW Transformacje PRZESUNIĘCIA OBROTY SKALOWANIE DEFINIOWANIE WIELU UKŁADÓW WSPÓŁRZĘNYCH STOS MACIERZY RUCH OBIEKTÓW W PRZESTRZENI Zadania do samodzielnego wykonania ZADANIE RYSOWANIE ZŁOŻONYCH KRZYWYCH Literatura... 22
3 Ćwiczenie P-2 3 Definiowanie i rysowanie obiektów 2Di 3D 1. Rysowanie krzywych Jednym z istotnych zagadnień grafiki komputerowej jest generowanie i rysowanie złożonych krzywych w dwóch i trzech wymiarach. W przypadku prostych kształtów do ich narysowania wystarczy podstawowa wiedza matematyczna. Natomiast w przypadku bardziej złożonych kształtów niezbędna staje się znajomość rachunku różniczkowego. W rozdziale omówione zostaną elementarne krzywe i opisujące je wielomiany stosowane w programach graficznych oraz przedstawione bardziej złożone sposoby generowania krzywych na przykładzie krzywych Beziera i Catmull-Roma. Omawiane tematy zostaną zobrazowane prostymi aplikacjami w języku Processing. Dodatkowo zostanie przedstawiony sposób wyświetlania tekstu stosowany w języku Processing RYSOWANIE KRZYWYCH OPISANYCH WIELOMIANAMI W programach graficznych krzywe można w prosty sposób generować korzystając z opisu funkcją wielomianową stopnia n zapisaną w postaci następującego równania algebraicznego: y=a n x n +a n-1 x n-1 + +a 1 x+a 0 (1) gdzie a n, a n-1,, a 1, a 0 są współczynnikami wielomianu. W praktyce w programach graficznych nie stosuje się wielomianów o stopniu większym niż trzy. Wynika to głównie z rosnącego nakładu obliczeniowego oraz trudniejszej kontroli kształtu opisanych przez nie krzywych. Zadaniem prostego programu, przedstawionego w tym rozdziale, jest wygenerowanie trzech krzywych opisanych wielomianami pierwszego (prosta), drugiego (parabola) i trzeciego stopnia (parabola sześcienna). Ponieważ w aplikacji będzie wypisywany tekst, należy do projektu dodać specjalny plik o rozszerzeniu '.vlw', interpretowany przez Processing jako zbiór czcionek. Tworzy się go wybierając z głównego menu opcję Tools->CreateFont... (Rys. 1.1). Otworzy się wtedy okno służące do konwersji dostępnych w systemie czcionek na format interpretowany przez Processing. Podczas tworzenia i dodawania czcionek do projektu należy wybrać odpowiedni rodzaj czcionki, jej rozmiar, sposób wyświetlania (wygładzanie opcja Smooth ), oraz czy ma być dokonana konwersja wszystkich znaków (opcja All Characters ). Po zatwierdzeniu przyciskiem OK. zostanie utworzony plik o podanej nazwie w formacie '.vlw' i zostanie on automatycznie umieszczony w katalogu '/data' aktualnego projektu. Na początku należy zadeklarować wykorzystywane zmienne oraz napisać funkcję inicjującą. Jako zmienną globalną należy zadeklarować obiekt klasy PFont przechowujący informacje o czcionce, którą będzie wypisywany tekst na ekranie.
4 4 Ćwiczenie P-2 Definiowanie i rysowanie obiektów 2D i 3D Rysunek 1.1. Okno do konwersji i dodawania czcionek do projektu Kolejny krok to napisanie funkcji inicjującej. Oprócz standardowego określenia rozmiaru okna aplikacji, oraz tła, zostanie w niej określony font służący do wypisywania tekstu. W tym celu należy skojarzyć obiekt klasy PFont z odpowiednim plikiem '.vlw', korzystając z loadfont(). font = loadfont("nazwa_pliku.vlw"); gdzie parametrem funkcji loadfont() jest nazwa pliku z czcionkami, który znajduje się w katalogu '/data'. Ponieważ w rozbudowanych aplikacjach może być kilka obiektów klasy PFont należy określić, z którego obiektu będą wykorzystywane czcionki podczas pisania tekstu. W tym celu należy skorzystać z funkcji textfont(pfont font) gdzie parametrem jest wykorzystywany obiekt klasy PFont. Aplikacja 1.1 deklaracja zmiennych i funkcja inicjująca PFont font; void setup(){ size(400, 400); //rozmiar okna background(255); //kolor tła font = loadfont("verdana-10.vlw"); //określenie czcionki textfont(font); //funkcja draw() wykonywana jest tylko raz noloop();
5 Ćwiczenie P-2 5 Definiowanie i rysowanie obiektów 2Di 3D Następnie należy napisać funkcję draw(), która rysuje wykresy trzech różnych wielomianów na ekranie wraz z osiami i opisem tekstowym. Aplikacja 1.1 funkcja rysująca void draw(){ rysujosie(); strokeweight(2); stroke(255,0,0); float a0=-10, a1=2, a2=0, a3=0; rysujwielomian(a0,a1,a2,a3); stroke(0,255,0); a0=0.1; a1=0.01; a2=0.004; a3=0; rysujwielomian(a0,a1,a2,a3); stroke(0,0,255); a0=0.01; a1=0.01; a2=0.001; a3=0.0001; rysujwielomian(a0,a1,a2,a3); wprowadztekst(); //grubość linii //kolor punktów - czerwony //kolor punktów zielony //kolor punktów niebieski Pierwsza funkcja rysujosie() odpowiada za narysowanie osi rzędnych i osi odciętych na ekranie z wykorzystaniem funkcji line(). Aplikacja 1.1 funkcja rysująca osie void rysujosie(){ stroke(0,0,0); strokeweight(1); line(0,height/2,width,height/2); line(width/2,0,width/2,height); //kolor osi - czarny //grubość osi //oś OX //oś OY Funkcja rysujwielomian() służy do narysowania funkcji opisanej wielomianem. Wywoływana jest ona z parametrami będącymi współczynnikami wielomianu trzeciego stopnia. W zależności od tego, które z nich mają wartość 0 uzyskuje się wielomiany stopnia mniejszego niż trzy. W pętli wyświetlane są kolejne punkty wielomianu, korzystając z funkcji point(x,y). Kolor piksela określa funkcja stroke(). Punkty krzywej zostały tak przesunięte, aby środek układu współrzędnych znajdował się w środku okna aplikacji. Aplikacja 1.1 funkcja rysująca wielomian void rysujwielomian(int a0,a1,a2,a3){ float y; for (int x=round(-width/2); x<round(width/2); x++){ y = a3*pow(x,3)+a2*pow(x,2)+a1*x+a0; point(x+width/2, height-(y+height/2)); //rysowanie punktu
6 6 Ćwiczenie P-2 Definiowanie i rysowanie obiektów 2D i 3D Ostatnia funkcja wprowadztekst()służy do wyświetlenia tekstu na ekranie. Wykorzystano w niej funkcję text() text(string tekst, int/float x, int/float y, int/float z) Parametrami są: tekst wypisywany ciąg znaków, x, y, z współrzędne położenia początku tekstu na ekranie. Kolor czcionki zmienia się korzystając z instrukcji fill() i odpowiada on kolorowi krzywej, której dotyczy opis. Aplikacja 1.1 funkcja wypisująca tekst na ekranie void wprowadztekst(){ fill(255,0,0); text("prosta: y=a1*x+a0", 210, 230); fill(0,255,0); //kolor tekstu - czerwony //kolor tekstu - zielony text("parabola: y=a2*x^2+a1*x+a0", 210, 250); fill(0,0,255); //kolor tekstu - niebieski text("parabola \nsześcienna: y=a3*x^3+a2*x^2+a1*x+a0", 210, 270); Rysunek 1.2. Okno aplikacji 1.1, rysowanie krzywych
7 Ćwiczenie P-2 7 Definiowanie i rysowanie obiektów 2Di 3D 1.2. FUNKCJE DO GENEROWANIA KRZYWYCH Krzywe Beziera Krzywe Beziera są parametrycznymi krzywymi trzeciego stopnia i stanowią podstawowy element programów do tworzenia i edycji rysunków wektorowych. Język Processing jest wyposażony w funkcję służącą do rysowania krzywej Beziera: bezier (x0, y0, x1, y1, x2, y2, x3, y3) bezier (x0, y0, z0, x1, y1, z1, x2, y2, z2, x3, y3, z3) gdzie wszystkie parametry są typu int/float. Postać krzywej Beziera zależy od czterech punktów kontrolnych, z których tylko dwa krańcowe - pierwszy i ostatni - leżą na krzywej. Rysunek 1.3. Krzywa Beziera. Na rysunku zaznaczono punkty kontrolne krzywej, parametry funkcji bezier(). Do wywołania funkcji bezier() wymagane jest 8 lub 12 parametrów, w zależności od liczby wymiarów, w których chcemy takie krzywe rysować. W przypadku rysowania krzywej w dwóch wymiarach nie podaje się współrzędnej z.
8 8 Ćwiczenie P-2 Definiowanie i rysowanie obiektów 2D i 3D Krzywe Catmull-Roma Druga funkcja służąca do rysowania krzywych trzeciego stopnia to curve(). Algorytm wyznaczania krzywej opiera sie na metodzie Catmull-Roma. Analogicznie jak funkcja bezier() wymaga określenia współrzędnych czterech punktów: curve (x0, y0, x1, y1, x2, y2, x3, y3) curve (x0, y0, z0, x1, y1, z1, x2, y2, z2, x3, y3, z3) Przez te cztery punkty prowadzona jest gładka krzywa interpolująca, ale rysowana jest ona tylko pomiędzy punktem drugim i trzecim; punkt pierwszy i ostatni służą do modelowania kształtu krzywej: Rysunek 1.4. Krzywa Catmull-Roma. Na rysunku zaznaczono punkty kontrolne krzywej, parametry funkcji curve() Rysowanie i kontrola kształtu krzywej W kolejnym przykładzie zostanie opisana aplikacja, w której określone będą punkty krańcowe i wewnętrzne punkty kontrolne oraz rysowana będzie krzywa Beziera. Dodatkowo użytkownik będzie mógł kontrolować kształt i rozmiar krzywej poprzez zmianę położenia punktów. Na początku należy zadeklarować liczbę rysowanych punktów, ich rozmiar, dwie tablice opisujące położenie 4 punktów oraz jedną tablicę przechowującą informację, który punkt jest przesuwany.
9 Ćwiczenie P-2 9 Definiowanie i rysowanie obiektów 2Di 3D Aplikacja 1.2 deklaracja zmiennych int pts=4; //liczba punktów int ptrozmiar=6; //rozmiar punktów //połoŝenie punktów (tablice) float []x=new float[pts]; float []y=new float[pts]; boolean []Przesuniecie = new boolean[pts]; //przesuwanie punktów W funkcji inicjującej zostaną wygenerowane w sposób losowy współrzędne każdego z punktów. Flaga Przesunięcie zostanie ustawiona na false, co oznacza ze wszystkie punkty są nieruchome i nie jest możliwe ich przesuwanie. Aplikacja 1.2 funkcja inicjująca void setup(){ size(300,300); smooth(); for (int i=0;i<pts;i++){ //losowanie współrzędnych punktów x[i] = round(random(width-1)); y[i] = round(random(height-1)); Przesuniecie [i]=false; //blokowanie punktów W funkcji draw() wywołana zostanie funkcja użytkownika bezierrysuj(), która pozwala na narysowanie krzywej Beziera pomiędzy określonymi punktami. Punkty krańcowe połączone są z wewnętrznymi punktami kontrolnymi linią prostą. Aplikacja 1.2 funkcja rysująca void draw(){ background(255); //czyszczenie okna nofill(); strokeweight(2); bezierrysuj(); //rysowanie krzywej //zmiana współrzędnych przesuwanego punktu for(int i=0;i<pts;i++){ if (Przesuniecie[i]){ x[i] = mousex; y[i] = mousey;
10 10 Ćwiczenie P-2 Definiowanie i rysowanie obiektów 2D i 3D Aplikacja 1.2 funkcja bezierrysuj() void bezierrysuj(){ ` stroke(0, 0, 255); //rysowanie krzywej Beziera bezier (x[0], y[0],x[1], y[1], x[2], y[2], x[3], y[3]); //rysowanie linii pomiędzy wewnętrznymi punktami kontrolnymi //a punktami krańcowymi strokeweight(1); stroke(255,0,0); //kolor linii - czerwony line(x[0],y[0],x[1],y[1]); line(x[2],y[2],x[3],y[3]); stroke(0); //kontur punktów kontrolnych for(int i=0;i<pts;i++){ if (i==1 i==2){ //oznaczenie wewnętrznych punktów kontrolnych fill(255, 0, 0); rectmode(center); rect(x[i],y[i],ptrozmiar, ptrozmiar); //kwadrat }else{ //oznaczenie punktów krańcowych fill(0); ellipse(x[i], y[i], ptrozmiar, ptrozmiar); //okrąg W kolejnym kroku zostaną obsłużone zdarzenia związane z przyciskiem myszy. W ciągu instrukcji funkcji mousepressed(), związanej z naciśnięciem przycisku myszy, sprawdzane jest położenie kursora, oraz elementy tablicy zawierającej informacje czy dane punkty można przesuwać. W przypadku gdy kursor znajdzie się nad danym punktem i naciśnięty zostanie lewy przycisk myszy, punkt zostaje odblokowany i może być przesuwany. Druga funkcja, mousereleased(), jest związana ze zwolnieniem przycisku myszy. W tym przypadku wszystkie punkty są blokowane.
11 Ćwiczenie P-2 11 Definiowanie i rysowanie obiektów 2Di 3D Aplikacja 1.2 obsługa zdarzeń związanych z przyciskiem myszy //naciśnięcie przycisku myszy void mousepressed(){ for(int i=0;i<pts;i++){ //sprawdzenie warunków, który punkt ma być odblokowany if(mousex>=x[i]-5&&mousex<=x[i]+ ptrozmiar +5 && mousey>=y[i]-5&&mousey<=y[i]+ ptrozmiar +5){ //odblokowanie wybranego punktu Przesuniecie[i]=true; //zwolnienie przycisku myszy void mousereleased(){ //zablokowanie punktu for(int i=0;i<pts;i++){ Przesuniecie[i]=false; Ostatecznie należy obsłużyć ruch myszy funkcja mousemoved(). W aplikacji funkcja ta służy tylko sprawdzeniu, gdzie znajduje się kursor. W przypadku gdy znajdzie się nad jednym z punktów definiujących krzywą, zmieniana jest ikona kursora (ikona z ręką). W pozostałych przypadkach ikoną kursora jest strzałka. Aplikacja 1.2 obsługa zdarzenia związanego z ruchem myszy //zmiana wyświetlanej ikony kursora, jeśli znajduje się nad punktem void mousemoved (){ //zmiana ikony kursora na ikonę strzałki cursor(arrow); for(int i=0;i<pts;i++){ if(mousex>=x[i]-5&&mousex<=x[i]+ptrozmiar+5 && mousey>=y[i]-5&&mousey<=y[i]+ ptrozmiar +5){ //zmiana ikony kursora na ikonę ręki cursor(hand);
12 12 Ćwiczenie P-2 Definiowanie i rysowanie obiektów 2D i 3D Rysunek 1.5. Okno aplikacji 1.2, kontrola rozmiaru i kształtu krzywej Beziera 2. Grafika 3D w trzech wymiarach stanowi istotny element produkowanych obecnie programów stosowanych m.in. w przemyśle, rozrywce, medycynie, farmacji lub badaniach naukowych. Większość dostępnych programów 3D (AutoCad, LightWave, Maya, 3ds Max, Blender) posiada dość złożony interfejs co powoduje, że osiągnięcie zamierzonego efektu wymaga specjalistycznej wiedzy. Niskopoziomowe programowanie grafiki 3D także należy do skomplikowanych zagadnień. Możliwość wyświetlania trzech wymiarów na dwuwymiarowej płaszczyźnie jest stosunkowo złożone, wymaga dobrych umiejętności projektowania algorytmów i programowania. Ponadto, żeby wyświetlanie trójwymiarowych scen było płynnie i szybkie potrzebna jest znajomość technologii przyspieszania wyświetlania grafiki: optymalizacji kodu, stosowania bibliotek systemowych np. DirectX, oraz możliwości sprzętu (procesora, kart grafiki, szybkości podzespołów, etc.). W Processingu umożliwiono proste budowanie scen złożonych z trójwymiarowych obiektów i operacji na tych obiektach (obroty, przesunięcia, etc.), co znacznie przyspiesza proces projektowania aplikacji i kodowania. Sprzyja to także wyjaśnieniu podstawowych koncepcji grafiki trójwymiarowej. Możliwość eksportu programów do postaci apletów zagnieżdżonych na stronach WWW lub do plików PDF powoduje, że Processing jest bardzo atrakcyjną technologią także do wizualizacji 3D. Processing posiada kilka trybów wyświetlania grafiki. Okna generowane w Processingu mogą wykorzystywać do wyświetlania obrazów dwuwymiarowych wbudowane oprogramowanie tzw. silniki: P2D lub bibliotekę Java 2D, natomiast do wyświetlania grafiki trójwymiarowej dedykowany silnik P3D lub bibliotekę OpenGL. Zasady ich stosowania podano w podrozdziale 2.2.
13 Ćwiczenie P-2 13 Definiowanie i rysowanie obiektów 2Di 3D 2.1. SILNIKI 3D Warto wspomnieć czym są silniki 3D. Zwykle jest to zbiór bibliotek i oprogramowania, które pozwala na analizowanie scen trójwymiarowych, obliczanie współrzędnych i przemieszczeń, a następnie przeliczanie ich na współrzędne w dwóch wymiarach, tak żeby wyświetlić scenę trójwymiarową na ekranie monitora proces ten nazywany jest renderingiem. Ponadto silniki 3D wspomagają pracę z obiektami geometrycznymi w trzech wymiarach, ułatwiają określanie źródeł światła, nakładanie tekstur oraz ustawianie widoku scen trójwymiarowych z wykorzystaniem tzw. wirtualnych kamer OKREŚLENIE TRYBU WYŚWIETLANIA GRAFIKI Pisanie aplikacji trójwymiarowych w Processingu wymaga określenia, który silnik 3D będzie stosowany do wyświetlania scen. W tym celu wykorzystywana jest funkcja size(), wywoływana na początku programu. size(int/float szerokość, int/float wysokość, TRYB) Funkcja size() definiuje nam rozmiar okna w piselach (szerokość wysokość). Ponadto opcjonalnie można podać tryb wyświetlania grafiki. W przypadku gdy funkcja ta nie występuje, standardowo tworzone jest okno pikseli. Funkcja size() powinna być wywołana na początku funkcji setup(). Processing umożliwia korzystanie z kilku różnych trybów wyświetlania grafiki podawanych jako parametr TRYB. Zostały one zebrane w tabeli 2.1 Jeśli nie jest określony tryb wyświetlania to domyślnie przyjmowany jest silnik Java 2D. Tabela 2.1. Tryby wyświetlania grafiki TRYB JAVA2D P2D P3D OPENGL PDF Opis Domyślny tryb wyświetlania grafiki, wspierający wyświetlanie grafiki dwuwymiarowej. Daje najlepszy efekt wizualny, jest jednak najwolniejszym z dostępnych trybów. (Processing 2D) - szybki tryb wyświetlania grafiki dwuwymiarowej, mniej dokładny od trybu Java 2D. (Processing 3D) - szybki tryb wyświetlania grafiki trójwymiarowej. Przeznaczony szczególnie dla aplikacji internetowych. Mniej dokładny od trybu OpenGL. Szybki tryb wyświetlania grafiki trójwymiarowej, wykorzystujący możliwości sprzętu kompatybilnego z biblioteką Open GL. Aby z niego skorzystać należy najpierw zaimportować bibliotekę Open GL (w menu głównym wybrać Sketch > Import Library > opengl). Tryb wyświetlania grafiki, który pozwala na zapisanie grafiki 2D do piku Acrobat PDF. Daje najlepsze efekty, jeśli wynikiem pracy mają być statyczne obiekty wektorowe przeznaczone do wydruku. Aby z niego skorzystać należy najpierw zaimportować bibliotekę PDF ( w menu głównym wybrać Sketch > Import Library > pdf).
14 14 Ćwiczenie P-2 Definiowanie i rysowanie obiektów 2D i 3D W przypadku operacji na pikselach, (funkcje get(), blend(), działania na wektorze pixels[] ) najszybciej będą działały tryby P2D i P3D, w porównaniu z Java 2D lub Open GL. Natomiast, jeśli odtwarzane są pliki z filmami lub wykonywana jest obróbka wielu obrazów, tryby P2D i P3D są szybsze. Ich ograniczeniem jest niższa dokładność niż w przypadku trybów Java 2D lub Open GL, dlatego też nadają się głównie dla aplikacji internetowych. Projektując aplikacje multimedialne (np. prezentacje, wizualizacje), odtwarzane na jednym komputerze, lepiej jest korzystać z dokładniejszych trybów (Java 2D i Open GL). 3. Bryły 3D W Processingu udostępniono dwie standardowe bryły trójwymiarowe: prostopadłościan i sferę. Pozostałe bryły wymagają osobnego zdefiniowania jako połączonych ze sobą wierzchołków w przestrzeni lub w postaci chmury punktów SFERA I PROSTOPADŁOŚCIAN Sferę (kulę pustą w środku, której powierzchnia przybliżona jest zbiorem połączonych trójkątów) tworzy się przy pomocy funkcji sphere(). sphere(int/float promien) Funkcja sphere() posiada tylko jeden parametr - promień. Prostopadłościan tworzy się przy pomocy funkcji box(). box(int/float szerokość, int/float wysokość, int/float głębokość); Funkcja ta wywoływana jest z trzema parametrami: szerokość (wzdłuż osi OX), wysokość (wzdłuż osi OY) i głębokość (wzdłuż osi OZ). Domyślnie środek rysowanej figury znajduje się w punkcie (0,0,0) lewy, górny róg ekranu. Aplikacja 3.1. funkcja inicjująca i rysująca. void setup(){ size(400,400,p3d); noloop(); void draw(){ box(200,200,200); //rozmiar okna i tryb wyświetlania //rysowanie prostopadłościanu 3.3. DEFINIOWANIE ZŁOŻONYCH KSZTAŁTÓW Złożone kształty w Processingu tworzy się, definiując położenie poszczególnych wierzchołków, które są później ze sobą połączone. Wierzchołek określa się przy pomocy funkcji vertex(). vertex(int/float x, int/float y, int/float z) gdzie parametrami są współrzędne wierzchołka.
15 Ćwiczenie P-2 15 Definiowanie i rysowanie obiektów 2Di 3D Blok definicji nowego kształtu lub bryły to ciąg funkcji definiujących wierzchołki ograniczony przez instrukcje beginshape() i endshape(). beginshape(); //definicje wierzchołków endshape(); Tryby wyświetlania grafiki P2D, P3D oraz OPENGL pozwalają na określenie koloru i wypełnienia dla każdego wierzchołka. Instrukcja beginshape() ma następującą składnię: beginshape(rodzaj) Parametr RODZAJ mówi, jaki rodzaj figury ma być utworzony z podanych wierzchołków. W przypadku jego braku pomiędzy kolejnymi wierzchołkami tworzona jest nieregularna, łamana linia. Dostępne wartości parametru RODZAJ i opis generowanych kształtów zebrano w Tab Tabela 3.1. Rodzaje kształtów generowanych w zależności od wartości parametru RODZAJ RODZAJ POINTS LINES (brak) TRIANGLES TRIANGLE_FAN TRIANGLE_STRIP QUADS QUAD_STRIP Rysowane są tylko wierzchołki. Opis Narysowane wierzchołki łączone są liniami. Łączone są tylko poszczególne pary punktów. Narysowane wierzchołki są po kolei łączone segmentami prostych lub krzywych tworząc nieregularną linię łamaną lub krzywoliniową. Narysowane wierzchołki łączone są w trójkąty, łączone są tylko poszczególne trójki punktów. Figury wypełnione są kolorem. Narysowane wierzchołki łączone są po kolei w trójkąty, każde kolejne dwa punkty są łączone z pierwszym wierzchołkiem i z ostatnim wierzchołkiem. Figury wypełnione są kolorem. Narysowane wierzchołki łączone są po kolei w trójkąty, rozpoczynając od trzeciego punktu. Figury wypełnione są kolorem. Narysowane wierzchołki łączone są w prostokąty, łączone są tylko poszczególne czwórki punktów. Figury wypełnione są kolorem. Narysowane wierzchołki łączone są po kolei w prostokąty, rozpoczynając do czwartego punktu. Figury wypełnione są kolorem. W przypadku gdy funkcja endshape() jest wywołana z parametrem CLOSE, pierwszy wierzchołek połączony jest z ostatnim i tworzona jest zamknięta figura o określonej krawędzi i wypełnieniu. W dwóch i trzech wymiarach można także rysować złożone krzywe Beziera i Catmull- Roma, oraz tworzyć figury złożone z połączonych krzywych. W tym celu należy skorzystać z funkcji beziervertex() i curvevertex(). Funkcje beziervertex() lub curvevertex() muszą znaleźć się w definicji nowego kształtu (beginshape() endshape()) tylko w przypadku gdy brak jest parametru RODZAJ. Zaletą funkcji beziervertex() i curvevertex() jest mniejsza liczba parametrów podawanych podczas definicji krzywych niż w przypadku funkcji bezier() i curve().
16 16 Ćwiczenie P-2 Definiowanie i rysowanie obiektów 2D i 3D Funkcja beziervertex() ma następującą składnię beziervertex(x1, y1, x2, y2, x3, y3) beziervertex(x1, y1, z1, x2, y2, z2, x3, y3, z3) gdzie wszystkie parametry są typu int/float. Parametry funkcji beziervertex() to położenie trzech spośród czterech punktów kontrolnych definiujących krzywą - nie podaje się punktu początkowego, gdyż zakłada się, że pokrywa się on z punktem końcowym poprzedniego segmentu zawartego w obszarze (beginshape() endshape()) Wywołanie funkcji beziervertex() powoduje dodanie nowego segmentu do kształtu zdefiniowanego ciągiem instrukcji zawartych w obszarze (beginshape() endshape()). Jeśli krzywa Beziera jest pierwszym elementem danego kształtu, musi być poprzedzona zdefiniowaniem pierwszego punktu (funkcja vertex()). Funkcja curvevertex() ma następującą składnię curvevertex(x, y) curvevertex(x, y, z) gdzie wszystkie parametry są typu int/float. Parametry funkcji curvevertex() określają położenie kolejnego punktu krzywej interpolującej. Ciąg kolejno wywołanych funkcji tego typu: beginshape(); curvevertex(...); curvevertex(...);... curvevertex(...); endshape( ); powoduje utworzenie krzywej interpolującej wszystkie podane punkty, ale rysowana jest ona tylko pomiędzy drugim podanym punktem a przedostatnim. Pierwszy i ostatni punkt są wykorzystywane jako punkty modelujące kształt krzywej na końcach. Jest to inny sposób definiowania krzywych Catmulla-Roma. Aby narysować przynajmniej jedną krzywą, wymagane jest więc zdefiniowanie co najmniej 4 punktów w obszarze (beginshape() endshape()).
17 Ćwiczenie P-2 17 Definiowanie i rysowanie obiektów 2Di 3D 4. Transformacje Każdy z punktów w przestrzeni można definiować z wykorzystaniem trzech współrzędnych x, y, z. Każdą grupę punktów można także przetransformować do innych współrzędnych w przestrzeni, zachowując proporcje odległości pomiędzy punktami. Standardowe transformacje, na które pozwala Processing to przesunięcie, obrót i skalowanie PRZESUNIĘCIA Jak pokazano w przykładach z rozdziału 3, położenie środka standardowych kształtów (prostopadłościan, kula) znajduje się w środku układu współrzędnych. Domyślnie wybrany jest on jako (0,0,0), czyli jest umiejscowiony w górnym lewym rogu okna. Do przesunięcia układu współrzędnych stosowana jest funkcja translate(). translate(int/float x, int/float y); translate(int/float x, int/float y, int/float z); Parametrami funkcji translate() jest przesunięcie w kierunkach x, y, z o podaną liczbę pikseli. Przesunięcie ma wpływ tylko na obiekty rysowane po wywołaniu funkcji translate(). Funkcja ta jest funkcją addytywną. Tak więc dwukrotne wywołanie funkcji translate(10,10,10) spowoduje, że środek układu współrzędnych przesunie się o 20 pikseli w każdym z kierunków x, y, z. Ruch w kierunku z spowoduje, że obiekty będą mniejsze lub większe, co wynika z zasad zachowania perspektywy OBROTY W Processingu obrót realizowany jest z wykorzystaniem funkcji rotate() w przypadku grafiki dwuwymiarowej lub rotatex(), rotatey(), rotatez() w przypadku grafiki trójwymiarowej. rotate(int/(float kąt); rotatex(int/float kąt); rotatey(int/float kąt); rotatez(int/float kąt); Parametrem wymienionych funkcji jest kąt obrotu podawany w radianach. Dodatnia wartość parametru definiuje obrót wokół osi OX (rotatex()), OY(rotateY()), OZ(rotateZ()), zgodny z kierunkiem wskazówek zegara. W przypadku każdej z tych funkcji obracana jest cała zawartość okna rysowana po ich wywołaniu. Funkcja obrotu jest funkcją addytywną.
18 18 Ćwiczenie P-2 Definiowanie i rysowanie obiektów 2D i 3D 4.3. SKALOWANIE Powiększanie lub pomniejszanie kształtów wiąże się ze zmianą odległości pomiędzy definiującymi je wierzchołkami. Wykorzystywana do tej transformacji jest funkcja scale(). scale(sx,sy,sz) Parametry sx, sy, sz są współczynnikami skali w danym kierunku (x, y, z) podawanymi jako liczby rzeczywiste. W przypadku funkcji scale() skalowana jest cała zawartość okna rysowana po jej wywołaniu. Funkcja skalująca jest multiplikatywna: dwukrotne wywołanie funkcji scale(3,3,3), spowoduje przeskalowanie obiektów 9-krotnie w każdym kierunku (900%) DEFINIOWANIE WIELU UKŁADÓW WSPÓŁRZĘNYCH STOS MACIERZY Sporo problemów może spowodować addytywność lub multiplikatywność funkcji dokonujących transformacji. W celu ułatwienia pracy, w Processingu umożliwiono zdefiniowanie układów współrzędnych, przy pomocy ciągów funkcji transformujących i rysujących figury ograniczonych instrukcjami pushmatrix() i popmatrix(), oraz rysowanie i przekształcenia figur w tak zdefiniowanym nowym układzie. pushmatrix(); //przekształcenia i rysowanie obiektów w nowym układzie popmatrix(); Użycie funkcji pushmatrix() powoduje, że początek i kierunki osi nowego układu współrzędnych określone są przez funkcje transformujące wywołane przed funkcją pushmatrix(). Kolejne przekształcenia i rysowanie obiektów wykonywane są w nowym układzie współrzędnych. Po wykonaniu funkcji popmatrix() wszystkie zmienne definiujące układ współrzędnych przyjmują wartości, które zostały ustawione przed blokiem pushmatrix() popmatrix(). Możliwe jest zagnieżdżanie bloków definiujących nowe układy współrzędnych. Operacje zagnieżdżania bloków pushmatrix() popmatrix()nazywają się operacjami na stosie macierzy modelowania. Zapisywanie na stosie macierzy przekształceń opisujących transformacje układów powoduje blokowanie układów współrzędnych oraz figur z nimi związanych. Znacznie ułatwia to generowanie scen składających się z wielu brył i ma szczególne znaczenie w przypadku tworzenia animacji. Sposób pracy z wieloma układami współrzędnych zostanie pokazany w następnym podrozdziale RUCH OBIEKTÓW W PRZESTRZENI Na podstawie przykładowej aplikacji, zostaną zobrazowane i wytłumaczone opisane transformacje i przekształcenia układów współrzędnych, oraz praca ze stosem macierzy modelowania. W funkcji inicjującej zostanie określony rozmiar okna, oraz wybrany silnik do generowania sceny 3D.
19 Ćwiczenie P-2 19 Definiowanie i rysowanie obiektów 2Di 3D Aplikacja 4.1. funkcja inicjująca. void setup(){ size(800,400,p3d); W funkcji rysującej, na początku zostanie przerysowane tło, a następnie ustawiony kolor krawędzi rysowanych brył. Kolejne instrukcje, zamknięte w bloku pushmatrix() popmatrix(), ustawiają na środku okna czerwony sześcian, obracający się wokół wszystkich osi. Środek sześcianu znajduje się w środku układu współrzędnych. Aby animować ruch (obrót) wokół każdej z osi, jako parametr funkcji rotatex(), rotatey(), rotatez(), jest podawana wartość kąta zmieniająca się w zależności od kolejnego numeru klatki (wywołania funkcji rysującej). Numer klatki, obliczany od początku działania aplikacji, jest zwracany jako wynik działania funkcji framecount(). Instrukcja popmatrix() spowoduje, że układ współrzędnych znów będzie miał domyślne położenie i kierunki. Należy teraz określić położenie kolejnych elementów wzgędem siebie. Zostanie tutaj zilustrowane zastosowanie stosu macierzy modelowania. Na początku otwierany jest blok definicji nowego układu współrzędnych i na środku okna zostanie ustawiony pierwszy układ UW_1. Wszystkie obiekty będą obracały się wokół osi OY tego układu. Przy pomocy kolejnej, zagnieżdżonej instrukcji pushmatrix(), zostanie ustawiony układ współrzędnych UW_2, przesunięty względem UW_1 o 150 pikseli w kierunku x. Wszystkie obiekty w układzie UW_2 będą cały czas obracały się wokół osi OX i OY tego układu. W układzie UW_2 rysowany jest kolejny sześcian o bokach w kolorze zielonym. Opisane transformacje powodują, że porusza się on po orbicie czerwonego sześcianu, a przy okazji sam kręci się wokół osi OX i OY przechodzących przez jego środek. Analogicznie, przy pomocy zagnieżdżonego kolejnego bloku definiującego nowy układ współrzędnych (UW_3), rysowany jest niebieski sześcian, krążący po orbicie zielonego sześcianu i kręcący się wokół trzech osi przechodzących przez jego środek. Rysunek 4.1. Okno aplikacji 4.1.
20 20 Ćwiczenie P-2 Definiowanie i rysowanie obiektów 2D i 3D Aplikacja 4.1. funkcja rysująca void draw ( ) { background(0,0,0); stroke(0); int fc=framecount; //numer klatki int przesx=width/2; int przesy=height/2; pushmatrix(); translate(przesx,przesy); //przesunięcie środka układu współrzędnych rotatex(fc*pi/100); //obrót wokół osi OX rotatey(fc*pi/100); //obrót wokół osi OY rotatez(fc*pi/100); //obrót wokół osi OZ fill(255,0,0); //kolor sześcianu - czerwony box(100,100,100); //rysowanie sześcianu popmatrix(); //informacje o transformacjach - cofnięte pushmatrix(); //określenie UW_1 //przesunięcie środka układu współrzędnych,, wpływa na UW_2 i UW_3 translate(przesx,przesy); rotatey(fc*pi/100); //obrót wokół osi OY, wpływa na UW_2 i UW_3 pushmatrix(); //określenie UW_2,zagnieŜdŜenie 1 translate(150,0); //przesunięcie środka układu współrzędnych rotatex(fc*pi/100); //obrót obiektów wokół osi OX, UW_2 rotatey(fc*pi/100); //obrót obiektów wokół osi OY, UW_2 fill(0,255,0); //kolor sześcianu - zielony box(50,50,50); //rysowanie sześcianu rotatey(fc*pi/60); //obrót wokół osi OY, wpływa tylko na UW_3 pushmatrix(); //określenie UW_3, zagnieŝdŝenie 2 translate(70,0); //przesunięcie obiektów w UW_3 rotatex(fc*pi/30); //obrót obiektów wokół osi OX, UW_3 rotatey(fc*pi/30); //obrót obiektów wokół osi OY, UW_3 rotatez(fc*pi/30); //obrót obiektów wokół osi OZ, UW_3 fill(0,0,255); //kolor sześcianu - niebieski box(20,20,20); //rysowanie sześcianu popmatrix(); //koniec zagnieŝdŝenia 2 popmatrix(); //koniec zagnieŝdŝenia 1 popmatrix();
21 Ćwiczenie P-2 21 Definiowanie i rysowanie obiektów 2Di 3D 5. Zadania do samodzielnego wykonania 5.1. ZADANIE RYSOWANIE ZŁOŻONYCH KRZYWYCH Treść zadania: Należy napisać aplikację rysującą złożoną krzywą pomiędzy wieloma punktami naniesionymi przez użytkownika na ekran z wykorzystaniem krzywych Camtull-Roma. Każdy kolejny dodawany punkt staje się automatycznie końcowym punktem krzywej. Ostatnie cztery punkty definiują kolejny segment krzywej (4 punkty krzywej Camtull-Roma). Przydatne informacje: Podczas implementacji istotne będzie wywołanie funkcji curve(). Może być także przydatna tablica dwuwymiarowa przechowująca współrzędne punktów, co ułatwia ich rysowanie na ekranie. Uwaga: W Processingu podczas deklaracji tablicy musi być podany jej wymiar. W programie, podczas dodawania punktów można dokonać następującego przepisania, tak aby zwiększyć rozmiar tablicy o jeden element. int[] wspxa=new int[wspx.length+1]; //deklaracja nowej tablicy for (int i=0;i<wspx.length;i++){ //przepisanie elementów wspxa[i]=wspx[i]; wspx=wspxa; //przepisanie tablicy Rysunek 5.1. Przykład okna aplikacji 5.1
22 22 Ćwiczenie P-2 Definiowanie i rysowanie obiektów 2D i 3D 6. Literatura [1] Bożena Pawlak Processing nowe narzędzie do tworzenia apletów. Analiza możliwości na przykładzie apletów z dziedziny grafiki komputerowej, Praca dyplomowa inżynierska, Wydział Mechatroniki, 2005/2006. [2] Ira Greenberg: Processing: Creative Coding and Computational Art, Friendsof, [3] Casey Reas, Ben Fry, Processing: A Programming Handbook for Visual Designers and Artists, MIT Press, [4] Daniel Shiffman: Learning Processing. A Beginners Guide to Programming Images, Animation and Interaction, Elsevier, [5] Pomoc środowiska Processing.
Podstawy Processingu. Diana Domańska. Uniwersytet Śląski
Podstawy Processingu Diana Domańska Uniwersytet Śląski Processing jest językiem programowania opartym na języku Java. Jest on nastawiony na aplikacje związane z grafiką, animacją. Projekt został zainicjowany
Podstawy Processingu. Diana Domańska. Uniwersytet Śląski
Podstawy Processingu Diana Domańska Uniwersytet Śląski Krzywe W Processingu dostępne są dwa rodzaje krzywych kubicznych: krzywe Béziera, krzywe Catmulla-Roma. Krzywe W Processingu dostępne są dwa rodzaje
narzę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
Processing. Podstawy Processingu
Processing Podstawy Processingu Processing jest darmowym językiem i środowiskiem, opartym na języku Java, służącym do tworzenia interaktywnych aplikacji graficznych. Został on stworzony w MIT (Massachusetts
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ć
6 Grafika 2D. 6.1 Obiekty 2D
6 Grafika 2D. J a c e k Ta r a s i u k 6.1 Obiekty 2D W wektorowej grafice dwuwymiarowej obraz opisuje się jako zbiór prostych obiektów geometrycznych takich jak: odcinki, elipsy, prostokąty itp 1. Każdy
Grafika Komputerowa Materiały Laboratoryjne
Grafika Komputerowa Materiały Laboratoryjne Laboratorium 6 Processing c.d. Wstęp Laboratorium 6 poszerza zagadnienie generowania i przetwarzania obrazów z wykorzystaniem języka Processing 2, dedykowanego
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
Ćw. I Projektowanie opakowań transportowych cz. 1 Ćwiczenia z Corel DRAW
Ćw. I Projektowanie opakowań transportowych cz. 1 Ćwiczenia z Corel DRAW Celem ćwiczenia jest wstępne przygotowanie do wykonania projektu opakowania transportowego poprzez zapoznanie się z programem Corel
Ćwiczenie 1 Automatyczna animacja ruchu
Automatyczna animacja ruchu Celem ćwiczenia jest poznanie procesu tworzenia automatycznej animacji ruchu, która jest podstawą większości projektów we Flashu. Ze względu na swoją wszechstronność omawiana
KGGiBM 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ć
Rysowanie 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
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
Interakcje wizualno-muzyczne. Processing. w programowaniu obrazu. Piotr Welk
Interakcje wizualno-muzyczne Processing w programowaniu obrazu Piotr Welk 18 20 marca 2011 Processing jest środowiskiem programowania dla ludzi tworzących obrazy, animacje, wizualne i interaktywne eksperymenty.
Maskowanie 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,
Ukł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
POMOC / INSTRUKCJA OBSŁUGI
POMOC / INSTRUKCJA OBSŁUGI 1. Powiększanie mapy 2. Plakat 3. Schemat lekcji 4. Broszura informacyjna 5. Instrukcja obsługi Pasek narzędzi i menu wyboru Zmiana skali mapy Mini mapa - podgląd na położenie
Dodatek A. Palety. QuarkXPress 4.1. Projekty praktyczne. Podstawowe palety
Dodatek A. Palety Podstawowe palety Paleta Tools, czyli paleta narzędziowa. Jest to typowa paleta pływająca, w której zostały umieszczone podstawowe narzędzia. Rysunek A 1. Paleta Tools Item narzędzie
Simba 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
CorelDRAW. wprowadzenie
CorelDRAW wprowadzenie Źródło: Podręcznik uŝytkownika pakietu CorelDRAW Graphics Suite 12 Rysowanie linii 1. Otwórz program CorelDRAW. 2. Utwórz nowy rysunek i zapisz go w swoich dokumentach jako [nazwisko]_1.cdr
Ćwiczenie nr 2 - Rysowanie precyzyjne
Ćwiczenie nr 2 - Rysowanie precyzyjne Materiały do kursu Skrypt CAD AutoCAD 2D strony: 37-46. Wprowadzenie Projektowanie wymaga budowania modelu geometrycznego zgodnie z określonymi wymiarami, a to narzuca
IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące
IRONCAD IRONCAD 2016 TriBall o Narzędzie pozycjonujące Spis treści 1. Narzędzie TriBall... 2 2. Aktywacja narzędzia TriBall... 2 3. Specyfika narzędzia TriBall... 4 3.1 Kula centralna... 4 3.2 Kule wewnętrzne...
Podstawowe czynnos ci w programie PowerPoint
Podstawowe czynnos ci w programie PowerPoint Program PowerPoint to zaawansowana aplikacja do obsługi prezentacji, jednak aby w pełni wykorzystać jej możliwości, należy najpierw poznać jej podstawowe funkcje.
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.
Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe.
Programowanie Wizualno-Obiektowe (studia zaoczne - inżynieria komputerowa) Zajęcia z Delphi 5, program 1 Temat: Zadanie: Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków
Grażyna Koba. Grafika komputerowa. materiały dodatkowe do podręcznika. Informatyka dla gimnazjum
Grażyna Koba Grafika komputerowa materiały dodatkowe do podręcznika Informatyka dla gimnazjum Rysunki i animacje w Edytorze postaci 1. Rysunek w Edytorze postaci Edytor postaci (rys. 1.) jest częścią programu
rgbf<składowa_r,składowa_g,składowa_b,filter>. Dla parametru filter przyjmij kolejno wartości: 0.60, 0.70, 0.80, 0.90, 1.00, np.:
Temat 2: Przezroczystość. Prostopadłościan, walec i stożek. Przesuwanie i skalowanie obiektów. Omówimy teraz przezroczystość obiektów związaną z ich kolorem (lub teksturą). Za przezroczystość odpowiadają
Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.
Spis treści: 1 Podstawy pracy z aplikacją... 2 1.1 Układ strony... 2 strona 1 z 7 1 Podstawy pracy z aplikacją InDesign jest następcą starzejącego się PageMakera. Pod wieloma względami jest do niego bardzo
Źródło: http://xavier.pl:80/grafika/blender-tutorial-modelowanie-pionka-szachowego/
Obiekt 3D Instrukcja wykonania pionka Autor: Marcin Wawrzyniak Źródło: http://xavier.pl:80/grafika/blender-tutorial-modelowanie-pionka-szachowego/ Z materiałów wolno korzystać jedynie w celach edukacyjnych
Rys. 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
Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD
Wizualne systemy programowania Wykład 11 Grafika 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Grafika GDI+ GDI+ - Graphics Device Interface jeden z trzech podstawowych komponentów
Ćwiczenie P-3. Processing - przetwarzanie obrazów 2D i renderowanie scen 3D. Grafika komputerowa. Instrukcja laboratoryjna
Ćwiczenie P-3 Processing - przetwarzanie obrazów 2D i renderowanie scen 3D Instrukcja laboratoryjna opracował: mgr inż. Jakub Możaryn Człowiek - najlepsza inwestycja Projekt współfinansowany przez Unię
Tworzenie prezentacji w MS PowerPoint
Tworzenie prezentacji w MS PowerPoint Program PowerPoint dostarczany jest w pakiecie Office i daje nam możliwość stworzenia prezentacji oraz uatrakcyjnienia materiału, który chcemy przedstawić. Prezentacje
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
Projekt graficzny z metamorfozą (ćwiczenie dla grup I i II modułowych) Otwórz nowy rysunek. Ustal rozmiar arkusza na A4. Z przybornika wybierz rysowanie elipsy (1). Narysuj okrąg i nadaj mu średnicę 100
- 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.
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
Program graficzny MS Paint.
Program graficzny MS Paint. Program graficzny MS Paint (w starszych wersjach Windows Paintbrush lub mspaint) aplikacja firmy Microsoft w systemach Windows służąca do obróbki grafiki. SP 8 Lubin Zdjęcie:
Ćwiczenie 3: Rysowanie obiektów w programie AutoCAD 2010
Ćwiczenie 3: Rysowanie obiektów w programie AutoCAD 2010 1 Przeznaczone dla: nowych użytkowników programu AutoCAD Wymagania wstępne: brak Czas wymagany do wykonania: 15 minut W tym ćwiczeniu Lekcje zawarte
Prezentacja multimedialna MS PowerPoint 2010 (podstawy)
Prezentacja multimedialna MS PowerPoint 2010 (podstawy) Cz. 2. Wstawianie obiektów do slajdu Do slajdów w naszej prezentacji możemy wstawić różne obiekty (obraz, dźwięk, multimedia, elementy ozdobne),
Podręcznik użytkownika programu. Ceremonia 3.1
Podręcznik użytkownika programu Ceremonia 3.1 1 Spis treści O programie...3 Główne okno programu...4 Edytor pieśni...7 Okno ustawień programu...8 Edycja kategorii pieśni...9 Edytor schematów slajdów...10
Animacje 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
Ćwiczenie 2: Ustawienia rysunku w programie AutoCAD 2010
Ćwiczenie 2: Ustawienia rysunku w programie AutoCAD 2010 1 Przeznaczone dla: nowych użytkowników programu AutoCAD Wymagania wstępne: brak Czas wymagany do wykonania: 15 minut W tym ćwiczeniu UWAGA Aby
Oficyna Wydawnicza UNIMEX ebook z zabezpieczeniami DRM
Oficyna Wydawnicza UNIMEX ebook z zabezpieczeniami DRM Opis użytkowy aplikacji ebookreader Przegląd interfejsu użytkownika a. Okno książki. Wyświetla treść książki podzieloną na strony. Po prawej stronie
Przewodnik po obszarze roboczym
Przewodnik po obszarze roboczym Witamy w programie CorelDRAW, wszechstronnym programie do tworzenia rysunków wektorowych i projektów graficznych przeznaczonym dla profesjonalnych grafików. Projekty tworzone
Microsoft Small Basic
Microsoft Small Basic Okno grafiki Szacowany czas trwania lekcji: 1 godzina Okno grafiki Podczas tej lekcji uzyskasz informacje na temat: Instrukcji używających obiektu GraphicsWindow. Właściwości obiektu
CorelDRAW. 1. Rysunek rastrowy a wektorowy. 2. Opis okna programu
1. Rysunek rastrowy a wektorowy CorelDRAW Różnice między rysunkiem rastrowym (czasami nazywanym bitmapą) a wektorowym są olbrzymie. Szczególnie widoczne są podczas skalowania (czyli zmiany rozmiaru) rysunku
Laboratorium Programowanie urządzeń mobilnych
Laboratorium Programowanie urządzeń mobilnych Wprowadzenie Klasa Transform - Umożliwia realizację różnych zmian obiektu. Obiekt może zostać przesunięty, może być zmieniony jego rozmiar lub obrócony. Klasa
Algorytm SAT. Marek Zając 2012. Zabrania się rozpowszechniania całości lub fragmentów niniejszego tekstu bez podania nazwiska jego autora.
Marek Zając 2012 Zabrania się rozpowszechniania całości lub fragmentów niniejszego tekstu bez podania nazwiska jego autora. Spis treści 1. Wprowadzenie... 3 1.1 Czym jest SAT?... 3 1.2 Figury wypukłe...
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
TWORZENIE OBIEKTÓW GRAFICZNYCH
R O Z D Z I A Ł 2 TWORZENIE OBIEKTÓW GRAFICZNYCH Rozdział ten poświęcony będzie dokładnemu wyjaśnieniu, w jaki sposób działają polecenia służące do rysowania różnych obiektów oraz jak z nich korzystać.
Kurs Adobe Photoshop Elements 11
Kurs Adobe Photoshop Elements 11 Gladiatorx1 Kształty, kształty własne 2015-01- 01 Spis treści Wstęp... 2 Kształty... 2 Opcje narzędzia... 2 Rysujemy kształty... 5 Opcje dodawania, odejmowania obszaru
Tworzenie prostych obrazów wektorowych w programie CorelDRAW 12
Tworzenie prostych obrazów wektorowych w programie CorelDRAW 12 Pakiet CorelDRAW Graphics Suite to zestaw aplikacji do tworzenia i edytowania grafiki wektorowej i rastrowej. Dwa najważniejsze składniki
RYSUNEK 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
Rysunek 1: Okno timeline wykorzystywane do tworzenia animacji.
Ćwiczenie 5 - Tworzenie animacji Podczas tworzenia prostej animacji wykorzystywać będziemy okno Timeline domyślnie ustawione na dole okna Blendera (Rys. 1). Proces tworzenia animacji polega na stworzeniu
Zad. 6: Sterowanie robotem mobilnym
Zad. 6: Sterowanie robotem mobilnym 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie dziedziczenia
Statystyka opisowa i elementy rachunku prawdopodobieostwa
MATEMATYKA (wg programu Nie tylko wynik ) Wymagania programowe na poszczególne oceny wymagao edukacyjnych: K konieczny (ocena ) P podstawowy (ocena ) R rozszerzający (ocena dobra) D dopełniający (ocena
WASM 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
Inkscape. Menu. 1 SVG (ang. Scalable Vector Graphics) uniwersalny format dwuwymiarowej, statycznej i
Inkscape Inkscape jest opesourceowym programem do tworzenia grafiki wektorowej. Autorzy Inkscape a twierdzą, że jego możliwości porównywalne są z możliwościami oferowanymi przez programy takie, jak Illustrator,
Animacja. Instrukcja wykonania animacji metodą klatek kluczowych. Autor: Bartosz Kowalczyk. Blender 2.61
Animacja Instrukcja wykonania animacji metodą klatek kluczowych Autor: Bartosz Kowalczyk Blender 2.61 Do wykonywania prostych animacji, np. ruchu, zmiany koloru, kształtu, itp. wykorzystuje się technikę
Oscyloskop (007; ; arduino; processing)
Oscyloskop (007; 20.07.2009; arduino; processing) Sposób prezentacji danych pomiarowych w środowisku Processing opisany w artykule o pomiarze natężenia światła jest obrazowy, jednak mało przydatny. Przedstawię
Prezentacja MS PowerPoint 2010 PL.
Prezentacja MS PowerPoint 2010 PL. Microsoft PowerPoint to program do tworzenia prezentacji multimedialnych wchodzący w skład pakietu biurowego Microsoft Office. Prezentacje multimedialne to rodzaje prezentacji
Projektowanie graficzne. Wykład 2. Open Office Draw
Projektowanie graficzne Wykład 2 Open Office Draw Opis programu OpenOffice Draw OpenOffice Draw umożliwia tworzenie prostych oraz złożonych rysunków. Posiada możliwość eksportowania rysunków do wielu różnych
7. Modelowanie wałka silnika skokowego Aktywować projekt uŝytkownika
13 7. Modelowanie wałka silnika skokowego 7.1. Aktywować projekt uŝytkownika Z kategorii Get Started na pasku narzędziowym wybrać z grupy Launch opcję Projects. W dialogu Projects wybrać projekt o uŝytkownika.
1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.
Grafika w dokumencie Wprowadzanie ozdobnych napisów WordArt Do tworzenia efektownych, ozdobnych napisów służy obiekt WordArt. Aby wstawić do dokumentu obiekt WordArt: 1. Umieść kursor w miejscu, w którym
3D Analyst. Zapoznanie się z ArcScene, Praca z danymi trójwymiarowymi - Wizualizacja 3D drapowanie obrazów na powierzchnie terenu.
3D Analyst Celem ćwiczenia jest zapoznanie się z narzędziami do wizualizacji, analizowania oraz tworzenia powierzchni 3D. Dzięki ArcGIS 3D Analyst można przeglądać zestawy danych w trzech wymiarach z wielu
Opis implementacji: Poznanie zasad tworzenia programów komputerowych za pomocą instrukcji języka programowania.
Nazwa implementacji: Robot biedronka Autor: Jarosław Żok Opis implementacji: Poznanie zasad tworzenia programów komputerowych za pomocą instrukcji języka programowania. Gra została zaimplementowana z wykorzystaniem
NARZĘDZIA DO ZAZNACZANIA
NARZĘDZIA DO ZAZNACZANIA Narzędzia do zaznaczania Program Gimp pozwala zmieniać cały obrazek, wskazaną warstwę oraz wybrane jej fragmenty. Dzielenie obszaru warstwy na chroniony i edycyjny nazywamy zaznaczaniem.
Grafika Komputerowa Materiały Laboratoryjne
Grafika Komputerowa Materiały Laboratoryjne Laboratorium 14 Blender, podstawy animacji Wstęp Zagadnienie tworzenia animacji 3D w Blenderze jest bardzo szerokie i wiąże się z wieloma grupami rozwiązao.
Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.
W przygotowaniu ćwiczeń wykorzystano m.in. następujące materiały: 1. Program AutoCAD 2012. 2. Graf J.: AutoCAD 14PL Ćwiczenia. Mikom 1998. 3. Kłosowski P., Grabowska A.: Obsługa programu AutoCAD 14 i 2000.
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
4. 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}
ECDL/ICDL CAD 2D Moduł S8 Sylabus - wersja 1.5
ECDL/ICDL CAD 2D Moduł S8 Sylabus - wersja 1.5 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL CAD 2D. Sylabus opisuje zakres wiedzy i umiejętności, jakie musi opanować
Rysowanie 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.
Multimedia i interfejsy. Ćwiczenie 5 HTML5
Multimedia i interfejsy Ćwiczenie 5 HTML5 Celem ćwiczenia jest poznanie nowych elementów wprowadzonych w HTML 5, do których należą m.in. video oraz canvas. Poniższy opis przedstawia sposób użycia tych
O 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
Tworzenie prezentacji, PowerPoint
Tworzenie prezentacji, PowerPoint PowerPoint jest programem służącym do tworzenia multimedialnych prezentacji. Prezentacja multimedialna to forma przedstawienia treści (konkretnego zagadnienia), wykorzystująca
Tematy lekcji informatyki klasa 4a styczeń 2013
Tematy lekcji informatyki klasa 4a styczeń 2013 temat 7. z podręcznika (str. 70-72); sztuczki 4. i 5. (str. 78); Narysuj ikony narzędzi do zaznaczania i opisz je. 19 Zaznaczamy fragment rysunku i przenosimy
Tworzenie 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
Wprowadzenie do QT OpenGL
Wprowadzenie do QT mgr inż. Michał Chwesiuk mgr inż. Tomasz Sergej inż. Patryk Piotrowski 1/21 - Open Graphics Library Open Graphics Library API pozwalające na wykorzystanie akceleracji sprzętowej do renderowania
Przekształcenia geometryczne. Dorota Smorawa
Przekształcenia geometryczne Dorota Smorawa Przekształcenia geometryczne Na poprzednich laboratoriach już dowiedzieliśmy się, na czym polegają podstawowe przekształcenia geometryczne. Trzy podstawowe przekształcenia
Kod źródłowy programu: program Grafika1; uses crt, graph; (1) var sterownik, tryb:smallint; (2)
Grafika w Pascalu. Do tej pory, tworząc programy w Pascalu, wykorzystywaliśmy jedynie tryb tekstowy. Jednak Pascal, tak jak i inne języki programowania, umoŝliwia korzystanie równieŝ z trybu graficznego.
1.3. Tworzenie obiektów 3D. Rysunek 1.2. Dostępne opcje podręcznego menu dla zaznaczonego obiektu
1. Edytor grafiki Draw 1.1. Okno programu Draw W bezpłatnym pakiecie OpenOffice zawarty jest program graficzny Draw (rysunek 1.1), wyposażony w liczne narzędzia do obróbki obiektów. Program możesz uruchomić,
OpenGL przezroczystość
OpenGL przezroczystość W standardzie OpenGL efekty przezroczystości uzyskuje się poprzez zezwolenie na łączenie kolorów: Kolor piksela tworzy się na podstawie kolorów obiektu przesłanianego i przesłaniającego
Użycie przestrzeni papieru i odnośników - ćwiczenie
Użycie przestrzeni papieru i odnośników - ćwiczenie Informacje ogólne Korzystanie z ćwiczeń Podczas rysowania w AutoCADzie, praca ta zwykle odbywa się w przestrzeni modelu. Przed wydrukowaniem rysunku,
na podstawie modelu 3D
Przygotowanie dokumentacji technicznej 2D na podstawie modelu 3D SST-2013/2014 Przygotowanie dokumentacji technicznej 2D 1 Wydruk rysunku z AutoCAD 2D można przygotować na dwa sposoby 1. na zakładce Model
I. Spis treści I. Spis treści... 2 II. Kreator szablonów... 3 1. Tworzenie szablonu... 3 2. Menu... 4 a. Opis ikon... 5 3. Dodanie nowego elementu...
Kreator szablonów I. Spis treści I. Spis treści... 2 II. Kreator szablonów... 3 1. Tworzenie szablonu... 3 2. Menu... 4 a. Opis ikon... 5 3. Dodanie nowego elementu... 7 a. Grafika... 7 b. Tekst... 7 c.
Ćwiczenie nr 2 - Rysowanie precyzyjne
Ćwiczenie nr 2 - Rysowanie precyzyjne Materiały do kursu Skrypt CAD AutoCAD 2D strony: 37-46. Wprowadzenie Projektowanie wymaga budowania modelu geometrycznego zgodnie z określonymi wymiarami, a to narzuca
Ćwiczenie pochodzi ze strony
Ćwiczenie pochodzi ze strony http://corel.durscy.pl/ Celem ćwiczenia jest poznanie właściwości obiektu Elipsa oraz możliwości tworzenia za pomocą niego rysunków. Dodatkowo, w zadaniu tym, ćwiczone są umiejętności
SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD
Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości
DARMOWA 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....
Expo Composer. www.doittechnology.pl 1. Garncarska 5 70-377 Szczecin tel.: +48 91 404 09 24 e-mail: info@doittechnology.pl. Dokumentacja użytkownika
Expo Composer Dokumentacja użytkownika Wersja 1.0 www.doittechnology.pl 1 SPIS TREŚCI 1. O PROGRAMIE... 3 Wstęp... 3 Wymagania systemowe... 3 Licencjonowanie... 3 2. PIERWSZE KROKI Z Expo Composer... 4
Jak rozpocząć pracę? Mapa
Jak rozpocząć pracę? SWDE Manager jest aplikacją służącą do przeglądania graficznych i opisowych danych ewidencji gruntów i budynków zapisanych w formacie SWDE (.swd,.swg,.swde). Pracując w SWDE Managerze,
Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu
Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu Instrukcja obsługi Aplikacja wizualizuje obszar projektu tj. Dorzecze Środkowej Odry będące w administracji Regionalnego Zarządu
CorelDraw - 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
4.6 OpenOffice Draw tworzenie ilustracji
4-82 4.6 OpenOffice Draw tworzenie ilustracji 4.6.1 Podstawowe informacje o grafice komputerowej Istnieją dwa rodzaje grafiki komputerowej: mapy bitowe (grafika rastrowa), grafiki wektorowe. Mapy bitowe
Obsługa programu Paint. mgr Katarzyna Paliwoda
Obsługa programu Paint. mgr Katarzyna Paliwoda Podstawowo program mieści się w Systemie a dojście do niego odbywa się przez polecenia: Start- Wszystkie programy - Akcesoria - Paint. Program otwiera się
Obsługa mapy przy użyciu narzędzi nawigacji
Obsługa mapy przy użyciu narzędzi nawigacji Narzędzia do nawigacji znajdują się w lewym górnym rogu okna mapy. Przesuń w górę, dół, w lewo, w prawo- strzałki kierunkowe pozwalają przesuwać mapę w wybranym
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:
Dodanie nowej formy do projektu polega na:
7 Tworzenie formy Forma jest podstawowym elementem dla tworzenia interfejsu użytkownika aplikacji systemu Windows. Umożliwia uruchomienie aplikacji, oraz komunikację z użytkownikiem aplikacji. W trakcie
Obsługa programu Paint materiały szkoleniowe
Obsługa programu Paint materiały szkoleniowe Nota Materiał powstał w ramach realizacji projektu e-kompetencje bez barier dofinansowanego z Programu Operacyjnego Polska Cyfrowa działanie 3.1 Działania szkoleniowe