Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Fraktal-Programm


tim-2k - Mo 25.04.05 16:37
Titel: Fraktal-Programm
Hi,

ich muss für ein Mathe LK Projekt (13. Jhg) ein Programm zu Fraktalen schreiben. Ich hätte gerne ein Programm zur Mandelbrot- oder Julia-Menge geschrieben, jedoch sind die beiden Themen schon vergeben. Einfache rekursive Sachen, wie z.B. das Sierpinski-Dreieck, die Koch Kurve oder der Menger-Schwamm beeindrucken mich (und vor allem den Lehrer) nicht so. Wüsstet ihr also etwas "Buntes" und Interessantes, wie etwa das Apfelmännchen oder die Julia-Menge?
Über Beispielprogramme (evlt. auch mit Quelltext) würde ich mich auch super freuen!

Wäre also nett, wenn ihr mir helfen könntet.


PS: Ich muss eine Beta-Version bis Mi., den 27.04.05 fertig haben :roll: und bis So., den 08.05.05 sollte es komplett fertig sein.


Gruß tim-2k


zemy - Mo 25.04.05 16:44

wiki roxx

http://de.wikipedia.org/wiki/Fraktal (Newtonfraktal, Phytagorasbaum, ...)

MfG Zemy


Delete - Mo 25.04.05 17:03

Schau mal hier nach : http://sourceforge.net/projects/fractalforge/

André


tim-2k - Mo 25.04.05 17:22

Hi, danke schonmal für die beiden schnellen Antworten.. werde mich mal nach dem Newton-Fraktal umsehen! Hab' schon etwas gegoogelt, aber noch nichts brauchbares in Richtung Delphi gefunden.


F34r0fTh3D4rk - Do 05.05.05 13:42

mein infag lehrer hat sowas mal geschrieben, seine programme gibts bei

http://www.physismart.de

ich weiß aber net ob die version davon als freeware demo zum download steht


und source könnte ich ihn vielleicht fragen

für das sierpinski dreieck ist hier: http://de.wikipedia.org/wiki/Chaos-Spiel sogar schon das prinzip des algos mit drin, also was will man mehr, ich werde das auch gleich mal probieren ^^


oh ich irre, es gibt mehr als man will ^^,
der code ist ja doch schon komplett fertig:

http://de.wikipedia.org/wiki/Chaos-Spiel#Pascal-Programm

ohhh wie schade :D


naja egal, meiner meinung nach eine gute darstellungsmethode:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure Sierpinski(x1, y1, x2, y2, x3, y3: Extended; t: Integer);
begin
  if t > 0 then
  begin
    with form1.Image1.Canvas do
      begin
        MoveTo(Round(x1), Round(y1));
        LineTo(Round(x2), Round(y2));
        LineTo(Round(x3), Round(y3));
        LineTo(Round(x1), Round(y1));
      end;
    Sierpinski(x1, y1, x1 + (x3 - x1) / 4, ((y1 - y2) / 2) + y2, x2, y1, t - 1);
    Sierpinski(x1 + (x3 - x1) / 4, ((y1 - y2) / 2) + y2, x2, y2, x1 + (x3 - x1) / 4 * 3, ((y1 - y2) / 2) + y2, t - 1);
    Sierpinski(x2, y1, x1 + (x3 - x1) / 4 * 3, ((y1 - y2) / 2) + y2, x3, y3, t - 1);
   end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  for i:= 1 to 8 do
    begin
      image1.Canvas.rectangle(00, image1.Width, image1.Height);
      Sierpinski(2035022050420350, i);
      application.processmessages;
      sleep(1000);
    end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  doublebuffered:= true;
end;

end.


Der absolute Hammer für deinen Lehrer wäre, wenn du dir selbst ein Fraktal ausdenken würdest, möglichst komplex, einen algo dafür zu schreiben ist dann bestimmt auch ganz lustig, man kann ja auch vorhandene fraktale aufmotzen, so zb: http://de.wikipedia.org/wiki/Bild:Pfeil.PNG

wenn du das mit delphi hinbekommst, dann holla die waldfee, das wäre schonmal was :D

ach ja: http://de.wikipedia.org/wiki/Kategorie:Fraktale_Geometrie :mrgreen:


oder wie wärs mit dem sierpinski dreieck in 3d ? hab gesehen, dass sich das leute aus der oberstufe angeguckt haben, die ham grad wohl rekursive algorithmen 8)