Home
- POV-Ray Tutorial
- Download-Page
- CSG Constructive
Solid
Geometry
- union + merge
- difference
- intersection
+ invers
- clipped_by
> coincident surfaces
- textures in CSG
|
Boolean Algebra with Solids - part VI
The Coincident-Surface Problems
As always mentioned before in 'difference'
with coincident surfaces it's inevitable to get problems of unambiguity.
This kind of 'issue' in principle can appear with al computer programs, which
have to calulate any intersections of straight lines ('lines of sight') with several geometric objects.
This is not an issue of the POV-Ray program!
It's the task of the designer, to deliver unambiguous information to the program
and therefore to avoid coinzidente surfaces under all conditions.
The coincident-surface problems
can make difficult problems specially when we are using CSG operations.
Most time the 'issue' appears only under certain directions of view, angles of view
and distances of the camera. But also other objects in the scene can influence the appearance under some circumstances.
The following images show some of these symptoms:
Here first while using a 'union' of two boxes of the same size.
|
A simple red box{<0,0,0>,<3,3,3>}
|
in a union with a yellow box of
the same size moved up by 2.
Yellow box completly visible!
|
From another point of view
Red box completly visible!
|
From another point of view
it meight look much more strange!
|
And now the hole thing by subtrakting the 'union' of the
red and yellow boxes from a green box by 'difference'.
Now the middle part of the coincident surfaces even can become predominantly transparent!
|
An additional green 'box'.
|
The 'difference' of
Green minus Yellow and Red.
|
The appearance or the disappearance of this effect is totaly unpredictable!
Because of this you never can rely on these effect to be somehow reproducible
(Don't use these effects as a design element!).
Nor you should hope, that these effects will not appeare in some situations!
The only solution is the following important rule:
Avoid coincidente surfaces! |
A consistent observance of this rule can avoid many unnecessary frustration!
A concrete example on how to do this you will find here: 'difference'.
|
|
|