Уроки, алгоритмы, программы, примеры

Вход на сайт

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

Выдаёт ошибку glut32.dll не найден! При том, что он лежит в System32! Всё решил) Нужно отправить не в System32, а в System.
Спасибо за статью. Я не Ваш студент. Но мне она помогла написать функцию для Канторова множества на Python для черепашки: import turtle def kanter(x, y, d):     if d > 1:         turtle...
Как реализовать в данном примере границы расчёта?

Счетчики и рейтинг

Рейтинг@Mail.ru Яндекс.Метрика
Скриншот к примеру
Среда программирования: 
PascalABC.NET
Статья по теме: 

Запуск кода:
Для того чтобы запустить код нужно открыть приложение PascalABC.NET. Далее нужно скопировать код в рабочую зону и нажать на кнопку "Выполнить". После чего произойдет компиляция кода и с помощью модуля GraphABC появится окно в котором уже и будет построен фрактал.

Код программы: 

Program Selim;
uses GraphABC;//модуль для рисования в PascalABC.Net
 
procedure RLine(A, B, A1, B1: real):=Line(Round(A), Round(B), Round(A1), Round(B1)); //Проводим отрезок от точки с координатами (A, B) до точки с координатами (A1, B1)
 
procedure Draw(A, B, C, Angl: real);
begin
  var Ang1 := DegToRad(Angl);
  var EA := A + C * Cos(Ang1);
  var EB := B + C * Sin(Ang1);
 
  var Ang2 := Pi / 4;
 
  var Ang3 := Ang1 - Ang2;
  var EA1 := EA + C * Cos(Ang3);
  var EB1 := EB + C * Sin(Ang3);
 
  var Ang4 := Ang1 + Ang2;
  var EA2 := EA + C * Cos(Ang4);
  var EB2 := EB + C * Sin(Ang4);
 
  RLine(A, B, EA, EB);
  RLine(EA, EB, EA1, EB1);
  RLine(EA, EB, EA2, EB2);
 
  if C > 1 then
  begin
    C := C * 0.7;
    Draw(EA1, EB1, C, RadToDeg(Ang3));
    Draw(EA2, EB2, C, RadToDeg(Ang4));
  end;
end;
 
begin
  FloodFill(1, 1, clWhite); //заливка фона белым цветом
 
  SetPenColor(clBlack); //цвет линий
  LockDrawing(); // блокирует вывод в графическое окно , осуществляя рисование только во внеэкранном буфере
  Draw(500, Window.Height - 10, 70, -90);
  Redraw();
end.

Прикрепленный файлРазмер
Selim_examples_frac_28.zip486 байтов