Exemplo n.º 1
0
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()}")
Exemplo n.º 2
0
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())
Exemplo n.º 3
0
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()
Exemplo n.º 4
0
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())} "
    )
Exemplo n.º 5
0
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))

Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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")
Exemplo n.º 8
0
import punto

A = punto.Punto(2, 3)
A.print()

B = punto.Punto(1, 2)
B.print()

C = A + B
C.print()