Матрица статей        Список статей        Всячина        Контакты       

Кривая Такаги

Пусть Кривая Такаги определяется следующим образом:

где .


Кривая Такаги

program TakagiCurve;

uses Graph, Crt;

const
	l = 512;
  
var
	n, t   : Integer;
	gd, gm : Integer;
	m      : Array [0..l] of Integer;
	a      : Integer;
	t2     : integer;
	
begin
	gd := Detect;
	InitGraph(gd, gm, 'c:\bp\bgi');
	for n:=0 to l do 
		m[n]:=0;
	for t:=1 to 8 do 
	begin
		n:=0;
		repeat
			t2 := Round(exp(t*ln(2)));
			for a:=0 to t2 do 
				m[n + a] := m[n + a] + a;
				for a := t2 - 1 downto 1 do 
					m[n + 2*t2 - a] := m[n + 2*t2 - a] + a;
				n := n + 2*t2;
		until n >= l;
	end;
	for n := 0 to l do 
		Line(n, 439 - m[n], n - 1, 439 - m[n-1]);
	ReadKey;
	CloseGraph;
end.

Ссылки: