Mobilne Aplikacje Multimedialne
|
|
- Aneta Osińska
- 6 lat temu
- Przeglądów:
Transkrypt
1 Mobilne Aplikacje Multimedialne Rozszerzona rzeczywistość (AR, Augmented Reality) w Systemie Android Cz.2 Krzysztof Bruniecki
2 Układy odniesienia Z B Już znamy Y B X B autor: Krzysztof Bruniecki 2
3 ECEF (ang. Earth-Centered, Earth- Fixed) autor: Krzysztof Bruniecki 3
4 Konwersja do ECEF a, b półoś wielka, mała f spłaszczenie szerokość geograficzna długość geograficzna h wysokość b a a f e 2 X Y Z ( a 2 ( v ( v b 2 ( v(1 e ) / 2 ) a 2 v h)cos sin h)cos cos h)sin (1 e 2 a sin 2 ) 1/ 2 autor: Krzysztof Bruniecki 4
5 ECEF->ENU (m-frame) ENU (ang. East, North, Up) = Mapping frame X ECEF, Y ECEF, Z ECEF współrzędne punktu X ECEF, Y ECEF, Z ECEF współrzędne lokalne (środka układu ENU E, N, U współrzędne punktu w układzie lokalnym ENU (m-frame) E N U sin cos sin cos cos cos sin sin sin cos 0 X cos Y sin Z ECEF ECEF ECEF X ' Y ' Z' ECEF ECEF ECEF autor: Krzysztof Bruniecki 5
6 Deklinacja magnetyczna Kąt pomiędzy południkiem magnetycznym oraz południkiem geograficznym Podawany w danym punkcie Ziemi Kąt płaski, podawany jak azymut Wpływa na nią położenie bieguna magnetycznego Ziemi lokalne uwarunkowania geologiczne (rudy żelaza, itp.) czas autor: Krzysztof Bruniecki 6
7 Main Field Declination The World Magnetic Model autor: Krzysztof Bruniecki 7
8 GeomagneticField (1) Klasa: class GeomagneticField extends Object Pakiet: android.hardware.geomagneticfield Estymuje pole magnetyczne w podanym punkcie na Ziemi Pozwala na oszacowanie deklinacji magnetycznej od prawdziwej północy Jako model wykorzystuje World Magnetic Model (United States National Geospatial-Intelligence Agency) Używa modelu z 2010 roku (WMM-2010) Wg standardu ważny do 2015, ale będzie dawał racjonalne wyniki jeszcze wiele lat później W nowszych wersjach Androida może być wprowadzony nowszy model autor: Krzysztof Bruniecki 8
9 GeomagneticField (2) Konstruktor: GeomagneticField(float gdlatitudedeg, float gdlongitudedeg, float altitudemeters, long timemillis) Obiekt służący do estymacji pola magnetycznego Ziemi w zadanym miejscu i czasie gdlatitudedeg Szerokość WGS84 w stopniach dodatnia na zachód gdlongitudedeg długość WGS84 w stopniach dodatnia na północ altitudemeters Wysokość elipsoidalna WGS84, w metrach timemillis milisekundy od 1 stycznia 1970 (można podać wartość przybliżoną autor: Krzysztof Bruniecki 9
10 GeomagneticField (3) Metody public float getdeclination () Zwraca deklinację magnetyczną public float getinclination () Zwraca inklinację magnetyczną (wartość dodatnia oznacza że pole jest skierowane w dół względem płaszczyzny Ziemi) autor: Krzysztof Bruniecki 10
11 GeomagneticField (4) public float getfieldstrength () Siła pola w nanoteslach public float gethorizontalstrength () Pozioma składowa pola magnetycznego w nanoteslach public float getx () Składowa skierowana na północ (geograficzną) w nanoteslach public float gety () Składowa skierowana na wschód (geograficzny) w nanoteslach public float getz () Składowa skierowana w dół w nanoteslach autor: Krzysztof Bruniecki 11
12 Jak wykorzystać informacje z modelu magnetycznego? Obrót elementarny autor: Krzysztof Bruniecki 12
13 Kąt pomiędzy wektorami autor: Krzysztof Bruniecki 13
14 Omówienie zadań laboratoryjnych (1) Zaimplementować mechanizm wyszukiwania Warszawy (z tolerancją +-10 stopni). Pozycję bieżącą oraz pozycję Warszawy można umieścić bezpośrednio w kodzie. Można rozważać sytuację dwuwymiarową. autor: Krzysztof Bruniecki 14
15 Omówienie zadań laboratoryjnych (2) Utworzyć interfejs użytkownika umożliwiający dodawanie nowych lokalizacji (a dokładnie wektora wskazującego lokalizację) poprzez wskazanie urządzeniem i dodanie opisu. Następnie umożliwić przeszukiwanie tej bazy poprzez zmianę orientacji urządzenia. Podpowiedź: jako kryterium bliskości wektorów posłużyć się kątem pomiędzy nimi. autor: Krzysztof Bruniecki 15
16 Przykład Załóżmy następujące położenie (nasze): 18E 55N 0m(wysokość) Punkty wykrywane: E N 1000m Gdzieś nad horyzontem 17E 55N 0m Zachód 18E 55N 1000m Góra 19E 56N 0m Północny wschód 0E 90N m Gwiazda polarna WGS84 a = ,0 m b = ,0 m Uwaga na radiany/stopnie autor: Krzysztof Bruniecki 16
17 Model kamery otworkowej Jak należałoby zamontować kamerę w smartfonie żeby układ kamery zgadzał się z układem b-frame? autor: Krzysztof Bruniecki 17
18 Układ kamery (back-facing) Z B Y B X B Y C Z C X C autor: Krzysztof Bruniecki 18
19 Model kamery otworkowej (2) Przekrój w płaszczyźnie YZ autor: Krzysztof Bruniecki 19
20 Układ kamery a układ obrazu Jak przeliczyć wektor wyrażony w b-frame do współrzędnych w pikselach? Jak przeliczyć współrzędne w układzie obrazu na współrzędne bitmapy? autor: Krzysztof Bruniecki 20
21 Przykład Jakie jest położenie obrazu (w płaszczyźnie obrazowania) punktu o współrzędnych (względem kamery) [50m, -30m, 50m] dla kamery o ogniskowej f=1cm? Jakie jest położenie obrazu punktu o współrzędnych [-20m, -20m, -40m]? autor: Krzysztof Bruniecki 21
22 Współrzędne jednorodne Sposób reprezentacji punktów w n wymiarowych przestrzeniach za pomocą n+1 współrzędnych dla n=2, punkt (x,y) w przestrzeni kartezjańskiej jest reprezentowany przez (x,y,1)=(wx,wy,w) dla w!=0 punkty (x,y,0) reprezentują punkty w nieskończoności Zaletą współrzędnych jednorodnych jest możliwość zwięzłego opisu przekształceń, takich jak translacja, obrót, skalowanie, rzut perspektywiczny przy użyciu macierzy autor: Krzysztof Bruniecki 22
23 Macierz kalibracji kamery x K 0 s 0 x0 y 1 0 y 0 x =fk x, y =fk y są długościami ogniskowej wyrażonymi w liczbie pikseli poziomych i pionowych, k x, k y liczby pikseli na milimetr w poszczególnych osiach kamery, x 0,y 0 współrzędne punktu głównego w układzie obrazu, s współczynnik skośności osi x i y, Założyć że w Samsungu Galaxy S (dostępnym na zajęciach laboratoryjnych). Jak określić macierz kalibracji? Obszar widoczności kamery szerokość/wysokość [stopnie] 51,2x39,4 autor: Krzysztof Bruniecki 23
24 Macierz rzutu perspektywicznego K macierz kalibracji R macierz rotacji kamery t macierz translacji kamery Jeżeli wektor q wyrażony jest w układzie kamery wówczas macierz rzutu perspektywicznego przyjmuje uproszczoną postać autor: Krzysztof Bruniecki 24
25 Camera API android.hardware.camera <uses-permission android:name="android.permission.camera" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> Rysowanie na podglądzie z kamery W Android Manifest ustawić layout aktywności jako horizontal autor: Krzysztof Bruniecki 25
26 Włączanie podglądu i wykonywanie zdjęć 1. Pobrać instancję kamery z użyciem open(int). 2. Odczytać parametry getparameters() jako instancję klasy Camera.Parameters 3. Zmodyfikować parametry (jeśli to konieczne) poprzez setparameters(camera.parameters) 4. Jeśli konieczne to ustalić orientację ekranu względem podglądu z kamery setdisplayorientation(int). 5. Przekazać zainicjalizowany obiekt SurfaceHolder do metody setpreviewdisplay(surfaceholder). 6. Wywołać startpreview() aby rozpocząć podgląd z kamery na ekranie (musi być włączony podgląd żeby rozbić zdjęcia) 7. Wywołać takepicture(camera.shuttercallback, Camera.PictureCallback, Camera.PictureCallback, Camera.PictureCallback) żeby zrobić zdjęcie. Obsłużyć Callbacki. 8. Po wykonaniu zdjęcia podgląd będzie zatrzymany. Aby wykonać kolejne wywołać startpreview() 9. Wywołać stoppreview() żeby zatrzymać podgląd 10. Wywołać release() dla innych aplikacji. Należy zrobić to niezwłocznie w onpause() (otworzyć ponownie używając open() w onresume()) autor: Krzysztof Bruniecki 26
27 SurfaceView class Preview extends SurfaceView implements SurfaceHolder.Callback { private SurfaceHolder mholder; private Camera camera; Preview(Context context) { super(context); mholder = getholder(); mholder.addcallback(this); } //musi być mimo że jest w dokumentacji jest deprecated mholder.settype(surfaceholder.surface_type_push_buffers); autor: Krzysztof Bruniecki 27
28 SurfaceHolder.Callback public void surfacecreated(surfaceholder holder) { } camera = Camera.open(); try { } catch (IOException e) { } camera.setpreviewdisplay(holder); e.printstacktrace(); public void surfacedestroyed(surfaceholder holder) { } camera.stoppreview(); camera.release(); camera = null; public void surfacechanged(surfaceholder holder, int format, int w, int h) { } Camera.Parameters parameters = camera.getparameters(); parameters.setpreviewsize(w, h); camera.setparameters(parameters); camera.startpreview(); autor: Krzysztof Bruniecki 28
29 Rysowanie na SurfaceView Nałożenie nowej warstwy na SurfaceView SurfaceView domyslnie rysowany jest za oknem Przygotowanie interfejsu użytkownika w XML: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=" android:layout_height="match_parent" android:id="@+id/relativelayout1" android:layout_width="match_parent" android:keepscreenon="true"></relativelayout> autor: Krzysztof Bruniecki 29
30 public class MojeView extends View public class MojeView extends protected void ondraw(canvas canvas) { super.ondraw(canvas); Paint p = new Paint(); p.setargb(255, 255, 0, 0); canvas.drawtext("mojeview.ondraw: i="+i++, 200, 100, p); canvas.drawtext("mojeview.ondraw: j="+j++, 200, 150, p); if(dane!=null) { canvas.drawline(0, 0, 100*dane[0], 100*dane[0], p); p.setstyle(style.stroke); canvas.drawrect(100, 100, 200, 200, p); } } } autor: Krzysztof Bruniecki 30
31 Dodanie kontrolek do okna Dodanie SurfaceView i kontrolki do okna setcontentview(r.layout.main); rl = (RelativeLayout)findViewById(R.id.relativeLayout1); mycameraview = new Preview(this); rl.addview(mycameraview); mycameraoverlay = new MojeView(this); rl.addview(mycameraoverlay); Odrysowanie kontrolki mycameraview.invalidate(); autor: Krzysztof Bruniecki 31
32 Nowsze API... Klasa Camera public final void setdisplayorientation (int degrees) public static int getnumberofcameras () public final void setfacedetectionlistener (Camera.FaceDetectionListener listener) public final void startfacedetection () autor: Krzysztof Bruniecki 32
Mobilne Aplikacje Multimedialne
Mobilne Aplikacje Multimedialne Rozszerzona rzeczywistość (AR, Augmented Reality) w Systemie Android Cz.1 Krzysztof Bruniecki Podstawy Algebra liniowa, operacje na wektorach, macierzach, iloczyn skalarny
Bardziej szczegółowoMobilne Aplikacje Multimedialne
Mobilne Aplikacje Multimedialne Technologie rozszerzonej rzeczywistości Krzysztof Bruniecki Rozszerzona rzeczywistość W odróżnieniu od rzeczywistości wirtualnej użytkownik NIE jest całkowicie zanurzony
Bardziej szczegółowoProgramowanie 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ółowoANDROID. OpenGL ES 1.0. Tomasz Dzieniak
ANDROID OpenGL ES 1.0 Tomasz Dzieniak Wymagania JRE & JDK 5.0 + IDE (Eclipse 3.3.1 + / Netbeans 7.0.0 +) Android SDK Starter Package Android SDK Components Pierwszy program Project name: OpenGL Build Target:
Bardziej szczegółowoakademia 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ółowoakademia androida Składowanie danych część VI
akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.
Bardziej szczegółowografika 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ółowoMobilne 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ółowoProgramowanie 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ółowoEnkapsulacja, dziedziczenie, polimorfizm
17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja
Bardziej szczegółowoJava Platform Micro Edition
Java Platform Micro Edition Instalacja środowiska programistycznego Java Platform Micro Edition Software Development Kit 3.0 for Windows z lokalizacji http://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.html
Bardziej szczegółowoAplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - wprowadzenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Klasa zbiór pól i metod Obiekt
Bardziej szczegółowoProgramowanie w JAVA Lab. 5 - Wątki. 1. Wykorzystując metodę Monte Carlo narysować wykres funkcji oraz obliczyć całkę: 7 x ) xy, 8,8
Programowanie w JAVA Lab. 5 - Wątki 1. Wykorzystując metodę Monte Carlo narysować wykres funkcji oraz obliczyć całkę: 33 y 3 2 2 x x 3 y 7 x 3 33 7) 2 2 f x, y 1 x 3 1 x 2 1 y 7 x 3 3 33 2 112 y 3 7 x
Bardziej szczegółowoRysowanie. Rysowanie - podstawy
Rysowanie, K-16, 2017/2018 64 Rysowanie - podstawy Klasa rysująca dziedziczy po klasie graficznej View (do prostych zastosowań) lub SurfaceView (bardziej wydajne) Obiekt dziedziczący po klasie View ładowany
Bardziej szczegółowoProgramowanie obiektowe Wykład 6. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Wirtualne destruktory class A int* a; A(int _a) a = new int(_a);} virtual ~A() delete a;} class B: public A double* b;
Bardziej szczegółowoi = [ 0] j = [ 1] k = [ 0]
Ćwiczenia nr TEMATYKA: Układy współrzędnych: kartezjański, walcowy (cylindryczny), sferyczny (geograficzny), Przekształcenia: izometryczne, nieizometryczne. DEFINICJE: Wektor wodzący: wektorem r, ρ wodzącym
Bardziej szczegółowo2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/6 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Manipulowanie przestrzenią 2 Przygotował: mgr inż. Maciej Lasota 1) Manipulowanie przestrzenią Istnieją dwa typy układów współrzędnych:
Bardziej szczegółowoProgramowanie 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ółowoFragmenty 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ółowoRESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie
RESTful Android Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie Jacek Laskowski jacek@japila.pl http://www.jaceklaskowski.pl wersja 1.0, 08.12.2011 O prelegencie - Jacek Laskowski
Bardziej szczegółowoProgramowanie 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Ćwiczenia nr 4. TEMATYKA: Rzutowanie
TEMATYKA: Rzutowanie Ćwiczenia nr 4 DEFINICJE: Rzut na prostą: rzutem na prostą l (zwaną rzutnią) w kierunku rzutowania k (k l) nazywamy przekształcenie płaszczyzny przyporządkowujące: a) Punktom prostej
Bardziej szczegółowoKatalog książek cz. 2
Katalog książek cz. 2 Odczytywanie danych z XML Do ćwiczenia dołączony jest plik books.xml zawierający pełen katalog książek. Poniższy listing zawiera przykładowy fragment danych w stosowanym formacie.
Bardziej szczegółowoTransformacje obiektów 3D
Synteza i obróbka obrazu Transformacje obiektów 3D Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Lokalny układ współrzędnych Tworząc model obiektu, zapisujemy
Bardziej szczegółowoAndroidManifest.xml. Plik manifestu opisuje podstawowe charakterystyki aplikacji i definiuje jej komponenty.
AndroidManifest.xml Plik manifestu opisuje podstawowe charakterystyki aplikacji i definiuje jej komponenty. Jednym z najważniejszych elementów jest element który deklaruje kompatybilność z innymi
Bardziej szczegółowoUML 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ółowoJava: 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ółowoPodstawy 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ółowoObiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1
Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,
Bardziej szczegółowoUkład współrzędnych dwu trój Wykład 2 "Układ współrzędnych, system i układ odniesienia"
Układ współrzędnych Układ współrzędnych ustanawia uporządkowaną zależność (relację) między fizycznymi punktami w przestrzeni a liczbami rzeczywistymi, czyli współrzędnymi, Układy współrzędnych stosowane
Bardziej szczegółowoSystemy 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ółowoSystemy wirtualnej rzeczywistości. Komponenty i serwisy
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Komponenty i serwisy Wstęp: W trzeciej części przedstawione zostaną podstawowe techniki
Bardziej szczegółowoProgramowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................
Bardziej szczegółowoProgramowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody
Programowanie urządzeń mobilnych dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody Wprowadzenie Android 1.0 (API level 1) - 2008 Android 1.5 Cupcake (API level 3) - 2009 Android 2.0
Bardziej szczegółowoAnimowana grafika 3D. Opracowanie: J. Kęsik.
Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Rzutowanie Równoległe Perspektywiczne Rzutowanie równoległe Rzutowanie równoległe jest powszechnie używane w rysunku technicznym - umożliwienie
Bardziej szczegółowoOrientacja zewnętrzna pojedynczego zdjęcia
Orientacja zewnętrzna pojedynczego zdjęcia Proces opracowania fotogrametrycznego zdjęcia obejmuje: 1. Rekonstrukcję kształtu wiązki promieni rzutujących (orientacja wewnętrzna ck, x, y punktu głównego)
Bardziej szczegółowoMarcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych
Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych mluckner@mini.pw.edu.pl http://www.mini.pw.edu.pl/~lucknerm Programy w Javie składają się z pakietów Pakiety zawierają definicje
Bardziej szczegółowoSWING c.d. przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe.
SWING c.d. ZAGADNIENIA: przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe. MATERIAŁY: http://docs.oracle.com/javase/tutorial/uiswing/dnd/ http://th-www.if.uj.edu.pl/zfs/ciesla/
Bardziej szczegółowoPowiadomienia w systemie Android
Powiadomienia w systemie Android Powiadomienie to krótka wiadomość, która pozwala informować użytkownika o pewnych wydarzeniach pochodzących z aplikacji - będąc poza nią. Wykorzystane w odpowiedni sposób
Bardziej szczegółowoWykorzystanie map i geolokalizacji
Strona 1 Usługi oparte na położeniu geograficznym Generowanie klucza interfejsu API dla mapy Wyświetlanie mapy Dodawanie własnych danych do mapy Położenie geograficzne Klasa Geocoder i geokodowanie Geokodowanie
Bardziej szczegółowoObsł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ółowoProgramowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do
Bardziej szczegółowoDokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Bardziej szczegółowoGRK 2. dr Wojciech Palubicki
GRK dr Wojciech Palubicki Macierz wektor produkt jako Transformacja T: R n R m T Ԧx = A Ԧx Przemieszczanie wierzchołków - Transformacje Skalowanie Rotacja Translacja -y -y Macierz rotacji M wobec punktu
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Bardziej szczegółowoGrafika trójwymiarowa
Strona 1 Grafika 3D w systemie Android Wprowadzenie do OpenGL ES Podstawy rysowania Rzutowanie i kamera Klasa GLSurfaceView Algorytm rysowania Tekstury Strona 2 Grafika 3D w systemie Android W komputerach,
Bardziej szczegółowoakademia androida Http i AsyncTask część VII
akademia androida Http i AsyncTask część VII agenda 1. 2. 3. 4. URLConnection i HttpURLConnection UI Thread i ANR AsyncTask Zadanie 1. URLConnection i HttpURLConnection Jest to klasa, dzięki której możemy
Bardziej szczegółowoMechanizm powiadomień
Mechanizm powiadomień Tłumaczenie i adaptacja materiałów: dr Tomasz Xięski. Na podstawie prezentacji udostępnionych przez Victor Matos, Cleveland State University. Portions of this page are reproduced
Bardziej szczegółowoSTWORZENIE PRZYKŁADOWEJ
LABORATORIUM SYSTEMÓW MOBILNYCH STWORZENIE PRZYKŁADOWEJ APLIKACJI MOBILNEJ W J2ME I. Temat ćwiczenia II. Wymagania Wykonanie poprzedniego ćwiczenia III. Ćwiczenie 1. Stworzenie aplikacji Celem ćwiczenia
Bardziej szczegółowoProgramowanie urządzeń mobilnych w systemie Android. Ćwiczenie 8 Wykorzystanie układu RelativeLayout
Ćwiczenie 8 Wykorzystanie układu RelativeLayout Cel ćwiczenia Celem ćwiczenia jest praktyczne zapoznanie się z zasadami użycia układu graficznego RelativeLayout oraz wykształcenie umiejętności zastosowania
Bardziej szczegółowoZad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?
Zad.28. Utwórz klasę, która implementuje oba interfejsy: public void pisz ( ) ; public void pisz ( ) ; Zad.29. Utwórz klasę, która implementuje oba interfejsy: public void pisz ( int l i c z b a ) ; public
Bardziej szczegółowopublic - może być używana w kodzie poza klasą, jedna klasa ModyfikatorKlasy może być kombinacją wyrażeń:
Klasy Metody [ModyfikatorMetody] TypZwrotny Nazwa (Typ arg1, ) { // implementacja metody ModyfikatorMetody może być kombinacją wyrażeń: modyfikator widzialności public dostępna dla metod spoza klasy protected
Bardziej szczegółowoProgramowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to
Bardziej szczegółowoSystemy odniesienia pozycji w odbiornikach nawigacyjnych. dr inż. Paweł Zalewski
Systemy odniesienia pozycji w odbiornikach nawigacyjnych dr inż. Paweł Zalewski Wprowadzenie Terestryczne systemy odniesienia (terrestrial reference systems) lub systemy współrzędnych (coordinate systems)
Bardziej szczegółowoTechnologie i usługi internetowe cz. 2
Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,
Bardziej szczegółowoInstrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o.
Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o. 29.06.2015 2 Spis treści 1. Wymagania...4 2. Uprawnienia systemowe...4 3. Uprawnienie
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe III. Refleksja Małgorzata Prolejko OBI JA16Z03 Plan Klasa Class. Analiza funkcjonalności klasy. Podstawy obsługi wyjątków. Zastosowanie refleksji do analizy obiektów. Wywoływanie
Bardziej szczegółowoObraz jako funkcja Przekształcenia geometryczne
Cyfrowe przetwarzanie obrazów I Obraz jako funkcja Przekształcenia geometryczne dr. inż Robert Kazała Definicja obrazu Obraz dwuwymiarowa funkcja intensywności światła f(x,y); wartość f w przestrzennych
Bardziej szczegółowoDoświadczalne metody fizyki biologicznej, medycznej i środowiska naturalnego (1101-4FD14) 7 grudnia 2011r. dr Monika Wilde-Piórko ĆWICZENIE 10
Doświadczalne metody fizyki biologicznej, medycznej i środowiska naturalnego (1101-4FD14) 7 grudnia 2011r. dr Monika Wilde-Piórko ĆWICZENIE 10 Magnetometria 1. Funkcja mag_sfera.m liczy i rysuje składowe
Bardziej szczegółowoAplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java
Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment
Bardziej szczegółowoSensory w WP7. Wykład 11 Sensory. GPS i mapa.
Kwalifikacje kadry dydaktycznej kluczem do rozwoju Uczelni PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ I EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO Uniwersytet Kazimierza Wielkiego w Bydgoszczy Wydział
Bardziej szczegółowoCairns (Australia): Szerokość: 16º 55' " Długość: 145º 46' " Sapporo (Japonia): Szerokość: 43º 3' " Długość: 141º 21' 15.
5 - Obliczenia przejścia Wenus z 5-6 czerwca 2012 r. 5.1. Wybieranie miejsca obserwacji. W tej części zajmiemy się nadchodzącym tranzytem Wenus, próbując wyobrazić sobie sytuację jak najbardziej zbliżoną
Bardziej szczegółowoLaboratorium 9 (Więcej Aktywności, w Androidzie)
Dr Mirosław Łątka Informatyka dla medycyny Jesień 2012 Laboratorium 9 (Więcej Aktywności, w Androidzie) Aplikacje systemu Android składają się z luźnego zbioru aktywności (ang. activities), z których każda
Bardziej szczegółowoGrafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30
Wykład 4 mgr inż. 1/30 Synteza grafiki polega na stworzeniu obrazu w oparciu o jego opis. Synteza obrazu w grafice komputerowej polega na wykorzystaniu algorytmów komputerowych do uzyskania obrazu cyfrowego
Bardziej szczegółowoPodstawy Języka Java
Podstawy Języka Java Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania, w którym programy definiuje się za pomocą obiektów elementów łączących
Bardziej szczegółowoProgramowanie II. Lista 3. Modyfikatory dostępu plik TKLientBanku.h
Programowanie II Lista 3 Modyfikatory dostępu plik TKLientBanku.h plik z funkcją main Przyjaźń Dziedziczenie Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Jest to
Bardziej szczegółowoKATEDRA MECHANIKI I PODSTAW KONSTRUKCJI MASZYN. Instrukcja do ćwiczeń laboratoryjnych z elementów analizy obrazów
POLITECHNIKA OPOLSKA KATEDRA MECHANIKI I PODSTAW KONSTRUKCJI MASZYN Instrukcja do ćwiczeń laboratoryjnych z elementów analizy obrazów Przetwarzanie obrazu: skalowanie miary i korekcja perspektywy. Opracował:
Bardziej szczegółowoZaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Bardziej szczegółowoKlasy abstrakcyjne, interfejsy i polimorfizm
Programowanie obiektowe 12 kwietnia 2011 Organizacyjne Klasówka będzie 20 IV 2011. Sale jeszcze są pertraktowane. Materiał do wyjątków włącznie. Można mieć swoje materiały nieelektroniczne. Wywołanie z
Bardziej szczegółowo- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy
Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla
Bardziej szczegółowoJava. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ
Procesy i wątki Proces posiada samodzielne środowisko wykonawcze. Proces posiada własny zestaw podstawowych zasobów w czasie wykonywania; W szczególności, każdy proces ma własną przestrzeń pamięci. W uproszczeniu
Bardziej szczegółowoGry Komputerowe - laboratorium 2. Kamera FPP / TPP. mgr inż. Michał Chwesiuk 1/11. Szczecin, r
Gry Komputerowe - laboratorium 2 FPP / TPP mgr inż. Michał Chwesiuk 1/11 a model 2/11 Stwórz nową klasę Player a model Do stworzonej klasy Player w pliku player.h dodaj trzy pola (trzeba dodać #include
Bardziej szczegółowoPodstawowe elementy GUI - zadania
Podstawowe elementy GUI - zadania LIVE DEMO Proszę zainstalować (rozpakować) Eclipse ADT z https://developer.android.com/sdk/index.html Proszę pobrać przez SDK Manager wszystko dotyczące Androida 4.4.2.
Bardziej szczegółowoLaboratorium 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ółowoSzybciej (pisać) Łatwiej (czytać) Prościej (utrzymywać) Marcin Wąsowski Amsterdam Standard Sp. z o.o.
Szybciej (pisać) Łatwiej (czytać) Prościej (utrzymywać) Marcin Wąsowski Amsterdam Standard Sp. z o.o. Co dostajemy na starcie? pobieranie elementów widoku, rzutowanie: ( np. findbyid ) każde zdarzenie
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Bardziej szczegółowoKalibracja kamery. Kalibracja kamery
Cel kalibracji Celem kalibracji jest wyznaczenie parametrów określających zaleŝności między układem podstawowym a układem związanym z kamerą, które występują łącznie z transformacją perspektywy oraz parametrów
Bardziej szczegółowoTEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
Bardziej szczegółowoZ ostatniego wzoru i zależności (3.20) można obliczyć n6. Otrzymujemy (3.23) 3.5. Transformacje geometryczne
46 III. Przekształcenia w przestrzeni trójwymiarowej Z ostatniego wzoru i zależności (3.20) można obliczyć n6. Otrzymujemy (3.23) 3.5. Transformacje geometryczne Złożone obiekty trójwymiarowe można uważać,
Bardziej szczegółowoMetody dostępu do danych
Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia
Bardziej szczegółowoInterfejsy w Java. Przetwarzanie równoległe. Wątki.
Informatyka I Interfejsy w Java. Przetwarzanie równoległe. Wątki. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Interfejsy w Java Pojęcie interfejsu w programowaniu Deklaracja
Bardziej szczegółowoProjektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne
Projektowanie obiektowe Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Wzorce projektowe Wybrane wzorce strukturalne Fasada Facade Pattern 2 Wzorzec Fasada Facade Pattern koncepcja 3 Wzorzec
Bardziej szczegółowoSystemy 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ółowoProgramowanie aplikacji dla technologii mobilnych. mgr inż. Anton Smoliński
Programowanie aplikacji dla technologii mobilnych mgr inż. Anton Smoliński Agenda Lokalizacja GPS WI-FI Sieć komórkowa Google Location Services API Motion Sensors Accelerometer Gravity Gyroscope LinearAccelerometer
Bardziej szczegółowoKurs programowania. Wykład 6. Wojciech Macyna. 7 kwietnia 2016
Wykład 6 7 kwietnia 2016 Klasa java.applet.applet Aplety w języku Java Aplety sa specyficznymi programami które moga być wyświetlane w oknach większości przegladarek internetowych. Klasa Applet rozszerza
Bardziej szczegółowoArchitektury Usług Internetowych. Laboratorium 3. Usługi w środowisku wielo-agentowym
Architektury Usług Internetowych Laboratorium 3. Usługi w środowisku wielo-agentowym Wstęp Celem laboratorium jest zapoznanie się z usługami udostępnianymi przez agenty w systemie agentowym JADE. Każdy
Bardziej szczegółowoWstę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ółowoakademia 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ółowoBEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska
BEAN VALIDATION Waldemar Korłub Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska Bean Validation Uniwersalny mechanizm walidacji danych we wszystkich warstwach aplikacji Warstwa interfejsu,
Bardziej szczegółowoSystemy operacyjne na platformach mobilnych
Systemy operacyjne na platformach mobilnych Wykład 2 Grzegorz Jabłoński, Piotr Perek Katedra Mikroelektroniki i Technik Informatycznych Zagadnienia wykładu Interfejs użytkownika Activity Views Resources
Bardziej szczegółowoAktywności są związane z ekranem i definiują jego wygląd. Dzieje się to poprzez podpięcie do aktywności odpowiedniego widoku.
Aktywności to podstawowe elementy związane z platformą Android. Dzięki poznaniu aktywności będziesz w stanie napisać pierwszą aplikację przeznaczoną na urządzenie mobilne. Po dodaniu kontrolek możesz w
Bardziej szczegółowoSzybki tutorial o zabezpieczeniach w NFC
Szybki tutorial o zabezpieczeniach w NFC Knox Meetup 02 Michał Leszczyński CERT Polska Szybki tutorial o zabezpieczeniach w NFC Knox Meetup 02 Michał Leszczyński CERT Polska Szybki tutorial o pewnych rzeczach
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoProgramowanie 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ółowoTworzenie 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ółowoKlasy i obiekty cz II
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy
Bardziej szczegółowoNear Field Communication
Near Field Communication What is NFC? Near Field Communication (NFC) to technologia komunikacji bezprzewodowej krótkiego zasięgu (do 10cm) wykorzystująca pasmo 13,56MHz. What is NFC? Urządzenia skanują
Bardziej szczegółowoZaawansowane aplikacje internetowe - laboratorium Web Services (część 1).
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).
Bardziej szczegółowoRozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
Bardziej szczegółowo