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
                                           
Boolesche Algebra mit Körpern - Teil II

Über "union" und "merge"

Vereinigung =

union{...}oder merge{...}

Beide Anweisungen werden zum Verbinden von verschieden Objekten zu neuen Objekten benutzt, wobei die zu verbindenden Objekte nicht notwendig räumlich zusammenhängen müssen!;
Wozu braucht man das? Man kann diese Anweisungen verwenden, um die Teile mehrerer Objekte gemeinsam einzufärben und/oder zusammen zu transformieren (mittels scale, rotate, translate oder matrix).
Dies ermöglicht zum Beispiel bei einem Mensch-Ärgere-Dich-nicht-Männchen oder einer Schachfigur die gesamte Figur aus verschiedenen Grundkörpern zusammenzubauen, aber diese dann mit einer durchgehenden Holzmaserung zu texturieren. Ebenso ist es möglich ein Objekt wie z.B. ein Auto aus verschiedenen Grundelementen zusammenzubauen und das gesamte Objekt als union zu verschieben oder zu scalieren oder in weiteren CGS-Operationen als Teilkörper zu verwenden.
 
Transparente Körper und "union":
"merge{...}" löst die inneren Trennungsflächen der verbundenen Körper auf - dies ist nur bei transparenten Körpern von Interesse, wenn der Körper aus einem Guß erscheinen soll. Bei nichttransparenten Körpern ist "merge" zu meiden, da es teilweise wesentlich längere Rechenzeiten benötigt.

Beispiel:
union{ 
 sphere{<0,1,0>,0.35}
 cone{<0,0,0>,0.45,<0,1.2,0>,0}
 texture{T_Glass3} interior{I_Glass}
 translate <-0.5, 0, 0>
     }
merge{
 sphere{<0,1,0>,0.35}
 cone{<0,0,0>,0.45,<0,1.2,0>,0}
 texture{T_Glass3} interior{I_Glass}
 translate < 0.5, 0, 0>
     }
Glas-Textur mit union{...} und mit merge{...}


CSG | union + merge | difference | intersection + inverse | clipped_by | Koinzidenz | Texturen
top

© Friedrich A. Lohmüller, 2012
www.f-lohmueller.de