Transcript
Page 1: Initiation à la réalité augmentée sur Windows Phone 7.5 (Mango)

palais des

congrès

Paris

7, 8 et 9

février 2012

Page 2: Initiation à la réalité augmentée sur Windows Phone 7.5 (Mango)

7/2/2012Pierre Cauchois (@pierreca)Stéphane Sibué (Softélite)Fabien Décret (Adénéo)

Initiation à la réalité

augmentée dans Windows

Phone 7.5 (mango)

Page 3: Initiation à la réalité augmentée sur Windows Phone 7.5 (Mango)

Les usages de la réalité augmentée

Les APIs utiles

Le mode viewfinder en détail

Le mode « détection de tags » en détail

Les toolkits pour vous aider

Agenda

Page 4: Initiation à la réalité augmentée sur Windows Phone 7.5 (Mango)

Découverte de points d’intérêt

Orientation, guidage « naturel »

Affichage d’informations complémentaires

Suite à une détection de tag / d’objet

Informations géolocalisées

Jeux

Usages de la réalité augmentée

Page 5: Initiation à la réalité augmentée sur Windows Phone 7.5 (Mango)

Un peu de maths

Page 6: Initiation à la réalité augmentée sur Windows Phone 7.5 (Mango)

Encore un peu de maths…

rotation

translation

agrandissement / réduction

Page 8: Initiation à la réalité augmentée sur Windows Phone 7.5 (Mango)

Les transformations successives

Model space

World space

Camera / View space

Projection space

Screen space

WorldMatrix

ViewMatrix

ProjectionMatrix

Viewport

Page 9: Initiation à la réalité augmentée sur Windows Phone 7.5 (Mango)

Se localiser (GPS) : GeoCoordinateWatcher

Comprendre l’orientation du téléphone: Motion

Afficher le flux de la caméra : PhotoCamera

Projeter un objet sur l’écran : les RenderTransform (Silverlight)

et les Matrix (XNA)

Les APIs utiles

Page 10: Initiation à la réalité augmentée sur Windows Phone 7.5 (Mango)

GeoCoordinateWatcher gcw = new GeoCoordinateWatcher(GeoPositionAccuracy.High);gcw.MovementThreshold = 10;gcw.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(gcw_StatusChanged); gcw.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(gcw_PositionChanged);

gcw.Start();

void gcw_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e) {

// Do something!}

void gcw_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e) {

// Do something!}

Se localiser (GPS++)

Page 11: Initiation à la réalité augmentée sur Windows Phone 7.5 (Mango)

Comprendre l’orientation du téléphone

Motion motion = new Motion(); motion.TimeBetweenUpdates = TimeSpan.FromMilliseconds(66); // 15 FPS

motion.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<MotionReading>>(motion_CurrentValueChanged);

try

{

motion.Start();

}

catch (Exception ex)

{

MessageBox.Show("Impossible de démarrer l'API Motion! " + ex.Message);

}

Page 12: Initiation à la réalité augmentée sur Windows Phone 7.5 (Mango)

<Rectangle>

<Rectangle.Fill>

<VideoBrush x:Name="viewfinderBrush" />

</Rectangle.Fill>

</Rectangle>

Afficher la caméra à l’écran

PhotoCamera camera = new PhotoCamera(CameraType.Primary); viewfinderBrush.SetSource(camera);

Page 13: Initiation à la réalité augmentée sur Windows Phone 7.5 (Mango)

DEMO

Les transformations à appliquer

Page 14: Initiation à la réalité augmentée sur Windows Phone 7.5 (Mango)

Augmented Reality Viewfinder Toolkit

http://arvftoolkit.codeplex.com

ANNONCE… + DEMO

Page 15: Initiation à la réalité augmentée sur Windows Phone 7.5 (Mango)

Vous voulez développer une appli Windows Phone ? Inscrivez-vous !

Profitez d’un programme d’accompagnement pour développeurs, à la carte et sans engagement

– Un guide vous contacte et vous accompagne personnellement

– Il met à votre disposition des ressources : accès gratuits* Marketplace, prêts/dons* de téléphone…

– Il vous propose du coaching technique et design

– Il vous aide à rendre visible votre application en ligne et à des événements

*Dans la limite des quantités disponibles