Konstruktiv solid geometri

fra Wikipedia, den gratis encyklopædi
Spring til navigation Spring til søgning
Venn -diagram oprettet med CSG
POV-Ray- kildekoden er på beskrivelsessiden .

Konstruktiv solid geometri (CSG) eller konstruktiv solid geometri er en teknik til modellering af kroppe, der blandt andet er i 3D computergrafik og CAD bruges programmer. Konstruktiv solid geometri gør det muligt for en designer at oprette en kompleks formet krop ved hjælp af boolske operatører til at kombinere grundlegemer til en ny krop. Organer, der stammer fra CSG, ser ofte meget komplekse ud, men i virkeligheden er de ikke andet end klogt forbundne objekter.

Basisobjekter

De grundlæggende objekter, hvorfra CSG -organer kommer ud, kaldes primitiver (se grafisk primitiv ). Typisk er der tale om kroppe, hvis overflade kan beskrives ved hjælp af en relativt simpel matematisk formel, som f.eks B. terninger , cylindre , prismer , pyramider , kugler eller ringe . Sættet med mulige primitiver er normalt begrænset af den anvendte software. Nogle softwarepakker tillader CSG på buede objekter (proceduremæssige eller parametriske overflader), mens andre kun arbejder på polygonale masker (trekantede netværk). Den proceduremæssige eller parametriske tilgang tillader en matematisk nøjagtig beregning og repræsentation af organerne, mens masker altid kun er en mere eller mindre upræcis tilnærmelse af virkeligheden.

Som tidligere nævnt er et komplekst organ skabt af primitiver forbundet med operationer. Normalt er det boolske operationer på sæt: Union (Union, ), Forskel (forskel, ) og skæres (skæringspunkt, ). Den følgende figur viser effekten af ​​operatørerne ved at bruge eksemplet på at forbinde en terning med en kugle:

Ansøgninger

CSG er meget populær blandt designere på grund af dets evne til at danne komplekse geometrier med en række relativt enkle kroppe. Designeren kan (med de fleste programmer) ændre geometrien bagefter ved at ændre placeringen (eller transformationen) af de enkelte objekter eller den boolske operator, som objekterne er forbundet med. Så designeren kan skabe sin model interaktivt og intuitivt gennem forsøg og fejl.

CSG bruges dog også af forskellige programmer "under hætten", altså uden at brugeren er opmærksom på eksistensen af ​​CSG -operationerne. Så brug z. For eksempel bruger spilmotorerne fra Unreal og Quake CSG -processen. Simuleringsprogrammer , der simulerer processerne på værktøjsmaskiner, bruger normalt også CSG.

CSG træ

Eksempel på et CSG -træ. De respektive operationer er vist på noder for klarhedens skyld.

Da flere CSG -operationer, der udføres efter hinanden generelt ikke er kommutative, kan de hierarkisk ordnes og overføres til et CSG -træ. Hvert blad svarer til en primitiv, hver knude til en CSG -operation (eller mellemresultatet fra en CSG -operation, som kan transformeres igen). Træets rod er slutresultatet.

De regulariserede sæt af det n-dimensionelle euklidiske rum dannes med links , , (Komplementær sæt) en boolsk algebra, som den kommutative lov også gælder for. det Operatør er ikke en del af denne boolske algebra. Imidlertid er - og Operatør til at udskifte -Brug operatør:

.

Eksempelobjektet kan derfor også beregnes uden parenteser ( = Terning, = Kugle, = Cylinder):

.

Se også

litteratur

  • Christoph Martin Hoffmann: Geometrisk og solid modellering . Morgan Kaufmann Publishers, San Mateo, Californien 1989, ISBN 1-55860-067-1 .
  • Martii Mäntylä: En introduktion til solid modellering . Computer Science Press, Rockville, Maryland 1988, ISBN 0-88175-108-1 .

Weblinks