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 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.



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

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