Je kan met Delphi figuren tekenen op het programmascherm. Hiervoor gebruik je de property Canvas van Form.
Dit vind ik echt heel lastig, hopelijk kunnen jullie mij een beetje op weg helpen.
Dit is de opdracht::
De bedoeling is om een Sierpinski driehoek te maken, en de gebruiker voert het aantal stappen n in.
n geeft aan hoeveel witte vierkanten er op het scherm komen.
Dit is wat ik tot nu toe heb gemaakt::
Code: Selecteer alles
procedure tekenvierkantje (n, x1, y1, x2, y2: real);
var bovenhalf, rechtshalf: real;
p,q,r: integer;
begin
bovenhalf:= p+((1/2)*(q-p));
rechtshalf:= r+((1/2)*(q-r));
p:= 0;
q:= form1.ClientWidth;
r:= form1.ClientHeight;
form1.Canvas.Pen.Color:=clblack; {maak de pen zwart}
form1.Canvas.Pen.Width:=2; {geef de pen breedte 2}
form1.Canvas.Brush.Color:=Clwhite; {geef de brush de kleur wit}
form1.Canvas.Rectangle(p,0,q,r);
{teken een rechthoek}
end ;
procedure TForm1.Button1Click(Sender: TObject);
var bovenhalf, rechtshalf, p,q,r: real;
n,i: integer;
begin
bovenhalf:= p+((1/2)*(q-p));
rechtshalf:= r+((1/2)*(q-r));
n:= StrToInt (edit1.Text);
p:= 0;
q:= form1.ClientWidth;
r:= form1.ClientHeight;
Canvas.Pen.Color:=clWhite;
Canvas.Pen.Width:=2;
Canvas.Brush.Color:=Clblack;
Canvas.Rectangle(0,0,ClientWidth,ClientHeight);
Met deze code krijg je een zwarte rechthoek op het scherm te zien. Dit is het begin. nu moet je telkens de rechthoek opsplitsen in 4 gedeeltes. rechts bovenin komt dan een wit vierkant en de rest wordt zwart. dan bij de volgende stap worden in die 3 zwarte vierkanten de rechter bovenhoeken ook weer wit en dan de rest zwart enzovoort.
Ik vind het lastig wat je in die procedure tekenvierkantje moet zetten, en met welke waarden en hoe je die dan weer moet aanroepen.
Kun je dat met een herhaling doen? Die herhaling moet dat in de procedure buttonclicck toch?
Maar het worden toch steeds weer andere waarden, moet je ze dan allemaal ophogen?
Hopelijk kunnen jullie mij op weg helpen
Bedankt!