Algorisme de creació d'un objecte BRep
Algorisme genèric d'escombrat (sweep)
Aproximació polièdrica d'una esfera
Per crear un objecte en representació de
fronteres (BRep) cal simplement omplir les corresponents llistes
d'entitats geomètriques (cares, polígons, arestes i
vèrtexs) i assegurar-se que es cumpleixen les tres condicions
que es requereixen en els poliedres dos-varietat:
Nosaltres suposarem que tenim dues primitives bàsiques per
omplir la informació del BRep d'un objecte:
La representació interna de l'objecte pot ser molt diversa, i
en cada cas caldrà una implementació diferent d'aquestes
primitives. L'únic que cal garantir és que podrem
respondre a totes les interrogacions geomètriques i
topològiques bàsiques a que ha de respondre un model
BRep. Aqui teniu algunes d'aquestes possibles representacions:
En cada un d'aquests casos, podeu comprovar (i és recomanable
fer-ho com exercici) que podeu implementar algorismes específics
per a respondre a totes i cada una de les següents consultes i
operacions
En canvi, no és possible fer-ho si només guardem una
llista d'arestes i una llista de vèrtexs. Per què ??
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:

L'objecte final,
,
es defineix com:
![]()
es calcula com una
interpolació lineal entre
i ![]()
é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:
(*): 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:

(**): 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:

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

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

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:

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

En aquest cas la transformació
geomètrica és una rotació donat un angle (angle
). En principi es
donarà un angle inicial
i tindrem que
. Es
pot augmentar la qualitat incrementat 'm'. Com és obvi, cal que
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.