Algèbre booléenne des Solides - part IV
"intersection" et "inverse"
|
intersection{...}
|
|
|
inverse
|
L'instruction "intersection{...}"
Avec deux formes ou plus, on obtient comme résultat une forme qui
possède une aire commune aux autres formes, celle qui déborde :
Exemple "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 1.0}}
}
sphere{<0,0,0>,0.66
texture{
pigment{color Red}
finish {phong 1.0}}
}
rotate<0,-30,0>
translate<0,0.5,0>
} // end of intersection ------------ |
|
|
Le complément - "inverse"
Cette instruction permet de vider l'intérieur d'une forme.
Particulièrement vrai :
|
|
. |
C'est très utile avec "difference" et "intersection"- ça facilite la transcription
dans POV-Ray comme le montre l'exemple suivant :
À la place de :
|
Plus court :
|
difference{ intersection {object{A}
object{B}
}
object{C}
} |
intersection {object{A}
object{B}
object{C inverse}
} |
Exemple "inverse":
intersection{
box{<-0.5,-0.5,-0.5>,<0.5,0.5,0.5>
texture{/*see above*/} }
sphere{<0,0,0>,0.66
texture{/*see above*/} }
cylinder{<0,0,-1>,<0,0,1>,0.3 inverse
texture{pigment{color YellowGreen}
finish {phong 1.0}}}
cylinder{<0,-1,0>,<0,1,0>,0.3 inverse
texture{pigment{color YellowGreen}
finish {phong 1.0}}}
cylinder{<-1,0,0>,<1,0,0>,0.3 inverse
texture{pigment{color YellowGreen}
finish {phong 1.0}}}
rotate<0,-30,0> translate<0,0.5,0>} |
|
|
|