Файл:Кривая Минковского.png
Содержимое страницы недоступно на других языках.
Материал из Викиучебника — открытых книг для открытого мира
Кривая_Минковского.png (371 × 297 пкс, размер файла: 5 Кб, MIME-тип: image/png)
Cведения об этом файле находятся на Викискладе?, хранилище изображений и мультимедиа для использования во всех проектах Фонда Викимедиа. |
Краткое описание
ОписаниеКривая Минковского.png |
English: Minkowski curve Русский: Кривая Минковского |
Дата | |
Источник | Собственная работа |
Автор | Владислав Молдован |
pascal src code
uses GraphABC;
procedure RLine(x, y, x1, y1: real) := Line(Round(x), Round(y), Round(x1), Round(y1));
function GetAngle(x, y, x2, y2: real): real;
begin
var angle := Abs(RadToDeg(ArcTan((y2 - y) / (x2 - x))));
if (x2 = x) and (y2 = y) then
Result := 0
else
if x2 > x then
if y2 > y then Result := angle else Result := 360 - angle
else
if y2 > y then Result := 180 - angle else Result := 180 + angle;
end;
function Distance(x, y, x1, y1: real) := Sqrt(Sqr(x1 - x) + Sqr(y1 - y));
procedure Draw(x, y, x1, y1: real);
begin
var r := Distance(x, y, x1, y1);
if r < 10 then
RLine(x, y, x1, y1)
else
begin
var angle := GetAngle(x, y, x1, y1);
var angleP := DegToRad(angle + 90);
var angleM := DegToRad(angle - 90);
r /= 4;
var dx := (x1 - x) / 4;
var dy := (y1 - y) / 4;
var xA := x + dx;
var yA := y + dy;
var xB := xA + dx;
var yB := yA + dy;
var xC := xB + dx;
var yC := yB + dy;
var x2 := xA + r * Cos(angleP);
var y2 := yA + r * Sin(angleP);
var x3 := xB + r * Cos(angleP);
var y3 := yB + r * Sin(angleP);
var x4 := xB + r * Cos(angleM);
var y4 := yB + r * Sin(angleM);
var x5 := xC + r * Cos(angleM);
var y5 := yC + r * Sin(angleM);
Draw(x, y, xA, yA);
Draw(xA, yA, x2, y2);
Draw(x2, y2, x3, y3);
Draw(x3, y3, xB, yB);
Draw(xB, yB, x4, y4);
Draw(x4, y4, x5, y5);
Draw(x5, y5, xC, yC);
Draw(xC, yC, x1, y1);
end;
end;
begin
Draw(100, 200, 400, 200);
end.
Лицензирование
Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующей лицензии:
Этот файл доступен по лицензии Creative Commons Attribution-Share Alike 4.0 International
- Вы можете свободно:
- делиться произведением – копировать, распространять и передавать данное произведение
- создавать производные – переделывать данное произведение
- При соблюдении следующих условий:
- атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
- распространение на тех же условиях – Если вы изменяете, преобразуете или создаёте иное произведение на основе данного, то обязаны использовать лицензию исходного произведения или лицензию, совместимую с исходной.
Элементы, изображённые на этом файле
изображённый объект
У этого свойства есть некоторое значение без элемента в
17 сентября 2017
image/png
История файла
Нажмите на дату/время, чтобы увидеть версию файла от того времени.
Дата/время | Миниатюра | Размеры | Участник | Примечание | |
---|---|---|---|---|---|
текущий | 06:51, 17 сентября 2017 | 371 × 297 (5 Кб) | Владислав Молдован | User created page with UploadWizard |
Использование файла
Следующая страница использует этот файл:
Метаданные
Файл содержит дополнительные данные, обычно добавляемые цифровыми камерами или сканерами. Если файл после создания редактировался, то некоторые параметры могут не соответствовать текущему изображению.
Горизонтальное разрешение | 37,79 точек на сантиметр |
---|---|
Вертикальное разрешение | 37,79 точек на сантиметр |