class main(): print("CLASE CENTROIDE") lados = 0 while(lados < 3): print("Introduzca el número de lados (ha de ser mayor o igual a 3):",end=" ") lados = int(input()) puntos = list() for i in range(lados): print(f"Introduzca la abscisa(x) del punto {i+1}") x = int(input()) print(f"Introduzca la ordenada(y) del punto {i+1}") y = int(input()) punt = punto.Punto(x = x, y = y) puntos.append(punt) poligono = poligono.Poligono(puntos = puntos) print(f"El poligono es: {poligono.to_string()}") centroide = Centroide(poligono = poligono) area = centroide.area() xcent = centroide.cent(area = area, xy = "x") ycent = centroide.cent(area = area, xy = "y") punto_centroide = punto.Punto(x = xcent, y = ycent) print(f"El centroide del poligono introducido es: {punto_centroide.to_string()}")
def main(args): pa = punto.Punto(2, 3, 1, 0) pb = punto.Punto(8, -5, 0, 3) s = Segmento(pa, pb) print(s.darDistancia2D()) print(s.darDistancia()) print(s.darTiempo())
class main(): print("CLASE POLIGONO") A = punto.Punto(x = 0, y = 0) B = punto.Punto(x = 0, y = 1) C = punto.Punto(x = 1, y = 0) D = punto.Punto(x = 1, y = 1) cuadrado = Poligono(puntos = [A,B,C,C]) print("Los puntos del poligono \"cuadrado\" son:", end = " ") print(cuadrado.to_string()) cuadrado.puntos.pop(0) print("Eliminaremos el primer punto:", end = " ") print(cuadrado.to_string()) cuadrado.puntos.pop(0) print("Probamos a eliminar otra vez el primer punto:", end = " ") print(cuadrado.to_string()) print()
class main(): print("CLASE VECTOR") punto1 = punto.Punto(x=0.15, y=0.25) punto2 = punto.Punto(x=0.0, y=-1.0) v = Vector(p1=punto1, p2=punto2) print(f"Coordenada x = {v.cord_x()}") print(f"Coordenada y = {v.cord_y()}") print(f"Modulo = {v.modulo()}") print(f"Producto vectorial = {v.producto_vectorial()}") print(f"Ecuacion de la recta: {v.ecuacion_recta()}") m = 5 b = 4 print( f"Dados una pendiente {m} y una ordenada {b}, la ecuación de la recta es: {ecuacion_recta2(pendiente = m, ordenada = b)}" ) print( f"Dada una pendiente {m} y un punto {v.p1.to_string()}, la ecuación de la recta es: {ecuacion_recta3(pendiente = m, punto = v.p1)}" ) a = 1 b = 2 c = 0 print( f"Dados los coeficientes {a}, {b} y {c}, la ecuación de la recta es: {ecuacion_recta4(a = a, b = b , c = c)}" ) print( f"Dada la abscisa {v.p1.get_x()}, la ecuación de la recta (vertical) es: {ecuacion_recta5(x0 = v.p1.get_x())}" ) print( f"Dada la ordenada {v.p1.get_y()}, la ecuación de la recta (horizontal) es: {ecuacion_recta6(y0 = v.p1.get_y())}" ) print( f"La recta {v.ecuacion_recta()} en forma implícita sería: {representacion_implicita(linea = v.ecuacion_recta())}" ) print( f"La recta {ecuacion_recta2(pendiente = m, ordenada = b)} en forma implícita sería: {representacion_implicita(linea = ecuacion_recta2(pendiente = m, ordenada = b))}" ) print( f"La recta {ecuacion_recta3(pendiente = m, punto = v.p1)} en forma implícita sería: {representacion_implicita(linea = ecuacion_recta3(pendiente = m, punto = v.p1))}" ) p3 = punto.Punto(x=4, y=4) p4 = punto.Punto(x=5, y=5) v2 = Vector(p1=p3, p2=p4) print( f"Las rectas ({v2.ecuacion_recta()}) y ({v.ecuacion_recta()}) son: {interseccion(linea1 = v2.ecuacion_recta(), linea2 = v.ecuacion_recta())} " ) p5 = punto.Punto(x=2, y=2) p6 = punto.Punto(x=2.5, y=2.5) v3 = Vector(p1=p5, p2=p6) print( f"Las rectas ({v2.ecuacion_recta()}) y ({v3.ecuacion_recta()}) son: {interseccion(linea1 = v2.ecuacion_recta(), linea2 = v3.ecuacion_recta())} " )
import punto as p import contorno as c if __name__=="__main__": p1=p.Punto(10,20) p2=p.Punto(30,40) p3=p.Punto(50,60) p4=p.Punto(80,90) l=[] l.append(p1) l.append(p2) print(str(p3)) contorno = c.Contorno(l) print("Contorno Inicial: "+str(contorno)) contorno.addPoint(p3) print("Contorno punto extra: "+str(contorno)) print("Numero de puntos:"len(contorno))
import punto, segmento, camino, mapa import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D m = mapa.Mapa("general") c = camino.Camino("prueba") p0 = punto.Punto(10, 20, 0, 0) p1 = punto.Punto(40, 30, 5, 3) p2 = punto.Punto(70, 30, 7, 5) p3 = punto.Punto(90, 20, 8, 9) p4 = punto.Punto(110, 10, 6, 14) p5 = punto.Punto(150, 40, 10, 20) p6 = punto.Punto(190, 30, 13, 25) p7 = punto.Punto(230, 36, 9, 31) s1 = segmento.Segmento(p0, p1) s2 = segmento.Segmento(p1, p2) s3 = segmento.Segmento(p2, p3) s4 = segmento.Segmento(p3, p4) s5 = segmento.Segmento(p4, p5) s6 = segmento.Segmento(p5, p6) s7 = segmento.Segmento(p6, p7) c.agregarSegmento(s1) c.agregarSegmento(s2) c.agregarSegmento(s3) c.agregarSegmento(s4) c.agregarSegmento(s5) c.agregarSegmento(s6)
class main(): print("CLASE TRIANGULACION") #Debería ser convexo """v1 = punto.Punto(x=0, y = 0) v2 = punto.Punto(x= 1, y = 0) v3 = punto.Punto(x=0.5, y = 1) triangulo = poligono.Poligono(puntos = [v1,v2,v3]) triangulacion = Triangulacion(poligono = triangulo)""" #Debería ser convexo v1 = punto.Punto(x=-2.0, y=-4.0) v2 = punto.Punto(x=6.0, y=-2.0) v3 = punto.Punto(x=7.0, y=4.0) v4 = punto.Punto(x=-8.0, y=2.0) cuadrado = poligono.Poligono(puntos=[v1, v2, v3, v4]) triangulacion = Triangulacion(poligono=cuadrado) #Debería ser convexo """v1 = punto.Punto(x = 8.0, y = 2.0) v2 = punto.Punto(x = 6.0, y = 10.5) v3 = punto.Punto(x = -4.0, y = 6.5) v4 = punto.Punto(x = -10.0, y = -8.0) v5 = punto.Punto(x = 6.0, y = -4.5) pentagono = poligono.Poligono(puntos = [v1,v2,v3,v4,v5]) triangulacion = Triangulacion(poligono = pentagono)""" #Debería ser cóncavo """v1 = punto.Punto(x = 12, y = 3) v2 = punto.Punto(x = 10, y = 1) v3 = punto.Punto(x = 13, y = 1) v4 = punto.Punto(x = 14, y = 3) v5 = punto.Punto(x = 12, y = 5) v6 = punto.Punto(x = 10, y = 5) pol_concavo = poligono.Poligono(puntos = [v1,v2,v3,v4,v5,v6]) triangulacion = Triangulacion(poligono = pol_concavo)""" #Debería ser cóncavo """v1 = punto.Punto(x = 5, y = 0) v2 = punto.Punto(x = 3, y = 3) v3 = punto.Punto(x = 0, y = 4) v4 = punto.Punto(x = 3, y = 7) v5 = punto.Punto(x = 6, y = 3) v6 = punto.Punto(x = 10, y = 4) v7 = punto.Punto(x = 6, y = 7) v8 = punto.Punto(x = 5, y =10) pol_concavo = poligono.Poligono(puntos = [v1,v2,v3,v4,v5,v6]) triangulacion = Triangulacion(poligono = pol_concavo)""" print("Nuestro poligono está formado por los puntos: ", end=" ") print(triangulacion.poligono.to_string()) tipo_vector_triangulos = list() cont = 0 eliminados = 1 res = 0 while (len(triangulacion.poligono.puntos) > 3): triangulo = triangulacion.triangulo(punto=cont) ivd = area_triangulo_signo(a=triangulo.puntos[0], b=triangulo.puntos[1], c=triangulo.puntos[2]) if (ivd > 0): aux = 0 for i in range(len(triangulacion.poligono.puntos) - 1): triangulo_iv = triangulacion.triangulo_iv(triangulo=triangulo, p2=i) triangulo_vd = triangulacion.triangulo_vd(triangulo=triangulo, p2=i) triangulo_di = triangulacion.triangulo_di(triangulo=triangulo, p2=i) iv = area_triangulo_signo(a=triangulo_iv.puntos[0], b=triangulo_iv.puntos[1], c=triangulo_iv.puntos[2]) vd = area_triangulo_signo(a=triangulo_vd.puntos[0], b=triangulo_vd.puntos[1], c=triangulo_vd.puntos[2]) di = area_triangulo_signo(a=triangulo_di.puntos[0], b=triangulo_di.puntos[1], c=triangulo_di.puntos[2]) if (iv > 0 and vd > 0 and di > 0): aux = aux + 1 if (aux == 0): print("Triángulo válido") print("Eliminamos el vertice: v", end="") print(cont + eliminados) tipo_vector_triangulos.append(triangulo) triangulacion.poligono.puntos.pop(cont) eliminados = eliminados + 1 else: print( "Triángulo no válido (tiene un punto intermedio) con el vértice: v", end="") print(cont + eliminados) res = 1 break else: print( "Triángulo no válido (ángulo mayor a 180º) con el vértice: v", end="") print(cont + eliminados) res = 1 break if (res == 0): print("Nuestro array de triangulos es:", end=" ") tipo_vector_triangulos.append(triangulacion.poligono) string = "[" for i in range(len(tipo_vector_triangulos)): if (i != len(tipo_vector_triangulos) - 1): string = string + tipo_vector_triangulos[i].to_string() + ", " else: string = string + tipo_vector_triangulos[i].to_string() string = string + "]" print(string) print("El polígono es convexo") else: print("El polígono es cóncavo")
import punto A = punto.Punto(2, 3) A.print() B = punto.Punto(1, 2) B.print() C = A + B C.print()