Rodripelto

Calcular area polígono a partir de sus vértices

Aug 22nd, 2020
162
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # [[9,4],[3,4],[2,1],[8,1],[9,4]]
  2. # [[-2,-4],[3,-2],[5,-1],[1,6],[-3,4],[-2,-4]]
  3. # [[-2, -4],[6, -2],[7, 4],[-8, 2],[-2,-4]]
  4. # Pagina de referencia para ejercicios
  5. # http://jfaustocmath.weebly.com/home/capitulo-i-sistema-de-coordenadas-area-de-un-poligono-en-funcion-de-sus-vertices?fbclid=IwAR3aA1c8bI-jlnOlrSlJAs5i0Aj-kOrqF7Oca4cnWoUcqrEAyoGHW3mowqo#:~:text=Un%20pol%C3%ADgono%20se%20define%20como,sus%20puntos%2C%20en%20el%20plano
  6. lista_vertices =[[-2, -4],[6, -2],[7, 4],[-8, 2],[-2,-4]]
  7.  
  8. # Funcion para calcular el área a partir de una lista de vertices
  9. def calculo_area_vertices(vertices):
  10.     area = 0
  11.     determinate = 0
  12.  
  13.     # Determinantes antihorario
  14.    
  15.     for i in range(0,len(vertices),1):
  16.         if i!=0 :
  17.             determinate = vertices[i][0]  * y# Para optener el determinente se multiplica la x actual por la y de arriba
  18.             determinate = determinate * -1 #  Como estamos en el antihorario cambiamos signo
  19.             print(vertices[i][0], " X " , y, " = ", determinate) # Para depuración
  20.             area = area + determinate # hay que sumar todos los determinantes
  21.         y = vertices[i][1]
  22.  
  23.     # Determinantes horario
  24.  
  25.     for i in range(len(vertices)-1,-1,-1):
  26.         if i!=len(vertices)-1 :
  27.             determinate = vertices[i][0]  * y # Para optener el determinente se multiplica la x actual por la y de arriba
  28.             print(vertices[i][0], " X " , y, " = ", determinate) # Para depuración
  29.             area = area + determinate # hay que sumar todos los determinantes
  30.         y = vertices[i][1]
  31.  
  32.     return  1/2 * area # El area es la mitad de la suma de todos los determinantes
  33.  
  34.  
  35.  
  36. print ("El área de la figura es: ",calculo_area_vertices(lista_vertices))
RAW Paste Data Copied