File:Sierpinski-Curve-2.png
Материал из Викисклада, хранилища свободных медиафайлов
Перейти к навигации
Перейти к поиску
Sierpinski-Curve-2.png (512 × 512 пкс, размер файла: 2 КБ, MIME-тип: image/png)
Сведения о файле
Структурированные данные
Краткие подписи
ОписаниеSierpinski-Curve-2.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 Free Documentation License версии 1.2 или более поздней, опубликованной Фондом свободного программного обеспечения, без неизменяемых разделов, без текстов, помещаемых на первой и последней обложке. Копия лицензии включена в раздел, озаглавленный GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
Этот файл доступен по лицензии Creative Commons Attribution-Share Alike 3.0 Unported. | ||
| ||
Этот признак лицензирования был добавлен к этому файлу как часть обновления лицензии GFDL.http://creativecommons.org/licenses/by-sa/3.0/CC BY-SA 3.0Creative Commons Attribution-Share Alike 3.0truetrue |
История файла
Нажмите на дату/время, чтобы увидеть версию файла от того времени.
Дата/время | Миниатюра | Размеры | Участник | Примечание | |
---|---|---|---|---|---|
текущий | 15:39, 9 января 2007 | 512 × 512 (2 КБ) | Dbc334 (обсуждение | вклад) | cleared and compressed | |
21:16, 2 июля 2005 | 512 × 512 (23 КБ) | Nol Aders (обсуждение | вклад) | Sierpinski Curves (fractals) of orders 1 and 2 |
Вы не можете перезаписать этот файл.
Использование файла
Следующие 2 страницы используют этот файл:
Глобальное использование файла
Данный файл используется в следующих вики:
- Использование в de.wikipedia.org
- Использование в el.wikipedia.org
- Использование в en.wikipedia.org
- Использование в es.wikipedia.org
- Использование в fr.wikipedia.org
- Использование в it.wikipedia.org
- Использование в it.wiktionary.org
- Использование в nl.wikipedia.org
- Использование в ru.wikipedia.org
- Использование в uk.wikipedia.org