Grafika trójwymiarowa

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

Download "Grafika trójwymiarowa"

Transkrypt

1 Strona 1 Grafika 3D w systemie Android Wprowadzenie do OpenGL ES Podstawy rysowania Rzutowanie i kamera Klasa GLSurfaceView Algorytm rysowania Tekstury

2 Strona 2 Grafika 3D w systemie Android W komputerach, programowanie grafiki trójwymiarowej możliwe jest m.in. przy użyciu wieloplatformowej biblioteki OpenGL (Open Graphics Library). Obok DirectX, stanowi ona jeden ze standardów programowania grafiki. Dla systemów wbudowanych, urządzeń o małej mocy obliczeniowej i ograniczonych zasobach (takich jak urządzenia mobilne) opracowano zoptymalizowaną i uproszczoną wersję tej biblioteki OpenGL ES (Embeded System). W systemie Android dostępna jest ona w pakiecie android.opengl. Dzięki takiemu rozwiązaniu i znajomości wykorzystania biblioteki OpenGL w aplikacjach komputerowych, możliwe jest zastosowanie podobnej metodologii programowania grafiki w urządzeniach mobilnych. Szczegółowa dokumentacja bibliotek graficznych dostępna jest w Internecie: OpenGL: OpenGL ES:

3 Strona 3 Wprowadzenie do OpenGL ES W systemie Android wspierane są wersje OpenGL ES 1.0/1.1 i 2.0. Należy podkreślić, że obie wersje stosują nieco inne podejście do tworzenia kodu źródłowego aplikacji graficznej. Charakterystyka biblioteki OpenGL ES 1.0 / 1.1: dostępna od wersji systemu Android 1.0 (API 1), użycie potoku renderowania i kodowanie operacji nieco wygodniejsze niż w wersji 2.0 (dla początkujących programistów grafiki). Charakterystyka biblioteki OpenGL ES 2.0: dostępna od wersji systemu Android 2.2 (API 8), stosunkowo większa wydajność i szybkość grafiki, możliwość programowania tzw. shader ów (większe możliwości efektów), nie jest obsługiwana przez programowe emulatory systemu Android. Z tego powodu, dalsze rozważania dotyczą wersji OpenGL ES 1.0 / 1.1.

4 Strona 4 Podstawy rysowania reprezentacje obiektów Podstawowa koncepcja tworzenia i rysowania grafiki 3D oparta jest na trzech rodzajach reprezentacji obiektów: Reprezentacja punktowa (wierzchołkowa) Reprezentacja krawędziowa Reprezentacja wypełniana

5 Strona 5 Podstawy rysowania bufory Do rysowania wykorzystywane są dwie tablice (bufory), definiujące obiekt: bufor punktów/wierzchołków (vertex buffer) i bufor indeksów (index buffer). Obiekt trójwymiarowy 2 x3,y3,z3 0,0,0 x1,y1,z1 0 x4,y4,z4 3 0,0,0 Bufor punktów (wierzchołków) x1,y1,z1 0 1 x2,y2,z2 float punkty[] = { -0.5, -0.5f, 0, // 0 0.5f, -0.5f, 0, // 1 0.0f, 0.5f, 0 // 2 }; Kolejność: przeciwna do ruchu wskazówek zegara. x2,y2,z2 1 2 x3,y3,z3 float punkty[] = { -0.5f, 0.5f, 0, // 0-0.5f, -0.5f, 0, // 1 0.5f, -0.5f, 0, // 2 0.5f, 0.5f, 0 // 3 }; Bufor indeksów short indeksy[] = { 0, 1, 2 }; short indeksy[] = { 0, 1, 2, 0, 2, 3 };

6 Strona 6 Podstawy rysowania najważniejsze metody API Z punktu widzenia rysowania, zasadnicze metody biblioteki OpenGL ES to: glvertexpointer definiuje zbiór punktów (wierzchołków), gldrawarrays, gldrawelements rysują zbiór punktów, glclear czyści powierzchnię rysowania, glclearcolor, glcolor4f ustalają kolor tła i rysowania, glulookat ustala parametry kamery, glfrustumf ustala parametry bryły widzenia, glviewport ustala parametry ekranu (rzutu). OpenGL ES jest maszyną stanów: wywołanie dowolnej metody powoduje ustalenie pewnych parametrów dla kolejnych wywoływanych po niej metod. Przykładowo, wywołanie metody glvertexpointer definiuje bufor punktów, który będzie wykorzystywany przez wywołaną w następnej kolejności metodę gldrawelements. Wymagana znajomość pojęcia bryły widzenia w grafice 3D.

7 Strona 7 Podstawy rysowania metoda glvertexpointer Metoda ta służy do definiowania zbioru punktów (wierzchołków) w tzw. buforze wierzchołków. Punkty definiowane są w lokalnym układzie współrzędnych (x, y, z), który jest zaczepiony np. w środku obiektu. Y x3,y3,z3 Z X Układ współrzędnych prawoskrętny (oś Z skierowana od ekranu). x1,y1,z1 x2,y2,z2 Przykładowy obiekt 0,0,0 (-1,1) (1,1) (0,0) (-1,-1) (1,-1) Domyślny układ współrzędnych ekranu w OpenGL float punkty[] = { -0.5f, -0.5f, 0, // x1, y1, z1 0.5f, -0.5f, 0, // x2, y2, z2 0.0f, 0.5f, 0 // x3, y3, z3 }; // współrzędne w tablicy Java

8 Strona 8 Podstawy rysowania tworzenie bufora wierzchołków Tablicę języka Java zawierającą współrzędne punktów należy skonwertować na natywny bufor wierzchołków, przy pomocy pakietu java.nio (zawiera on klasy buforów ByteBuffer, ShortBuffer, FloatBuffer). // utworzenie bufora bajtowego // 3 punkty * 3 współrzędne * 4 bajty (float) = 36 bajtów ByteBuffer buf = ByteBuffer.allocateDirect(3*3*4); buf.order(byteorder.nativeorder()); // porządek bajtów natywny // dla urządzenia // bufor wierzchołków (vertex buffer) FloatBuffer vb = buf.asfloatbuffer(); // bufor float z bajtowego // umieszczenie współrzędnych punktów w buforze wierzchołków vb.put(punkty); // tablica punkty zdefiniowana na str.30 vb.position(0); // ustawienie pozycji bufora na 1-szą współrzędną // zdefiniowanie bufora wierzchołków w OpenGL glvertexpointer(3, GL10.GL_FLOAT, 0, vb); bufor punktów (vertex buffer) liczba współrzędnych typ współrzędnych liczba bajtów oddzielających punkty w pamięci

9 Strona 9 Podstawy rysowania tworzenie bufora indeksów Tablicę języka Java zawierającą indeksy należy skonwertować na natywny bufor indeksów, przy pomocy pakietu java.nio. Rysowanie odbywa się w oparciu o współrzędne z bufora wierzchołków (vertex buffer). Mogą one być wielokrotnie wykorzystywane (tzw. indeksowanie bufora punktów). Służy do tego bufor indeksów index buffer. // indeksy punktów w tablicy Java short indeksy[] = { 0, 1, 2 }; // punkty o indeksach 0, 1, 2 // utworzenie bufora bajtowego // 3 indeksy * 2 bajty (short) = 6 bajtów ByteBuffer buf = ByteBuffer.allocateDirect(3*2); buf.order(byteorder.nativeorder()); // porządek bajtów natywny // dla urządzenia // bufor indeksów (index buffer) ShortBuffer ib = buf.asshortbuffer(); // bufor short z bajtowego ib.put(indeksy); ib.position(0); // umieszczenie indeksów w buforze indeksów // ustawienie pozycji bufora na 1-szą współrzędną

10 Strona 10 Podstawy rysowania metoda gldrawelements Do odrysowania zawartości bufora wierzchołków służy metoda gldrawarrays. W przypadku wykorzystania bufora indeksów, do rysowania należy użyć metody gldrawelements. Metody te umożliwiają odrysowanie punktów przy pomocy kształtów geometrycznych dostępnych w bibliotece OpenGL ES. gldrawarrays(gl10.gl_triangles, 0, 3); gldrawelements(gl10.gl_triangles, 3, GL10.GL_UNSIGNED_SHORT,ib); rodzaj kształtu GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_TRIANGLES GL_TRIANGLE_STRIP GL_TRIANGLE_FAN liczba indeksów = liczba rysowanych punktów tylko punkty tylko linie pasek linii (2 punkty + każdy kolejny punkt tworzy kolejną linię) pętla linii tylko trójkąty typ wartości indeksów GL_UNSIGNED_SHORT lub GL_UNSIGNED_BYTE pasek trójkątów (3 punkty + każdy kolejny punkt tworzy kolejny trójkąt) wachlarz trójkątów (pierwszy punkt to wierzchołek każdego trójkąta = środek wachlarza, każdy kolejny punkt tworzy kolejny trójkąt) bufor indeksów (index buffer)

11 Strona 11 Podstawy rysowania metody glclear i glcolor4f Metoda glclear służy do czyszczenia powierzchni rysowania. argument metody glclear GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT GL_STENCIL_BUFFER_BIT efekt wyzerowanie bufora koloru (usunięcie grafiki) wyzerowanie bufora głębi (Z-bufor) wyzerowanie bufora szablonu (np. efekt cienia) Metoda glclearcolor ustala kolor tła. Metoda glcolor4f służy do ustalania koloru dla następnej operacji rysowania. Parametry metody to kolejno: nasycenie składowej czerwonej, zielonej, niebieskiej i współczynnik alfa (przezroczystość) wszystkie jako liczby typu float z zakresu <0, 1>. glclear(gl_color_buffer_bit); // wyczyszczenie ekranu glclearcolor(1.0f, 0.0f, 0.0f, 0.5f); // RGBalfa, kolor tła glcolor4f(1.0f, 0.0f, 0.0f, 0.5f); // RGBalfa, kolor rysow.

12 Rzutowanie i kamera Końcowym etapem tworzenia grafiki 3D jest rzutowanie obiektu 3D na powierzchnię rysowania 2D. Odpowiadają za to metody: glulookat ustala położenie, kierunek i orientację kamery, glfrustumf definiuje tzw. bryłę widzenia (ostrosłup widzenia), glviewport ustala rozmiar ekranu (płaszczyzny rzutowania). współrzędne kamery (wewnątrz bryły widzenia) punkt widoku, na który skierowano kamerę Strona 12 Wymagana znajomość pojęcia bryły widzenia w grafice 3D. wektor góry, od środka układu wsp. (orientacja kamery tutaj pionowa) 0, -1, 0 => do góry nogami glulookaat(gl, 0, 0, 5, 0, 0, 0, 0, 1, 0); float x = (float) szer/wys; // aspekt (proporcje ekranu) glmatrixmode(gl10.gl_projection); // rzutowanie perspektywiczne glfrustumf(-x, // lewa strona ostrosłupa widzenia x, // prawa strona ostrosłupa widzenia -1, // spód ostrosłupa widzenia 1, // szczyt ostrosł.widzenia (wys.ostrosłupa = 2) 3, // odległość kamera-przednia ściana ostrosłupa 7); // odl.kamera-tylna ściana ostr.(głęb.ostr. = 4) glviewport(0, 0, szer, wys); // lewy-dolny róg (0, 0)

13 Strona 13 Klasa GLSurfaceView Każda aplikacja OpenGL ES 1.0 zawiera aktywność wykorzystującą obiekt klasy GLSurfaceView (widok w postaci powierzchni rysowania) i interfejs GLSurfaceView.Renderer (kontroluje proces rysowania). Tworzą one łącze między operacjami rysowania a systemem operacyjnym. Budowa i ogólny algorytm aplikacji OpenGL ES 1.0 jest następujący: 1. Utworzenie klasy implementującej interfejs GLSurfaceView.Renderer, 2. Konfiguracja parametrów rzutowania i kamery, 3. Zdefiniowanie obiektów 3D (bufor wierzchołków, bufor indeksów), 4. Zaprogramowanie operacji rysowania w metodzie ondrawframe, 5. Utworzenie obiektu klasy GLSurfaceView, 6. Konfiguracja silnika graficznego w obiekcie klasy GLSurfaceView przy użyciu metody setrenderer, 7. Utworzenie klasy dla aktywności i ustalenie kontrolki GLSurfaceView jako widoku treści w tej aktywności. Fragmenty kodu na str oznaczone na żółto wyświetlają puste okno.

14 Strona 14 Algorytm rysowania implementacja interfejsu Renderer // silnik graficzny 1 public class NaszRenderer implements GLSurfaceView.Renderer { metoda wywoływana automatycznie dla utworzenia powierzchni rysowania (inicjalizacja grafiki, tworzenie obiektów) public void onsurfacecreated(gl10 gl, EGLConfig eglconfig) { gl.glclearcolor(0.5f, 0.5f, 0.5f, 1.0f); // kolor tła 3 definiuj_obiekt(); włącz użycie bufora indeksów gl.glenableclientstate(gl10.gl_vertex_array); 2 } metoda wywoływana automatycznie po zmianie wymiarów powierzchni rysowania (np. po zmianie orientacji ekranu) public void onsurfacechanged(gl10 gl, int szer, int wys) { gl.glviewport(0, 0, szer, wys); float aspekt = (float) szer/wys; // proporcje ekranu gl.glmatrixmode(gl10.gl_projection); // tryb macierzy rzutowania gl.glloadidentity(); // macierz jednostkowa (stan domyślny) gl.glfrustumf(-aspekt, aspekt, -1, 1, 3, 7); // macierz rzutowania } //...

15 Strona 15 Algorytm rysowania implementacja interfejsu Renderer (c.d.) 2 4 //... public void ondrawframe(gl10 gl) { // usunięcie grafiki: } //... metoda wywoływana automatycznie przy każdym odrysowywaniu powierzchni (operacje rysowania) gl.glclear(gl10.gl_color_buffer_bit GL10.GL_DEPTH_BUFFER_BIT); gl.glmatrixmode(gl10.gl_modelview); // tryb macierzy MODELVIEW gl.glloadidentity(); // macierz jednostkowa (stan domyślny) // parametry kamery: GLU.gluLookAt(gl, 0, 0, 5, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); gl.glcolor4f(0.0f, 1.0f, 0.0f, 0.5f); // kolor rysowania (str.34) // bufor wierzchołków (str.31): gl.glvertexpointer(3, GL10.GL_FLOAT, 0, vb); // rysowanie bez bufora indeksów: // gl.gldrawarrays(gl10.gl_triangles, 0, VERTICES); // rysowanie z bufora indeksów (str.33): gl.gldrawelements(gl10.gl_triangles, INDEXES, GL10.GL_UNSIGNED_SHORT, ib);

16 Strona 16 Algorytm rysowania tworzenie buforów punktów i indeksów private final static int VERTICES = 3; // liczba wierzchołków private final static int INDEXES = 3; // liczba indeksów private FloatBuffer vb; // bufor wierzchołków (vertex buffer) private ShortBuffer ib; // bufor indeksów (index buffer) public void definiuj_obiekt() definicja współrzędnych dla 3 { GLSurfaceView (patrz str. 30): float punkty[] = (0,0,0) środek powierzchni { -0.5f, -0.5f, 0, // (x1, y1, z1) (1,1,0) prawy górny róg 0.5f, -0.5f, 0, // (x2, y2, z2) (-1,-1,0) lewy dolny róg 0.0f, 0.5f, 0 // (x3, y3, z3) }; // współrzędne punktów w tablicy Java definicja indeksów (patrz str. 32) short indeksy[] = { 0, 1, 2 }; // indeksy punktów w tablicy Java ByteBuffer vbuf = ByteBuffer.allocateDirect(VERTICES*3*4); vbuf.order(byteorder.nativeorder()); tworzenie bufora punktów (patrz str. 31) vb = vbuf.asfloatbuffer(); vb.put(punkty); vb.position(0); współrzędne do bufora punktów (patrz str. 31) } ByteBuffer ibuf = ByteBuffer.allocateDirect(VERTICES*2); ibuf.order(byteorder.nativeorder()); tworzenie bufora indeksów (patrz str. 32) ib = ibuf.asshortbuffer(); ib.put(indeksy); ib.position(0); indeksy do bufora indeksów (patrz str. 32)

17 Strona 17 Algorytm rysowania aktywność dla rysowania public class OpenGLActivity extends Activity { private GLSurfaceView public void oncreate(bundle savedinstancestate) { } super.oncreate(savedinstancestate); sv = new GLSurfaceView(this); sv.setrenderer(new NaszRenderer()); //sv.setrendermode(glsurfaceview.rendermode_when_dirty); setcontentview(sv); powierzchnia rysowania jako widok treści w public void onpause() { super.onpause(); sv.onpause(); } 7 utworzenie widoku (powierzchnia rysowania) konfiguracja silnika graficznego i ustalenie obiektu renderującego dla powierzchni rysowania odrysowywanie tylko gdy jest to konieczne np. inna aktywność na pierwszym planie public void onresume() { super.onresume(); sv.onresume(); } powrót ze stanu pauzy - aktywność przechodzi na pierwszy plan

18 Strona 18 Algorytm rysowania rejestracja i uruchomienie aktywności Rejestracja aktywności w pliku deskryptora AndroidManifest.xml: <application <activity android:name=".openglactivity" android:label="rysowanie w OpenGL"> </activity> </application> Rejestrowanie nie jest konieczne, jeżeli aktywność jest aktywnością główną aplikacji. Jeżeli wykorzystywane są specyficzne możliwości OpenGL ES, w pliku AndroidManifest.xml należy określić wymagania aplikacji: <! -- Informacja dla systemu, że aplikacja wymaga OpenGL ES > <uses-feature android:glesversion="0x " android:required="true"/> <! -- Wymagania dotyczące formatu kompresji tekstur ---> <supports-gl-texture android:name="gl_img_texture_compression_pvrtc"> Aktywność może być uruchamiana w standardowy sposób (np. w menu): Intent intencja = new Intent(this, OpenGLActivity.class); startactivity(intencja);

19 Strona 19 Tekstury Tekstura to obraz (mapa bitowa) odwzorowujący właściwości powierzchni obiektu. Teksturowanie, to proces umieszczanie map bitowych lub innych obrazów na powierzchni rysowanego obiektu. Współrzędne wierzchołków obiektu są odwzorowywane (mapowane) na współrzędne tekstury. Dopasowanie tekstury do kształtu obiektu uzyskuje się stosując algorytmy nazywane owinięciami. Wyznaczają one tzw. współrzędne tekstury. W pewnych przypadkach konieczne jest zaprogramowanie własnych funkcji do obliczania współrzędnych tekstury. Dopasowanie rozmiarów obiektu do rozmiarów tekstury uzyskuje się poprzez normalizację. Powierzchnia obiektu jest zmniejszana tak, aby mieściła się w wymiarach 1 x 1. W bibliotece OpenGL tekstura jest kwadratem o wymiarach 1 x 1, gdzie lewy górny róg posiada współrzędne (0, 0).

20 Strona 20 Metody OpenGL ES do obsługi tekstur Wybrane funkcje do obsługi tekstur: GLUtils.texImage2D wczytuje mapę bitową (teksturę) z pliku glgentextures tworzy niepowtarzalny identyfikator tekstury (odniesienie do tekstury tzw. nazwę tekstury) glbindtexture wiąże bieżącą teksturę z identyfikatorem j.w. gltexparameter definiuje parametry tekstury gltexenv definiuje dodatkowe parametry tekstury gltexcoordpointer określa współrzędne tekstury (mapowanie współrzędnych tekstury na obszar zdefiniowany metodą glvertexpointer) glactivetexture ustala aktywną jednostkę teksturującą Szczegóły powyższych metod dostępne są w dokumentacji OpenGL ES.

ANDROID. OpenGL ES 1.0. Tomasz Dzieniak

ANDROID. OpenGL ES 1.0. Tomasz Dzieniak ANDROID OpenGL ES 1.0 Tomasz Dzieniak Wymagania JRE & JDK 5.0 + IDE (Eclipse 3.3.1 + / Netbeans 7.0.0 +) Android SDK Starter Package Android SDK Components Pierwszy program Project name: OpenGL Build Target:

Bardziej szczegółowo

grafika 2D i animacja obsługa rotacji i elementy 3D-OpenGL w Androidzie

grafika 2D i animacja obsługa rotacji i elementy 3D-OpenGL w Androidzie grafika 2D i animacja obsługa rotacji i elementy 3D-OpenGL w Androidzie Krzysztof Czech, 2 rok IZ Grzegorz Duszyński, 2 rok IZ Daniel Engel, 2 rok IZ Łukasz Olech, 2 rok IZ Radek Wilczak, 2 rok EKA Nadpisywanie

Bardziej szczegółowo

9. Rysowanie, animacje i podstawy grafiki 3D

9. Rysowanie, animacje i podstawy grafiki 3D 9. Rysowanie, animacje i podstawy grafiki 3D 171

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/6 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Manipulowanie przestrzenią 2 Przygotował: mgr inż. Maciej Lasota 1) Manipulowanie przestrzenią Istnieją dwa typy układów współrzędnych:

Bardziej szczegółowo

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D Wprowadzenie do rysowania w 3D 13 Praca w środowisku 3D Pierwszym krokiem niezbędnym do rozpoczęcia pracy w środowisku 3D programu AutoCad 2010 jest wybór odpowiedniego obszaru roboczego. Można tego dokonać

Bardziej szczegółowo

Janusz Ganczarski. OpenGL Pierwszy program

Janusz Ganczarski. OpenGL Pierwszy program Janusz Ganczarski OpenGL Pierwszy program Spis treści Spis treści..................................... 1 1. Pierwszy program.............................. 1 1.1. Rysowanie sceny 3D...........................

Bardziej szczegółowo

8 Przygotował: mgr inż. Maciej Lasota

8 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 8 1/6 Grafika Komputerowa Instrukcja laboratoryjna Temat: Listy wyświetlania i tablice wierzchołków 8 Przygotował: mgr inż. Maciej Lasota 1) Listy wyświetlania Listy wyświetlania (ang.

Bardziej szczegółowo

Wykład 5. Rendering (2) Geometria

Wykład 5. Rendering (2) Geometria Wykład 5. Rendering (2) Geometria 1. Z ogólnego, niezależnego od implementacji punktu widzenia, dane stanowiące opis geometrii modelu zorganizowane są w skończoną sekwencję (lub grupę sekwencji), którego

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Laboratorium nr 11, 12

Programowanie Urządzeń Mobilnych. Laboratorium nr 11, 12 Programowanie Urządzeń Mobilnych Laboratorium nr 11, 12 Android Temat 3 wykorzystanie sensorów i multimediów w Android SDK Krzysztof Bruniecki 1 Zadania do wykonania na zajęciach 1 Zadanie 1. (opisane

Bardziej szczegółowo

Wykład 4. Rendering (1) Informacje podstawowe

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

Bardziej szczegółowo

Mobilne aplikacje multimedialne. OpenGL

Mobilne aplikacje multimedialne. OpenGL Mobilne aplikacje multimedialne OpenGL Marek Kulawiak Katedra Systemów Geoinformatycznych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej Open Graphics Library API do tworzenia

Bardziej szczegółowo

Obsługa SMS i telefonii

Obsługa SMS i telefonii Strona 1 Interfejsy API telefonii Wysyłanie wiadomości SMS Odbieranie wiadomości SMS Symulowanie nadchodzących wiadomości SMS Obsługa skrzynki wiadomości SMS Wysyłanie wiadomości e-mail Monitorowanie połączeń

Bardziej szczegółowo

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych Systemy operacyjne na platformach mobilnych Wykład 3 Grzegorz Jabłoński, Piotr Perek Katedra Mikroelektroniki i Technik Informatycznych Zagadnienia wykładu Menu opcji ListActivity własny widok własny adapter

Bardziej szczegółowo

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski Agenda Dlaczego PhoneGap i co to jest? Możliwości PhoneGap Jak pisać aplikacje z PhoneGap? Konfiguracja i przykład aplikacji

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Plan wykładu. Akcelerator 3D Potok graficzny

Plan wykładu. Akcelerator 3D Potok graficzny Plan wykładu Akcelerator 3D Potok graficzny Akcelerator 3D W 1996 r. opracowana została specjalna karta rozszerzeń o nazwie marketingowej Voodoo, którą z racji wspomagania procesu generowania grafiki 3D

Bardziej szczegółowo

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 Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie

Bardziej szczegółowo

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2 z wykorzystaniem języka Java ME ćwiczenia 2 Wykorzystanie plików graficznych w MIDlet ach utworzenie obiektu klasy Image (statyczna metoda createimage()) utworzenie obiektu klasy ImageItem dodanie utworzonego

Bardziej szczegółowo

Systemy wirtualnej rzeczywistości. Podstawy grafiki 3D

Systemy wirtualnej rzeczywistości. Podstawy grafiki 3D Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Podstawy grafiki 3D Wstęp: W drugiej części przedstawione zostaną podstawowe mechanizmy

Bardziej szczegółowo

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class

Bardziej szczegółowo

akademia androida Pierwsze kroki w Androidzie część I

akademia androida Pierwsze kroki w Androidzie część I akademia androida Pierwsze kroki w Androidzie część I agenda Środowisko do pracy + emulator Struktura projektu z omówieniem Po co nam AndroidManifest.xml? Cykl życia aplikacji Zadanie 1. Kod, symulacja,

Bardziej szczegółowo

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

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

Bardziej szczegółowo

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...

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.

Bardziej szczegółowo

Pakiety i interfejsy. Tomasz Borzyszkowski

Pakiety i interfejsy. Tomasz Borzyszkowski Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji

Bardziej szczegółowo

Programowanie gier 3D w HTML5. Andrzej P.Urbański Politechnika Poznańska

Programowanie gier 3D w HTML5. Andrzej P.Urbański Politechnika Poznańska Programowanie gier 3D w HTML5 Andrzej P.Urbański Politechnika Poznańska Moje marzenie Od dawna jest znany pakiet Open GL napisany w C++ i bardzo ułatwiający tworzenie gier 3D Zaproponowałem kiedyś jako

Bardziej szczegółowo

akademia androida Sensory część V Mobile Applications Developers www.mad.zut.edu.pl

akademia androida Sensory część V Mobile Applications Developers www.mad.zut.edu.pl akademia androida Sensory część V agenda 1. O sensorach słów kilka 2. Sensor Framework 3. Akcelerometr 4. Czujnik zbliżeniowy 5. Czujnik światła 6. Zadanie 1. 7. Zadanie 2 (domowe) 1. O sensorach słów

Bardziej szczegółowo

Mobilne aplikacje multimedialne

Mobilne aplikacje multimedialne Mobilne aplikacje multimedialne Laboratorium 1 Wyznaczanie orientacji urządzenia względem lokalnego układu odniesienia autor: Krzysztof Bruniecki Gdańsk, 2013-10-08 wersja 12 Wprowadzenie Platforma Android

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

GRAFIKA CZASU RZECZYWISTEGO Wprowadzenie do OpenGL

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

Bardziej szczegółowo

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

DesignCAD 3D Max 24.0 PL

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

Bardziej szczegółowo

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python PyGame 18 grudnia 2015 Plan wykładu 1 Wprowadzenie Parametry wyświetlania Powierzchnie 2 Klawiatura Mysz Dżojstik 3 Odtwarzanie plików dźwiękowych Odtwarzanie muzyki Samodzielne tworzenie dźwięków 4 3D:

Bardziej szczegółowo

Programowanie na poziomie sprzętu. Programowanie w Windows API

Programowanie na poziomie sprzętu. Programowanie w Windows API Programowanie w Windows API Windows API Windows Application Programming Interface (API) to zestaw funkcji systemu operacyjnego Windows, które umożliwiają aplikacjom korzystanie z wszystkich usług systemu.

Bardziej szczegółowo

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia nowego projektu (poniżej są utworzone projekty) Po kliknięciu

Bardziej szczegółowo

Rysowanie punktów na powierzchni graficznej

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.

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Życie aktywności Nawigując przez aplikacje poszczególne Aktywności przechodzą pomiędzy stanami. Dla przykładu gdy aktywność uruchamia się po raz

Życie aktywności Nawigując przez aplikacje poszczególne Aktywności przechodzą pomiędzy stanami. Dla przykładu gdy aktywność uruchamia się po raz Życie aktywności Nawigując przez aplikacje poszczególne Aktywności przechodzą pomiędzy stanami. Dla przykładu gdy aktywność uruchamia się po raz pierwszy najpierw znajduje się w tle systemu gdzie otrzymuje

Bardziej szczegółowo

Klasy abstrakcyjne i interfejsy

Klasy abstrakcyjne i interfejsy Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie

Bardziej szczegółowo

Fragmenty są wspierane od Androida 1.6

Fragmenty są wspierane od Androida 1.6 W androidzie można tworzyć dynamiczne interfejsy poprzez łączenie w moduły komponentów UI z aktywnościami. Moduły takie tworzy się za pomocą klasy Fragment, która zachowuje się jak zagnieżdżone aktywności

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

Bardziej szczegółowo

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne Tematyka wykładów 1. Wprowadzenie. Klasy cz. 1 - Język C++. Programowanie obiektowe - Klasy i obiekty - Budowa i deklaracja klasy. Prawa dostępu - Pola i funkcje składowe - Konstruktor i destruktor - Tworzenie

Bardziej szczegółowo

Programowanie urządzeń mobilnych. dr inż. Juliusz Mikoda

Programowanie urządzeń mobilnych. dr inż. Juliusz Mikoda Programowanie urządzeń mobilnych dr inż. Juliusz Mikoda Instalacja środowiska 1 Wymagane składniki środowiska Eclipse wersja 3.4 (Ganymede) lub 3.5 (Galileo classic) http://www.eclipse.org/downloads/packages/release/galileo/r

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

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

Bardziej szczegółowo

Minimalna wspierana wersja systemu Android to 2.3.3 zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Minimalna wspierana wersja systemu Android to 2.3.3 zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4. Dokumentacja dla Scandroid. Minimalna wspierana wersja systemu Android to 2.3.3 zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4. Scandroid to aplikacja przeznaczona

Bardziej szczegółowo

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

Bardziej szczegółowo

Sieciowe Technologie Mobilne. Laboratorium 2

Sieciowe Technologie Mobilne. Laboratorium 2 Sieciowe Technologie Mobilne Laboratorium 2 Tworzenie wieloplatformowych aplikacji mobilnych przy użyciu biblioteki PhoneGap. Łukasz Kamiński Laboratorium 2 Na dzisiejszym laboratorium skupimy się na implementacji

Bardziej szczegółowo

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. 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

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia JAVA. Historia Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2 Programowanie Urządzeń Mobilnych Część II: Android Wykład 2 1 Aplikacje w systemie Android Aplikacje tworzone są w języku Java: Skompilowane pliki programów ( dex ) wraz z plikami danych umieszczane w

Bardziej szczegółowo

GRAFIKA KOMPUTEROWA 8: Konwersja i mieszanie kolorów

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

Bardziej szczegółowo

Tworzenie i wykorzystanie usług

Tworzenie i wykorzystanie usług Strona 1 Co to jest usługa w systemie Android? Usługi HTTP Obsługa wywołania HTTP GET Obsługa wywołania HTTP POST Obsługa wieloczęściowego wywołania HTTP POST Usługi lokalne Usługi zdalne Tworzenie usługi

Bardziej szczegółowo

Język JAVA podstawy. Wykład 5, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 5, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 5, część 3 1 Język JAVA podstawy Plan wykładu: 1. Wprowadzenie do grafiki w Javie 2. Budowa GUI: komponenty, kontenery i układanie komponentów 3. Budowa GUI: obsługa zdarzeń

Bardziej szczegółowo

Bitmapy - format i zastosowanie. Podstawowy format plików bitmapowych, dogodność zastosowania bitmap w prostych animacjach 2D.

Bitmapy - format i zastosowanie. Podstawowy format plików bitmapowych, dogodność zastosowania bitmap w prostych animacjach 2D. Bitmapy - format i zastosowanie. Podstawowy format plików bitmapowych, dogodność zastosowania bitmap w prostych animacjach 2D. Format BMP został zaprojektowany przez firmę Microsoft, do przechowywania

Bardziej szczegółowo

OpenGL przezroczystość

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

Bardziej szczegółowo

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Java - tablice, konstruktory, dziedziczenie i hermetyzacja Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja

Bardziej szczegółowo

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych Systemy operacyjne na platformach mobilnych Wykład 1 Grzegorz Jabłoński, Piotr Perek Katedra Mikroelektroniki i Technik Informatycznych Zagadnienia wykładu Wprowadzenie do systemów mobilnych System operacyjny

Bardziej szczegółowo

Laboratorium Systemów Mobilnych. Wykład 1

Laboratorium Systemów Mobilnych. Wykład 1 Laboratorium Systemów Mobilnych 2015-02-27 Wykład 1 (Wstęp do programowania w systemie Android) Wojciech Wawrzyniak Zaliczenie wykładu i ćwiczeń Wykład omówienie zagadnień Ćwiczenie praktyczne zastosowanie

Bardziej szczegółowo

GRAFIKA KOMPUTEROWA 7: Kolory i cieniowanie

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

Bardziej szczegółowo

Wprowadzenie do biblioteki klas C++

Wprowadzenie do biblioteki klas C++ Instrukcja laboratoryjna nr 7 Programowanie w języku C 2 (C++ poziom zaawansowany) Wprowadzenie do biblioteki klas C++ WxWidgets mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz dr inż. Wilk-Jakubowski

Bardziej szczegółowo

Programowanie w Javie

Programowanie w Javie Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student

Bardziej szczegółowo

Podstawy technologii cyfrowej i komputerów

Podstawy technologii cyfrowej i komputerów BESKIDZKIE TOWARZYSTWO EDUKACYJNE Podstawy technologii cyfrowej i komputerów Budowa komputerów cz. 2 systemy operacyjne mgr inż. Radosław Wylon 2010 1 Spis treści: Rozdział I 3 1. Systemy operacyjne 3

Bardziej szczegółowo

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty

Bardziej szczegółowo

Animowana grafika 3D. Opracowanie: J. Kęsik.

Animowana grafika 3D. Opracowanie: J. Kęsik. Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Rzutowanie Równoległe Perspektywiczne Rzutowanie równoległe Rzutowanie równoległe jest powszechnie używane w rysunku technicznym - umożliwienie

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Laboratorium nr 9,10

Programowanie Urządzeń Mobilnych. Laboratorium nr 9,10 Programowanie Urządzeń Mobilnych Laboratorium nr 9,10 Android Temat 2 działanie złożonych aplikacji zawierających więcej niż jedno Activity Krzysztof Bruniecki 1 Wstęp Podczas laboratorium poruszona zostanie

Bardziej szczegółowo

Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 7 Wykorzystanie układu LinearLayout

Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 7 Wykorzystanie układu LinearLayout Ćwiczenie 7 Wykorzystanie układu LinearLayout Cel ćwiczenia Celem ćwiczenia jest praktyczne zapoznanie się z zasadami użycia układu graficznego LinearLayout oraz wykształcenie umiejętności zastosowania

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Wysokopoziomowy silnik gier dla urządzeń mobilnych z systemem Android

Wysokopoziomowy silnik gier dla urządzeń mobilnych z systemem Android Uniwersytet Łódzki Wydział Matematyki i Informatyki Michał Bieńkowski Numer albumu 289475 Wysokopoziomowy silnik gier dla urządzeń mobilnych z systemem Android Praca magisterska napisana pod kierunkiem:

Bardziej szczegółowo

Wymiarowanie i teksty. Polecenie:

Wymiarowanie i teksty. Polecenie: 11 Wymiarowanie i teksty Polecenie: a) Utwórz nowy rysunek z pięcioma warstwami, dla każdej warstwy przyjmij inny, dowolny kolor oraz grubość linii. Następnie narysuj pokazaną na rysunku łamaną warstwie

Bardziej szczegółowo

Tworzenie aplikacji rozproszonej w Sun RPC

Tworzenie aplikacji rozproszonej w Sun RPC Tworzenie aplikacji rozproszonej w Sun RPC Budowa aplikacji realizowana jest w następujących krokach: Tworzenie interfejsu serwera w języku opisu interfejsu RPCGEN Tworzenie: namiastki serwera namiastki

Bardziej szczegółowo

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych Systemy operacyjne na platformach mobilnych Wykład 1 Grzegorz Jabłoński, Piotr Perek Katedra Mikroelektroniki i Technik Informatycznych Zagadnienia wykładu Wprowadzenie do systemów mobilnych System operacyjny

Bardziej szczegółowo

POMOC / INSTRUKCJA OBSŁUGI

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

Bardziej szczegółowo

Temat: Tekstury uŝytkownika

Temat: Tekstury uŝytkownika Techniki CAD w pracy inŝyniera Aplikacja programu Autodesk Inventor 2010. Studium stacjonarne i niestacjonarne. Kierunek: Elektrotechnika Temat: Tekstury uŝytkownika Opracował: dr inŝ. Andrzej Wilk 2 1.

Bardziej szczegółowo

akademia androida Service, BroadcastReceiver, ContentProvider część IV

akademia androida Service, BroadcastReceiver, ContentProvider część IV akademia androida Service, BroadcastReceiver, ContentProvider część IV agenda 1. BroadcastReceiver 2. Service 3. ContentProvider 4. Zadanie 1. 5. Zadanie 2 (domowe). 1. BroadcastReceiver BroadcastReceiver

Bardziej szczegółowo

Programowanie w Internecie. Java

Programowanie w Internecie. Java Programowanie w Internecie Java Autor: dr inż. Zofia Kruczkiewicz Literatura: L. Lemay, R. Cadenhead P. Naughton Krzysztof Barteczko Boone Barry Java 2 dla każdego Podręcznik Języka Programowania Java

Bardziej szczegółowo

Pascal - grafika. Uruchomienie trybu graficznego. Moduł graph. Domyślny tryb graficzny

Pascal - grafika. Uruchomienie trybu graficznego. Moduł graph. Domyślny tryb graficzny Moduł graph Pascal - grafika Pascal zawiera standardowy moduł do tworzenia obiektów graficznych linii, punktów, figur geometrycznych itp. Chcąc go użyć należy w programie (w nagłówku) wstawić deklarację:

Bardziej szczegółowo

b) Dorysuj na warstwie pierwszej (1) ramkę oraz tabelkę (bez wymiarów) na warstwie piątej (5) według podanego poniżej wzoru:

b) Dorysuj na warstwie pierwszej (1) ramkę oraz tabelkę (bez wymiarów) na warstwie piątej (5) według podanego poniżej wzoru: Wymiarowanie i teksty 11 Polecenie: a) Utwórz nowy rysunek z pięcioma warstwami, dla każdej warstwy przyjmij inny, dowolny kolor oraz grubość linii. Następnie narysuj pokazaną na rysunku łamaną na warstwie

Bardziej szczegółowo

xmlns:prism=http://www.codeplex.com/prism c.

xmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname=mainregion /> 1 Tworzenie Shella a. W pierwszej kolejności tworzymy nowy projekt: WPF Application. Name: Shell SolutionName: PrismApp b. Dodajemy bibliotekę PRISM za pomocą NuGet Managera (dla.net Framework 4.5 Prism

Bardziej szczegółowo

Programowanie: grafika w SciLab Slajd 1. Programowanie: grafika w SciLab

Programowanie: grafika w SciLab Slajd 1. Programowanie: grafika w SciLab Programowanie: grafika w SciLab Slajd 1 Programowanie: grafika w SciLab Programowanie: grafika w SciLab Slajd 2 Plan zajęć 1. Wprowadzenie 2. Wykresy 2-D 3. Wykresy 3-D 4. Rysowanie figur geometrycznych

Bardziej szczegółowo

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem. WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Programowanie aplikacji dla Sklepu Windows w języku C#

Programowanie aplikacji dla Sklepu Windows w języku C# Programowanie aplikacji dla Sklepu Windows w języku C# Matt Baxter-Reynolds i Iris Classon przekład: Natalia Chounlamany Krzysztof Kapustka APN Promise Warszawa 2014 Spis treści Przedmowa...........................................................

Bardziej szczegółowo

Pasek menu. Ustawienia drukowania

Pasek menu. Ustawienia drukowania Polecenie Ustawienia drukowania... z menu Plik pozwala określić urządzenie drukujące poprzez jego wybór z pola kombi. Urządzenie można skonfigurować poprzez przycisk właściwości. Otwiera się wówczas okno

Bardziej szczegółowo

Szybkie tworzenie grafiki w GcIde

Szybkie tworzenie grafiki w GcIde Szybkie tworzenie grafiki w GcIde Opracował: Ryszard Olchawa Poniższy opis dotyczy aplikacji okienkowej w systemie Windows lub Linux bazującej na obiektowej bibliotece rofrm stworzonej w środowisku GcIde.

Bardziej szczegółowo

Dowiedz się, jak tworzyć zapierające dech w piersiach gry 3D i efektowne, trójwymiarowe wizualizacje!

Dowiedz się, jak tworzyć zapierające dech w piersiach gry 3D i efektowne, trójwymiarowe wizualizacje! Dowiedz się, jak tworzyć zapierające dech w piersiach gry 3D i efektowne, trójwymiarowe wizualizacje! Jak sprawnie tworzyć podstawowe obiekty, oświetlać je i cieniować? Jak napisać własne programy, korzystając

Bardziej szczegółowo

ZAPOZNANIE SIĘ Z TWORZENIEM

ZAPOZNANIE SIĘ Z TWORZENIEM LABORATORIUM SYSTEMÓW MOBILNYCH ZAPOZNANIE SIĘ Z TWORZENIEM APLIKACJI MOBILNEJ W J2ME I. Temat ćwiczenia II. Wymagania Podstawowe wiadomości z zakresu języka Java Podstawowa znajomość środowiska Eclipse

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wizualizacja danych sensorycznych Projekt Tworzenie grafiki stereoskopowej. Marek Gulanowski

Wizualizacja danych sensorycznych Projekt Tworzenie grafiki stereoskopowej. Marek Gulanowski Wizualizacja danych sensorycznych Projekt Tworzenie grafiki stereoskopowej Marek Gulanowski 9 czerwca 2010 Spis treści 1 Wstęp 1 1.1 Koncepcja................................ 1 1.2 Forma realizacji.............................

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w

Bardziej szczegółowo

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer; 14.3. Podstawy obsługi X Window 14.3. Podstawy obsługi X Window W przeciwieństwie do systemów Windows system Linux nie jest systemem graficznym. W systemach Windows z rodziny NT powłokę systemową stanowi

Bardziej szczegółowo

Wstęp do JUNG. Omówione elementy wykorzystane w Edge Color Project

Wstęp do JUNG. Omówione elementy wykorzystane w Edge Color Project JUNG Java Universal Network/Graph Framework JUNG jest to biblioteka służąca do modelowania, analizy i wizualizacji danych reprezentowanych w postaci grafów lub sieci. Architektura JUNGa wspiera różnorodność

Bardziej szczegółowo

Grafika i komunikacja człowiek komputer Laboratorium. Część 1: Wstęp do grafiki

Grafika i komunikacja człowiek komputer Laboratorium. Część 1: Wstęp do grafiki UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI Opracował: mgr inż. Przemysław Pardel, dr hab. Bogdan Kwolek v1.01 2010 Grafika i komunikacja człowiek komputer Laboratorium Część 1: Wstęp do grafiki ZAGADNIENIA

Bardziej szczegółowo

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa

Bardziej szczegółowo

Część II Wyświetlanie obrazów

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

Bardziej szczegółowo

1. Opis okna podstawowego programu TPrezenter.

1. Opis okna podstawowego programu TPrezenter. OPIS PROGRAMU TPREZENTER. Program TPrezenter przeznaczony jest do pełnej graficznej prezentacji danych bieżących lub archiwalnych dla systemów serii AL154. Umożliwia wygodną i dokładną analizę na monitorze

Bardziej szczegółowo