Aller au contenu


Photo

[Résolu] Yaw from North

Augmented Reality

  • Please log in to reply
3 réponses à ce sujet

#1 iLandes

iLandes

    Torréfacteur de fèves

  • Membre
  • PipPipPipPipPip
  • 849 messages
  • LocationLandes

Posté 06 mars 2017 - 18:00

Bonjour,

 

J'essaie de retrouver le yaw du device de mon utilisateur par rapport au nord. Voici mon code :

 

 

 if motionManager.isDeviceMotionAvailable {
            motionManager.deviceMotionUpdateInterval = 1
            motionManager.startDeviceMotionUpdates(using: .xMagneticNorthZVertical,
                                                   to: OperationQueue.main,
                                                   withHandler: {
                
                                                    data, error in
                                                    
                                                    
                                                    if (data?.attitude) != nil {
                                                        let yaw = data?.attitude.yaw
                                                        let yawDegrees = self.radiansToDegrees(radians: yaw!)
                                                        let roll = data?.attitude.roll
                                                        let rollDegrees = self.radiansToDegrees(radians: roll!)
                                                        let pitch = data?.attitude.pitch
                                                        let pitchDegrees = self.radiansToDegrees(radians: pitch!)
                                                        
                                                        print (pitchDegrees,rollDegrees, yawDegrees)
                                                        
   

Le Roll et le Pitch sont bon mais pas le Yaw ?¿


--

seb@stien as iLandes

Linked In, Twitter, GitHub, StackOverFlowiLandes.fr

 

Applications : Plages.TVGirondins33Jardiner avec la luneDVRGVMidi Note Converter, FreeIMC.

 

It's not a bug, it's a feature.

Feature : A bug as described by the marketing department (Apple II Reference Manuel 1979 page 180)

 


#2 iLandes

iLandes

    Torréfacteur de fèves

  • Membre
  • PipPipPipPipPip
  • 849 messages
  • LocationLandes

Posté 07 mars 2017 - 08:13

Merci à ceux qui ont regardé le sujet. Mais j'ai résolu mon problème grâce à cette page qui explique à la fois pour iOS et pour Androïd.


--

seb@stien as iLandes

Linked In, Twitter, GitHub, StackOverFlowiLandes.fr

 

Applications : Plages.TVGirondins33Jardiner avec la luneDVRGVMidi Note Converter, FreeIMC.

 

It's not a bug, it's a feature.

Feature : A bug as described by the marketing department (Apple II Reference Manuel 1979 page 180)

 


#3 Draken

Draken

    Mouleur de chocolats

  • Artisan chocolatier
  • PipPipPipPipPipPipPipPip
  • 8 794 messages
  • LocationParis

Posté 07 mars 2017 - 09:20

if (data?.attitude) != nil {
   let yaw = data?.attitude.yaw
   let yawDegrees = self.radiansToDegrees(radians: yaw!)
   let roll = data?.attitude.roll
   let rollDegrees = self.radiansToDegrees(radians: roll!)
   let pitch = data?.attitude.pitch
   let pitchDegrees = self.radiansToDegrees(radians: pitch!)
                                                        
   print (pitchDegrees,rollDegrees, yawDegrees)

a

Ça pique les yeux ces "?", " !" et ce test avec "nil". On dirais du Swift old school. Tu peux utiliser les optionnals d'une manière plus élégante, avec "if let".

a

if let attitude = data.attitude { 
   let yawDegrees = self.radiansToDegrees(radians: attitude.yaw)
   let rollDegrees = self.radiansToDegrees(radians: attitude.roll)
   let pitchDegrees = self.radiansToDegrees(radians: attitude.pitch)
 
   print (pitchDegrees,rollDegrees, yawDegrees)
}



a

Ou encore :

a

guard if let attitude = data?.attitude else {
  // Quitter la fonction ici
}

let yawDegrees = self.radiansToDegrees(radians: attitude.yaw)
let rollDegrees = self.radiansToDegrees(radians: attitude.roll)
let pitchDegrees = self.radiansToDegrees(radians: attitude.pitch)
                                                        
print (pitchDegrees,rollDegrees, yawDegrees)


  • Joanna Carter aime ceci

Garçon, servez-moi un Covfefe avec du lait de soja, sans OGM ..

Et faites régler la climatisation, il fait bien chaud, ici !

 

 

Éternel Novice !  :baby:

Tueur de poneys !  :(

 

Faire simple .. c'est compliqué !

Faire compliqué .. c'est simple !

 

Un MOOC (cours en ligne - dont je ne suis pas l'auteur) gratuit sur la programmation en Obj-C et en Swift 3, démarrant le 14 Mars 2017 :

https://www.edx.org/...onnex-progios1x

 

Des dizaines d'heures de tutoriels vidéo en français (je ne suis pas l'auteur) pour apprendre à développer en Obj-C et Swift : http://pagesperso-sy...don/5I452-2014/

 

 


#4 iLandes

iLandes

    Torréfacteur de fèves

  • Membre
  • PipPipPipPipPip
  • 849 messages
  • LocationLandes

Posté 07 mars 2017 - 12:56

Merci de ton intérêt  Draken, oui le code de recherche est parfois un peu degeulasse :))

 

Mon problème est de trouver un azimuth par rapport au nord. Mais comme signalé plus haut j'ai trouvé.


--

seb@stien as iLandes

Linked In, Twitter, GitHub, StackOverFlowiLandes.fr

 

Applications : Plages.TVGirondins33Jardiner avec la luneDVRGVMidi Note Converter, FreeIMC.

 

It's not a bug, it's a feature.

Feature : A bug as described by the marketing department (Apple II Reference Manuel 1979 page 180)

 





0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)