Beschreibungen und Beispiele zum Raytracer POV-Ray von Friedrich A. Lohmüller
    CSG - Constructive Solid Geometry -
English English English
Italiano Italiano
Français français

Home
- POV-Ray Tutorial
- Download-Seite

 > CSG Constructive
            Solid
            Geometry
    - union + merge
    - difference
    - intersection
       + invers
    - clipped_by
    - Koinzidenzprobleme
    - Texturen u. CSG
                                           

CSG - Boolesche Algebra mit Körpern

    Dieser Artikel möchte einige wesentliche Prinzipien zur Erzeugung neuer und komplexerer Körper aus den Grundkörpern erläutern. Dazu dient die sogenannte CSG-Technik, welche mit Körpern im wesentlichen dieselben Operationen erlaubt, wie sie bereits aus der Mengenlehre bekannt sind. Dabei werden Körper als besondere Punktmengen im dreidimensionalen Raum betrachtet. Mit ihnen lassen sich alle Mengen-Operationen ausführen, die man von der "Boolschen Algebra" her kennt - und noch etwas mehr!
    CSG-fähige Körper: Solche Operationen können mit allen Körpern ausgeführt werden, bei denen eine eindeutige Unterscheidung zwischen "innen" und "außen" möglich ist. Die wichtigsten sind: Quader (box), Kugel (sphere), Zylinder (cylinder), Kegel bzw. Kegelstumpf (cone), Prisma (prism). Die Ebene (plane) sei besonders erwähnt: der Normalenvektor zeigt hier nach "außen". Auch Figuren aus Dreiecksnetzen (mesh, mesh2) können verwendet werden, sofern ein "inside_Vector" definiert ist.
Nicht verwendbar sind z.B. triangle oder disk, da bei diesem Formen kein eindeutiges "innen" und "außen" definierbar ist.
Die CSG-Operationen können mehrfach verschachtelt auf Objekte angewandt werden. Die CSG-Operationen, welche mit csg-fähigen Körpern ausgeführt werden können, sind im einzelnen:

Vereinigung Differenz Schnittmenge Komplement-
menge
öffnender
Schnitt
union{...}
oder merge{...}
difference{...} intersection{...} inverse clipped_by{...}
union and merge difference intersection inverse clipped_by


top

© Friedrich A. Lohmüller, 2012
www.f-lohmueller.de
 
Visitors:
(since May-1999)
Thanks for your visit!