Файл:Кольцо деревьев.png
Содержимое страницы недоступно на других языках.
Материал из Викиучебника — открытых книг для открытого мира
Кольцо_деревьев.png (597 × 597 пкс, размер файла: 126 Кб, MIME-тип: image/png)
Cведения об этом файле находятся на Викискладе?, хранилище изображений и мультимедиа для использования во всех проектах Фонда Викимедиа. |
Краткое описание
ОписаниеКольцо деревьев.png |
Русский: Кольцо деревьев English: tree ring |
Дата | |
Источник | Собственная работа |
Автор | Владислав Молдован |
Pascal src code
uses GraphABC;
const
K1 = 0.99;
K2 = 0.5;
K3 = 0.45;
IncAngle = 15;
Rotation = 45;
R1 = 130;
R2 = 160;
Iterations = 10;
procedure RLine(x, y, x1, y1: real):=Line(Round(x), Round(y), Round(x1), Round(y1));
procedure Draw(x, y, r, ang: real; toRight: boolean);
begin
var ang1 := DegToRad(ang);
var cx := x + r * Cos(ang1);
var cy := y + r * Sin(ang1);
RLine(x, y, cx, cy);
if r > 1 then
if toRight then
Draw(cx, cy, r * K1, ang + IncAngle, toRight)
else
Draw(cx, cy, r * K1, ang - IncAngle, toRight);
end;
procedure Draw(x, y, r, ang: real);
begin
Draw(x, y, r, ang, true);
Draw(x, y, r, ang, false);
end;
procedure DrawTree(x, y, r, ang: real; iterations: integer);
begin
var ang1 := ang;
ang := DegToRad(ang);
var cx := x + r * Cos(ang);
var cy := y + r * Sin(ang);
var mx := (x + cx) / 2;
var my := (y + cy) / 2;
RLine(x, y, cx, cy);
if r < 30 then
Draw(mx, my, r * 0.069, ang1);
if iterations > 0 then
begin
Dec(iterations);
var r2 := r * K2;
DrawTree(cx, cy, r * K3, ang1, iterations);
DrawTree(mx, my, r2, ang1 + Rotation, iterations);
DrawTree(mx, my, r2, ang1 - Rotation, iterations);
end;
end;
begin
SetWindowSize(600, 600);
SetWindowIsFixedSize(true);
ClearWindow(clBlack);
var W := Window.Width;
var H := Window.Height;
SetPenColor(clPink);
LockDrawing();
var W2 := W / 2;
var H2 := H / 2;
DrawTree(0, 0, R2, 45, Iterations);
DrawTree(W2, 0, R1, 90, Iterations);
DrawTree(W, 0, R2, 135, Iterations);
DrawTree(W, H2, R1, 180, Iterations);
DrawTree(W, H, R2, -135, Iterations);
DrawTree(W2, H, R1, -90, Iterations);
DrawTree(0, H, R2, -45, Iterations);
DrawTree(0, H2, R1, 0, Iterations);
Redraw();
end.
Лицензирование
Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующей лицензии:
Этот файл доступен по лицензии Creative Commons Attribution-Share Alike 4.0 International
- Вы можете свободно:
- делиться произведением – копировать, распространять и передавать данное произведение
- создавать производные – переделывать данное произведение
- При соблюдении следующих условий:
- атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
- распространение на тех же условиях – Если вы изменяете, преобразуете или создаёте иное произведение на основе данного, то обязаны использовать лицензию исходного произведения или лицензию, совместимую с исходной.
Элементы, изображённые на этом файле
изображённый объект
У этого свойства есть некоторое значение без элемента в
1 сентября 2017
image/png
История файла
Нажмите на дату/время, чтобы увидеть версию файла от того времени.
Дата/время | Миниатюра | Размеры | Участник | Примечание | |
---|---|---|---|---|---|
текущий | 09:32, 1 сентября 2017 | 597 × 597 (126 Кб) | Владислав Молдован | User created page with UploadWizard |
Использование файла
Следующая страница использует этот файл:
Метаданные
Файл содержит дополнительные данные, обычно добавляемые цифровыми камерами или сканерами. Если файл после создания редактировался, то некоторые параметры могут не соответствовать текущему изображению.
Горизонтальное разрешение | 37,79 точек на сантиметр |
---|---|
Вертикальное разрешение | 37,79 точек на сантиметр |