AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Apfelmännchen (Fraktale) mit Delphi
Thema durchsuchen
Ansicht
Themen-Optionen

Apfelmännchen (Fraktale) mit Delphi

Ein Thema von TOC · begonnen am 10. Mai 2005 · letzter Beitrag vom 13. Jul 2005
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von TOC
TOC
Registriert seit: 5. Jan 2005
Hi!

Ihr habt bestimmt schon mal was vom sogenannten Apfelmännchen oder auch der Mandelbrotmenge gehört. Das hat etwas mit komplexen Zahlen zu tun. Nach einer bestimmten Formel kann man verblüffende Bilder berechnen. Es ist wirklich erstaunlich das eine scheinbar so einfache Formel so komplexe Bilder ergibt.

Vor vielen Jahren haben Jochen und ich, damals noch mit ´nem C64, nach dieser Formel solche Bilder berechnet. Damals dauerte es noch eine ganze Nacht um ein Bild mit geringer Auflösung und nur wenig Farben zu berechnen.

Vor einiger Zeit habe ich zu Jochen gesagt: 'Eh, laß uns doch nochmal ein Apfelmännchen-Programm in Delphi schreiben.' Ich war neugierig, den die Computer haben sich ja in all den Jahren rasant weiterentwickelt. Viele größere Auflösung, 32-Bit Farben, extrem hohe Rechengeschindigkeit und massenweise Hauptspeicher.

Jochen hat sich dann die Formel aus dem Internet besorgt und ein kleines Demo-Programm geschrieben. Ich hab dann, um diese Formel herum, ein Delphi-Programm geschrieben.

Es liegen zahlreiche Parameter-Dateien bei die sehr interessante Bilder erzeugen. Du kannst angeben wieviele Pixel Auflösung verwendet werden und auch die Farbtiefe läßt sich einstellen. Nach der Berechnung kann man einen Bildausschnitt markieren (Linke Maus-Taste gedrückt lassen und ziehen), und diesen Ausschnitt kann man dann vergrößert berechnen lassen. Natürlich kann man das Bild auch ausdrucken, abspeichern oder in die Zwischenablage kopieren. Die Parameter lassen sich frei einstellen.

Da es zwischen verschiedenen Delphi-Versionen diverse Unterschiede gibt findest Du im Anhang zwei Versionen, eine Für Delphi 3.0 und eine für 7.0 .

Wie all meine Programme ist das Fraktale-Programm natürlich OpenSource!

---------------------------------------------------------------------------------------------

Version 0.8

Änderung:

BugFix: In der Delphi 7.0 Version führte der Menüpunkt 'Favoritenliste bearbeiten' zu einem dummen Fehler.

---------------------------------------------------------------------------------------------

Hi!

Hier kommt Version 0.9 von Fraktale.exe!

Änderungen:

1.) Höhe der Statuszeile etwas vergrößert damit der Text nit mehr so gequetcht aussieht.

2.) Das Fraktale-Programm schreibt seine Daten nun unter dem Schlüssel "HKEY_CURRENT_USER\SoftWare\TocWare\Fraktale' in Deine System-Registrierung. Mit der Funktion 'Optionen/Registrierung aufheben' kannst Du diese Daten nun auch wieder löschen.

3.) In der Delphi 7.0 Version steht nun die Eigenschaft 'Font.Style' der Statuszeile ebenfalls auf 'fsBold'.

Derzeit kann ich Euch nur bitten den fehlerhaften Schlüssel 'HKEY_CURRENT_USER\Fraktale' von Hand zu löschen (mit RegEdit.exe), Sorry!

Hinweis: Dieses Programm verwendet einige meiner selbst gebastelten Komponenten, die Du benötigst um das Projekt zu öffnen und neu zu kompilieren. Eine aktuelle Version meiner Komponenten im Packet findest Du hier : Tocs Komponenten als Paket


---------------------------------------------------------------------------------------------

Hinweis: Wenn Ihr Bilder berechnen wollt um sie auszudrucken oder anzusehen dann startet bitte direkt die Fraktale.exe, und öffnet das Programm NICHT als Projekt. Da beim Projekt im Hintergrund der symbolische Debugger mitläuft wird sonst alles viel zu langsam.

Beispiel: Um das Bild 'Hyper-Apfel' mit 599*506 Pixel Auflösung zu berechnen braucht mein langsamer Rechner (Pentium III MMX, 450 MHZ) als *.exe Datei 1:18 Minuten. Als Projekt geöffnet dauert das selbe Bild 8:44 Minuten!

Grüße von TOC und JOE!
Angehängte Dateien
Dateityp: zip fraktale_fuer_delphi_3_862.zip (822,7 KB, 34x aufgerufen)
Dateityp: zip fraktale_fuer_delphi_7_263.zip (858,3 KB, 162x aufgerufen)
"Wäre die Erde eine Bank, ihr hättet sie längst gerettet!"
(Zitat GreenPeace)
 
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#21
  Alt 27. Jun 2005, 01:04
Zitat von nailor:
Zitat von turboPASCAL:
Ja, Streifen git es nach dem 11. (oder 12.) mal Zoom, ist ja auch ne' Demo

(hab noch k.A. wieso das passiert )
könnte daran liegen, dass die zahlen zu klein werden und das mit den standard-floats nicht mehr zu machen ist...
Dem ist sogar ziemlich sicher so - ich kenne den Effekt von meinen eigenen Fraktalspielchen. Schon klasse dass man auch so das Ende von Double (z.B.) sichtbar machen kann
Fabian K.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#22
  Alt 27. Jun 2005, 02:25
Es wäre sehr nett gewesen, wenn du darauf hingewiesen hättest dass sich dein Programm in der Registry verewiegt: HKEY_CURRENT_USER\Fraktale. Und wenn du schon so was machst, dann mach den Eintrag bitte dahin, wo er hingehört, nämlich in den Software-Zweig.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#23
  Alt 27. Jun 2005, 09:28
@nailor, dizzy

Real types ist Double, liegt an was anderem.

@TOC
Zitat von Luckie:
Es wäre sehr nett gewesen, wenn du darauf hingewiesen hättest dass sich dein Programm in der Registry verewiegt: HKEY_CURRENT_USER\Fraktale. Und wenn du schon so was machst, dann mach den Eintrag bitte dahin, wo er hingehört, nämlich in den Software-Zweig.
Da muss ich ihm Recht geben, so ein Eintrag in die Reg. ist immer so ne' Sache, vor allem wenn es
kein Deinstallationsprg. gibt der den Eintrag wieder entfernt.
Matti
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#24
  Alt 27. Jun 2005, 11:21
Zitat von turboPASCAL:
@nailor, dizzy

Real types ist Double, liegt an was anderem.
Ich meinte ja gerade dass das auch mit Double so ist. Das wird mit jedem Float-Typ ab einer mehr oder minder starken Vergrößerung auftauchen müssen.
(Ich muss allerdings zugeben, dass ich den Effekt in deinem Prog noch nicht getestet habe, weshalb das bei dir natürlich auch was anderes sein kann. Das ändert dann aber nichts daran, dass man trotzdem irgendwann an diese Grenze zoomt )
Fabian K.
  Mit Zitat antworten Zitat
Benutzerbild von TOC
TOC

 
Delphi 7 Personal
 
#25
  Alt 27. Jun 2005, 13:50
Hi!

Zitat von turboPASCAL:

Im Anhang ein fast originaler Quelltext in Trubo Pascal + Demo-Exe (kein Zoom, nur Berechnen)
+ eine Übersetzung in Delphi mit Zoom (nur Demo-Exe, kein Quelltext).

Eine Übersetzung in (Delphi)ASM würde mich interessieren.

@TOC
Ich will hier keine Konkurrenz machen, bei Interesse am Code darf ich den dann hier mit veröffentlichen ? (Übersetzung in Delphi 6 PE)
Na klar kannst Du hier veröffentlichen was Du möchtest. Dafür ist DP ja da! Auch in 'meinem' Thread könnt ihr Eure Progies ruhig reinhängen, warum auch nit? Es sollte halt nur was mit Fraktalen zu tun haben.

Hab mir Dein Programm mal angesehen, ist echt flott. Nur find ich das Apfelmännchen, also die eigentlich Mandelbrotmenge, recht langweilig. Wenn man die Parameter einstellbar macht kann man in den Randbereichen um das Apfelmännchen herum die coolsten Bilder finden!

Zitat von gordon freeman:
Habe das Programm (Version für Delphi7) geladen und die Exe einfach so auf den Desktop entpackt, dann habe ich das ganze mit den voreingestellten Werten gestartet und bekam einen Bluescreen... Uahc mit anderen Werten (geringere Tiefen, etc..) fror immer das Bild kurz ein, danach gab es einen Bluescreen.
Hattest Du zufälligerweise MP3-Musik im Hintergrundlaufen während Du mit Fraktale.exe ein Bild berechnen wolltest? Das ist ein mir bekannter Fehler vom Fraktale-Programm der mir echt Kopfzerbrechen bereitet . Jedesmal wenn ich MP3´s höre und ein Bild berechne krieg ich einen BlueScreen... Vielleicht streiten die sich ja um den CoProzessor? Wenn einer von euch weiß woran das liegen könnte dann bitte melden

Zitat von gordon freeman:
Ich verwende Win98 SE.
Ich auch! Daran liegts nit!

Zitat von turboPASCAL:
Ja, Streifen git es nach dem 11. (oder 12.) mal Zoom, ist ja auch ne' Demo Zwinkern

(hab noch k.A. wieso das passiert Confused )
Möglicherweise liegt das daran das sich die Zahlenwerte der Auflösungsgenauigkeit der Double-Variablen annähert. Meine Fraktale.exe gibt deshalb eine Warnung aus wenn die Zahlen alzu klein werden, und, wenn man die Warnung ignoriert undtrotzdem weiter und weiter hineinzoomed kriegt man irgenwann nur noch Streifen!

Zitat von Luckie:
Es wäre sehr nett gewesen, wenn du darauf hingewiesen hättest dass sich dein Programm in der Registry verewiegt: HKEY_CURRENT_USER\Fraktale. Und wenn du schon so was machst, dann mach den Eintrag bitte dahin, wo er hingehört, nämlich in den Software-Zweig. Evil or Very Mad
Welches Programm schreibt sich denn NIT in die Registry? Das ist eigentlich so üblich, und die Registry ist dafür da. Ok, das mit dem SoftWare-Zweig laß ich mir nochmal durch den Kopf gehen.

Zitat von TurboPASCAL:
Da muss ich ihm Recht geben, so ein Eintrag in die Reg. ist immer so ne' Sache, vor allem wenn es
kein Deinstallationsprg. gibt der den Eintrag wieder entfernt.
An der Registry geht kaum ein weg vorbei. In meinen Programmen schreib ich notwendige Daten immer unter dem Namen der Exe-Datei in die Registrierung. So ein Eintrag ist schnell zu finden und zu löschen (mit RegEdit). Vor langer langer Zeit hatte fast jedes Programm eine eigene *.ini-Datei, aber von diesem Konzept ist man schon ewig weg...

Grüße von TOC!
Lars Uwe Hohmann
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor
 
#26
  Alt 27. Jun 2005, 13:59
Zitat von TOC:
Zitat von TurboPASCAL:
Da muss ich ihm Recht geben, so ein Eintrag in die Reg. ist immer so ne' Sache, vor allem wenn es
kein Deinstallationsprg. gibt der den Eintrag wieder entfernt.
An der Registry geht kaum ein weg vorbei. In meinen Programmen schreib ich notwendige Daten immer unter dem Namen der Exe-Datei in die Registrierung. So ein Eintrag ist schnell zu finden und zu löschen (mit RegEdit). Vor langer langer Zeit hatte fast jedes Programm eine eigene *.ini-Datei, aber von diesem Konzept ist man schon ewig weg...

Grüße von TOC!
da muss ich dir aber sagen, dass ich (und imho die meisten im forum hier) aber der meinung sind, dass ini/xml/... dateien, die im programmverzeichnis oder der bei den "anwendungsdaten" landen vieeeel cooler finde.
Michael N.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#27
  Alt 27. Jun 2005, 14:04
Zitat von TOC:
Welches Programm schreibt sich denn NIT in die Registry? Das ist eigentlich so üblich, und die Registry ist dafür da. Ok, das mit dem SoftWare-Zweig laß ich mir nochmal durch den Kopf gehen.
Meine zum Beispiel nicht. Ich habe ja auch nichts dagegen gesagt, nur wäre es wünschenswert, wenn du das hier erwähnen würdest, damit man dein programm auch wieder restlos entfernen kann. Ich habe nur dne Eintrag im Code gesehen, dass du was in die Registry schreibst. Ich meine sogar, Daniel hätte es in den Richtlinien geschrieben, dass so was erwähnt werden muss.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von TOC
TOC

 
Delphi 7 Personal
 
#28
  Alt 27. Jun 2005, 14:17
Zitat von Luckie:
Meine zum Beispiel nicht. Ich habe ja auch nichts dagegen gesagt, nur wäre es wünschenswert, wenn du das hier erwähnen würdest, damit man dein programm auch wieder restlos entfernen kann. Ich habe nur dne Eintrag im Code gesehen, dass du was in die Registry schreibst. Ich meine sogar, Daniel hätte es in den Richtlinien geschrieben, dass so was erwähnt werden muss.
Sorry, daran hab ich gar nit gedacht! Also gut, dann werd ich in Zukunft darauf hinweisen.

Grüße von TOC!
Lars Uwe Hohmann
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#29
  Alt 27. Jun 2005, 15:27
Hi, @TOC Danke.

Streifen-Problem ist gelöst, eine Hilfsvariable war noch vom Type Single
dennoch kann es irgend wann Streifen geben wenn die Werte zu klein werden, abgefangen wird dies nicht, (zu faul )
Matti
  Mit Zitat antworten Zitat
scp

 
Delphi 7 Personal
 
#30
  Alt 27. Jun 2005, 15:33
Interessantes Programm. Da ich die C64-Zeit nicht direkt miterlebt hab (vom Alter her schon), freut es mich immer wieder solche Sachen zu sehen.


Zitat von TOC:

Hattest Du zufälligerweise MP3-Musik im Hintergrundlaufen während Du mit Fraktale.exe ein Bild berechnen wolltest? Das ist ein mir bekannter Fehler vom Fraktale-Programm der mir echt Kopfzerbrechen bereitet . Jedesmal wenn ich MP3´s höre und ein Bild berechne krieg ich einen BlueScreen... Vielleicht streiten die sich ja um den CoProzessor? Wenn einer von euch weiß woran das liegen könnte dann bitte melden

Zitat von gordon freeman:
Ich verwende Win98 SE.
Ich auch! Daran liegts nit!
Indirekt schon. Mit XP SP2 Home und Winamp 5 kein Problem.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 14:58 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