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 IV

Über "intersection" und "inverse"

intersection{...}
inverse


Schittmenge "intersection{...}"
Die Schnittmenge zweier Körper enthält diejenigen Körperbereiche, die beiden Körpern gemeinsam sind, also die Bereiche in denen sich alle dabei verwendeten Objekte überlappen:

Beispiel für "intersection":
intersection{
box{<-0.5,-0.5,-0.5>,< 0.5,0.5,0.5>
    texture{
      pigment{color rgb<1,0.65,0>}
      finish {phong 0.5}}}
sphere{<0,0,0>,0.66
    texture{
       pigment{color Red}
       finish {phong 0.5}}}
 rotate<0,-30,0>
 translate<0,0.5,0>
} // end of intersection ----------


Komplementbildung - "inverse"
Sie erlaubt in Differenzmengen oder Schnittmengen die Komplementmenge von Körpern zu verwenden.
Insbesondere gilt:
.
Dadurch lassen sich manche Operationen vereinfachen und zusammenfassen:

Anstelle von: schreibt man einfacher:
difference{ intersection {object{A}
                          object{B}
                         }
            object{C}
          }
intersection {object{A}
              object{B}
              object{C inverse}
             }

Beispiel für "inverse":
intersection{
box {<-0.5,-0.5,-0.5>,< 0.5,0.5,0.5>
     texture{/*siehe oben*/} }
sphere{<0,0,0>,0.66
     texture{/*siehe oben*/} }
cylinder{<0,0,-1>,<0,0,1>,0.3 inverse
  texture{pigment{color YellowGreen}
          finish {phong 0.5}}}
cylinder{<0,-1,0>,<0,1,0>,0.3 inverse
  texture{pigment{color YellowGreen}
          finish {phong 0.5}}}
cylinder{<-1,0,0>,<1,0,0>,0.3 inverse
  texture{pigment{color YellowGreen}
          finish {phong 0.5}}}
rotate<0,-30,0> translate<0,0.5,0>} //


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

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