Re: Simple fractal
- To: mathgroup at smc.vnet.net
- Subject: [mg121807] Re: Simple fractal
- From: Ulrich Arndt <ulrich.arndt at data2knowledge.de>
- Date: Mon, 3 Oct 2011 04:22:27 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201110020636.CAA28033@smc.vnet.net>
Hi,
might be not the most elegant solution but will produce some nice pictures.
Clear[fPoint, fGraph]
maxit = 10;
fPoint[{x_?NumericQ, y_?NumericQ}, sides_Integer, scale_,
level_?IntegerQ] :=
Table[{x, y} +
scale^level*{Cos[i*360/sides*Degree],
Sin[i*360/sides*Degree]}, {i, 1, sides + 1}];
fGraph[sides_, scale_, n_, m_] := Module[{result},
result = ConstantArray[0, m];
For[c = 1, c <= n, c++,
Which[c == 1,
result[[c]] = {fPoint[{0, 0}, sides, scale, (c - 1)]};,
True,
result[[c]] =
fPoint[#, sides, scale, (c - 1)] & /@
Union[Flatten[result[[c - 1]], 1]];
]
];
Show[Graphics[Line[#]] & /@ result[[1 ;; n]]]
];
Manipulate[
fGraph[sides, scale, n, maxit],
{{n, 5}, 1, maxit, 1}, {{scale, 1/2}, 0.1, 0.9}, {{sides, 3}, 3, 10,
1}]
Ulrich
Am 02.10.2011 um 08:36 schrieb Tom De Vries:
> I am trying to create a very simple fractal, but I am not having any success.
>
> I'd like to learn how to do this recursively, and hoping someone can
> give me a bit of a push in the right direction.
>
> It's a simple triangle with triangles at each corner, with triangles
> at each corner, etc.
>
> Below, a simple "level 1" graphic.
>
> scale = 0.5;
>
> list1 = Table[{0, 0} + {Cos[i*120*Degree], Sin[i*120*Degree]}, {i, 1,
> sides + 1}];
>
> list2 = (Table[#1 + scale*{Cos[i*120*Degree], Sin[i*120*Degree]}, {i,
> 1, sides + 1}] & ) /@ list1;
>
> Graphics[{Line[list1], Line[list2]}]
>
>
> Ideally I'd like to have a Manipulate with a slider for the level of
> the fractal, the scale applied to each level, and the distance each
> corner triangle is from the centre triangle.
>
> Sorry, I know this is simple programming, but I don't have any ideas
> how to start.
>
> Tom De Vries
>
--
Ulrich Arndt
Mobile: +49 172 287 6630
ulrich.arndt at data2knowledge.de
www.data2knowledge.de
data2knowledge GmbH
Fahrenheitstr. 1
D-28359 Bremen
Gesch=E4ftsf=FChrung: Ulrich Arndt
Sitz der Gesellschaft: Bremen, Amtsgericht Bremen, HRB 26480 HB
- References:
- Simple fractal
- From: Tom De Vries <tidetabletom@gmail.com>
- Simple fractal