Representació per fronteres

 

Geometria i topologia

Relacions topològiques del model BRep de Laboratori

Algorisme de creació d'un objecte BRep

Algorisme genèric d'escombrat (sweep)

Aproximació polièdrica d'una esfera

 

Algorisme de creació d'un objecte BRep

    codiconsbrep.gif (8187 bytes)

Algorisme genèric d'escombrat (sweep)

    Es tracta de generar un objecte BRep a partir de traslladar un polígon tancat al llarg d'una poligonal donada. La següent figura il·lustra millor les dades inicials:

inisweep.gif (1586 bytes)

    L'objecte final, sweepol.gif (191 bytes), es defineix com:

fsweep.gif (482 bytes)

polt.gif (133 bytes) es calcula com una interpolació lineal entre polintt.gif (187 bytes) i polintt+1.gif (213 bytes)

    és a dir, l'objecte final recull tots aquells punts que en el desplaçament del polígon per l'espai (al llarg de la poligonal), en algun instant t, pertanyen al seu interior.

    Algorisme:

algsweep.gif (5503 bytes)

    (*): aquest bucle guarda els vèrtexs d'aquesta "volta", ja que s'estan generant tots els que formaran part de l'objecte final i encara manca construir les cares:

vertsweep.gif (2242 bytes)

    (**): aquestes dos línees de codi estan afegint les dues "tapes" de l'objecte de forma que les normals quedin orientades cap a fora de l'objecte. En la figura, la cara d'adalt correspon al primer "Afegir cara" i la de sota al segon:

sweeptapes.gif (1431 bytes)

    (***): notar l'ordre en que es construeixen les cares laterals:

latsweep.gif (1049 bytes)

    Es pot comprovar que aquest objecte té n*m + 2 cares i que compleix la fòrmula d'Euler:

sweepeuler.gif (860 bytes)

    S'ha de destacar que els nous punts de l'objecte s'obtenen mitjançant una transformació geomètrica dels punts inicials. El tipus d'escombrat que volguem fer ens determinarà el tipus de transformació que apliquem als punts:

    Translació:

    Simplement una translació de l'objecte entre dos punts (una poligonal formada per una recta). En aquest cas m=1, la transformació geomètrica és una translació i  no hi ha possibilitat d'interseccions:

sweeptrans.gif (1506 bytes)

    Rotació:

    L'objecte que volem obtenir s'obtindrà rotant els punts del polígon inicial al voltant d'un eix:

sweeprot.gif (2149 bytes)

    En aquest cas la transformació geomètrica és una rotació donat un angle (angle sweepalfaj.gif (93 bytes)). En principi es donarà un angle inicial sweepangle.gif (72 bytes) i tindrem que sweepalfaangle.gif (147 bytes). Es pot augmentar la qualitat incrementat 'm'. Com és obvi, cal que sweepanglemax.gif (181 bytes) i per tant sorgeix un cas especial: quan l'objecte és tancat. En aquesta situació no s'han d'afegir les cares inicial i final. Altres punts a destacar són:

    Dirigit per poligonal:

    És una barreja dels dos anteriors:

    Encara queda un grau de llibertat del polígon dins del plà per minimitzar la dorsió del poliedre.