Le vecteur cartésien 2D

Contexte

En géométrie euclidienne, un vecteur est représenté par un segment orienté (une flèche), ayant pour extrémités un point de départ et un point d’arrivée.

Environnement de travail

Pour cet exercice, vous devez utiliser en priorité le fichier squelette ex12-vector2d.py. IMPORTANT : Enregistrez le avec Right Click + Save Link As... pour conserver l’encodage.

Selon la convention de structuration des modules, ce fichier sera structuré en quatre parties :

  1. Imports et définition des variables globales ;
  2. Définition des fonctions secondaires ;
  3. Définition de la fonction principale ;
  4. Appel protégé de la fonction principale.

Objectifs

L’objectif est d’écrire une classe Vector2D :

Vérifier le bon fonctionnement de la classe en manipulant quelques instances depuis main() (les doctests de la fonction donnent des exemples).

Informations complémentaires

Le constructeur prendra en argument des instances de Point2D.

Redéfinir les méthodes dunder suivantes :

Doctests

Une fois la classe opérationnelle, ET SEULEMENT DANS CE CAS, lancer les doctests dans un terminal.