<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Constructive_Solid_Geometry</id>
	<title>Constructive Solid Geometry - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Constructive_Solid_Geometry"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Constructive_Solid_Geometry&amp;action=history"/>
	<updated>2026-05-19T20:37:00Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Constructive_Solid_Geometry&amp;diff=396960&amp;oldid=prev</id>
		<title>imported&gt;Thomas Dresler: Komma vor „sondern“, „indem“, „wobei“ etc.</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Constructive_Solid_Geometry&amp;diff=396960&amp;oldid=prev"/>
		<updated>2023-03-11T12:14:02Z</updated>

		<summary type="html">&lt;p&gt;Komma vor „sondern“, „indem“, „wobei“ etc.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Datei:Venn 0000 0001 0001 0110.png|miniatur|Mit CSG erstelltes [[Venn-Diagramm]]&amp;lt;br /&amp;gt;Der [[POV-Ray]]&amp;lt;nowiki&amp;gt;-Quellcode&amp;lt;/nowiki&amp;gt; ist [[:Datei:Venn 0000 0001 0001 0110.png#POV-Ray source|auf der Beschreibungsseite]].]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constructive Solid Geometry&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;CSG&amp;#039;&amp;#039;&amp;#039;) oder &amp;#039;&amp;#039;&amp;#039;konstruktive Festkörpergeometrie&amp;#039;&amp;#039;&amp;#039; ist eine Technik zum [[Geometrische Modellierung|Modellieren]] von Körpern, die u.&amp;amp;nbsp;a. in der 3D-[[Computergrafik]] und bei [[Computer-aided design|CAD]]-Programmen genutzt wird. Constructive Solid Geometry ermöglicht einem Designer einen komplex geformten Körper zu erzeugen, indem er [[Boolesche Algebra|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.&lt;br /&gt;
&lt;br /&gt;
== Basisobjekte ==&lt;br /&gt;
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.&amp;amp;nbsp;B. [[Würfel (Geometrie)|Würfel]], [[Zylinder (Geometrie)|Zylinder]], [[Prisma (Geometrie)|Prismen]], [[Pyramide (Geometrie)|Pyramiden]], [[Kugel]]n oder [[Kreisring|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.&lt;br /&gt;
&lt;br /&gt;
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 Algebra|boolesche Operationen]] auf Mengen: [[Vereinigungsmenge|Vereinigung]] (Union, &amp;lt;math&amp;gt;\cup&amp;lt;/math&amp;gt;), [[Mengenlehre#Differenz und Komplement|Differenz]] (Difference, &amp;lt;math&amp;gt;-&amp;lt;/math&amp;gt;) und [[Schnittmenge|Schnitt]] (Intersection, &amp;lt;math&amp;gt;\cap&amp;lt;/math&amp;gt;). Folgende Abbildung zeigt die Wirkung der Operatoren exemplarisch an der Verknüpfung von Würfel mit Kugel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery class=&amp;quot;centered&amp;quot;&amp;gt;&lt;br /&gt;
  Datei:Csg union.png|Vereinigung: Zwei Objekte werden zu einem verschmolzen.&lt;br /&gt;
  Datei:Csg difference.png|Differenz: Teile des zweiten Objekts werden aus dem ersten herausgeschnitten. Subtraktion (Würfel – Kugel).&lt;br /&gt;
  Datei:Csg intersection.png|Schnitt: Der Teil, den beide Objekte gemeinsam haben.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
CSG wird aber auch von diversen Programmen „unter der Haube“ benutzt, d.&amp;amp;nbsp;h. ohne, dass der Benutzer etwas von der Existenz der CSG-Operationen mitbekommt. So benutzen z.&amp;amp;nbsp;B. die Game-Engines von Unreal und Quake das CSG-Verfahren. [[Simulation]]sprogramme, die die Abläufe an Werkzeugmaschinen simulieren, verwenden i.&amp;amp;nbsp;d.&amp;amp;nbsp;R. ebenfalls CSG.&lt;br /&gt;
&lt;br /&gt;
== CSG-Baum ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Csg tree.png|mini|250px|rechts|Beispiel eines CSG-Baumes. An den Knoten sind zur Verdeutlichung die jeweiligen Operationen eingezeichnet.]] 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.&lt;br /&gt;
&lt;br /&gt;
Die [[Reguläre Menge|regularisierten Mengen]] des n-dimensionalen euklidischen Raumes bilden mit den Verknüpfungen &amp;lt;math&amp;gt;\cup&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\cap&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;(Komplementärmenge) eine boolesche Algebra, für die auch das Kommutativgesetz gilt. Der &amp;lt;math&amp;gt;\setminus&amp;lt;/math&amp;gt;-Operator ist nicht Teil dieser booleschen Algebra. Allerdings lassen sich der &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;- und &amp;lt;math&amp;gt;\cap&amp;lt;/math&amp;gt;-Operator als Ersatz für den &amp;lt;math&amp;gt;\setminus&amp;lt;/math&amp;gt;-Operator verwenden:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;A \setminus B\ = A \cap cB&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Das Beispielobjekt lässt sich von daher auch ohne Klammerung berechnen (&amp;lt;math&amp;gt;W&amp;lt;/math&amp;gt; = Würfel, &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; = Kugel, &amp;lt;math&amp;gt;Z_1,\ Z_2,\ Z_3&amp;lt;/math&amp;gt; = Zylinder):&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\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 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Boundary Representation]]&lt;br /&gt;
* [[Convex Differences Aggregate]]&lt;br /&gt;
* [[Goldfeather-Algorithmus]]&lt;br /&gt;
* [[Solid modeling]]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur|Autor=Christoph Martin Hoffmann|Titel=Geometric &amp;amp; Solid Modeling|Verlag=Morgan Kaufmann Publishers|Ort=San Mateo, California|Jahr=1989|ISBN=1-55860-067-1}}&lt;br /&gt;
* {{Literatur|Autor=Martii Mäntylä|Titel=An Introduction to Solid Modeling|Verlag=Computer Science Press|Ort=Rockville, Maryland|Jahr=1988|ISBN=0-88175-108-1}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
*[https://github.com/c-ohle/CSG-Project CSG-3MF Project] - Open Source Bibliothek ([[GPL, Version 2|GPL]]), C++, COM basiert mit C# Skript Unterstützung.&lt;br /&gt;
*[http://gts.sourceforge.net/ GNU Triangulated Surface library] – Open Source ([[LGPL]]) Bibliothek mit CSG-Unterstützung für Dreiecke&lt;br /&gt;
* [http://www.cgal.org/ Computational Geometry Algorithms Library] – Open Source ([[LGPL]], [[GPL]]) Bibliothek, welche unter anderem [http://www.cgal.org/Part/PolygonAndPolyhedronOperations CSG unterstützt].&lt;br /&gt;
* [http://opencsg.org/  The CSG rendering library] – Open-Source-Bibliothek ([[GPL, Version 2]]) mit bildbasierenden CSG-Techniken via OpenGL.&lt;br /&gt;
* [http://www.openscad.org/ OpenSCAD] – Ein einfaches CAD-Programm zur Erzeugung von 3D Objekten auf Basis von CSG.&lt;br /&gt;
* [http://hyperfun.org/  HyperFun Project] – Eine einfache Skriptsprache um CSG-Operationen auf verschiedene Objekte anzuwenden.&lt;br /&gt;
* [http://avocado-cad.sourceforge.net/wiki/index.php/Dev_Implementation#CSG_Boolean_Operations Overview of CSG in avoCADo] – Open Source 3D-CAD-Software.&lt;br /&gt;
* [http://www.cern.ch/theis/simplegeo SimpleGeo] – Interaktiver CSG-Modeler für Monte-Carlo-Teilchentransport-Simulationen.&lt;br /&gt;
* [http://www.fmepedia.com/index.php/CSGBuilder_Example FMEpedia CSGBuilder example] – CSG mittels sogenannter FME (Feature Manipulation Engine).&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Geometrische Modellierung]]&lt;br /&gt;
[[Kategorie:Computer Aided Engineering]]&lt;br /&gt;
[[Kategorie:Konstruktionslehre]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Thomas Dresler</name></author>
	</entry>
</feed>