Je travaille sur un projet où je veux convertir mon axe de téléphones Android sur l'axe de coordonnées mondial. J'ai l'accélération le long des téléphones 3 axes (x, y, z) et les trois angles étant l'azimut, le tangage et le roulis. Comment puis-je procéder en convertissant virtuellement mon axe de téléphones à l'axe de coordonnées du monde (TrueTorth, Trueeast). Dans la mesure où je fais est de me donner un mauvais résultat. C'est mon approche.Conversion de l'axe du téléphone en axe de coordonnées du monde
permet de dire -0,030029837 -0,008528218 -0,199289320 est l'accélération le long de X de téléphone, Y, axe Z et 0,01618620 0,48581530 0,19617330 sont les trois angles (en radians) étant l'azimut, de tangage et roulis. Pour obtenir l'accélération le long du "truenorth" je prends simplement l'accélération le long de l'axe Y et en le multipliant par cos de tous les trois angles ie. -0.008528218 * cos (0.19617330) * cos (0.48581530) * cos (0.01618620) = - 0,00739584
Pour obtenir l'accélération le long de la "trueeast" je prends simplement l'accélération le long de l'axe X et en le multipliant avec cos de tous les trois angles à savoir. -0.030029837 * cos (0.19617330) * cos (0.48581530) * cos (0.01618620) = - 0,026042471
Pour obtenir l'accélération le long de la je prends simplement "vertical vers le haut" l'accélération le long de l'axe Z et en le multipliant avec cos de les 2 angles ie. -0.199289320 * cos (0.19617330) * cos (0.48581530) = - 0.172850298
Maintenant, pour vérifier si je l'ai fait correct ou faux. J'ai fait un test de cohérence. L'amplitude de l'accélération le long de l'axe X, Y, Z du téléphone doit être égale à l'amplitude de l'accélération le long du trueeast, du truenorth et verticalement vers le haut. Mais cela n'arrive pas à égal.
0,20 est pas égal à 0,17
Où vais-je tort? Ce serait d'une grande aide si quelqu'un pouvait m'aider.
Merci beaucoup d'avance.