Среда программирования:
Pascal ABC.NET
Статья по теме:
Программа реализующая кривую Госпера.
Код программы:
Uses CRT, GraphABC; Procedure Draw(a, b, c, u : Real; n, m : Integer); Procedure Draw2(Var a, b: Real; v, u : Real; n, m : Integer); //переменные Begin Draw(a, b, c, u, n, m); a := a + c*cos(u); //основные формулы для построения b := b - c*sin(u) End; Begin If n > 0 Then //цикл построения ломанных линий Begin If m = 1 Then Begin a := a + c*cos(u); b := b - c*sin(u); u := u + pi End; u := u - 2*pi/19; //соединение ломанных линий c := c/sqrt(7); //задаем масштабирование Draw2(a, b, c, u, n-1, 0); //функции прорисовок Draw2(a, b, c, u+pi/3, n-1, 1); Draw2(a, b, c, u+pi, n-1, 1); Draw2(a, b, c, u+2*pi/3, n-1, 0); Draw2(a, b, c, u, n-1, 0); Draw2(a, b, c, u, n-1, 0); Draw2(a, b, c, u-pi/3, n-1, 1) End Else Line(Round(a), Round(b), Round(a + cos(u)*c), Round(b -sin(u)*c)) End; Begin SetWindowCaption('Кривая Госпера'); Setpencolor(clred); SetWindowSize(650,500); Draw(100, 355, 400, 0, 4, 0); End.
Прикрепленный файл | Размер |
---|---|
Krivaya_Gospera.rar | 57.25 кб |