Constructive Solid Geometry CSG oder konstruktive Festkörpergeometrie ist eine Technik zum Modellieren von Körpern die u
Konstruktive Festkörpergeometrie

Constructive Solid Geometry (CSG) oder konstruktive Festkörpergeometrie ist eine Technik zum Modellieren von Körpern, die u. a. in der 3D-Computergrafik und bei CAD-Programmen genutzt wird. Constructive Solid Geometry ermöglicht einem Designer einen komplex geformten Körper zu erzeugen, indem er boolesche Operatoren zur Kombination von Grundkörpern zu einem neuen Körper benutzt. Aus der CSG hervorgegangene Körper wirken oft sehr komplex, sind aber in Wirklichkeit nichts anderes als geschickt verknüpfte Objekte.
Basisobjekte
Die Basisobjekte, aus denen CSG-Körper hervorgehen, nennt man Primitive (vgl. Grafisches Primitiv). Typischerweise handelt es sich dabei um Körper, deren Oberfläche mittels einer relativ einfachen mathematischen Formel beschrieben werden kann, wie z. B. Würfel, Zylinder, Prismen, Pyramiden, Kugeln oder Ringe. Die Menge der möglichen Primitive wird gewöhnlich von der verwendeten Software begrenzt. Einige Software-Pakete erlauben CSG auf gekrümmten Objekten (prozedurale oder parametrische Oberflächen), während andere nur auf polygonalen Meshes (Dreiecksnetze) arbeiten. Der prozedurale oder parametrische Ansatz erlaubt eine mathematisch exakte Berechnung und Repräsentation der Körper, während Meshes immer nur eine mehr oder weniger ungenaue Annäherung an die Wirklichkeit sind.
Wie bereits erwähnt, wird ein komplexer Körper von Primitiven erzeugt, die durch Operationen verknüpft sind. Gewöhnlich handelt es sich dabei um boolesche Operationen auf Mengen: Vereinigung (Union, ), Differenz (Difference, ) und Schnitt (Intersection, ). Folgende Abbildung zeigt die Wirkung der Operatoren exemplarisch an der Verknüpfung von Würfel mit Kugel:
- Vereinigung: Zwei Objekte werden zu einem verschmolzen.
- Differenz: Teile des zweiten Objekts werden aus dem ersten herausgeschnitten. Subtraktion (Würfel – Kugel).
- Schnitt: Der Teil, den beide Objekte gemeinsam haben.
Anwendungen
CSG ist unter Designern sehr beliebt, da man mit einer Anzahl relativ einfacher Körper komplexe Geometrien formen kann. Der Designer kann (bei den meisten Programmen) die Geometrie auch im Nachhinein noch ändern, indem er die Position (bzw. Transformation) der einzelnen Objekte oder den booleschen Operator ändert, mit dem die Objekte verbunden sind. Der Designer kann also sein Modell interaktiv und intuitiv, durch Versuch-und-Irrtum, kreieren.
CSG wird aber auch von diversen Programmen „unter der Haube“ benutzt, d. h. ohne, dass der Benutzer etwas von der Existenz der CSG-Operationen mitbekommt. So benutzen z. B. die Game-Engines von Unreal und Quake das CSG-Verfahren. Simulationsprogramme, die die Abläufe an Werkzeugmaschinen simulieren, verwenden i. d. R. ebenfalls CSG.
CSG-Baum
Da mehrere hintereinander ausgeführte CSG-Operationen im Allgemeinen nicht kommutativ sind, lassen sie sich hierarchisch ordnen und in einen CSG-Baum überführen. Jedes Blatt entspricht dabei einem Primitiv, jeder Knoten einer CSG-Operation (bzw. dem Zwischenergebnis aus einer CSG-Operation, welches wieder transformiert werden kann). Die Wurzel des Baumes ist das Endergebnis.
Die regularisierten Mengen des n-dimensionalen euklidischen Raumes bilden mit den Verknüpfungen , , (Komplementärmenge) eine boolesche Algebra, für die auch das Kommutativgesetz gilt. Der -Operator ist nicht Teil dieser booleschen Algebra. Allerdings lassen sich der - und -Operator als Ersatz für den -Operator verwenden:
- .
Das Beispielobjekt lässt sich von daher auch ohne Klammerung berechnen ( = Würfel, = Kugel, = Zylinder):
- .
Siehe auch
- Boundary Representation
- Solid modeling
Literatur
- Christoph Martin Hoffmann: Geometric & Solid Modeling. Morgan Kaufmann Publishers, San Mateo, California 1989, ISBN 1-55860-067-1.
- Martii Mäntylä: An Introduction to Solid Modeling. Computer Science Press, Rockville, Maryland 1988, ISBN 0-88175-108-1.
Weblinks
- CSG-3MF Project - Open Source Bibliothek (), C++, COM basiert mit C# Skript Unterstützung.
- GNU Triangulated Surface library – Open Source (LGPL) Bibliothek mit CSG-Unterstützung für Dreiecke
- Computational Geometry Algorithms Library – Open Source (LGPL, GPL) Bibliothek, welche unter anderem CSG unterstützt.
- The CSG rendering library – Open-Source-Bibliothek () mit bildbasierenden CSG-Techniken via OpenGL.
- OpenSCAD – Ein einfaches CAD-Programm zur Erzeugung von 3D Objekten auf Basis von CSG.
- HyperFun Project – Eine einfache Skriptsprache um CSG-Operationen auf verschiedene Objekte anzuwenden.
- Overview of CSG in avoCADo – Open Source 3D-CAD-Software.
- SimpleGeo – Interaktiver CSG-Modeler für Monte-Carlo-Teilchentransport-Simulationen.
- FMEpedia CSGBuilder example – CSG mittels sogenannter FME (Feature Manipulation Engine).
Autor: www.NiNa.Az
Veröffentlichungsdatum:
wikipedia, wiki, deutsches, deutschland, buch, bücher, bibliothek artikel lesen, herunterladen kostenlos kostenloser herunterladen, MP3, Video, MP4, 3GP, JPG, JPEG, GIF, PNG, Bild, Musik, Lied, Film, Buch, Spiel, Spiele, Mobiltelefon, Mobil, Telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, komputer, Informationen zu Konstruktive Festkörpergeometrie, Was ist Konstruktive Festkörpergeometrie? Was bedeutet Konstruktive Festkörpergeometrie?
Constructive Solid Geometry CSG oder konstruktive Festkorpergeometrie ist eine Technik zum Modellieren von Korpern die u a in der 3D Computergrafik und bei CAD Programmen genutzt wird Constructive Solid Geometry ermoglicht einem Designer einen komplex geformten Korper zu erzeugen indem er boolesche Operatoren zur Kombination von Grundkorpern zu einem neuen Korper benutzt Aus der CSG hervorgegangene Korper wirken oft sehr komplex sind aber in Wirklichkeit nichts anderes als geschickt verknupfte Objekte Mit CSG erstelltes Venn Diagramm Der POV Ray Quellcode ist auf der Beschreibungsseite BasisobjekteDie Basisobjekte aus denen CSG Korper hervorgehen nennt man Primitive vgl Grafisches Primitiv Typischerweise handelt es sich dabei um Korper deren Oberflache mittels einer relativ einfachen mathematischen Formel beschrieben werden kann wie z B Wurfel Zylinder Prismen Pyramiden Kugeln oder Ringe Die Menge der moglichen Primitive wird gewohnlich von der verwendeten Software begrenzt Einige Software Pakete erlauben CSG auf gekrummten Objekten prozedurale oder parametrische Oberflachen wahrend andere nur auf polygonalen Meshes Dreiecksnetze arbeiten Der prozedurale oder parametrische Ansatz erlaubt eine mathematisch exakte Berechnung und Reprasentation der Korper wahrend Meshes immer nur eine mehr oder weniger ungenaue Annaherung an die Wirklichkeit sind Wie bereits erwahnt wird ein komplexer Korper von Primitiven erzeugt die durch Operationen verknupft sind Gewohnlich handelt es sich dabei um boolesche Operationen auf Mengen Vereinigung Union displaystyle cup Differenz Difference displaystyle und Schnitt Intersection displaystyle cap Folgende Abbildung zeigt die Wirkung der Operatoren exemplarisch an der Verknupfung von Wurfel mit Kugel Vereinigung Zwei Objekte werden zu einem verschmolzen Differenz Teile des zweiten Objekts werden aus dem ersten herausgeschnitten Subtraktion Wurfel Kugel Schnitt Der Teil den beide Objekte gemeinsam haben AnwendungenCSG ist unter Designern sehr beliebt da man mit einer Anzahl relativ einfacher Korper komplexe Geometrien formen kann Der Designer kann bei den meisten Programmen die Geometrie auch im Nachhinein noch andern indem er die Position bzw Transformation der einzelnen Objekte oder den booleschen Operator andert mit dem die Objekte verbunden sind Der Designer kann also sein Modell interaktiv und intuitiv durch Versuch und Irrtum kreieren CSG wird aber auch von diversen Programmen unter der Haube benutzt d h ohne dass der Benutzer etwas von der Existenz der CSG Operationen mitbekommt So benutzen z B die Game Engines von Unreal und Quake das CSG Verfahren Simulationsprogramme die die Ablaufe an Werkzeugmaschinen simulieren verwenden i d R ebenfalls CSG CSG BaumBeispiel eines CSG Baumes An den Knoten sind zur Verdeutlichung die jeweiligen Operationen eingezeichnet Da mehrere hintereinander ausgefuhrte CSG Operationen im Allgemeinen nicht kommutativ sind lassen sie sich hierarchisch ordnen und in einen CSG Baum uberfuhren Jedes Blatt entspricht dabei einem Primitiv jeder Knoten einer CSG Operation bzw dem Zwischenergebnis aus einer CSG Operation welches wieder transformiert werden kann Die Wurzel des Baumes ist das Endergebnis Die regularisierten Mengen des n dimensionalen euklidischen Raumes bilden mit den Verknupfungen displaystyle cup displaystyle cap c displaystyle c Komplementarmenge eine boolesche Algebra fur die auch das Kommutativgesetz gilt Der displaystyle setminus Operator ist nicht Teil dieser booleschen Algebra Allerdings lassen sich der c displaystyle c und displaystyle cap Operator als Ersatz fur den displaystyle setminus Operator verwenden A B A cB displaystyle A setminus B A cap cB Das Beispielobjekt lasst sich von daher auch ohne Klammerung berechnen W displaystyle W Wurfel K displaystyle K Kugel Z1 Z2 Z3 displaystyle Z 1 Z 2 Z 3 Zylinder Resultat W K Z1 Z2 Z3 W K cZ1 cZ2 cZ3 displaystyle mathrm Resultat W cap K setminus Z 1 cup Z 2 cup Z 3 W cap K cap cZ 1 cap cZ 2 cap cZ 3 Siehe auchBoundary Representation Solid modelingLiteraturChristoph Martin Hoffmann Geometric amp Solid Modeling Morgan Kaufmann Publishers San Mateo California 1989 ISBN 1 55860 067 1 Martii Mantyla An Introduction to Solid Modeling Computer Science Press Rockville Maryland 1988 ISBN 0 88175 108 1 WeblinksCSG 3MF Project Open Source Bibliothek C COM basiert mit C Skript Unterstutzung GNU Triangulated Surface library Open Source LGPL Bibliothek mit CSG Unterstutzung fur Dreiecke Computational Geometry Algorithms Library Open Source LGPL GPL Bibliothek welche unter anderem CSG unterstutzt The CSG rendering library Open Source Bibliothek mit bildbasierenden CSG Techniken via OpenGL OpenSCAD Ein einfaches CAD Programm zur Erzeugung von 3D Objekten auf Basis von CSG HyperFun Project Eine einfache Skriptsprache um CSG Operationen auf verschiedene Objekte anzuwenden Overview of CSG in avoCADo Open Source 3D CAD Software SimpleGeo Interaktiver CSG Modeler fur Monte Carlo Teilchentransport Simulationen FMEpedia CSGBuilder example CSG mittels sogenannter FME Feature Manipulation Engine