
    d4                         d Z ddlT ddlmZmZ ddlmZmZ dZ	d edez  dz            z  Z
d	 Zd
 Zd Zd ZddZd Zd Zd Zd ZddeddfdZefdZd Zedk    r e            Z e             dS dS )a         xturtle-example-suite:

          xtx_kites_and_darts.py

Constructs two aperiodic penrose-tilings,
consisting of kites and darts, by the method
of inflation in six steps.

Starting points are the patterns "sun"
consisting of five kites and "star"
consisting of five darts.

For more information see:
 http://en.wikipedia.org/wiki/Penrose_tiling
 -------------------------------------------
    )*)cospi)perf_countersleepgP/7?      
   c                 (   t           | z  }t          d           t          |            t          d           t          |           t          d           t          |           t          d           t          |            t          d           d S )N$   l      fltfdrtlfls     $  /croot/python-split_1694437901252/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.11/turtledemo/penrose.pykiter      r    	
QBrFFFqEEEsGGGrFFFrFFFrFFFsGGGqEEEsGGGGG    c                 (   t           | z  }t          d           t          |            t          d           t          |           t          d           t          |           t          d           t          |            t          d           d S )Nr   r   r   r   s     r   dartr   %   r   r   c                    |dk    r[t                      \  }}t          t                                t          |d          t          |d          }}}dt          |||f<   d S t
          | z  }t          d           t          ||dz
             t          |            t          d           t          ||dz
             t          d           t          | t          z             t          d           t          ||dz
             t          d           t          |            t          d	           t          ||dz
             t          d           d S )
Nr   r	   Tr      r            )posintheadingroundtiledictr   r   inflatedartr   r   inflatekitedr   npxpyhxyr   s           r   r(   r(   1   s#   AvvBgii..%1++uR{{a1 !Aa	
QBrFFFAaCqEEEsGGGAaCrFFFqsGGGsGGGAaCrFFFqEEEsGGGAaCrFFFFFr   c                 N   |dk    r[t                      \  }}t          t                                t          |d          t          |d          }}}dt          |||f<   d S t
          | z  }t          ||dz
             t          d           t          |            t          d           t          ||dz
             t          d           t          | t          z             t          d           t          ||dz
             t          |            t          d	           d S )
Nr   r	   Fr   r   r!   6   ~   r   )r"   r#   r$   r%   r&   r   r(   r   r   r   r'   r)   r*   s           r   r'   r'   G   s    AvvBgii..%1++uR{{a1!!Aa	
QBAaCrFFFqEEEsGGGAaCrFFFqsGGGsGGGAaCqEEEsGGGGGr   c                 |   t                       | t          |z  z  } t          | dz  | dz  |           t          D ]}|\  }}}t	          ||           t          |           t          |         r t          d           t          dd           nt          d           t          dd           t                       d S )Ng      Y@r   black)r         ?r   r   )r6   r   r   )	clearr   	shapesizer&   setpos
setheadingshapecolorstamp)r   r+   thkr.   r/   r0   s          r   drawr@   Z   s    	GGG	AqDAagqw### 
 
1aq!1A; 	)&MMM'<((((&MMM'<(((
 
r   c                 h    t          d          D ]!}t          | |           t          d           "d S N   H   )ranger(   r   r   r+   is      r   sunrH   j   >    1XX  Aq
2 r   c                 h    t          d          D ]!}t          | |           t          d           "d S rB   )rE   r'   r   rF   s      r   starrK   o   rI   r   c                  ^   t          d           t                       t          d           t                       t	          dt                                 t                       t          d           t                       t	          dt                                 t          d           d S )Nr   d   r   r   r   )tracer
begin_polyr   end_polyregister_shapeget_polyr    r   r   
makeshapesrT   t   s~    
1IIILLLIIIJJJ68::&&&LLLIIIJJJ68::&&&
1IIIIIr   c                      t                       t                       t                       t                       t	          d           d S )Nuser)resethtpurT   
resizemoderS   r   r   startr[      s:    	GGGDDDDDDLLLvr         )r   r   c                 d   t          |           t          d           i at          d            || |           t	          | ||           t          d           t          d t          D                       }t          d t          D                       }t          d||||z   fz             d S )Nr   r   c                 ,    g | ]}t           |         |S rS   r&   .0r/   s     r   
<listcomp>ztest.<locals>.<listcomp>   s!    111AXa[1a111r   c                 ,    g | ]}t           |         |S rS   r`   ra   s     r   rc   ztest.<locals>.<listcomp>   s!    555A!5a555r   z"%d kites and %d darts = %d pieces.)gotor:   r&   rN   r@   lenprint)r   r+   funstartposr>   nknds          r   testrl      s    NNNqMMMH
1IIIC1IIIArNNN
1III	11111	2	2B	55555	6	6B	
."b"R%
@AAAAAr   c                     t                       t          d          D ]L}t                      }t          d||            t                      }||z
  }|dk     rt	          d|z
             Md S )N   i,  r   )r[   rE   clockrl   r   )rh   rG   abts        r   demors      sp    	GGG1XX  GGS!SGGEq55!a%LLL r   c                  \   t          d           t          ddd           t          t                     t	          d           t          t
                     t          d           t          dd           t          ddd           t          d	d
d           t          ddd           dS )Nlogog333333?r   r   r5   i8gffffff?r   zPlease wait...center)zArial Blackr   bold)alignfontiX  rn   )F   u   )ri   Done)
modebgcolorrs   rH   r   rK   pencolorre   writerl   rS   r   r   mainr      s    LLLCaIII	!HHHJJJW4LLLSQ	
:< < < <a)$$$$6r   __main__N)r   )__doc__turtlemathr   r   timer   ro   r   r   r)   r   r   r(   r'   r@   rH   rK   rT   r[   rl   rs   r   __name__msgmainlooprS   r   r   <module>r      st                 - - - - - - - -AbDG
 
 

 
 
  ,  &      
  

 
 
   !u B B B B        z
$&&CHJJJJJ r   