Ce script regroupe de nombreuses fonctions concernant les vecteurs ( produit scalaire, norme, colinéarité, équation de droite avec un vecteur normal…)
from math import * def vecteur(xa,ya,xb,yb): X=xb-xa Y=yb-ya print("X=",X,"Y=",Y) return X,Y def colineaire(xa,ya,xb,yb,xc,yc,xd,yd,vecteuroupoint): if (vecteuroupoint==pi): return xa*yb-xb*ya==0 else: print("coordonees vecteur 1") X,Y = vecteur(xa,ya,xb,yb) print("coordonees vecteur 2") XX,YY = vecteur(xc,yc,xd,yd) return X*YY-XX*Y==0 def produitscalaire(XA,YA,XB,YB,XC,YC,vecteuroupoint): if (vecteuroupoint==pi):#pi_sert_juste_de_marqueur #rappel_des_coordonnees_pour_les_verifier print("X=",XA,"Y=",YA,"X'=",XB,"Y'=",YB) produitscalaire=XA*XB+YA*YB print(produitscalaire) else: print("XA=",XA,"YA=",YA,"XB=",XB,"YB=",YB,"XC=",XC,"YC=",YC) #calcul_des_coordonnees_des_vecteurs print("coordonees vecteur 1") X,Y = vecteur(XA,YA,XB,YB) print("coordonees vecteur 2") XX,YY= vecteur(XA,YA,XC,YC) produitscalaire=X*XX+Y*YY print("produitscalaire=",produitscalaire) def norme(xa,ya,xb,yb,vecteuroupoint): if (vecteuroupoint==pi): print("X=",xa,"Y=",ya) J=xa**2+ya**2 print("sqrt(",J,")")#donne_la_valeur_exacte_de_la_racine_carree norme=sqrt(J) print (norme) else: X,Y = vecteur(xa,ya,xb,yb) J=X**2+Y**2 print("sqrt(",J,")") norme=sqrt(J) print(norme) def angle(AB,AC,angle): print ("AB=",AB,"AC=",AC,"angle=",angle) produitscalaire=AB*AC*cos(angle) print (produitscalaire) def figure(u,v,w,tp):#tp indique s'il s'agit d'un triangle ou d'un parallelogramme if (tp==pi): print("1/2(u**2 + v**2 - (u-v)**2","il_s'agit_d'un_triangle")#rappel de la formule print ("1/2(",u**2,"+",v**2,"-",w**2,")") produitscalaire=1/2*(u**2+v**2-w**2) print (produitscalaire) else: print("1/2((u+v)**2 - u**2 -v**2)","il_s'agit_d'un_parallelogramme") print ("1/2(",w**2,"-",u**2,"-",u**2,")") produitscalaire=1/2*(w**2-u**2-v**2) print (produitscalaire) def eqcartdroite(xa,ya,xb,yb,xc,yc,vecteuroupoint): if vecteuroupoint==pi: print("vecteurnormal(",xa,";",ya,")") print("point(",xb,";",yb,")") v=xa*xb+ya*yb c=-v print(xa,"x+",ya,"y+",c) else: X,Y = vecteur(xa,ya,xb,yb) print("vecteurnormal(",X,";",Y,")") print("point(",xc,";",yc,")") v=X*xc+Y*yc c=-v print(X,"x+",Y,"y+",c)