/// 2011-01-07 11:14 /// Deriva da: SierpinskiTriangleVector_7-01-a.clsr /// ********* File = a3_instance.clsr ************ /// Questa opera è pubblicato sotto una Licenza Creative Commons /// autore: Mauro Gazzelloni /// http://creativecommons.org/licenses/by-nc-sa/2.5/it/ $cicli = 6 $rap = 1.73205 define model:mdlMod([!a,!b],[&r1,&r2,&r3]) { &r3(!a,!b) &r1(!b,!c) &r1(!c,!d) &r1(!d,!a) &r2(!d,!b) } define function:deep($a,$b,$r,$k,$l) { CASE( $k==$l) { form:span(!$a,!$b) return } $k = $k + 1 I[]=fun:draw($a,$b,$r) I[]->!$x1 $v = -1 FOR ($x2) IN I[] { CASE($v == 1) fun:deep($x1,$x2,$r,$k,$l) ELSE fun:deep($x2,$x1,$r,$k,$l) $v = $v * -1 $x1=$x2 } } define function:draw($a,$b,$r) { $I=$$[!] &$rtrap($rap) &$r=model:mdlMod([!$b,!$a],[&rr,&$rtrap,&rdop]) $I[]=&$r(!$b,!$a,...) $I[]->!$x1 !$x1->$I[] return $I[] } !a(0,0) !b(1,0) @H &rr(!b,!c) &rtris(!a,!b,!c) &rdop(!a,!c) &rtrap($rap) &rMod=model:mdlMod([!a,!b],[&rr,&rtrap,&rdop]) @S fun:deep(!a,!b,&rMod,0,$cicli)