Файл:Дерево Пифагора.png

Содержимое страницы недоступно на других языках.
Материал из Викиучебника — открытых книг для открытого мира

Дерево_Пифагора.png(635 × 475 пкс, размер файла: 62 Кб, MIME-тип: image/png)

Краткое описание

Описание
Русский: Дерево Пифагора
English: Thin Pythagoras tree
Дата
Источник Собственная работа
Автор Владислав Молдован

Pascal src code

  • Size - original side length of the square
  • RotationAngle - branch angle
uses GraphABC;
const
  Size = 100;
  RotationAngle = 45;

procedure RLine(x, y, x1, y1: real) := Line(Round(x), Round(y), Round(x1), Round(y1)); 

procedure Draw(x, y, r, angle: real);
begin
  var ang1 := DegToRad(angle + 90);
  var x1 := x + r * Cos(ang1);
  var y1 := y + r * Sin(ang1);
  
  var ang2 := DegToRad(angle);
  var x2 := x1 + r * Cos(ang2);
  var y2 := y1 + r * Sin(ang2);
  
  var ang3 := DegToRad(angle - 90);
  var x3 := x2 + r * Cos(ang3);
  var y3 := y2 + r * Sin(ang3);
  
  var r2 := r / Sqrt(2);
  var ang4 := DegToRad(angle - 135);
  var x4 := x3 + r2 * Cos(ang4);
  var y4 := y3 + r2 * Sin(ang4);
  
  RLine(x, y, x1, y1);
  RLine(x1, y1, x2, y2);
  RLine(x2, y2, x3, y3);
  RLine(x3, y3, x, y);
  RLine(x, y, x4, y4);
  RLine(x3, y3, x4, y4);
  
  if r2 > 2 then
  begin
    var angm := angle - 45;
    var ang5 := DegToRad(angle - 135);
    var ang6 := DegToRad(angm);
    
    Draw(x + r2 * Cos(ang5), y + r2 * Sin(ang5), r2, angm);
    Draw(x4 + r2 * Cos(ang6), y4 + r2 * Sin(ang6), r2, angle + 45);
  end;
end;

begin
  LockDrawing();
  Draw(Window.Width / 2 - Size / 2, Window.Height / 2 + 100, Size, 0);
  Redraw();
end.

Лицензирование

Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующей лицензии:
w:ru:Creative Commons
атрибуция распространение на тех же условиях
Этот файл доступен по лицензии Creative Commons Attribution-Share Alike 4.0 International
Вы можете свободно:
  • делиться произведением – копировать, распространять и передавать данное произведение
  • создавать производные – переделывать данное произведение
При соблюдении следующих условий:
  • атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
  • распространение на тех же условиях – Если вы изменяете, преобразуете или создаёте иное произведение на основе данного, то обязаны использовать лицензию исходного произведения или лицензию, совместимую с исходной.

Краткие подписи

Добавьте однострочное описание того, что собой представляет этот файл
Thin Pythagoras tree

Элементы, изображённые на этом файле

изображённый объект

image/png

История файла

Нажмите на дату/время, чтобы увидеть версию файла от того времени.

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий14:14, 1 сентября 2017Миниатюра для версии от 14:14, 1 сентября 2017635 × 475 (62 Кб)Владислав МолдованUser created page with UploadWizard

Следующая страница использует этот файл:

Метаданные