Comme nous l’avons vu, en mathématiques comme en Python, un point, comme un vecteur, peut être assimilé à une liste de deux nombres. Il est possible, si on connait deux points, de calculer le vecteur qui est défini par ces deux points. On peut tester l’égalité de deux vecteurs et ainsi tester si quatre points définissent un parallélogramme.

Des points aux vecteurs

Lorsqu’on connait deux points et leurs coordonnées A(x_A;y_A) et B(x_B;y_B), les coordonnées du vecteur \overrightarrow{AB} sont respectivement x_B-x_A et y_B-y_A. On calcule donc séparément les différences des abscisses et des ordonnées en prenant bien garde de calculer « le deuxième point moins le premier ».

En Python, la fonction suivante prend deux paramètres qui sont deux points A et B. Elle renvoie le vecteur \overrightarrow{AB} :

def calculerVecteur(A,B):
    abscisse = B[0]-A[0]   #xb-xa
    ordonnee = B[1]-A[1]   #yb-ya
    return [abscisse,ordonnee]

Égalité de deux vecteurs, parallélogrammes

La fonction suivante, prend en paramètres deux vecteurs et renvoie True si les vecteurs donnés en paramètres sont égaux et False sinon.

def testerEgaliteVecteurs(vec1,vec2):
    if vec1==vec2 :
        test = True
    else:
        test = False
    return test

Ces deux fonctions peuvent être combinées pour en créer une autre, avec la propriété suivante :

Soient A, B, C et D quatre points du plan.

ABCD est un parallélogramme si et seulement si \overrightarrow{AB} = \overrightarrow{DC}.

Il faut bien prendre garde à l’ordre des points, si le parallélogramme est ABCD, les noms des points dans les vecteurs ne sont pas A, B, C et D dans cet ordre !

La fonction suivante prend en paramètres quatre points A, B, C et D et renvoie True si le quadrilatère ABCD est un parallélogramme (éventuellement « aplati ») et False sinon.

def testerParallelogrammeParVecteurs(A,B,C,D):
    vec1 = calculerVecteur(A,B)
    vec2 = calculerVecteur(D,C)
    if tester_egalite_vecteurs(vec1,vec2):
        test = True
    else:
        test = False
    return test

On pourra comparer cette fonction avec la fonction testerParallelogrammeParMileu vue dans l’article Points du plan, milieux et Python.

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s