ó
    •JÕi‘  ã                   óx   • S r SSK7  SSKJrJr   " S S\5      rS r\	S:X  a  \" 5       r
\" \
5        \" 5         gg)	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                   ó&   • \ rS rSrS rS rS rSrg)ÚCurvesTurtleé   c                 óÄ  • US:X  a  g U R                  US-  5        U R                  XS-
  U* 5        U R                  U5        U R                  US-  5        U R                  XS-
  U5        U R                  U5        U R                  XS-
  U5        U R                  US-  5        U R                  U5        U R                  XS-
  U* 5        U R                  US-  5        g )Nr   éZ   é   )ÚleftÚhilbertÚforwardÚright)ÚselfÚsizeÚlevelÚparitys       ÚLib\turtledemo\fractalcurves.pyr   ÚCurvesTurtle.hilbert   s¾   € Ø�A‹:Øà�	‰	�&˜2‘+ÔØ�‰�T 1™9 v gÔ.à�‰�TÔØ�
‰
�6˜B‘;ÔØ�‰�T 1™9 fÔ-à�‰�TÔØ�‰�T 1™9 fÔ-à�
‰
�6˜B‘;ÔØ�‰�TÔØ�‰�T 1™9 v gÔ.ð 	�	‰	�&˜2‘+Õó    c                 óü  • SS K nSU-  UR                  UR                  U-  5      -  nU R                  5         U R	                  U5        U R                  5         U R                  SSUS-
  -  U-  -
  5        [        U5       H)  nU R                  XcU5        U R                  SU-  5        M+     U R                  SSUS-
  -  U-  -
  5        U R                  5         U R                  U5        U R                  5         g )Nr   é   é´   r
   ih  )ÚmathÚsinÚpiÚpuÚfdÚpdÚrtÚrangeÚfractalÚltÚbk)r   ÚnÚradÚlevÚdirr   ÚedgeÚis           r   Ú
fractalgonÚCurvesTurtle.fractalgon/   sÊ   € Ûð �3‰w˜Ÿ™ $§'¡'¨A¡+Ó.Ñ.ˆØ�‰Œ	Ø�‰�ŒØ�‰Œ	Ø�‰��r˜Q ™U‘| aÑ'Ñ(Ô)Ü�q–ˆAØ�L‰L˜ CÔ(Ø�G‰G�C˜!‘GÖñ ð 	�‰��r˜Q ™U‘| aÑ'Ñ(Ô)Ø�‰Œ	Ø�‰�ŒØ�‰�	r   c                 ót  • US:  a  U R                  U5        g U R                  US-  US-
  U5        U R                  SU-  5        U R                  US-  US-
  U5        U R                  SU-  5        U R                  US-  US-
  U5        U R                  SU-  5        U R                  US-  US-
  U5        g )Nr   é   é<   éx   )r   r"   r#   r    )r   ÚdistÚdepthr(   s       r   r"   Ú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__Ú__firstlineno__r   r+   r"   Ú__static_attributes__r4   r   r   r   r      s   † ò
ò2õ&
/r   r   c                  óØ  • [        5       n U R                  5         U R                  S5        U R                  5         U R	                  5       R                  SS5        U R                  5         SnU R                  SU-  SU-  5        U R                  5         [        5       nU R                  S5        U R                  5         U R                  U5        U R                  USS5        U R                  U5        [        S5       H.  nU R                  S5        U R                  US	US
-  -   -  5        M0     U R                  5         [        S
5       H%  nU R                  U5        U R!                  S5        M'     U R                  5         [        S5       H.  nU R                  USUS
-  -   -  5        U R!                  S5        M0     U R#                  5         [        5       nSXB-
  -  n[%        S5        U R                  5         U R                  S5        U R                  5         U R	                  5       R                  SS5        [        5       nU R'                  SS5        U R                  5         U R)                  SSSS5        U R#                  5         U R                  5         U R'                  S5        U R)                  SSSS5        U R#                  5         [        5       nUSXB-
  -  -  nU$ )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   ÚmainrT   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¡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ØÐ ¡Ñ&Ñ&€CØ€Jr   Ú__main__N)Ú__doc__ÚturtleÚtimer   r   rK   ÚPenr   rT   r5   ÚmsgÚprintÚmainloopr4   r   r   Ú<module>r]      sG   ðñô ß -ô;/�3ô ;/òz7ðr �
ÓÙ
‹&€CÙ	ˆ#„JÙ…Jð r   