"""
""" #! /usr/bin/python3 # -*- coding: utf-8 -*- # classe simple (exemple pédagogique) : vecteur (x, y) # ( dans ce cas simple, il vaut mieux utiliser numpy.arrray((x,y)) ) import sys import math class vecteur : def __init__(self, x, y) : # initialisation d'un vecteur : u = vecteur(x,y) self.x = x self.y = y return def __str__(self) : # écriture d'un vecteur : print(u) ou str(u) chaine = "" chaine += "(" + str(self.x) + ";" + str(self.y) + ")" return chaine def longueur(self) : # formule de Pythagore v = math.sqrt(self.x**2 + self.y**2) return v def __add__(self, v) : # addition de 2 vecteurs : u + v x = self.x + v.x y = self.y + v.y return vecteur(x, y) def __mul__(self, v) : # multiplication scalaire de 2 vecteurs : u * v # (non standard) avec numpy : u.dot(v) p = self.x * v.x + self.y * v.y return p def perpendiculaire(u, v): # teste par Pythagore si 2 vecteurs sont perpendiculaires # remarque (x, y) et (-y, x) sont perpendiculaires w = u + v if abs(w.longueur()**2 - u.longueur()**2 - v.longueur()**2) < 1.e-14 : print("les vecteurs :", u, "et ", v, "sont perpendiculaires.") else : print("les vecteurs :", u, "et ", v, "ne sont pas perpendiculaires.") return # tests sur le triangle rectangle (3, 4, 5) : u = vecteur(3, 0) v = vecteur(0, 4) w = u + v print("Pythagore 1 : u²=", u*u, "v²=", v*v, "w²=", w*w, "(=u²+v²)") # d'hypotenuse 5 et de cotes de l'angle droit 3 et 4 print("### Vecteurs ###") u = vecteur(3, 4) v = vecteur(-4, 3) w = u + v print("somme de 2 vecteurs : w=", w) perpendiculaire(u, v) print("Pythagore 2 : u²=", u*u, "v²=", v*v, "w²=", w*w, "(=u²+v²)") """"""