SZENZOROK érintés Magas szint Pillanatszerű események Tap, DoubleTap, Hold Folyamatos események - Manipulációk Pl. Zoom, Drag.

Slides:



Advertisements
Hasonló előadás
A program a „Tudáshasznosulást, tudástranszfert segítő eszköz-, és feltételrendszer kialakítása, fejlesztése a Műegyetemen” (TÁMOP /1/KMR )
Advertisements

HÁLÓZAT SOAP Hagyományos WCF/ASMX webszervizek.
1/13 Péter Tamás, Bécsi Tamás, Aradi Szilárd INNOVÁCIÓ ÉS FENNTARTHATÓ FELSZÍNI KÖZLEKEDÉS KONFERENCIA Budapest, szeptember 3-5. Útmenti objektumok.
A GEOLOKÁCIÓS ALKALMAZÁSOK HASZNÁLATÁNAK LEHETŐSÉGEI AZ OKTATÁSBAN
Navigáció mobiltelefonnal
• Pro: Energia felhasználás • Pro: Sebesség • Kontra: Pontosság • Kontra: Lefedettség Rádió tornyok • Energia felhasználás • Sebesség • Pontosság.
IDŐSZÁMÍTÁS Bevezető kérdések: 1) Pontosan jár-e egy napóra?
Intelligens Rendszerek Gyakorlata
1 / / 13 Bevezető Forgalmi dugók okozta problémák: - Feszültség - Sietség - Szabálytalan közlekedés → baleseti források Megoldás: A jó megoldások.
Szenzorfúziós feltérképezés saját építésű mobil robottal
A mobiltelefon egészséges
Alakja, mozgási és ezek következményei
A Föld helye és mozgása a Naprendszerben
Számítógépes Grafika 6. gyakorlat Programtervező informatikus (esti)‏ 2009/2010 őszi félév.
OS INTEGRÁCIÓ képek Hub integráció Egy gyorsindító az appunknak a hubban Extrák és megosztás Az appunk induláskor megkapja a képet.
Az általános földi légkörzés
Bolygónk, a Föld.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Fájlkezelés, IO Kivételkezelés Belső osztályok
Az általános légkörzés
Légnyomás, szél, időjárási frontok, ciklonok, anticiklonok
Krizsán Zoltán iit 1.2.  Nem kell vizuális felületnek lennie.  Delegátumok segítségével valósíthatja meg a.NET. Krizsán Zoltán iit Delegátumok C#-ban2.
Kliensoldali Programozás
A RobotinoView programozása
Microsoft Access Űrlapok tervezése.
Számítógépes Grafika 2. gyakorlat Programtervező informatikus (esti) 2011/2012 őszi félév.
A program a „Tudáshasznosulást, tudástranszfert segítő eszköz-, és feltételrendszer kialakítása, fejlesztése a Műegyetemen” (TÁMOP /1/KMR )
Tájékozódás az égen Az éggömb: Forgása:
SQL DDL DATA DEFINITION LANGUAGE. Táblák létrehozása CREATE TABLE táblanév ( oszlopnév1 típus(méret) /DEFAULT érték/ /NOT NULL/, oszlopnév2 típus(méret)
GPS az építőmérnöki gyakorlatban A helymeghatározás során alkalmazott koordináta-rendszerek.
Kezdeti teendők Letöltés: CharacterModellingBase.zip Blender3D futtatása headBase.blend betöltése.
Számítógépes grafika I. AUTOCAD alapok
Többtáblás lekérdezések, hierarchikus lekérdezések, allekérdezések
Kísérletek mobilszámítógéppel
Számítógépes Grafika 6. gyakorlat Programtervező informatikus (esti)‏ 2009/2010 őszi félév.
Haladó mozgások A hely és a mozgás viszonylagos. A testek helyét, mozgását valamilyen vonatkoztatási ponthoz, vonatkoztatási rendszerhez képest adjuk meg,
Adatbázis-kezelés. Középszint: –1-2 tábla –SQL-nyelv és lekérdező-rács használata –Űrlap és jelentés készítés Emelt szint: –több tábla (kapcsolatok) –több.
A Coriolis-erő a fizikában az inerciarendszerhez képest forgó (tehát egyben gyorsuló) vonatkoztatási rendszerben mozgó testre ható egyik tehetetlenségi.
SZTE Műszaki Informatika Tanszék Középiskolai bemutató
Web-grafika (VRML) 1. gyakorlat Nyitrai Erika Varga Balázs alapján Kereszty Gábor.
Az én kedvenc telefonom… Készítette: Szamosi Rozina Felkészít ő tanár: Kiss Csaba Iskola: Hernád-Pusztavacs Általános Iskola Pusztavacsi Tagintézménye.
Szebb és használhatóbb programok Vezérlőelemek dinamikus felhelyezése.
Időbeli redundancia. - Idő -> mozgás Intra-Frames: codiertes Einzelbild Inter-Frames: Differenzbild I-képek: Intra frame coded - csak képkockán belül.
Miért kell jól viselkedni a földön? Hogy a paradicsomba kapjunk jegyet. Másképp a pokol vár!!! De a valóságban a paradicsom és a pokol ugyanaz csak kis.
Multikopterek.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Windows Forms alkalmazás készítése Czigléczky Gábor 2009.
Rövid összefoglalás a © 2012 Microsoft Corporation. Minden jog fenntartva. Lync Web Apphoz Csatlakozás Lync-értekezlethez számítógépes hanggal Lync 2013.
NXT és EV3 összehasonlítása
avagy a tervezés segítése csúcstechnológiával Rodcont Kft.
Műszertan előadás Nógrádi József február 27.
2.Elnevezés 3.Fő- mellék VT 4.Irányok 5.VT képekben 6.Ábrák 7.Hálózat
Neumann János Informatikai Kar
Programozás III. Felhasználóifelület-elemek fontosabb tulajdonságai, eseményei, metódusai Preview események.
Mágneses kölcsönhatás
Unity 3D alapok + gyakorlás.
Grafikus Rendszerek 6. Camera.
Script nyelvek előadás
Hogyan mozog a föld közelében, nem túl nagy magasságban elejtett test?
Fodor Edina, óra feladata Fodor Edina,
Neumann János Informatikai Kar
09. GYAKORLAT Beeper.
GPGPU – CUDA 2..
2.Elnevezés 3.Fő- mellék VT 4.Irányok 5.VT képekben 6.Ábrák 7.Hálózat
JavaScript a böngészőben
GPS kezelési alapismeretek
Készítette: Koleszár Gábor
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
A digitális kép bevezetés.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
A Föld, mint égitest.
Előadás másolata:

SZENZOROK érintés Magas szint Pillanatszerű események Tap, DoubleTap, Hold Folyamatos események - Manipulációk Pl. Zoom, Drag

SZENZOROK érintés <Grid Tap="Grid_Tap" DoubleTap="Grid_DoubleTap" Hold="Grid_Hold" ManipulationStarted="Grid_ManipulationStarted" ManipulationDelta="Grid_ManipulationDelta" ManipulationCompleted="Grid_ManipulationCompleted">

SZENZOROK érintés private void Grid_Tap(object sender, GestureEventArgs e) { var position = e.GetPosition(this); } private void Grid_DoubleTap(object sender, GestureEventArgs e) { var position = e.GetPosition(this); } private void Grid_Hold(object sender, GestureEventArgs e) { var position = e.GetPosition(this); }

SZENZOROK érintés private void Grid_ManipulationStarted(object sender, ManipulationStartedEventArgs e) { var startPosition = e.ManipulationOrigin; }

SZENZOROK érintés private void Grid_ManipulationDelta(object sender, ManipulationDeltaEventArgs e) { var startPosition = e.ManipulationOrigin; var scaleTotal = e.CumulativeManipulation.Scale; var scaleDelta = e.DeltaManipulation.Scale; var scaleVelocity = e.Velocities.ExpansionVelocity; var translationTotal = e.CumulativeManipulation.Translation; var translationDelta = e.DeltaManipulation.Translation; var translationVelocity = e.Velocities.LinearVelocity; }

SZENZOROK érintés private void Grid_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e) { var startPosition = e.ManipulationOrigin; var scaleTotal = e.TotalManipulation.Scale; var scaleVelocity = e.FinalVelocities.ExpansionVelocity; var translationTotal = e.TotalManipulation.Translation; var translationVelocity = e.FinalVelocities.LinearVelocity; }

SZENZOROK érintés Alacsony szint Touch események Lehetőségünk van arra is, hogy a nyers adatokkal dolgozzunk Ilyenkor megkapjuk az összes érintési pontot és azt kezdünk velük amit akarunk

SZENZOROK érintés Touch.FrameReported += (s, e) => { var primaryTouchPoint = e.GetPrimaryTouchPoint(this); var touchPoints = e.GetTouchPoints(this); var timeStamp = e.Timestamp; };

SZENZOROK helyzetmeghatározás Alacsony szint Gyorsulásmérő Gyorsulás mértéke G-ben mérve az X, Y, Z tengelyek mentén

SZENZOROK helyzetmeghatározás Accelerometer accelerometer = new Accelerometer(); accelerometer.CurrentValueChanged += accelerometer_CurrentValueChanged; try { accelerometer.Start(); } catch { } void accelerometer_CurrentValueChanged(object sender, SensorReadingEventArgs e) { // Gyorsulás a 3 tengely mentén G-ben (9.81 m/s^2) mérve var accelerationVector = e.SensorReading.Acceleration; }

SZENZOROK helyzetmeghatározás Alacsony szint Giroszkóp Forgási sebesség rad/s -ben mérve az X, Y, Z tengelyek körül

SZENZOROK helyzetmeghatározás Gyroscope gyroscope = new Gyroscope(); gyroscope.CurrentValueChanged += gyroscope_CurrentValueChanged; try { gyroscope.Start(); } catch { } void gyroscope_CurrentValueChanged(object sender, SensorReadingEventArgs e) { // Forgás sebessége a 3 tengely körül rad/s-ben mérve var rotationRates = e.SensorReading.RotationRate; // rad/s -> deg/s var rotationDegreeX = MathHelper.ToDegrees(rotationRates.X); var rotationDegreeY = MathHelper.ToDegrees(rotationRates.Y); var rotationDegreeZ = MathHelper.ToDegrees(rotationRates.Z); }

SZENZOROK helyzetmeghatározás Alacsony szint Iránytű Az északi sark iránya a telefonhoz képest, fokban mérve

SZENZOROK helyzetmeghatározás Compass compass = new Compass(); compass.CurrentValueChanged += compass_CurrentValueChanged; try { compass.Start(); } catch { } void compass_CurrentValueChanged(object sender, SensorReadingEventArgs e) { // A Föld mágneses északi pólusa felé mutat (fokban) var magneticNorth = e.SensorReading.MagneticHeading; // A Föld földrajzi északi pólusa felé mutat (fokban) var geographicNorth = e.SensorReading.TrueHeading; }

SZENZOROK helyzetmeghatározás Magas szint Motion API Mivel az alacsony szintű API-kból nem olyan egyszerű érdemi infót kinyerni, kapunk beépítve egy magas absztrakciós szinten mozgó Motion API-t, ami elvégzi helyettünk a sok matekozást.

SZENZOROK helyzetmeghatározás Motion motion = new Motion(); motion.CurrentValueChanged += motion_CurrentValueChanged; try { motion.Start(); } catch { } void motion_CurrentValueChanged(object sender, SensorReadingEventArgs e) { var rotations = e.SensorReading.DeviceRotationRate; // Gyroscope var accelerations = e.SensorReading.DeviceAcceleration; // Accelerometer - Gravity var gravity = e.SensorReading.Gravity; // Gravity var roll = e.SensorReading.Attitude.Roll; // Elforgatás az X tengely körül (radián) var pitch = e.SensorReading.Attitude.Pitch; // Elforgatás az Y tengely körül (radián) var yaw = e.SensorReading.Attitude.Yaw; // Elforgatás a Z tengely körül (radián) // Egy számított mátrix, mely kombinálja az gyorsulásmérő/giroszkóp és az iránytű // méréseit, és megmondja, hogy a telefonunk a Világkoordinátarendszer szerint // hogy áll, merre néz -> AR appoknál nagyon jól tud jönni var rotationMatrix = e.SensorReading.Attitude.RotationMatrix; }

SZENZOROK helymeghatározás PontosságEnergiaigén y Gyorsaság GPS+-- WiFi+/- Cella tornyok -++ Térképészeti felhőszolgáltatások (Bing Maps)

SZENZOROK helymeghatározás GeoCoordinateWatcher gps = new GeoCoordinateWatcher(GeoPositionAccuracy.Default); // Default / High gps.StatusChanged += gps_StatusChanged; gps.PositionChanged += gps_PositionChanged; try { gps.Start(false); } // Figyelmeztetés feldobása catch { } void gps_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e) { GeoPositionStatus status = e.Status; // Disabled / Initializing / NoData / Ready } void gps_PositionChanged(object sender, GeoPositionChangedEventArgs e) { double longitude = e.Position.Location.Longitude; // Hosszúsági fok double latitude = e.Position.Location.Latitude; // Szélességi fok double altitude = e.Position.Location.Altitude; // Magasság (méterben) double speed = e.Position.Location.Speed; // Sebesség double heading = e.Position.Location.Course; // Mozgás iránya az Északi sarkhoz képest (fokban) }

SZENZOROK audió – videó Kamera Használhatjuk az előlapi és a normál kamerát is Fénykép esetén hozzáférés a kameragombhoz, a vakuhoz és a fókuszáláshoz Videó esetén lehetőség, hogy MP4 –be rögzítsük, illetve, hogy szürkeárnyalatos streamet kapjunk a kamerától (Augmented Reality)

SZENZOROK audió – videó PhotoCamera camera = new PhotoCamera(CameraType.Primary); // Primary / FrontFacing // Videó megjelenítése VideoBrush-al VideoBrush videoBrush = new VideoBrush(); videoBrush.SetSource(camera); this.Background = videoBrush; camera.Initialized += (s, e) => { // e.Exception és e.Succeeded // minden más csak ez után történhet }; // Beállítások // Felbontás camera.Resolution = (from resolution in camera.AvailableResolutions where resolution.Height > 720 select resolution).First(); // FlashMode camera.FlashMode = FlashMode.Auto; // Auto / Off / On / RedEyeReduction

SZENZOROK audió – videó // Fókuszálás camera.AutoFocusCompleted += (s, e) => { /* e.Exception és e.Succeeded */ }; camera.Focus(); // Auto-Fókusz camera.CancelFocus(); // Fókuszálás megszakítása camera.FocusAtPoint(240, 400); // Kiválasztott pontra való fókuszálás // Fénykép készítése camera.CaptureThumbnailAvailable += (s, e) => { /* e.ImageStream */ }; camera.CaptureImageAvailable += (s, e) => { /* e.ImageStream */ }; camera.CaptureImage();

SZENZOROK audió – videó // Aktuális képkocka lekérdezése int bufferSize = (int)camera.PreviewResolution.Width * (int)camera.PreviewResolution.Height; int[] ARGBPixelData = new int[bufferSize]; camera.GetPreviewBufferArgb32(ARGBPixelData); // RGB byte[] GrayScalePixelData = new byte[bufferSize]; camera.GetPreviewBufferY(GrayScalePixelData); // Szürkeárnyalatos byte[] YCbCrPixelData = new byte[bufferSize]; camera.GetPreviewBufferYCbCr(YCbCrPixelData); // YCbCr

SZENZOROK audió – videó Mikrofon Lehetőség van hangfelvételre... Vagy akár beszédfelismerésre a Microsoft TellMe felhőszolgáltatásának segítségével