import punt2D
import poligon

# Solució  1
def calcul_perimetre_1(p):
    return perimetre_rec(p, 0)

def perimetre_rec(p, i):
    if i == len(p)-1:
        return p[i].dist(p[0])
    else:
        return p[i].dist(p[i+1]) + perimetre_rec(p, i+1)


# Solució alternativa    
def calcul_perimetre_2(p):
    return perimetre_r(p, 0)

def perimetre_r(pol, i):
    if i == len(pol):
        return 0
    else:
        v1, v2 = pol.obtenir_aresta(i)
        return perimetre_r(pol, i+1) + v1.dist(v2)
            

# Escolliu la solució que preferiu
calcul_perimetre = calcul_perimetre_1
