Schlagwort: Beleuchtungssimulation

  • Radiometrische Beleuchtungssimulation mit präziser Sensormodellierung.

    Von meinem Programmierpraktikum habe ich hier in meinem Blog ja schon so einiges erzählt. Mit diesem Artikel möchte ich nun abschließend meine zusammenfassende Ausarbeitung der Allgemeinheit zur Verfügung stellen.

    Ausarbeitung: zybesi.pdf (360 KB)

    Die erstellte Software selbst, die ich Zybesi getauft habe (Zylinderbeleuchtungssimulator), beziehungsweise deren Quelltext werde ich nicht veröffentlichen. Das hängt damit zusammen, dass Zybesi massiven Gebrauch der FORWISS-Libraries macht. Diese werden für Punkt- und Vektorrechnungen in der Ebene und im Raum sowie für die Erstellung der grafischen Benutzeroberfläche benötigt. Jedoch sind diese Libraries nicht frei zugänglich. Da sie aber sowohl zum Kompilieren als auch für die Ausführung meines Programms benötigt werden, macht es wohl keinen all zu großen Sinn, Quelltext oder das Programm selbst über meinen Blog zu veröffentlichen.

  • Try & Error.

    Am letzten Sonntag hab ich’s endlich hinter mich gebracht: Mein Programmierpraktikum. Aus diesem Anlass möchte ich gleich zwei Blogeinträge online stellen. Den Ersten gibt’s heute. Teil zwei erscheint dann aller Voraussicht nach die nächsten Tage und wird die Ausarbeitung zu meinem Programmierpraktikum enthalten.

    Heute gibt’s aber erstmal ein bisschen zum „Schmunzeln“. Neben zahlreichen Bugs in meiner Software gab’s auch welche, die sich schön mit Bilder dokumentieren lassen. Schließlich handelt es sich um ein Tool, das die Beleuchtung von Zylindern simuliert und folglich auch Bilder produziert. Da kann so ein Programmierfehler oder eine falsch gesetzte Variable zu Bildern führen, die so nicht ganz dem realitätsnahen Anspruch meiner Software mithalten können. Also los geht’s…


    Das kommt davon, wenn man die Werte seiner Bildpunkte nicht im Blick hat. Dieses Bild ist aufgrund zahlreicher double-Überläufe entstanden. Noch dazu liegt die Lichtquelle der Szene genau hinter dem Zylinder, was eigentlich zu gar keiner Beleuchtung in dem Bereich führen dürfte, der von der Kamera eingesehen werden kann.


    Nanu, was ist denn hier passiert: Die unteren 2/3 sehen ja noch ganz OK aus, aber ab dem Fluchtpunkt sollte da doch nichts mehr sein. Stimmt, das kommt davon, wenn man die Sichtstrahlen des Raytracings zu stiefmütterlich behandelt. Die schneiden den Zylinder natürlich nicht nur vor, sondern auch hinter der Kamera, dort, wo sie eigentlich nichts sehen dürften. Schließlich hat eine Kamera keine Augen auf dem Rücken.


    Arrays hin und her zu kopieren ist eigentlich die Todsünde eines jeden Programmierers. Ab und zu lässt sich das aber nicht ganz vermeiden und wenn man nicht aufpasst, kommen solche tollen Streifen dabei raus.


    Und das passiert wenn man meint, dass sein Simulationsbild einen Pixel breiter und höher ist, als es tatsächlich zutrifft. Dann verschiebt sich beim Zeichnen der mühsam berechneten Pixel jede Zeile und jede Spalte ein wenig und über das ganze Bild betrachtet, sieht das dann so aus.