from quadrat import Quadrat
from punt2D import Punt2D

def subdivideix(qi):
    sq = set()
    m3 = qi.mida/3
    x0, y0 = qi.vèrtex.x, qi.vèrtex.y
    for i in range(3):
        for j in range(3):
            if not(i == 1 and j ==1):
                qnou = Quadrat(Punt2D(x0+i*m3, y0+j*m3), m3)
                sq.add(qnou)
    return sq

def catifa(qi, n):
    if n == 0:
        sq = {qi}
    else:
        sq9 = subdivideix(qi)
        sq = set()
        for quadrat in sq9:
            sq.update(catifa(quadrat, n-1))
    return sq
    
