import matplotlib.pyplot as plt import numpy as np import math x1=1 y1=2 x2=4 y2=10 plt.grid() plt.plot(x1,y1,'ob',label='(x1,y1)') plt.plot(x2,y2,'or',label='(x2,y2)') plt.legend() pl.show()
m = (y2-y1)/(x2-x1) xi = x1 xf = x2 Nx = 20 dx = (xf-xi)/Nx for i in range(Nx): x = xi + i*dx y = y1 + m*(x-x1) plt.plot(x,y,'.k') plt.grid() plt.plot(x1,y1,'ob',label='(x1,y1)') plt.plot(x2,y2,'or',label='(x2,y2)') plt.legend()
def recta(x1,y1,x2,y2): m = (y2-y1)/(x2-x1) xi = x1 xf = x2 Nx = 20 dx = (xf-xi)/Nx for i in range(Nx): x = xi + i*dx y = y1 + m*(x-x1) plt.plot(x,y,'.k') x1=1 y1=2 x2=4 y2=10 recta(x1,y1,x2,y2) plt.grid() plt.plot(x1,y1,'ob',label='(x1,y1)') plt.plot(x2,y2,'or',label='(x2,y2)') plt.legend()
from random import * x3=2 y3=random()*10 yr=y1+m*(x3-x1) plt.plot(x3,y3,'oy',label='punto aleatorio') plt.plot(x3,yr,'om',label='punto sobre la recta') # x1=1 y1=2 x2=4 y2=10 recta(x1,y1,x2,y2) plt.grid() plt.plot(x1,y1,'ob',label='(x1,y1)') plt.plot(x2,y2,'or',label='(x2,y2)') plt.legend()
def recta2(x1,y1,x2,y2,x3,y3): m = (y2-y1)/(x2-x1) xi = x1 xf = x2 Nx = 20 dx = (xf-xi)/Nx for i in range(Nx): x = xi + i*dx y = y1 + m*(x-x1) plt.plot(x,y,'.k') yr=y1+m*(x3-x1) plt.plot(x3,y3,'oy',label='punto aleatorio') plt.plot(x3,yr,'om',label='punto sobre la recta') plt.grid() plt.plot(x1,y1,'ob',label='(x1,y1)') plt.plot(x2,y2,'or',label='(x2,y2)') plt.legend() ####################### (x1,y1)=(1,2) (x2,y2)=(10,4) (x3,y3)=(3,random()*10) recta2(x1,y1,x2,y2,x3,y3)
for i in range(5): (x3,y3)=(3,random()*10) recta2(x1,y1,x2,y2,x3,y3)
def recta3(x1,y1,x2,y2,x3,y3): m = (y2-y1)/(x2-x1) xi = x1 xf = x2 Nx = 20 dx = (xf-xi)/Nx for i in range(Nx): x = xi + i*dx y = y1 + m*(x-x1) plt.plot(x,y,'.k') yr=y1+m*(x3-x1) arriba=0 if y3 > yr: arriba=1 if arriba == 1: plt.plot(x3,y3,'og',label='punto aleatorio') if arriba == 0: plt.plot(x3,y3,'oc',label='punto aleatorio') plt.plot(x3,yr,'om',label='punto sobre la recta') plt.grid() plt.plot(x1,y1,'ob',label='(x1,y1)') plt.plot(x2,y2,'or',label='(x2,y2)') return arriba # plt.legend() ################### for i in range(5): (x3,y3)=(3,-2+random()*10) recta3(x1,y1,x2,y2,x3,y3) print('arriba=',recta3(x1,y1,x2,y2,x3,y3))