AGB  ·  Datenschutz  ·  Impressum  







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

problem mit sierpinski- Dreieck

Ein Thema von Gregor00 · begonnen am 20. Jan 2004 · letzter Beitrag vom 22. Jan 2004
 
Gregor00

Registriert seit: 18. Aug 2003
29 Beiträge
 
Delphi 5 Standard
 
#1

problem mit sierpinski- Dreieck

  Alt 20. Jan 2004, 21:39
hallo erstmal zusammen

also ich habe folgendes problem: ich möchte das sierpinski dreieck mit hilfe der rekursion programmieren.So wie ich es versucht habe funktioniert es allerdings nicht ich kann aber einfach nicht den fehler finden. ich hoffe ihr könnt mir weiterhelfen

Hier ist mein quelltext:


Delphi-Quellcode:
procedure sierpinski (ordnung : Integer; laenge, winkel:Real; a: integer)
var x,y: real;

begin
x := x+laenge*cos(winkel);
y := y-laenge*sin(winkel);
//Form1.PaintBox1.Canvas.LineTo (Round(x),Round(y));

sierpinski (ordnung-1, laenge / 2, winkel,a);
winkel := winkel + 2 * pi / 3;
sierpinski (ordnung-1, laenge / 2, winkel,a);
winkel := winkel - 2 * pi / 3;
sierpinski (ordnung-1, laenge / 2, winkel,a);
winkel := winkel - 2 * pi / 3;
sierpinski (ordnung-1, laenge / 2, winkel,a);
winkel := winkel + 2 * pi / 3;
sierpinski (ordnung-1, laenge / 2, winkel,a);
Inc(a);
Form1.paintbox1.Canvas.LineTo(Round(x),Round(y));
If a < (StrToInt(Form1.Combobox1.Text)) then
  sierpinski (ordnung, laenge, winkel,a)
  else
  exit;
end;
//end;


procedure TForm1.Button1Click(Sender: TObject);

var ordnung : Integer;
x, y, laenge, winkel : Real;
a: Integer;

begin
x := 100;
y := 380;
a:= 0;
refresh;
laenge :=400;
winkel :=0;
ordnung := (StrToInt(ComboBox1.Text));
PaintBox1.Canvas.MoveTo (Round(x), Round(y));
sierpinski (ordnung, laenge, winkel,a);
end;
Erklärung:
procedure siepinski... ist die rekursive Procedure, welche über den Button1 (nach Anglicken) aufgerufen wird. Die stufe des dreieckes (bzw. wie oft die rekursion wiederhohlt werden soll) wird in ComboBox1.Text angegeben.
problem: jedesmal kommt die nur zu bekannte fehlermeldung "Stack- überlauf" d.h. Irgendetwas muss mit der Abbruchbedingung nicht stimmen. ich weiß aber nicht was...

also vielen Dank schon mal für alle Antworten
cu gregor
  Mit Zitat antworten Zitat
 


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 02:48 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