View
392
Download
3
Category
Preview:
DESCRIPTION
Avec Windows Phone 7.5 (Mango) le développeur a maintenant accès au flux vidéo de la caméra, et à l'intégralité des capteurs de mouvements disponible sur le téléphone. Dans cette session nous expliquerons les concepts mathématiques de base, ainsi que les APIs Silverlight et XNA qu'il faut connaitre pour ajouter des vues "augmentées" dans vos applications, avec comme exemples d'applications: - détecter des tags ou des codes barres, et éventuellement afficher des informations par dessus - superposer des informations géolocalisées sur la vue caméra - incruster des objets en 3d dans une vidéo Cette session est une introduction et ne demande donc qu'une connaissance de base du développement, les principes étant applicables pour la plupart sur d'autres plateformes, mobiles ou non.
Citation preview
palais des
congrès
Paris
7, 8 et 9
février 2012
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)
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
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
Un peu de maths
Encore un peu de maths…
rotation
translation
agrandissement / réduction
Un peu de 3D…
téléphone
utilisateur
Monde réel
Les transformations successives
Model space
World space
Camera / View space
Projection space
Screen space
WorldMatrix
ViewMatrix
ProjectionMatrix
Viewport
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
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++)
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);
}
<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);
DEMO
Les transformations à appliquer
Augmented Reality Viewfinder Toolkit
http://arvftoolkit.codeplex.com
ANNONCE… + DEMO
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
Recommended