Mobilne Aplikacje Multimedialne

Podobne dokumenty
Mobilne aplikacje multimedialne

Przekształcenia liniowe

Krystalochemia białek 2016/2017

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

Notacja Denavita-Hartenberga

Mechanika ogólna. Kinematyka. Równania ruchu punktu materialnego. Podstawowe pojęcia. Równanie ruchu po torze (równanie drogi)

Podstawy robotyki. Wykład II. Robert Muszyński Janusz Jakubiak Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska

GEOMETRIA ANALITYCZNA W PRZESTRZENI

GRAFIKA KOMPUTEROWA podstawy matematyczne. dr inż. Hojny Marcin pokój 406, pawilon B5 Tel.

PODSTAWY RACHUNKU WEKTOROWEGO

Układy współrzędnych

OPISY PRZESTRZENNE I PRZEKSZTAŁCENIA

GEOMETRIA ANALITYCZNA W PRZESTRZENI

Mobilne Aplikacje Multimedialne

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

RÓWNANIE DYNAMICZNE RUCHU KULISTEGO CIAŁA SZTYWNEGO W UKŁADZIE PARASOLA

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

Wektor położenia. Zajęcia uzupełniające. Mgr Kamila Rudź, Podstawy Fizyki.

Pole magnetyczne Ziemi. Pole magnetyczne przewodnika z prądem

Iloczyn skalarny, wektorowy, mieszany. Ortogonalność wektorów. Metoda ortogonalizacji Grama-Schmidta. Małgorzata Kowaluk semestr X

akademia androida Sensory część V Mobile Applications Developers

Ziemskie pole magnetyczne

Przekształcenia geometryczne w grafice komputerowej. Marek Badura

Rozszerzony konspekt preskryptu do przedmiotu Podstawy Robotyki

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30

Analiza stanu naprężenia - pojęcia podstawowe

MECHANIKA 2. Wykład Nr 3 KINEMATYKA. Temat RUCH PŁASKI BRYŁY MATERIALNEJ. Prowadzący: dr Krzysztof Polko

Fizyka. dr Bohdan Bieg p. 36A. wykład ćwiczenia laboratoryjne ćwiczenia rachunkowe

Geometria w R 3. Iloczyn skalarny wektorów

METODY MATEMATYCZNE I STATYSTYCZNE W INŻYNIERII CHEMICZNEJ

Andrzej Marciniak GRAFIKA KOMPUTEROWA. Wykłady dla studentów kierunku informatyka Państwowej Wyższej Szkoły Zawodowej w Kaliszu

Przekształcenia geometryczne. Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej

Przekształcenia liniowe

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

3. KINEMATYKA Kinematyka jest częścią mechaniki, która zajmuje się opisem ruchu ciał bez wnikania w jego przyczyny. Oznacza to, że nie interesuje nas

MATEMATYKA I SEMESTR ALK (PwZ) 1. Sumy i sumy podwójne : Σ i ΣΣ

Wykład FIZYKA II. 5. Magnetyzm. Dr hab. inż. Władysław Artur Woźniak

2 Przygotował: mgr inż. Maciej Lasota

Elementy grafiki komputerowej. Elementy geometrii afinicznej

Ćwiczenia nr 4. TEMATYKA: Rzutowanie

MECHANIKA 2 KINEMATYKA. Wykład Nr 5 RUCH KULISTY I RUCH OGÓLNY BRYŁY. Prowadzący: dr Krzysztof Polko

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

gdzie (4.20) (4.21) 4.3. Rzut równoległy

Ziemia jako planeta w Układzie Słonecznym

Z ostatniego wzoru i zależności (3.20) można obliczyć n6. Otrzymujemy (3.23) 3.5. Transformacje geometryczne

Wykład 14. Elementy algebry macierzy

MECHANIKA 2 RUCH POSTĘPOWY I OBROTOWY CIAŁA SZTYWNEGO. Wykład Nr 2. Prowadzący: dr Krzysztof Polko

Symulacje komputerowe

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

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

i = [ 0] j = [ 1] k = [ 0]

1 Macierze i wyznaczniki

Symetria w fizyce materii

2 1 3 c c1. e 1, e 2,..., e n A= e 1 e 2...e n [ ] M. Przybycień Matematyczne Metody Fizyki I

Wyznaczanie sił działających na przewodnik z prądem w polu magnetycznym

Rachunek wektorowy - wprowadzenie. dr inż. Romuald Kędzierski

Iloczyn wektorowy. Autorzy: Michał Góra

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

WYBRANE DZIAŁY ANALIZY MATEMATYCZNEJ. Wykład II

PRZEWODNIK PO PRZEDMIOCIE

Piotr Janas, Paweł Turkowski Zakład Fizyki, Uniwersytet Rolniczy w Krakowie Do użytku wewnętrznego ĆWICZENIE 30

MECHANIKA II. Praca i energia punktu materialnego

Metody matematyczne fizyki

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ

Ćwiczenie 41. Busola stycznych

Płaszczyzny, Obrót, Szyk

Algebra z geometrią analityczną zadania z odpowiedziami

Ć W I C Z E N I E N R E-15

5. Rozwiązywanie układów równań liniowych

Piotr Janas, Paweł Turkowski Zakład Fizyki IChF, Uniwersytet Rolniczy w Krakowie Do użytku wewnętrznego ĆWICZENIE 30

Z-0085z Algebra Liniowa Linear Algebra. Stacjonarne wszystkie Katedra Matematyki Dr Beata Maciejewska. Podstawowy Obowiązkowy Polski Semestr pierwszy

cx cx 1,cx 2,cx 3,...,cx n. Przykład 4, 5

Algebra z geometrią analityczną zadania z odpowiedziami

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

Mechanika teoretyczna

1. PODSTAWY TEORETYCZNE

Algebra z geometrią analityczną zadania z odpowiedziami

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2012/13

Obraz jako funkcja Przekształcenia geometryczne

Wektory. Algebra. Aleksander Denisiuk. Polsko-Japońska Wyższa Szkoła Technik Komputerowych Wydział Informatyki w Gdańsku ul. Brzegi Gdańsk

Geometria Lista 0 Zadanie 1

Mobilne Aplikacje Multimedialne

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

Wyznaczanie składowej poziomej natężenia pola magnetycznego Ziemi za pomocą busoli stycznych

Różniczkowe prawo Gaussa i co z niego wynika...

Wykład FIZYKA II. 5. Magnetyzm

ALGEBRA z GEOMETRIA, ANALITYCZNA,

4 Przekształcenia liniowe

Ekoenergetyka Matematyka 1. Wykład 3.

1. Elementy (abstrakcyjnej) teorii grup

Kalibracja kamery. Kalibracja kamery

Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem.

TENSOMETRIA ZARYS TEORETYCZNY

Wyznaczenie składowej poziomej indukcji ziemskiego pola magnetycznego

MAGNETYZM. 1. Pole magnetyczne Ziemi i magnesu stałego.

Indukcja magnetyczna pola wokół przewodnika z prądem. dr inż. Romuald Kędzierski

Algebra liniowa z geometria. - zadania Rok akademicki 2010/2011

ALGEBRA LINIOWA 2. Lista zadań 2003/2004. Opracowanie : dr Teresa Jurlewicz, dr Zbigniew Skoczylas

PYTANIA KONTROLNE STAN NAPRĘŻENIA, ODKSZTAŁCENIA PRAWO HOOKE A

Zad. 3: Układ równań liniowych

Transkrypt:

Mobilne Aplikacje Multimedialne Rozszerzona rzeczywistość (AR, Augmented Reality) w Systemie Android Cz.1 Krzysztof Bruniecki

Podstawy Algebra liniowa, operacje na wektorach, macierzach, iloczyn skalarny Geometria rzutu perspektywicznego, współrzędne jednorodne Grafika 3D, macierz rzutu perspektywicznego Układy odniesienia 2

Układ odniesienia związany z urządzeniem mobilnym (b-frame) Z B Y B X B 3

Lokalny układ odniesienia związany bieżącym położeniem (m-frame) 4

Skrętność układów odniesienia Występują dwa niekompatybilne układy odniesienia lewoskrętny prawoskrętny 5

Reguła prawej dłoni 6

Macierz rotacji (1) chcąc dokonać transformacji wektora wyrażonego w b-frame reprezentacji w m-frame można posłużyć się równaniem gdzie omega,fi, kapa, oznaczają elementarne obroty względem osi X, Y oraz Z i kąty, oraz oznaczają odpowiednio pitch, roll oraz heading Mnożenie macierzy R 1, R 2, R 3 nie jest przemienne 7

Macierz rotacji (2) 8

Macierz rotacji (3) Wyprowadzenie pojedynczej składowej 9

Macierz rotacji (4) Algebraiczna reprezentacja macierzy rotacji 10

Macierze rotacji i inklinacji w Androidzie (1) public static boolean getrotationmatrix (float[] R, float[] I, float[] gravity, float[] geomagnetic) Od poziomu 3 API Umożliwia wyznaczenie macierzy inklinacji I jak również macierzy rotacji R transformującej wektor z układu odniesienia związanego z urządzeniem (b-frame) do lokalnego układu odniesienia (m-frame)zdefiniowanego: Oś X jest iloczynem wektorowym Y.Z (styczna do powierzchni Ziemi w miejscu położenia urządzenia, wskazuje w przybliżeniu wschód) Oś Y jest styczny do powierzchni Ziemi w miejscu położenia urządzenia, wskazuje północ magnetyczną Oś Z wskazuje w górę i jest prostopadła do powierzchni Ziemi 11

Macierze rotacji i inklinacji w Androidzie (2) [0 0 g] = R * gravity (g = wartość siły grawitacji) [0 m 0] = I * R * geomagnetic (m = wartość pola geomagnetycznego) R jest macierzą jednostkową w przypadku gdy urządzenie jest położone zgodnie z lokalnym układem odniesienia (m-frame), czyli kiedy? I jest macierzą rotacji reprezentującą inklinację. Wyrównuje wektor geomagnetyczny do płaszczyzny stycznej z powierzchnią Ziemi. Macierz I jest rotacją wokół osi X. Kąt inklinacji może być wyznaczony z użyciem funkcji getinclination(float[]) 12

Rozmiar macierzy rotacji i inklinacji w Androidzie Macierze są zwracane jako macierze o wymiarach 3x3 lub 4x4, zgodnie z wierszową kolejnością: W przypadku macierzy o rozmiarze 4x4: / M[ 0] M[ 1] M[ 2] M[ 3] \ M[ 4] M[ 5] M[ 6] M[ 7] M[ 8] M[ 9] M[10] M[11] \ M[12] M[13] M[14] M[15] / Taka macierz może być wykorzystana w funkcjach OpenGL, np.: glloadmatrixf(float[], int) 13

Rozmiar macierzy rotacji i inklinacji w Androidzie (2) W przypadku macierzy o rozmiarze 3x3: / M[ 0] M[ 1] M[ 2] \ M[ 3] M[ 4] M[ 5] \ M[ 6] M[ 7] M[ 8] / Macierze charakteryzują się tym iż ich transpozycje są zarazem macierzami odwrotnymi Macierze nie nadają się do wykorzystania w przypadkach: swobodnego spadania urządzenia, blisko bieguna magnetycznego, Macierze są obarczone znacznymi błędami gdy gdy urządzenie przyspiesza (np. w samochodzie), w przypadku położenia w bliskim sąsiedztwie silnego pola magnetycznego 14

Macierze rotacji i inklinacji w Androidzie parametry wejściowe R jest to macierz 9 liczb typu float, zawiera macierz rotacji (b-m frame) gdy funkcja wraca, może być null I jest to macierz 9 liczb typu float, zawiera macierz inklinacji gdy funkcja wraca, może być null gravity jest to macierz 3 liczb typu float, zawiera wektor grawitacji wyrażony w układzie urządzenia, można użyć wartości zwróconych przez sensor typu TYPE_ACCELEROMETER geomagnetic jest to macierz 3 liczb typu float, zawiera wektor pola geomagnetycznego wyrażony w układzie urządzenia, można użyć wartości zwróconych przez sensor typu TYPE_MAGNETIC_FIELD Wartość zwracana true w przypadku sukcesu, false w przypadku błędu, czyli kiedy?, w przypadku błędu macierze wejściowe nie są zmieniane 15

Inklinacja magnetyczna (1) Inklinacja magnetyczna inaczej nachylenie magnetyczne jest kątem zawartym pomiędzy wektorem natężenia ziemskiego pola magnetycznego a płaszczyzną horyzontu Inklinacją nazywamy kąt zawarty pomiędzy płaszczyzną poziomą a osią swobodnie zawieszonej igły magnetycznej. Wartość inklinacji zmienia się wraz ze zmianą szerokości geograficznej. W Polsce średnio inklinacja wynosi około +66 (na biegunie magnetycznym 90, na równiku magnetycznym 0 ). Linie łączące na mapie punkty o jednakowej inklinacji nazywamy izoklinami. 16

Inklinacja magnetyczna (2) 17

Omówienie zadań laboratoryjnych (1) Z wykorzystaniem metody public static boolean getrotationmatrix (float[] R, float[] I, float[] gravity, float[] geomagnetic) Zaimplementować mechanizm przeliczania dowolnego wektora wyrażonego w układzie odniesienia związanym z urządzeniem do lokalnego układu odniesienia związanego z bieżącym położeniem względem Ziemi Wektor wejściowy powinien być podawany przy użyciu interfejsu użytkownika zbudowanego ze standardowych kontrolek (3 x EditText + Button). Wektor wyjściowy powinien być wyświetlany w polu TextView 18

Wyniki rotacji wektora Urządzenie zorientowane zgodnie z lokalnym układem odniesienia Urządzenie zorientowane dowolnie 19