![]() |
Матрица статей Список статей Всячина Контакты | ||||||||||||
|
Звёздные фракталы
Звёздный фрактал состоит из правильной пятиконечной звезды с гирляндой из пяти меньших образцов.
Каждая из этих пяти более мелких звёзд несёт на своих четырёх свободных концах ещё более
мелкие звёзды. Этот процесс можно продолжать бесконечно, и в результате мы получим
звёздный фрактал изображённый на рисунке. Этот фрактал строится как замкнутая ломаная
линия, каждый следующий отрезок которой отклоняется всега на один и тот же угол
Рассмотрим предфрактал пятого порядка. Предположим, что отрезки пронумерованы от 0 до Правило, на котором основано построение, следующее: Отсюда следует, что длина отрезка с индексом n зависит от числа множителей
program Star;
uses Crt, Graph;
const
it = 1280;
r = 0.35;
l = 300;
da = 4 * pi/5;
v = 4;
var
gd, gm : Integer;
a : Real;
x, y : Real;
xn, yn : Real;
i : Integer;
function Mn(nn: Integer): Real;
begin
if nn mod (v*v*v*v) = 0 then
Mn := 1
else if nn mod (v*v*v) = 0 then
Mn := r
else if nn mod (v*v) = 0 then
Mn := r * r
else if nn mod v = 0 then
Mn := r * r * r
else
Mn := r * r * r * r;
end;
begin
gd := Detect;
InitGraph(gd,gm,'c:\bp\bgi');
a := 0;
x := 200;
y := 320;
for i := 0 to it do
begin
xn := x + sin(a)*l*Mn(i);
yn := y - cos(a)*l*Mn(i);
Line(Round(x), Round(y), Round(xn), Round(yn));
x := xn;
y := yn;
a := a + da;
end;
ReadKey;
CloseGraph;
end.
Теперь обобщим это правило на другие звёздные фракталы. Обозначим порядок предфрактала символом
Ссылки:
|