
    g                         d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZ d dlmZmZmZmZmZmZmZmZmZ d dlmZmZ d	 Zed
             Zd Zd Zd Zd Z dS )    )Tuple)Rationalpi)S)Symbolsymbols)asinh)sqrt)	CurveLinePointEllipseRaySegmentCirclePolygonRegularPolygon)raisesslowc                     t          dd          t          d          t          d          } t          dz  dz  g| ddf          }|j        | k    sJ |j        dz  dz  fk    sJ |                                t          dz  dz            k    sJ |                    |           t          dz  dz            k    sJ t          dz  dz  gddf          }|j        k    sJ |j        dz  dz  fk    sJ t          d          |                                t          dz  dz            k    sJ t          dd          |                                t          dz  dz            k    sJ |                    |           t          d| z  | dz            k    sJ |                    |j                  t          dz  dz            k    sJ |                    d           t          dz  dz            k    sJ |                                ddgk    sJ |                    |           | ddgk    sJ t          gdd	f                              t          dz            t           gdd	f          k    sJ t          gdd	f                              t          dz  d
          	                    dd          
                    d	d                                        t          dd                              t          dz  d
          	                    dd          
                    d	d                                        cxk    r t          dz  dz   dz  dz             k    sn J t          t          fd           t          t          fd           t          t          fd           t          t          fd           d S )NxTrealsz   r   t   )r   r      )r   r   )r   r         c                  *    t            ddf          S Nr   r   r   )r   s   [/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/geometry/tests/test_curve.py<lambda>ztest_curve.<locals>.<lambda>0   s    ua1a)44     c                  2    t            dz  fd f          S )Nr   r   r%   )r   s   r&   r'   ztest_curve.<locals>.<lambda>1   s    uaQZ!Q88 r(   c                  X    t            z   f ddf                                          S r$   r   arbitrary_pointr   r   s   r&   r'   ztest_curve.<locals>.<lambda>3   s+    uaQZ!Q;;KKMM r(   c                  Z    t            z   fddf                                         S r$   r+   r-   s   r&   r'   ztest_curve.<locals>.<lambda>4   s-    uaQZ!Q;;KKANN r(   )r   r   	parameter	functionsr,   r   plot_intervalrotater   scale	translater   r   
ValueError)r   cr   r   r   s     @@@r&   
test_curver7      sO   sAsAsA 	qsAqDkAq!9%%A;!;1Q31+%%%%%!QT"2"22222Q51ad#3#33333 	qsAqDkAq!9%%A;!;1Q31+%%%%sA%!QT"2"22222sA%!QT"2"22222Q51ad#3#33333Q[))U1Q31-=-=====T""eAaCA&6&66666??Aq	))))??1!Q****!Q!Q##**2a400EA2q'Aq!94M4MMMMM!Q!Q##**2a488>>q!DDNN	1 oa  VV##BqD&11771==GGq	 	!/!$$! ! ! ! 	bdQh!a  	! ! ! ! ! ! :4444555
:8888999
:MMMMMNNN
:NNNNNOOOOOr(   c                     t          d          \  } }}}}}}t          | |          j        | |hk    sJ t          | |f||f          j        | |||hk    sJ t	          | |f||f          j        | |||hk    sJ t	          | |f|          j        | ||hk    sJ t          | |f||f          j        | |||hk    sJ t          | |f|          j        | ||hk    sJ t          | |z  ||z  f|||f          j        | |||hk    sJ t          | |f||          j        | |||hk    sJ t          | |f||          j        | |||hk    sJ t          | |f||          j        | |||hk    sJ t          | |f|          j        | ||hk    sJ t          | |f||f||f          j        |||||| hk    sJ t          | |f||f||f          j        ||||| |hk    sJ t          | |f|||          j        || |||hk    sJ d S )Nza:f,s)angle)slope)eccentricity)vradiusr;   )r   r   free_symbolsr   r   r   r   r   r   r   r   )abr6   defr   s          r&   test_free_symbolsrC   7   s   !'**Aq!Q1aA;;#1v----AA,Aq!<<<<1v1v+1a|;;;;1vQ,Aq	9999Aq6Aq6""/Aq!Q<????Aa   -!Q::::!A#qsaAY''4Aq!DDDDAq61a  -!Q1====Aq611---:	
Aq!   Aq611555B	
Aq!   1a&!)aAY66661a&1a&1a&))6	
Aq!Q   Aq6Aq6Aq6**7	
Aq!Q   1a&!Q**7Aq!Q?JJJJJJr(   c                     t          dd          t          dd          } t          dz  fddf          t          dz  dz
  d	dz  z  d
z
  fddf          t          dd          t          t          j        t          dd                    t          dd          g}t          dd          t          dt          dd                    t          dd          g}                    dd	d          k    sJ fdt          ddd          D             |k    sJ fdt          ddd          D             |k    sJ t          | z   d	z  fddf                              | t          j                  t          t          j        z   d	z  fddf          k    sJ t          d	z  fddf          	                    dd          t          dz   d	z  dz   fddf          k    sJ d S )Nr   Tr   yr   r   r      r   
   iir    i)rF      c                 B    g | ]}                     |d z            S r   subs).0xir6   r   s     r&   
<listcomp>z"test_transform.<locals>.<listcomp>W   s)    555AFF1bdOO555r(   c                 B    g | ]}                     |d z            S rL   rM   )rO   rP   coutr   s     r&   rQ   z"test_transform.<locals>.<listcomp>X   s+    8882DIIaA888r(   rJ   )
r   r   r   r   Halfr   r3   r   rN   r4   )rE   ptspts_outr6   rS   r   s      @@@r&   test_transformrW   N   s-   sAsAq!Q$i!Q##A!A#'1QT6B;'!Q33DA;;afhq!nn55uQ{{
CCR~~uR#q)9)9::E"bMMJG771a  D((((55555eAq!nn555<<<<88888q!Q888GCCCC!a%11ay))..q!&99q16z1Q3!Q++, , , ,!QqSAq!9%%//155q1uacAgAq	**+ + + + + +r(   c                     t          dd          } t          | df| ddf          }|j        dk    sJ t          | | f| ddf          }|j        t          d          k    sJ t          | dz  | f| ddf          }|j        t          d           t	          d	          d	z  z
  t	          d
          d	z  z   dt          d          z  dz  z   k    sJ d S )Nr   Tr   r   r   r   rJ      rF   rG   e   )r   r   lengthr
   r	   )r   c1c2c3s       r&   test_lengthr_   _   s    sA	1v1ay	!	!B9>>>>	1v1ay	!	!B9Q	Q{Q1I	&	&B9b	E!HHqL0599q=@1tCyy=STCTTTTTTTTr(   c                       t          d          t          dz  dz  gddf                                d          dik    sJ t          t           fd           d S )Nr   r   r   )r   r   r   c                  0                          d          S )N)r   r   )parameter_valueCr   s   r&   r'   z&test_parameter_value.<locals>.<lambda>p   s    q00;; r(   )r   r   rb   r   r5   rc   s   @@r&   test_parameter_valuere   l   sx    sAqsAqDkAq!9%%AVQ''Aq61111
:;;;;;<<<<<r(   c                     t          d          \  } }t          | | dz  f| ddf          }t          d|z  |dz  g|ddf          } |d          t          dd          k    sJ  |d          t          dd          k    sJ d S )Nzt sr   r   rG   rF   r   )r   r   r   )r   r   r6   ps       r&   test_issue_17997rh   s   s    5>>DAqq!Q$i!Q$$AqsAqDkAq!9%%A1Q445A;;1Q445A;;r(   N)!sympy.core.containersr   sympy.core.numbersr   r   sympy.core.singletonr   sympy.core.symbolr   r   %sympy.functions.elementary.hyperbolicr	   (sympy.functions.elementary.miscellaneousr
   sympy.geometryr   r   r   r   r   r   r   r   r   sympy.testing.pytestr   r   r7   rC   rW   r_   re   rh    r(   r&   <module>rr      sQ   ' ' ' ' ' ' - - - - - - - - " " " " " " / / / / / / / / 7 7 7 7 7 7 9 9 9 9 9 9 e e e e e e e e e e e e e e e e e e e e e e - - - - - - - -)P )P )PX K K K,+ + +"
U 
U 
U= = =    r(   