Ë
    #´˜j‘  ã                   óv   — d Z ddl­ ddlmZmZ  G d„ de«      Zd„ Ze	dk(  r e«       Z
 ee
«        e«        yy)	a&        turtle-example-suite:

        tdemo_fractalCurves.py

This program draws two fractal-curve-designs:
(1) A hilbert curve (in a box)
(2) A combination of Koch-curves.

The CurvesTurtle class and the fractal-curve-
methods are taken from the PythonCard example
scripts for turtle-graphics.
é    )Ú*)ÚsleepÚperf_counterc                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚCurvesTurtlec                 óÊ  — |dk(  ry | j                  |dz  «       | j                  ||dz
  | «       | j                  |«       | j                  |dz  «       | j                  ||dz
  |«       | j                  |«       | j                  ||dz
  |«       | j                  |dz  «       | j                  |«       | j                  ||dz
  | «       | j                  |dz  «       y )Nr   éZ   é   )ÚleftÚhilbertÚforwardÚright)ÚselfÚsizeÚlevelÚparitys       ú*lib/python3.12/turtledemo/fractalcurves.pyr   zCurvesTurtle.hilbert   sÆ   € Ø�AŠ:Øà�	‰	�&˜2‘+ÔØ�‰�T˜5 1™9 v gÔ.à�‰�TÔØ�
‰
�6˜B‘;ÔØ�‰�T˜5 1™9 fÔ-à�‰�TÔØ�‰�T˜5 1™9 fÔ-à�
‰
�6˜B‘;ÔØ�‰�TÔØ�‰�T˜5 1™9 v gÔ.ð 	�	‰	�&˜2‘+Õó    c                 óú  — dd l }d|z  |j                  |j                  |z  «      z  }| j                  «        | j	                  |«       | j                  «        | j                  dd|dz
  z  |z  z
  «       t        |«      D ])  }| j                  |||«       | j                  d|z  «       Œ+ | j                  dd|dz
  z  |z  z
  «       | j                  «        | j                  |«       | j                  «        y )Nr   é   é´   r	   ih  )ÚmathÚsinÚpiÚpuÚfdÚpdÚrtÚrangeÚfractalÚltÚbk)r   ÚnÚradÚlevÚdirr   ÚedgeÚis           r   Ú
fractalgonzCurvesTurtle.fractalgon/   sÌ   € Ûð �3‰w˜Ÿ™ $§'¡'¨A¡+Ó.Ñ.ˆØ�‰Œ	Ø�‰�ŒØ�‰Œ	Ø�‰��r˜Q ™U‘| aÑ'Ñ(Ô)Ü�q–ˆAØ�L‰L˜˜s CÔ(Ø�G‰G�C˜!‘GÕð ð 	�‰��r˜Q ™U‘| aÑ'Ñ(Ô)Ø�‰Œ	Ø�‰�ŒØ�‰�	r   c                 ór  — |dk  r| j                  |«       y | j                  |dz  |dz
  |«       | j                  d|z  «       | j                  |dz  |dz
  |«       | j                  d|z  «       | j                  |dz  |dz
  |«       | j                  d|z  «       | j                  |dz  |dz
  |«       y )Nr
   é   é<   éx   )r   r    r!   r   )r   ÚdistÚdepthr&   s       r   r    zCurvesTurtle.fractalB   s§   € Ø�1Š9Ø�G‰G�DŒMØØ�‰�T˜A‘X˜u q™y¨#Ô.Ø�‰��S‘ÔØ�‰�T˜A‘X˜u q™y¨#Ô.Ø�‰��c‘	ÔØ�‰�T˜A‘X˜u q™y¨#Ô.Ø�‰��S‘ÔØ�‰�T˜A‘X˜u q™y¨#Õ.r   N)Ú__name__Ú
__module__Ú__qualname__r   r)   r    © r   r   r   r      s   „ ò
ò2ó&
/r   r   c                  óÐ  — t        «       } | j                  «        | j                  d«       | j                  «        | j	                  «       j                  dd«       | j                  «        d}| j                  d|z  d|z  «       | j                  «        t        «       }| j                  d«       | j                  «        | j                  |«       | j                  |dd«       | j                  |«       t        d«      D ]-  }| j                  d«       | j                  |d	|d
z  z   z  «       Œ/ | j                  «        t        d
«      D ]$  }| j                  |«       | j!                  d«       Œ& | j                  «        t        d«      D ]-  }| j                  |d|d
z  z   z  «       | j!                  d«       Œ/ | j#                  «        t        «       }d||z
  z  }t%        d«       | j                  «        | j                  d«       | j                  «        | j	                  «       j                  dd«       t        «       }| j'                  dd«       | j                  «        | j)                  dddd«       | j#                  «        | j                  «        | j'                  d«       | j)                  dddd«       | j#                  «        t        «       }|d||z
  z  z  }|S )Nr   r
   é   ißÿÿÿiàÿÿÿÚredr+   r	   é@   r   é   éB   zHilbert: %.2fsec. ÚblackÚblueéú   éÈ   éÿÿÿÿzKoch: %.2fsec.)r   ÚresetÚspeedÚhtÚ	getscreenÚtracerr   Úsetposr   ÚclockÚ	fillcolorÚ
begin_fillr   r   r   r!   r   Úend_fillr   Úcolorr)   )Úftr   Útar(   ÚtbÚress         r   ÚmainrN   N   s+  € Ü	‹€Bà‡H�H„JØ‡H�HˆQ„KØ‡E�E„GØ‡L�LƒN×Ñ˜!˜AÔØ‡E�E„Gà€DØ‡I�Iˆc�$‰h˜˜D™Ô!Ø‡E�E„Gäƒw€BØ‡L�L�ÔØ‡M�M„OØ‡E�Eˆ$„Kà‡J�Jˆt�Q˜Ôð ‡E�Eˆ$„KÜ�1ŽXˆØ
�‰ˆbŒ	Ø
�‰ˆd�B�q˜‘s‘F‰mÕð ð ‡E�E„GÜ�1ŽXˆØ
�‰ˆdŒØ
�‰ˆb�	ð ð ‡E�E„GÜ�1ŽXˆØ
�‰ˆd�B�q˜‘s‘F‰mÔØ
�‰ˆb�	ð ð ‡K�K„MÜƒw€BØ 2 b¡5Ñ)€Cä	ˆ!„Hà‡H�H„JØ‡H�HˆQ„KØ‡E�E„GØ‡L�LƒN×Ñ˜!˜AÔäƒw€BØ‡H�HˆW�fÔØ‡M�M„OØ‡M�M�!�S˜!˜QÔØ‡K�K„MØ‡M�M„OØ‡H�HˆU„OØ‡M�M�!�S˜!˜RÔ Ø‡K�K„MÜƒw€BØÐ  2¡Ñ&Ñ&€CØ€Jr   Ú__main__N)Ú__doc__ÚturtleÚtimer   r   rE   ÚPenr   rN   r0   ÚmsgÚprintÚmainloopr3   r   r   Ú<module>rW      sG   ðñô ß -ô;/�3ô ;/òz7ðr �
ÒÙ
‹&€CÙ	ˆ#„JÙ…Jð r   