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 V

Über "clipped_by{...}"

öffnender Schnitt

clipped_by{...}


Der öffnende Schitt mit "clipped_by{...}"
  Der Effekt ist ähnlich wie bei der Schnittmengen-Bildung und bei der Differenz. Übrig bleibt, was in beiden Körpern enthalten ist. Gegenüber der Schnittmenge ist der verbleibende Körper jedoch an den Stellen geöffnet, an denen er von der Oberfläche des aufschneidenden Körpers aus "clipped_by{...} geschnitten wird.

Beispiel:
sphere {<0,0,0>,0.5
        texture{ pigment{ color rgb<1,0,0.2>}
                 finish { phong 1}}
        clipped_by{ sphere{<0,0,0>,0.5 translate<0.5,0,-0> inverse}} 
        rotate <0,25,0>
        translate <-0.25,0,0>} 

  Der aufschneidende Körper (innerhalb der Klammern von 'clipped_by') besitzt keine Textur!
Vom ursprünglichen Körper bleibt gewissermassen nur die Haut stehen. Eine reine Texturangabe (ohne "interior") beschreibt die Farbe und Beschaffenheit allein der Oberfläche eines Körpers, diese ist eben dann auch von innen zu sehen.
  Bestand der aufgeschnittene Körper aus einer 'union' von mehreren Körpern, so werden alle Teilkörper durch den 'clipped_by'-Körper aufgeschnitten, die dieser berührt.

Beispiel:
union{
  sphere {<0,0,0>,0.5
          texture{ pigment{ color rgb<1,0,0.2>}
                   finish { phong 1 }}}
  sphere {<0,0,0>,0.4
          texture{ pigment{ color rgb<1,0.4,0.2>}
                   finish { phong 1 }}}
  sphere {<0,0,0>,0.3
          texture{ pigment{ color rgb<1,0.5,0.1>}
                   finish { phong 1}}}
  sphere {<0,0,0>,0.2
          texture{ pigment{ color rgb<1,0.7,0.1>}
                   finish { phong 1}}}
  clipped_by{sphere {<0,0,0>,0.5 translate<0.5,0,-0> inverse}}
  rotate <15,55,0> translate <-0.25,0,0>} 

Auf diese Weise lassen sich z.B. leicht Bütenblätter oder auch ein Schnitt durch ein Gebäude oder eine Maschine anfertigen!


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

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