Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Delphi] Построение чертовой лестницы


Автор: Pitbul 29.9.2009, 16:30
На прикрепленной картинке изображено фрактал(чертова лестница), который надо построить с помощью рекурсий (<10 шт). Я написал код, но его действие коректно только на 0, 1, шаге со второго начинается не правильное построение.

Код

var x1,x2,y,k: integer;
begin
    x1=65; x2=130; y=100;
    k=strtoint(edit1.text);
    image1.pictureAssign(nil);
    lestnica(x1,x2,y,k);
end;



Код

procedure lestnica (x1,x2,y,k: integer);
var x3,x4,x5,x6,y1,y2: integer
begin
    form1.image1.canvas.moveto(x1,y);
    form1.image1.canvas.lineto(x2,y);
    if (k>0) then
        begin
            x3:=round(x2+(x2-x1)/3);
            x4:=round(x3+(x2-x1)/3);
            y1:=y-y/2;
            x5:=round(x1-(2/6)*(x2-x1));
            x6:=round(x5+(x2-x1)/3);
            y2:=y+y/2;
            lestnica(x3,x4,y1,k-1);
            lestnica(x5,x6,y2,k-1);
        end;
end.


Из этого кода можем заметить что определяется 2 точки с помощью координат (x1,y) & (x2,y) из за общей координаты у, вылазит ошибка о которой я говорю.
Может ли кто-то описать алгоритм построения кода, но так что бы участвовали координаты (x1,y1) & (x2,y2)

Огромное спасибо smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)