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))