U e5d ã@sPddlTddlmZmZGdd„deƒZdd„ZedkrLeƒZ e e ƒe ƒdS) é)Ú*)ÚsleepÚ perf_counterc@s$eZdZdd„Zdd„Zdd„ZdS)Ú CurvesTurtlecCs²|dkr dS| |d¡| ||d| ¡| |¡| |d¡| ||d|¡| |¡| ||d|¡| |d¡| |¡| ||d| ¡| |d¡dS)NréZé)ÚleftÚhilbertZforwardÚright)ÚselfÚsizeÚlevelZparity©rú0/usr/lib64/python3.8/turtledemo/fractalcurves.pyr s   zCurvesTurtle.hilbertcCs¶ddl}d|| |j|¡}| ¡| |¡| ¡| dd|d|¡t|ƒD] }| |||¡| d|¡q\|  dd|d|¡| ¡|  |¡| ¡dS)Nréé´rih) ÚmathZsinZpiÚpuÚfdÚpdÚrtÚrangeÚfractalÚltZbk)r ÚnZradZlevÚdirrZedgeÚirrrÚ fractalgon/s   zCurvesTurtle.fractalgoncCsœ|dkr| |¡dS| |d|d|¡| d|¡| |d|d|¡| d|¡| |d|d|¡| d|¡| |d|d|¡dS)Nréé<éx)rrrr)r ZdistZdepthrrrrrBs zCurvesTurtle.fractalN)Ú__name__Ú __module__Ú __qualname__r rrrrrrrsrcCsâtƒ}| ¡| d¡| ¡| ¡ dd¡| ¡d}| d|d|¡| ¡t ƒ}|  d¡|  ¡|  |¡|  |dd¡|  |¡tdƒD]$}| d¡|  |d |d ¡qš| ¡td ƒD]}|  |¡| d¡qÐ| ¡td ƒD]$}|  |d |d ¡| d¡qú| ¡t ƒ}d ||}tdƒ| ¡| d¡| ¡| ¡ dd¡t ƒ}| dd¡|  ¡| ddd d¡| ¡|  ¡| d¡| ddd d¡| ¡t ƒ}|d||7}|S)NrréißÿÿÿiàÿÿÿZredrré@rééBzHilbert: %.2fsec. ZblackZblueéúéÈéÿÿÿÿzKoch: %.2fsec.)rÚresetZspeedZhtZ getscreenZtracerrZsetposrÚclockZ fillcolorZ begin_fillrr rrrZend_fillrZcolorr)Zftr ZtarÚtbÚresrrrÚmainNs\               r/Ú__main__N) ZturtleÚtimerrr,ZPenrr/r!ÚmsgÚprintZmainlooprrrrÚs=9