AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mit OpenGL ein Fraktal zeichnen.

Ein Thema von Phiennes · begonnen am 13. Jan 2010 · letzter Beitrag vom 13. Jan 2010
Antwort Antwort
Seite 1 von 2  1 2      
Phiennes

Registriert seit: 1. Dez 2008
Ort: Bochum
30 Beiträge
 
#1

Mit OpenGL ein Fraktal zeichnen.

  Alt 13. Jan 2010, 09:29
Hi,

Ich erstelle gerade ein Programm zur Darstellung von 3D-Fraktalen (Mandelbrotmenge), zumindest versuche ich es .
Da OpenGL für mich noch neu ist und im Internet nach stundenlangem Suchen nichts zu finden ist, hoffe ich, dass ihr mir weiterhelfen könnt.

Momentan funktioniert mein Programm folgendermaßen:

Die Welt-/Anzeigematrix besteht aus einem 3D-Array vom Typ Boolean. Ein Punkt in dieser Matrix ist genau dann "true", wenn sich dieser am Rand des Fraktals befindet.
Die Punkte werden dann Pixelweise in die von OpenGL dargestellte Welt geladen.

Logischerweise ist beim Ausführen nur eine Art Wolke des Fraktals zu sehen, die je nach Größe meines Array's dichter oder weniger dicht wird (oder beim hin- und wegzoomen).


Ich müsste also mit Drei- oder Vierecken eine Oberfläche auf das Fraktal zaubern, jedoch fehlt mir hierzu noch jeglicher Ansatz.



Ich hoffe, ich konnte mein Problem gut darstellen .

lG Phiennes
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Mit OpenGL ein Fraktal zeichnen.

  Alt 13. Jan 2010, 09:53
Ein 3D-Fraktal stellt ja praktisch ein Volumen dar, und zwar eines der fiesesten Sorte: Konkav und Konvex und Löcher (aber zumindest geschlossen) - Wenn man jetzt mal für nen Moment davon ausgeht, dass Fraktale überhaupt eine Oberfläche haben (haben sie eigentlich garnicht). Aber ne Schätzung reicht ja dicke, alles andere könnte auch seltsam aussehen

Für solche Arten von Volumen bieten sich im Grunde nur 2 Möglichkeiten an: Garkein Mesh nehmen, und per Raycasting rendern (geht auch in nem Pixelshader, ist aber knifflig), oder ein Mesh via Bei Google suchenMarching Cubes basteln. Ist beides nicht ganz trivial, macht aber Fun!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Phiennes

Registriert seit: 1. Dez 2008
Ort: Bochum
30 Beiträge
 
#3

Re: Mit OpenGL ein Fraktal zeichnen.

  Alt 13. Jan 2010, 10:00
sehr schön danke, mein Traum von nem eigenen Fraktal ist zum Greifen nah^^
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Mit OpenGL ein Fraktal zeichnen.

  Alt 13. Jan 2010, 10:01
Ich kenne das Gefühl gut! Sogar genau dieses
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Mit OpenGL ein Fraktal zeichnen.

  Alt 13. Jan 2010, 10:06
Hi,

Wie machst du dass denn mit dem 3D-Mandelbrot? Gibt da ja scheinbar verschiedene Ansätze und keiner davon scheint die Experten ja wirklich glücklich zu machen. Es wird ja scheinbar noch nach einer idealen Methode gesucht

Würde gerne mal ein Bild davon sehen oder das Programm selbst, wenn es fertig ist. Ich bin da nämlich sehr skeptisch ehrlich gesagt.
Die Mandelbrotmenge ist halt eine Menge komplexer Zahlen und "2D-Zahlen" 3D darzustellen macht für mich eigentlich keinen Sinn.
Bisher finde ich auch, dass die 2D Version um einiges schöner ist ^^ Aber ich lasse mich gerne vom Gegenteil überzeugen
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Phiennes

Registriert seit: 1. Dez 2008
Ort: Bochum
30 Beiträge
 
#6

Re: Mit OpenGL ein Fraktal zeichnen.

  Alt 13. Jan 2010, 10:26
Naja, meine Programmierkünste sind wohl eher bescheiden^^. Ich glaube nicht, dass ich hier wen vom Hocker reisen werde .

Mathematisch gesehen nutze ich genau die gleiche Formel wie bei der 2D-Darstellung ( Zn+1 = Zn² + C ).
Anstelle der Komplexen Zahlen setze ich Quaternionen bzw. Hyperkomplexe Zahlen ein, also a +bi +cj + dk = Z.

Das schöne ist, dass das Fraktal eigentlich 4D ist und man die letzte Dimension als Zeit-Achse nutzen kann. Dadurch entstehen coole Videos.

Ich hab mal ein Bild hochgeladen. Es sieht zumindest wie die Mandelbrotmenge aus^^.
Die Farben haben allerdings nichts mit der Iteration zu tun.
Angehängte Grafiken
Dateityp: bmp 3dmandelbrot_255.bmp (2,38 MB, 59x aufgerufen)
  Mit Zitat antworten Zitat
grizzly

Registriert seit: 10. Dez 2004
150 Beiträge
 
Delphi XE4 Professional
 
#7

Re: Mit OpenGL ein Fraktal zeichnen.

  Alt 13. Jan 2010, 10:50
Zitat von Neutral General:
Bisher finde ich auch, dass die 2D Version um einiges schöner ist ^^ Aber ich lasse mich gerne vom Gegenteil überzeugen
Kennst Du diese Bilder hier: Methematical imagery by Jos Leys?
Und das hier: www.skytopia.com
Das soll jetzt aber keinem die Lust nehmen, es selber zu versuchen!

Gruß
Michael
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Mit OpenGL ein Fraktal zeichnen.

  Alt 13. Jan 2010, 11:15
Tipp: Julia-Fraktale schauen noch genialer aus in 3D (bzw. 4D), sind fast genau so zu berechnen, und lassen sich über den zusätzlichen Startparameter auch noch anders als über die 4. Koordinate animieren!

Spannend wäre btw. auch zu implementieren, dass man nicht nur den Schnitt der 4D-Menge mit dem x-y-z-Raum (= Weglassen der 4. Koordinate) darstellt, sondern einen beliebigen orthographischen Unterraum möglich macht. Würd mich mal interessieren, wie sowas dann ausschaut, ich hätte jetzt in diesem Moment aber auch keine spontane Idee das zu realisieren (dürfte letztlich aber garnicht so arg hart sein).


Zum Thema echtes 3D-Mandelbrot: http://www.gamedev.net/community/for...opic_id=553438
Man streitet sich zwar nach wie vor ob es das nun ist, oder nicht doch ganz anders, aber optisch kommt's der Sache doch schon recht nah . Hat mathematisch mit dem klassischen Mandelbrot aber wohl kaum noch was zu tun.
Edit: Oi, grad erst gesehen. In dem gamedev Artikel gehts meine ich auch u.a. um diese "Mandelbulb".
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#9

Re: Mit OpenGL ein Fraktal zeichnen.

  Alt 13. Jan 2010, 11:50
Woah...

Sehr geil, muss man sagen. Da müsste man glatt mal an einem Programm schreiben... Ach, scheiß Studium, keine Zeit.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#10

Re: Mit OpenGL ein Fraktal zeichnen.

  Alt 13. Jan 2010, 16:32
Zitat von Daniel G:
Woah...

Sehr geil, muss man sagen. Da müsste man glatt mal an einem Programm schreiben... Ach, scheiß Studium, keine Zeit.
Schweinerei! Erst einem so ein Bildchen vor die Nase halten und dann abzuhauen.

Bitte mehr Infos.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz