![]() |
Re: Fraktal-Raytracer, mein Lebenswerk :)
nett wer noch bei den render gschichtl eine checkbox zu machen dass die größe imemr proportional bleibt (640, 460 wird zu 320/230 zB)
super progamm :) |
Re: Fraktal-Raytracer, mein Lebenswerk :)
Ich hab auch mal was gemacht:
![]() oder soll ich es in den Anhang packen?? wenn ich jetzt noch wüsste, wie das zustande kam... ich glaube, ich hab y kleiner werden lassen und das ganze dann noch gedreht. |
Re: Fraktal-Raytracer, mein Lebenswerk :)
Hi Leite
ich bin ein großer Fan von Raytracern, ich find die Bilder auch echt Klasse (obwohl wenig sinnvoll) :arrow: Fetten Respekt an dizzy!!! Nur dizzy, wenn du schon solche mathematischen Kunststücke wie 3D-Fraktale aufführst find ich das mit den "Z-Samples" ziemlich primitiv. Kann man da nicht irgendwie mathematich den Schnittpunkt finden??? Ich bin bisher immer davon ausgegangen, dass man das so macht. Naja, wenn das bei den Fraktalen nicht wirklich geht solls mir auch Recht sein :). Greetz Snuffi |
Re: Fraktal-Raytracer, mein Lebenswerk :)
Zitat:
Für gewöhnlich macht man es tatsächlich so, dass man einen Schnittpunkt des Strahls mit der Oberfläche direkt errechnet. Das setzt allerdings voraus, dass überhaupt eine Oberfläche existiert! ;) Streng genommen haben Fraktale eine solche nämlich garnicht. Das ist zunächst mal etwas verwirrend, da ja eine Fläche sichtbat ist, aber ein voll ausdefiniertes Fraktal (mit diskreter Mathematik überhaupt nicht möglich) verhält sich da schon sehr anders. Am ehesten kann man ein Fraktal noch als skalares Feld erklären, bei denen eine explizite Flächenbestimmung auch nicht so ohne Weiteres möglch ist (-> Blobs/Metaballs sind ähnlich beim Raytracen). Bei Polygonobjekten gestaltet sich das erheblich einfacher: Du hast einfach Punkte, die schon fertige Flächen definieren. Damit zu schneiden ist einfach. Ebenfalls sind parametrische Figuren (Kugeln z.B. die nur als Formel angegeben werden) sehr einfach, da die Formeln die Oberfläche explizit, und in jedem Punkt vollständig beschreiben. Bei einem Fraktal kannst du im Grunde nur so vorgehen: Ich nehme mal Punkt (x, y, z) und teste ob er zum Fraktal gehört*. Was nicht geht ist: Ich nehme Gerade G und schaue an welchem Punkt diese das Fraktal schneidet (abgesehen davon ist ein Fraktal volumetrisch - d.h. es ist "gefüllt" und nicht wie eine Kugel nur eine unendlich dünne Hülle. Man würde, wäre es möglich, also ohnehin oftmals unendlich viele Schnittpunkte erhalten). *Selbst dieser Test ist nicht vollständig möglich, da dies über ein unendlich andauerndes iteratives Verfahren gemacht wird (was überhaupt erst das Wesen der Fraktale ausmacht). Man muss also bei einer beliebigen Genauigkeit abbrechen, und dann entscheiden ob der Punkt dazu gehört, oder nicht. (Diese Genauigkeit wird über die Eigenschaft "Iterationen" geregelt.) Ich muss mal wieder Zeit und Muße finden in diese Richtung weiter zu machen :| Schönen Gruß, Fabian |
Re: Fraktal-Raytracer, mein Lebenswerk :)
Hey, dich gibts ja noch :love: Lange nichts mehr von dir gehört..
@Snuffmaster: schade das ichs erst so spät bemerkt hab das du was geschrieben hast, sonst hättest du dizzys Antwort in kurz bekommen^^ Ich habs auch schon versucht das mal in diese Richtung fortzutreiben, ist jedes mal gescheitert. Rat mal warum ;) |
Re: Fraktal-Raytracer, mein Lebenswerk :)
:thumb: echt super Programm!
|
Re: Fraktal-Raytracer, mein Lebenswerk :)
@Dax: Höhere Mathematik? :mrgreen:
Genau das hab ich gemeint mit Zitat:
Snuffi |
Re: Fraktal-Raytracer, mein Lebenswerk :)
Zitat:
Das Verfahren nennt sich Bisektion, und schließt sich an die sampleweise Tiefensuche zur Verfeinerung an. Dadurch lässt sich die Samplemenge erheblich reduzieren. Eine weitere Reduktion mache ich darüber, dass man nachdem man ein Punkt getestet hat, abschätzen kann, wie nahe dieser dem Fraktal nun war. Je näher ich komme, desto enger mache ich die Samples. Somit werden Bereiche in denen der Strahl nichts trifft sehr schnell abgehandelt, und nur dort wo es nötig ist wird mit großer Genauigkeit gearbeitet. Während all meiner Nachforschungen (die sich wie im Eingangsposting erwähnt in rund 4 Jahren abspielten) bin ich auf kein effizienteres Verfahren gestoßen, ohne dass man den genauen Typ des Fraktals im Vorfeld kennt (bzw. auch dann wären nur minimale Optimierungen möglich), und nicht erhebliche Teile des Fraktals "verpasst". (Das "Punkt-Ist-Nah-Dran"-Verfahren schreib ich mir hierbei sogar selbst auf die Fahne, die Bisektion macht POVRay genau so (aus deren Sourcen abgeschaut ;))). Explizite Oberflächenberechnung ist, Volumen hin oder her, leider nicht möglich. (Dann wäre das ganze Thema imho auch ne ganze Ecke langweiliger ^^.) Wenn du dich mal in das Thema Fraktale einliest, wirst du imho schnell merken wo da der Hund begraben liegt :) @Dax: :love: Joa, ich bin nach wie vor zur Zeit mit delphi-loser Uni und Arbeit so weit ausgefüllt, dass die Freizeitprogrammierung leider sehr wenig Raum hat :cry:. Folglich müssen die wirklich interessanten Themen, die ich bevorzugt mit Delphi angehe, warten :? Gruss, Fabian |
Re: Fraktal-Raytracer, mein Lebenswerk :)
Naja, Fraktale sind jetzt nicht so mein Spezialgebiet, ich glaub dir das jetzt einfach :D
Ich weiß ungefähr so viel über Fraktale, dass sie selbstähnlich sind und dass man natürliche Strukturen wie z.B. einen Baum oder eine Felsoberfläche als einigermaßen fraktal ansehen kann. |
Re: Fraktal-Raytracer, mein Lebenswerk :)
Hey, bin grad zufällig auf meinem unaufgeräumten Desktop wieder über QED gestolpert!
Nach etwas Rumspielerei wollte ich mal fragen, ob es denn inzwischen eine neue Version gibt? (In der man die Einstellungen speichern kann und die evtl. eine kleine Hilfe beinhaltet :)) Würde gern über Neuigkeiten erfahren! Mit von QED begeisterten Grüßen Marcus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz