Aller au contenu


Photo
- - - - -

Matrice changement de repère ou matrice de translation


  • Veuillez vous connecter pour répondre
105 réponses à ce sujet

#81 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 31 mai 2017 - 08:14

AAhhhhhh open class room, je fais de même pour le python :)

Ils ont de super bon cours mine de rien.


signature_01.png -->

 

Mon Tipeee
 


#82 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 31 mai 2017 - 09:47

:yahoo: :yahoo: :yahoo: :yahoo: :yahoo: :yahoo:

 

J'AI TROUVEEEEEEEEEEEEEEEeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee il faut dans le fichier main.cpp déclarer la variable Mpi_A en externe comme ceci :

 

/////////////dans le fichier main.cpp////////////////////////////////////////////
extern Matrix4d Mpi_A;

 

:dance2: :dance2: :dance2:



#83 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 02 juin 2017 - 09:51

Question 1 : où est ton main dans le fichier main.cpp ?
Question 2 : quelle est ta commande pour compiler (ou ton fichier Makefile) ?
Question 3 (lié à la question 1) : pourquoi déclarer ta variable globalement dans ton fichier matrices.cpp et pas dans main.cpp directement (vu que tu inclus le reste, ça ne devrait pas poser de problème) ?

(oui oui, j'arrive après la bataille pour poser des questions bêtes :D )
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#84 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 03 juin 2017 - 03:51

Question 1 : où est ton main dans le fichier main.cpp :: Ce sont des extraits de mon code par conséquent il est vrai que nous ne voyons pas la fonction principale main.
 
Le fichier main.cpp ressemble à ça, en résumé bien sûr  ::

///////////////////////////////////////////////////////////////////////////////////
//LES LIBRAIRIES
#include <iostream>
using namespace std;
#include "ModaCPP.h"
using namespace ModaCPP;
//#include <Eigen/Core>

#include <Eigen>
using namespace Eigen;


#include <math.h>

#include "matrices.h"

///////////////////////////////////////////////////////////////////////////////////
//Déclaration des Variables
int iteration =0;//Permet de déterminer l'itération dans une boucle

double Angle; //Permet de transmettre un angle à une articulation

///////////////////////////////////////////////////////////////////////////////////
//Déclaration du tableau contenant les paramètres de DH, 23 repères
double DH[20][4] = {35.1,0,PI2,-PI2,72.35,0,-PI2,0, 0,0,PI2,PI2,99.95,0,0,-PI2, 92,0,0,0,-36.35,0,PI2,PI, 0,0,0,0, 0,0,0,0, 0,0,0,0,0,0,0,0,-35.1,0,PI2,-PI2,-72.35,0,-PI2,0,0,0,PI2,PI2,99.95,0,0,-PI2,92,0,0,0,-36.35,0,PI2,PI,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0};

///////////////////////////////////////////////////////////////////////////////////
//Déclaration du tableau angle et coordonnées de chaque articulation [angle,X,Y,Z]
double AngleCoord[20][4];

///////////////////////////////////////////////////////////////////////////////////
//déclaration des variables matrices :: Mt, Mres, Mp_A, Mp_B, Mpi_A, Mpi_B, Mrot.
//Une MATRICE de TRANSLATION
extern Matrix4d Mt;
//Une MATRICES RESULTAT
extern Matrix4d Mres;
//Deux MATRICES de PASSAGE
extern Matrix4d Mp_A;
extern Matrix4d Mp_B;
//Deux MATRICES de PASSAGE INVERSE
extern Matrix4d Mpi_A;
extern Matrix4d Mpi_B;
//Une Matrice de rotation
extern Matrix4d Mrot;


///////////////////////////////////////////////////////////////////////////////////
//fonction calculs matricielles

void CalculMatricielle (double Angle)
{  
               IniMatriceMpi_A(DH[f][0], DH[f][1], DH[f][2], DH[f][3],0); //Passage de r,d,alpha,teta et angle de rotation de l'articulation
                            std::cout << "Valeur de la Matrice Mpi_A  :: " << std::endl;
                            std::cout << Mpi_A << std::endl;
                            std::cout << "*********************" << std::endl;
}//FIN :: void CalculMatricielle (double Angle)


///////////////////////////////////////////////////////////////////////////////////
//////////////////////PARTIE PRINCIPAL ////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
int main(int argc, CHAR* argv[])
{
          Angle = 20;//pour test
          CalculMatricielle (Angle);
}

Question 2 : quelle est ta commande pour compiler (ou ton fichier Makefile) :: J'utilise visual studio 2010 express, par conséquent pour compiler le programme j'utilise le menu :: Générer/Générer "nomduprojet".

 

Question 3 (lié à la question 1) : pourquoi déclarer ta variable globalement dans ton fichier matrices.cpp et pas dans main.cpp directement (vu que tu inclus le reste, ça ne devrait pas poser de problème) :: Si je ne déclare pas les variables des matrices dans le fichier matrices.cpp j'ai alors des messages d'erreurs puisque dans ce même fichier je déclare également les fonctions qui calculent les matrices de translation, de rotation, de passage et de passage inverse.

 

Le fichier matrices.cpp contient donc ::

#include "matrices.h"

#include <Eigen>
using namespace Eigen;

///////////////////////////////////////////////////////////////////////////////////
//Déclaration des valeurs PI et PI/2
# define PI (3.14159265358979323846)
# define PI2 (1.57079632679489661923)

///////////////////////////////////////////////////////////////////////////////////
//déclaration des variables matrices en extern
//Une MATRICE de TRANSLATION
Matrix4d Mt(4,4);
//Une MATRICES RESULTAT
Matrix4d Mres(4,4);
//Deux MATRICES de PASSAGE
Matrix4d Mp_A(4,4);
Matrix4d Mp_B(4,4);
//Deux MATRICES de PASSAGE INVERSE
Matrix4d Mpi_A(4,4);
Matrix4d Mpi_B(4,4);
//Une Matrice de rotation
Matrix4d Mrot(4,4);


///////////////////////////////////////////////////////////////////////////////////
//fonction initialisation de la matrice de translation
void IniMatriceMt(double x, double y, double z)
    {    
        Mt(0,0) = 1;Mt(0,1) = 0;Mt(0,2) = 0;Mt(0,3) = x;
        Mt(1,0) = 0;Mt(1,1) = 1;Mt(1,2) = 0;Mt(1,3) = y;
        Mt(2,0) = 0;Mt(2,1) = 0;Mt(2,2) = 1;Mt(2,3) = z;
        Mt(3,0) = 0;Mt(3,1) = 0;Mt(3,2) = 0;Mt(3,3) = 1;
    }

///////////////////////////////////////////////////////////////////////////////////
//fonction initialisation de la matrice de passage A
void IniMatriceMp_A(double r, double d, double alpha, double teta, double angle)
    {
        angle = angle*PI/180;//Conversion de l'angle en radi
        teta = teta + angle; //Permet d'intégrer l'angle de la rotation
        Mp_A(0,0) = cos(teta);Mp_A(0,1) = -cos(alpha)*sin(teta);Mp_A(0,2) = sin(alpha)*sin(teta);Mp_A(0,3) = r*cos(teta);
        Mp_A(1,0) = sin(teta);Mp_A(1,1) = cos(alpha)*cos(teta);Mp_A(1,2) = -sin(alpha)*cos(teta);Mp_A(1,3) = r*sin(teta);
        Mp_A(2,0) = 0;Mp_A(2,1) = sin(alpha);Mp_A(2,2) = cos(alpha);Mp_A(2,3) = d;
        Mp_A(3,0) = 0;Mp_A(3,1) = 0;Mp_A(3,2) = 0;Mp_A(3,3) = 1;
    }

///////////////////////////////////////////////////////////////////////////////////
//fonction initialisation de la matrice de passage B
void IniMatriceMp_B(double r, double d, double alpha, double teta, double angle)
    {
        angle = angle*PI/180;//Conversion de l'angle en radi
        teta = teta + angle; //Permet d'intégrer l'angle de la rotation
        Mp_B(0,0) = cos(teta);Mp_B(0,1) = -cos(alpha)*sin(teta);Mp_B(0,2) = sin(alpha)*sin(teta);Mp_B(0,3) = r*cos(teta);
        Mp_B(1,0) = sin(teta);Mp_B(1,1) = cos(alpha)*cos(teta);Mp_B(1,2) = -sin(alpha)*cos(teta);Mp_B(1,3) = r*sin(teta);
        Mp_B(2,0) = 0;Mp_B(2,1) = sin(alpha);Mp_B(2,2) = cos(alpha);Mp_B(2,3) = d;
        Mp_B(3,0) = 0;Mp_B(3,1) = 0;Mp_B(3,2) = 0;Mp_B(3,3) = 1;
    }

///////////////////////////////////////////////////////////////////////////////////
//fonction initialisation d'une matrice de passage Inverse A
void IniMatriceMpi_A(double r, double d, double alpha, double teta, double angle)
    {        
        angle = angle*PI/180;//Conversion de l'angle en radi
        teta = teta + angle; //Permet d'intégrer l'angle de la rotation
        Mpi_A(0,0) = cos(teta);Mpi_A(0,1) = sin(teta);Mpi_A(0,2) = 0;Mpi_A(0,3) = -r;
        Mpi_A(1,0) = -cos(alpha)*sin(teta);Mpi_A(1,1) = cos(alpha)*cos(teta);Mpi_A(1,2) = sin(alpha);Mpi_A(1,3) = -d*sin(alpha);
        Mpi_A(2,0) = sin(alpha)*sin(teta);Mpi_A(2,1) = -sin(alpha)*cos(teta);Mpi_A(2,2) = cos(alpha);Mpi_A(2,3) = -d*cos(alpha);
        Mpi_A(3,0) = 0;Mpi_A(3,1) = 0;Mpi_A(3,2) = 0;Mpi_A(3,3) = 1;
    }

///////////////////////////////////////////////////////////////////////////////////
//fonction initialisation d'une matrice de passage Inverse B
void IniMatriceMpi_B(double r, double d, double alpha, double teta, double angle)
    {
        angle = angle*PI/180;//Conversion de l'angle en radi
        teta = teta + angle; //Permet d'intégrer l'angle de la rotation
        Mpi_B(0,0) = cos(teta);Mpi_B(0,1) = sin(teta);Mpi_B(0,2) = 0;Mpi_B(0,3) = -r;
        Mpi_B(1,0) = -cos(alpha)*sin(teta);Mpi_B(1,1) = cos(alpha)*cos(teta);Mpi_B(1,2) = sin(alpha);Mpi_B(1,3) = -d*sin(alpha);
        Mpi_B(2,0) = sin(alpha)*sin(teta);Mpi_B(2,1) = -sin(alpha)*cos(teta);Mpi_B(2,2) = cos(alpha);Mpi_B(2,3) = -d*cos(alpha);
        Mpi_B(3,0) = 0;Mpi_B(3,1) = 0;Mpi_B(3,2) = 0;Mpi_B(3,3) = 1;
    }
///////////////////////////////////////////////////////////////////////////////////
//fonction initialisation de la matrice de rotation

void IniMatriceMrot(double angle)
    {
        angle = angle*PI/180;//Conversion de l'angle en radian

        Mrot(0,0) = cos(angle);Mrot(0,1) = -sin(angle);
        Mrot(1,0) = sin(angle);Mrot(1,1) = cos(angle);
        Mrot(2,2) = 1;
        Mrot(3,3) = 1;
    }

Alors bien sûr il faut prendre tout cela avec précaution, je suis un débutant en C++.....En fait je suis débutant sur tous les thèmes que ce projet met en œuvre !!

 



#85 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 03 juin 2017 - 08:09

Un peu de motivation, histoire de faire une pause ^^

 

Cinematique inverse

 


signature_01.png -->

 

Mon Tipeee
 


#86 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 06 juin 2017 - 09:32

Bon alors encore une petite question :

 

Y aurait t'il un pro en math pour répondre à mon interrogation sur la formule pour calculer q6 dans l'exemple ci-dessous ::

 

Fichier joint  alkashi.JPG   162,79 Ko   1 téléchargement(s)

 

Ma première interrogation porte sur :: sign (rz) ......Est ce le signe de Rz que nous devons prendre !!?? Mais Rz est toujours positif???

 

Je ne pense pas qu'il s'agisse de réaliser le sin(Rz) c'est incohérent que de faire le sinus d'une longueur....

 

Alors cela vous inspire quoi???



#87 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 06 juin 2017 - 09:45

Ce que je peux dire pour sign, c'est que tu récupères tous simplement le signe de la valeur de rz, cad si tu as -90, dans ton calcul matriciel (dans mon cas) je tombe à chaque fois sur le mauvais signe (je n'ai plus le - alors que le calcul est bon), avec sign ça me permet de le récupérer justement, la valeur en elle même n'entre pas en compte pour le calcul.

Cela me sert pour le calcul sur l'axe y de mon épaule, en récupérant le signe vu que j'ai un grand débattement d'avant en arrière.

 

Lorsque je faisais le calcul pour bouger le servo à -90 degrés ça me donnait toujours 90 au final, donc sur mon cercle trigo, ben c'est pas bon, alors que sur la calcul final je récupère le sign et tous va bien.

 

 

Ce que j'ai sur le calcul final me donne : EX : elif self.epgy <=-90 :  result = np.sign(self.repgy)*rquotientyx

 

en gros 

- = 1

+ = 0

 

-1*90= -90

 

https://docs.scipy.o...numpy.sign.html (dans mon cas, il doit bien exister la même chose pour arduino)

 

j'espère t'aider.


signature_01.png -->

 

Mon Tipeee
 


#88 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 06 juin 2017 - 10:21

Merci pour ton aide.

 

Admettons que sign (Rz) donne le signe, dans mon cas rz est toujours positif.

 

Ce que je ne comprends pas c'est pourquoi j'ai q6 = -76,68.......je pensais obtenir 20° + 32° soit q6 = 52° ?????

 

Fichier joint  alkashi2.jpg   163,46 Ko   1 téléchargement(s)

 

 

 



#89 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 06 juin 2017 - 10:33

Dans ton calcul ça indique bien qu'il faut la (racine carré de ry² + rz²) - alpha 

et non (racine carré de ry² +rx²) - alpha

 

Bon je ne veux pas t'embrouiller mais c'est ce que je lis sur ton fichier. (je n'ai surement pas compris).


signature_01.png -->

 

Mon Tipeee
 


#90 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 959 messages
  • Gender:Male
  • Location:Anglet

Posté 06 juin 2017 - 11:18

 

 

Admettons que sign (Rz) donne le signe, dans mon cas rz est toujours positif.

 

 

 

 

 

 

oui sign(Rz) donne le signe de Rz.   ( Il faut compter les distance négativement par rapport au sens positif qu'on se fixe au départ dans le repère de la même façon qu'on compte les angles négativement par rapport au sens positif qu'on se fixe au départ. ( sens trigonométrique)  ) 

 

Ensuite il y a un truc qui me chagrine un peu dans tes message ... 

Un coup je vois Rx =0 un coup je vois Rz =0  un coup je vois Ry = 0 ... 

Je te recommande d'utiliser géogébra en 3D en ligne , en plus de pouvoir faire tes dessins et les vérifier tu pourras les bouger et le partager sur cette page du forum de la même façon que ça : 



 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#91 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 07 juin 2017 - 05:34

Un coup je vois Rx =0 un coup je vois Rz =0  un coup je vois Ry = 0  ??????

 

Rz est tjrs = 0

 

Rx est tjrs = 58

 

Ry est tjrs = 0

 

Rz est tjrs = 160

 

Géogébra oui , j'ai des boutons rien que d'y pense...bon il faut dire que j'ai très certainement mal pris les choses avec cette interface.....



#92 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 959 messages
  • Gender:Male
  • Location:Anglet

Posté 07 juin 2017 - 06:19

Fichier joint  rx ry rz 0.JPG   13,75 Ko   0 téléchargement(s)

 

voilà la partie de l'image qui m'a fait me creuser la tête et qui explique la phrase de mon précédent message...

Je vais me pencher à nouveau sur le problème... Quand je l'aurais compris je pourrais peut être apporter une réponse =) . 
Souvent le problème c'est pas de trouver la solution mais de comprendre le problème ! =) 

 

Bon courage et bonne continuation en tout cas ! 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#93 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 07 juin 2017 - 07:19

Ah oui Punaise je t'ai raconté n'importe quoi !!! désolé !!

 

P1(58,0,160)

P7(0,0,0)

 

A= 100

B=100

 

 

Rx  = 58

 

Ry est tjrs = 0

 

Rz est tjrs = 160

 

Donc voici quelques images pour éclaircir ce tralala ....

 

Fichier joint  alkashi3.JPG   90,76 Ko   0 téléchargement(s)

 

Fichier joint  DSC_0329.JPG   57,91 Ko   0 téléchargement(s)

 

......

 

++

 

 

 



#94 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 959 messages
  • Gender:Male
  • Location:Anglet

Posté 07 juin 2017 - 11:18

Pour ma part : - arctan2(58, 160  ) = - 19,789    °

d'où  - arctan2(58,160) - 32  peut être approximé à - 52 °  degré qui est le résultat que tu cherches à retrouver il me semble ... 

Donc je ne comprends pas le problème ...


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#95 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 08 juin 2017 - 05:54

Bon, on va quand même pas se mettre la rate au cours bouillon pour un atan2 quand même....

 

Fichier joint  atan2.JPG   17,76 Ko   4 téléchargement(s)

 

Dans mon exemple, au final je pense que le plus intéressant serait d'utiliser atan2(Rz,Rx) + alpha, ce qui donne directement la variation de l'angle de la cheville soit 51,611° ::

 

Fichier joint  calculs - atan2.JPG   53,35 Ko   4 téléchargement(s)

 

 



#96 Melmet

Melmet

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 519 messages
  • Gender:Male
  • Location:Saint-Sozy (46200)

Posté 08 juin 2017 - 06:01

comme ca dès le matin  :kez_11:  :dash2:  :tatice_03:


Ne demande jamais à un robot de faire ce que tu peux faire toi même. :nono: :laugh1:


#97 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 959 messages
  • Gender:Male
  • Location:Anglet

Posté 08 juin 2017 - 06:08

Attention sur wikipedia, il utilisent la notation atan2(y,x)  sur excel si tu utilise la fonction ATAN2(x,y) ... 
 

Est ce que l'erreur n'est pas là ? Un simple problème de notation ? 

 

Par ce que moi quand je fais le calcul de manière purement mathématique avec  arctan( coté opposé/ coté adjacent) je ne vois aucun problème ... 

 

Par contre après pour le signe ... là c'est une autre histoire... 

Il est important de bien définir ces (et ses) conventions ... Sinon tu risque d'avoir ta cheville qui se penche dans le mauvais sens et au lieu d'équilibrer le robot le robot va se casser la figure ...


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#98 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 08 juin 2017 - 07:49

Et bien sûr que tu peux utiliser atan2 (x,Y) ou atan2(y,x) tu n'auras forcément pas le même résultat. voir différence dans mon message #95 entre b et c....

 

b : atan2(x,z) donne l'angle par rapport au plan xy

 

c : atan2(z,x) donne l'angle par rapport au plan yz

 

b+c = 90°

 

Encore une notion que j'avais totalement rayé de ma mémoire....ça doit être l'age ou alors parce que l'ont apprenait comme des mulets uniquement pour les partiels.....Non !!! Je crois que c'est le manque de pratique..........



#99 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 959 messages
  • Gender:Male
  • Location:Anglet

Posté 08 juin 2017 - 07:58

 Oui si tu fais sur excel : b=ATAN2(x,y) et c= ATAN2(y,x) tu obtiens bien 2 résultats différent et b+c = 90 , 

 

 

Quand je parle de problème de notation je veux dire que : 

 

ATAN2(x,y) excel   est différent de atan2(x,y) wikipédia ! 

ATAN2(x,y) = atan2(y,x)  par définition ... 

 

 

Suis-je claire ? Tu vois ce que je veux dire ou pas ? 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#100 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 08 juin 2017 - 09:50

ATAN2(x,y) excel est différent de atan2(x,y) wikipédia !

Ah oui alors là si wikipedia et excel pour une même notation sont différent c'est chaud


 

ATAN2(x,y) = atan2(y,x) par définition ...


Ah bas non alors par définition ATAN2(x,y) atan2(y,x) puisqu'ils sont complémentaires ATAN2(x,y) + atan2(y,x) = 90°

 

Confiance nous allons arriver à nous comprendre.....ou devrais-je dire confiance je finirais par comprendre :crazy: :crazy:

 






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

0 members, 0 guests, 0 anonymous users