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 VI
Über Koinzidenzprobleme bei CSG
(Koinzidenz = Deckunggleichheit)
Wie bereits im Zusammenhang mit 'difference' erwähnt,
kommt es bei koinzidenten Flächen unvermeidlicher Weise zu Eindeutigkeitsproblemen.
Diese Art von 'Fehlern' kann prinzipiell bei allen Computerprogrammen auftauchen,
die irgenwelche Schnittpunkte von Geraden ('Sehstrahlen') mit mehreren
geometrischen Objekten berechnen.
Dies ist kein Fehler des POV-Ray-Programms!
Es bleibt allein die Aufgabe des Konstrukteurs, dem Computer eindeutige Angaben zu machen
und koinzidente Flächen unbedingt zu vermieden.
Das Problem deckungsgleicher Flächen
(koinzidenter Flächen)
kann besonders mit allen CSG-Operationen Probleme bereiten.
Der 'Fehler' zeigt sich meist nur bei bestimmten Blickrichtungen, Blickwinkeln und Entfernungen
der Kamera. Aber auch andere Objekte in der Szenerie beeinflußen u.U. das Auftreten.
Die folgenden Bilder zeigen einige dieser Symptome:
Hier zunächst bei der 'union' zweier gleichgroßer Quader ('box').
|
Ein einfacher roter Würfel
box{<0,0,0>,<3,3,3>}
|
in 'union' mit einer gelben 'box'
von der gleichen Größe
um 2 nach oben geschoben.
Gelbe 'box' voll sichtbar!
|
Von einem anderen Standpunkt
aus gesehen:
Rote'box' voll sichtbar!
|
Von einem anderen Standpunkt
aus kann es noch viel seltsamer
aussehen!
|
Nun das Ganze, indem man die 'union' aus
rotem und gelben Quader von einem grünen Quader abzieht ('difference').
Dabei wird der mittlere Teil der koinzidenten Flächen sogar überwiegend durchsichtig!
|
Zusätzlich eine grüne 'box'.
|
Die 'difference' aus
Grün minus Gelb und Rot.
|
Das Auftreten oder Verschwinden dieser Effekte ist völlig unvorhersehbar!
Daher sollte man sich keinesfalls darauf verlassen, das sie irgendwie reproduzierbar bleiben
(Verwenden Sie diese Effekte nie als ein Gestaltungselement!).
Noch sollte man darauf hoffen, dass sie in gewissen Situationen schon nicht auftauchen werden!
Es bleibt die einfache Regel:
Koinzidente Flächen unbedingt vermieden! |
Ein konsequentes Beachten dieser Regel kann viel unnötigen Frust vermeiden!
Ein Beispiel wie dies konkret geschehen kann man bei der Beschreibung von 'difference' finden.
|
|
|