# importation des modules from matplotlib import * import matplotlib.pyplot as plt import numpy as np # définition de la fonction dessin def dessin(): # calcul de ymin ymax pour tracer la droite ymin=m*(-10)+p ymax=m*10+p # dessin des deux points plt.scatter(x1,y1,c='blue',s=50,marker='o',edgecolors = 'none') # ancienne écriture : plt.scatter(x1+x2,y1+y2,c='blue',s=200,marker='o',edgecolors = 'none') # définition des axes plt.xlim(-10,10) plt.ylim(-10,10) # tracé des axes du repère plt.plot([-10, 10], [0, 0], 'k-', lw=3) # trait plein noir épaisseur 3 axe des abscisse plt.plot([0, 0], [-10, 10], 'k-', lw=3) # trait plein noir épaisseur 3 axe des ordonnées # tracé du quadrillage plt.xticks([-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10]) plt.yticks([-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10]) plt.grid() # étiquettes des axes et titre du graphique plt.xlabel('axe des x') plt.ylabel('axe des y') plt.suptitle('Droite d(A,u)', fontsize = 18) # tracé de la droite if x2>=0: plt.plot([-10, x1], [ymin, y1], 'r-', lw=2) # trait plein rouge épaisseur 2 plt.plot([x1+x2, 10], [y1+y2, ymax], 'r-', lw=2) # trait plein rouge épaisseur 2 else: plt.plot([-10, x1+x2], [ymin, y1+y2], 'r-', lw=2) # trait plein rouge épaisseur 2 plt.plot([x1, 10], [y1, ymax], 'r-', lw=2) # trait plein rouge épaisseur 2 #tracé vecteur : ax = plt.subplot() q = ax.quiver(x1, y1, x2, y2,units='xy',scale=1,color='blue') ax.set_aspect('equal') plt.show() # Entrée des coordonnées des points print("Entrer les coordonnées du point :") x1=float(input("abscisse du point x :")) y1=float(input("ordonnée du point y :")) print("Point : A(",x1," ; ",y1,")") print("") print("Entrer les coordonnées du vecteur directeur u :") x2=float(input("abscisse du vecteur u :")) y2=float(input("ordonnée du vecteur u :")) print("Vecteur directeur : u(",x2," ; ",y2,")") print("") if x2==0 and y2==0: print("droite inexistante car vecteur nul") else: if x2==0: print("droite verticale d'équation : x=",x1) else: m=y2/x2 p=y1-m*x1 print("La droite passant par le point A(",x1," ; ",y1,") et de vecteur directeur u(",x2," ; ",y2,") a pour") print("équation réduite :") if p>=0: print("y = ", m,"x + ",p) else: print("y = ", m,"x - ",abs(p)) a=y2 b=-x2 c=x2*y1-y2*x1 if b<0 and c<0: print("") print("et pour") print("équation cartésienne :") print(a,"x -",abs(b),"y -",abs(c)," = 0") elif b<0 and c>=0: print("") print("et pour") print("équation cartésienne :") print(a,"x -",abs(b),"y +",c," = 0") elif b>=0 and c<0: print("") print("et pour") print("équation cartésienne :") print(a,"x +",b,"y -",abs(c)," = 0") else: print("") print("et pour") print("équation cartésienne :") print(a,"x +",b,"y +",c," = 0") dessin()