slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
SZENZOROK PowerPoint Presentation
Download Presentation
SZENZOROK

Loading in 2 Seconds...

play fullscreen
1 / 23

SZENZOROK - PowerPoint PPT Presentation


  • 147 Views
  • Uploaded on

SZENZOROK. érintés. Magas szint Pillanatszerű események Tap, DoubleTap, Hold Folyamatos események - Manipulációk Pl. Zoom, Drag. SZENZOROK. érintés. <!-- Feliratkozás az eseményekre --> < Grid Tap =" Grid_Tap " DoubleTap =" Grid_DoubleTap " Hold =" Grid_Hold "

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'SZENZOROK' - haley


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1
SZENZOROK

érintés

Magas szint

Pillanatszerű események

Tap, DoubleTap, Hold

Folyamatos események - Manipulációk

Pl. Zoom, Drag

slide2
SZENZOROK

érintés

<!-- Feliratkozásazeseményekre-->

<Grid

Tap="Grid_Tap"

DoubleTap="Grid_DoubleTap"

Hold="Grid_Hold"

ManipulationStarted="Grid_ManipulationStarted"

ManipulationDelta="Grid_ManipulationDelta"

ManipulationCompleted="Grid_ManipulationCompleted">

slide3
SZENZOROK

érintés

privatevoidGrid_Tap(object sender, GestureEventArgs e)

{

var position = e.GetPosition(this);

}

privatevoidGrid_DoubleTap(object sender, GestureEventArgs e)

{

var position = e.GetPosition(this);

}

privatevoidGrid_Hold(object sender, GestureEventArgs e)

{

var position = e.GetPosition(this);

}

slide4
SZENZOROK

érintés

privatevoidGrid_ManipulationStarted(object sender, ManipulationStartedEventArgs e)

{

varstartPosition = e.ManipulationOrigin;

}

slide5
SZENZOROK

érintés

privatevoidGrid_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)

{

varstartPosition = e.ManipulationOrigin;

varscaleTotal = e.CumulativeManipulation.Scale;

varscaleDelta = e.DeltaManipulation.Scale;

varscaleVelocity = e.Velocities.ExpansionVelocity;

vartranslationTotal = e.CumulativeManipulation.Translation;

vartranslationDelta = e.DeltaManipulation.Translation;

vartranslationVelocity = e.Velocities.LinearVelocity;

}

slide6
SZENZOROK

érintés

privatevoidGrid_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e)

{

varstartPosition = e.ManipulationOrigin;

varscaleTotal = e.TotalManipulation.Scale;

varscaleVelocity = e.FinalVelocities.ExpansionVelocity;

vartranslationTotal = e.TotalManipulation.Translation;

vartranslationVelocity = e.FinalVelocities.LinearVelocity;

}

slide7
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

slide8
SZENZOROK

érintés

Touch.FrameReported += (s, e) =>

{

varprimaryTouchPoint = e.GetPrimaryTouchPoint(this);

vartouchPoints = e.GetTouchPoints(this);

vartimeStamp = e.Timestamp;

};

slide9
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

slide10
SZENZOROK

helyzetmeghatározás

Accelerometeraccelerometer = newAccelerometer();

accelerometer.CurrentValueChanged += accelerometer_CurrentValueChanged;

try { accelerometer.Start(); }

catch { }

voidaccelerometer_CurrentValueChanged(object sender, SensorReadingEventArgs<AccelerometerReading> e)

{

// Gyorsulás a 3 tengelymentén G-ben (9.81 m/s^2) mérve

varaccelerationVector= e.SensorReading.Acceleration;

}

slide11
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

slide12
SZENZOROK

helyzetmeghatározás

Gyroscopegyroscope = newGyroscope();

gyroscope.CurrentValueChanged += gyroscope_CurrentValueChanged;

try { gyroscope.Start(); }

catch { }

voidgyroscope_CurrentValueChanged(object sender, SensorReadingEventArgs<GyroscopeReading> e)

{

// Forgássebessége a 3 tengelykörül rad/s-ben mérve

varrotationRates = e.SensorReading.RotationRate;

// rad/s -> deg/s

varrotationDegreeX = MathHelper.ToDegrees(rotationRates.X);

varrotationDegreeY = MathHelper.ToDegrees(rotationRates.Y);

varrotationDegreeZ = MathHelper.ToDegrees(rotationRates.Z);

}

slide13
SZENZOROK

helyzetmeghatározás

Alacsony szint

Iránytű

Az északi sark iránya a telefonhoz képest, fokban mérve

slide14
SZENZOROK

helyzetmeghatározás

Compasscompass = newCompass();

compass.CurrentValueChanged += compass_CurrentValueChanged;

try { compass.Start(); }

catch{ }

voidcompass_CurrentValueChanged(object sender, SensorReadingEventArgs<CompassReading> e)

{

// A Földmágnesesészakipólusafelémutat (fokban)

varmagneticNorth = e.SensorReading.MagneticHeading;

// A Földföldrajziészakipólusafelémutat (fokban)

vargeographicNorth = e.SensorReading.TrueHeading;

}

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

slide16
SZENZOROK

helyzetmeghatározás

Motionmotion = newMotion();

motion.CurrentValueChanged += motion_CurrentValueChanged;

try{ motion.Start(); }

catch { }

voidmotion_CurrentValueChanged(object sender, SensorReadingEventArgs<MotionReading> e)

{

var rotations = e.SensorReading.DeviceRotationRate; // Gyroscope

var accelerations = e.SensorReading.DeviceAcceleration; // Accelerometer - Gravity

var gravity = e.SensorReading.Gravity; // Gravity

varroll = e.SensorReading.Attitude.Roll; // Elforgatásaz X tengelykörül (radián)

var pitch = e.SensorReading.Attitude.Pitch; // Elforgatásaz Y tengelykörül (radián)

var yaw = e.SensorReading.Attitude.Yaw; // Elforgatás a Z tengelykö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, ésmegmondja, hogy a telefonunk a Világkoordinátarendszerszerint

// hogyáll, merrenéz -> AR appoknálnagyonjóltudjönni

varrotationMatrix = e.SensorReading.Attitude.RotationMatrix;

}

slide17
SZENZOROK

helymeghatározás

slide18
SZENZOROK

helymeghatározás

GeoCoordinateWatchergps = newGeoCoordinateWatcher(GeoPositionAccuracy.Default); // Default / High

gps.StatusChanged += gps_StatusChanged;

gps.PositionChanged += gps_PositionChanged;

try { gps.Start(false); } // Figyelmeztetésfeldobása

catch { }

voidgps_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)

{

GeoPositionStatus status = e.Status; // Disabled / Initializing / NoData / Ready

}

voidgps_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)

{

double longitude = e.Position.Location.Longitude; // Hosszúságifok

double latitude = e.Position.Location.Latitude; // Szélességifok

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ásirányaazÉszakisarkhozképest (fokban)

}

slide19
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)

slide20
SZENZOROK

audió – videó

PhotoCamera camera = newPhotoCamera(CameraType.Primary); // Primary / FrontFacing

// VideómegjelenítéseVideoBrush-al

VideoBrushvideoBrush = newVideoBrush();

videoBrush.SetSource(camera);

this.Background = videoBrush;

camera.Initialized += (s, e) =>

{

// e.Exceptionése.Succeeded

// mindenmáscsakezutántörténhet

};

// Beállítások

// Felbontás

camera.Resolution = (from resolution incamera.AvailableResolutions

whereresolution.Height > 720

select resolution).First();

// FlashMode

camera.FlashMode = FlashMode.Auto; // Auto / Off / On / RedEyeReduction

slide21
SZENZOROK

audió – videó

// Fókuszálás

camera.AutoFocusCompleted += (s, e) => { /* e.Exceptionése.Succeeded */ };

camera.Focus(); // Auto-Fókusz

camera.CancelFocus(); // Fókuszálásmegszakítása

camera.FocusAtPoint(240, 400); // Kiválasztottpontravalófókuszálás

// Fényképkészítése

camera.CaptureThumbnailAvailable += (s, e) => { /* e.ImageStream */ };

camera.CaptureImageAvailable += (s, e) => { /* e.ImageStream */ };

camera.CaptureImage();

slide22
SZENZOROK

audió – videó

// Aktuálisképkockalekérdezése

intbufferSize = (int)camera.PreviewResolution.Width * (int)camera.PreviewResolution.Height;

int[] ARGBPixelData = newint[bufferSize];

camera.GetPreviewBufferArgb32(ARGBPixelData); // RGB

byte[] GrayScalePixelData = newbyte[bufferSize];

camera.GetPreviewBufferY(GrayScalePixelData); // Szürkeárnyalatos

byte[] YCbCrPixelData = newbyte[bufferSize];

camera.GetPreviewBufferYCbCr(YCbCrPixelData); // YCbCr

slide23
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