Файл:Sierpinski-Curve-2.png

Из Википедии, бесплатной энциклопедии

Sierpinski-Curve-2.png(512 × 512 пкс, размер файла: 2 КБ, MIME-тип: image/png)

Описание
English: Sierpinski Curves (fractals) of orders 1 and 2. Drawn by a Java program I did myself.
Дата
Источник Собственная работа
Автор User:Nol Aders

Pseudocode

points = [] // Array dels punts max_order = 8 // Nombre d'ordres a avaluar  // Punts inicials points <- Point.new(0, -1, :top) // Amunt points <- Point.new(1, 0, :right) // Dreta points <- Point.new(0, 1, :bottom) // Avall points <- Point.new(-1, 0, :left) // Esquerra  // Crear cada ordre a partir dels punts de l'anterior for order in 1..max_order  // Els punts actuals ja no surten al nou ordre  current = points.clone  points.clear  // La distància depèn de l'ordre  d = sd = 0.5 / (2 ** (order - 1))  // Crear punt nou a partir de cada punt de l'ordre anterior  for point in corrent  px = point.x  py = point.y  case point.type  when :top // Amunt  points <- Point.new(px - d - sd, py - sd, :top)  points <- Point.new(px - d, py, :right)  points <- Point.new(px + d, py, :left)  points <- Point.new(px + d + sd, py - sd, :top)  when :right // Dreta  points <- Point.new(px + sd, py - d - sd, :right)  points <- Point.new(px, py - d, :bottom)  points <- Point.new(px, py + d, :top)  points <- Point.new(px + sd, py + d + sd, :right)  when :bottom // Avall  points <- Point.new(px + d + sd, py + sd, :bottom)  points <- Point.new(px + d, py, :left)  points <- Point.new(px - d, py, :right)  points <- Point.new(px - d - sd, py + sd, :bottom)  when :left // Esquerra  points <- Point.new(px - sd, py + d + sd, :left)  points <- Point.new(px, py + d, :top)  points <- Point.new(px, py - d, :bottom)  points <- Point.new(px - sd, py - d - sd, :left)  end  end end 


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;  procedure Draw(x, y, x1, y1: real; inverted: boolean); begin   var angle := GetAngle(x, y, x1, y1);   var s := 1 - 2 * Ord(inverted);   var r := Sqrt(Sqr(x1 - x) + Sqr(y1 - y)) / 2;      var ang1 := DegToRad(angle - 60 * s);   var xA := x + r * Cos(ang1);   var yA := y + r * Sin(ang1);      var ang2 := DegToRad(angle - 120 * s);   var xB := x1 + r * Cos(ang2);   var yB := y1 + r * Sin(ang2);      if 2 * r < 8 then   begin     RLine(x, y, xA, yA);     RLine(xA, yA, xB, yB);     RLine(xB, yB, x1, y1);   end   else   begin     Draw(x, y, xA, yA, not inverted);     Draw(xA, yA, xB, yB, inverted);     Draw(xB, yB, x1, y1, not inverted);   end; end;  begin   Draw(100, 100, 400, 450, false); end. 



Эту математическую иллюстрацию желательно воссоздать или аккуратно преобразовать в векторный формат SVG. Это даёт несколько преимуществ, прочитать о которых подробнее вы можете на странице Commons:Media for cleanup. Если вам уже сейчас доступна векторная версия данного изображения, загрузите её, пожалуйста, а затем замените этот шаблон на следующий: {{Vector version available|Имя загруженного файла.svg}}.
GNU head Разрешается копировать, распространять и/или изменять этот документ в соответствии с условиями GNU Free Documentation License версии 1.2 или более поздней, опубликованной Фондом свободного программного обеспечения, без неизменяемых разделов, без текстов, помещаемых на первой и последней обложке. Копия лицензии включена в раздел, озаглавленный GNU Free Documentation License.
w:ru:Creative Commons
атрибуция распространение на тех же условиях
Этот файл доступен по лицензии Creative Commons Attribution-Share Alike 3.0 Unported.
Вы можете свободно:
  • делиться произведением – копировать, распространять и передавать данное произведение
  • создавать производные – переделывать данное произведение
При соблюдении следующих условий:
  • атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
  • распространение на тех же условиях – Если вы изменяете, преобразуете или создаёте иное произведение на основе данного, то обязаны использовать лицензию исходного произведения или лицензию, совместимую с исходной.
Этот признак лицензирования был добавлен к этому файлу как часть обновления лицензии GFDL.

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

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

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

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

image/png

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

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

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий15:39, 9 января 2007Миниатюра для версии от 15:39, 9 января 2007512 × 512 (2 КБ)Dbc334cleared and compressed
21:16, 2 июля 2005Миниатюра для версии от 21:16, 2 июля 2005512 × 512 (23 КБ)Nol AdersSierpinski Curves (fractals) of orders 1 and 2

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

Глобальное использование файла

Данный файл используется в следующих вики: