[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

LOGO-L> Sierpinski Curves



I saw discussion on the list some time back concerning Sierpinski
triangles and gaskets but I don't believe I saw any discussion of the
Sierpinski Curve.

The following MSWlogo code produces the curve.  The attached gif was
created with a :len of 100 and a :level of 4. 

I have also created a MSWLogo project of this and installed it on my web
page.

regards,
-- 
Frank Caggiano
caggiano@atlantic.net
http://www.atlantic.net/~caggiano
----------------------------------------------------------------

to sierp :len :level 
;; :len sets the oveall size of the finished square.
;; :level controls the recusion 
;; 
;; The length equation was obtained from:
;;
;;http://www.bethel.edu/Academics/MathCS/Sierpinski/SierpinskiFrame.html

	make "len :len * 1 / ((power 2 (:level + 1)) - 2 + ((power 2 :level) *
sqrt 2))
	
	seth 0
	rt 135

	aSeg :len :level
	rt 90 fd :len rt 90

	bSeg :len :level
	rt 90 fd :len rt 90

	cSeg :len :level
	rt 90 fd :len rt 90

	dSeg :len :level
	rt 90 fd :len 
end

to lineSegment :len 
	fd :len lt 45 fd :len fd :len lt 45 fd :len 
end

to aSeg :len :level
	if :level < 1 [lineSegment :len stop]

	aSeg :len :level - 1
	rt 90 fd :len rt 90
	bSeg :len :level - 1
	lt 45 fd :len fd :len lt 45
	dSeg :len :level - 1
	rt 90 fd :len rt 90
	aSeg :len :level - 1

end

to bSeg :len :level
	if :level < 1 [lineSegment :len stop]

	bSeg :len :level - 1
	rt 90 fd :len rt 90
	cSeg :len :level - 1
	lt 45 fd :len fd :len lt 45
	aSeg :len :level - 1
	rt 90 fd :len rt 90
	bseg :len :level - 1
	
end

to cSeg :len :level
	if :level < 1 [lineSegment :len stop]

	cSeg :len :level - 1
	rt 90 fd :len rt 90 
	dSeg :len :level - 1
	lt 45 fd :len fd :len lt 45 
	bSeg :len :level - 1
	rt 90 fd :len rt 90
	cSeg :len  :level - 1
end

to dSeg :len :level
	if :level < 1 [lineSegment :len stop]

	dSeg :len :level - 1
	rt 90 fd :len rt 90
	aSeg :len :level - 1
	lt 45 fd :len fd :len lt 45
	cSeg :len :level - 1
	rt 90 fd :len rt 90
	dSeg :len :level - 1
end

GIF image



Global SchoolNet Foundation - Linking Kids Around the World!
Copyright GSN - All Rights Reserved - Comments & Questions
Visit GSN's Global Schoolhouse for more exciting learning resources!
Search our Site - Home