+
    ig                     ~   ^ RI Ht ^ RIHtHtHt ^ RIHt ^ RIH	t	 ^ RI
HtHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHtHtHtHtHtHtHtHtH t H!t!H"t" ^ RI#H$t$H%t% ^ RI&H't' ^ RI(H)t) ^ RIH*t* R t+R t,]%R 4       t-R t.R t/R t0R t1R t2R t3R t4R t5]%R 4       t6R t7R t8R t9R t:R  t;R! t<R" t=R# t>R$# )%    )expand)Rationaloopi)Eq)S)Symbolsymbols)Abs)sqrt)sec)	Segment2D)Point2D)CircleEllipseGeometryErrorLinePointPolygonRayRegularPolygonSegmentTriangleintersection)raisesslow)	integrate)
elliptic_e)Maxc                  F   ^ RI Hp Hp \        \	        ^^ 4      ^^4      p\        VP                  ^R7      4      \        V ) V,           ^,           ^,          ^,          W,           ^,
          ^,          ^,          ,           ^,
          4      8X  g   Q h\        \	        ^ ^ 4      ^^4      p\        VP                  ^R7      4      \        V ) V,           ^,          ^,          W,           ^,          ^ ,          ,           ^,
          4      8X  g   Q h\        \	        ^^4      ^^4      p\        VP                  ^R7      4      \        RV ,          V,           ^,
          ^,          ^,          V ^V,          ,           ^,
          ^,          ^,          ,           ^,
          4      8X  g   Q hR# )r   xy)_slopeN)	sympy.abcr"   r#   r   r   strequation)r"   r#   e1e2e3s        _/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/geometry/tests/test_ellipse.py!test_ellipse_equation_using_sloper-      s3   	q!a	#Br{{!{$%qb1fqj1_Q->!%!)aPRAR-RUV-V)WWWW	q!a	#Br{{!{$%qb1fq[]aeaZ]-JQ-N)OOOO	q!a	#Br{{!{$%bdQhlQ->r-AQ1Wr\TUDUVYDY-Y\]-])^^^^    c            
      	  aaaa ^ RI HoHoHoHoHp HpHp \        S^,          S^,          ,           ^S,          ,           ^S,          ,           ^,
          4      \        \        \        R4      ^,          R4      \        ^94      ^,          4      8X  g   Q h\        S^,          S^,          ,           ^S,          ,           ^S,          ,           ^,           4      \        \        RR4      ^ 4      8X  g   Q h\        S^,          S^,          ,           ^S,          ,           ^S,          ,           ^,           RRR7      \        \        RR4      ^ 4      8X  g   Q h\        S^,          S^,          ,           ^,
          4      \        \        ^ ^ 4      ^4      8X  g   Q h\        S^,          S^,          ,           4      \        \        ^ ^ 4      ^ 4      8X  g   Q h\        S^,          S^,          ,           RRR7      \        \        ^ ^ 4      ^ 4      8X  g   Q h\        S^,          S^,          ,           ^S,          ,           ^,           4      \        \        R^ 4      ^4      8X  g   Q h\        S^,          S^,          ,           ^S,          ,           ^,           4      \        \        ^ R4      ^4      8X  g   Q h\        S^,
          ^,          S^,          ,           ^	,
          4      \        \        ^^ 4      ^4      8X  g   Q h\        ^S^,          ,          ^S^,          ,          ,           ^S,          ,           ^S,          ,           ^,
          4      \        \        \        R^4      \        R^4      4      ^\        ^4      ,          ^,          4      8X  g   Q h\        \        S^,          S^,          ,           ^4      RSR7      \        \        ^ ^ 4      ^4      8X  g   Q h\        \        VV3R l4       \        \        VV3R l4       \        \        VV3R l4       \        \        VV3R l4       \        \        VV3R	 l4       \        \         VV3R
 l4       \#        RRR7      w  ooSS^,          ,          SS^,          ,          ,           V S,          ,           VS,          ,           V,           p\%        \        V4      P'                  4       S,          4      V8X  g   Q hR# )r   )r"   r#   abcder0   r1   r!   c                     < \        S ^,          S^,          ,           ^S ,          ,           ^S,          ,           ^,           4      #    r   r!   s   r,   <lambda>+test_object_from_equation.<locals>.<lambda>.   s-    &A1qs):QqS)@2)E"Fr.   c                  R   < \        S ^,          S^,          ,           ^,           4      # r6   r8   r!   s   r,   r9   r:   /   s    &A1r)9":r.   c                  X   < \        S ^,          S^,          ,           ^,           RRR7      # )r7   r0   r1   r!   r8   r0   r1   s   r,   r9   r:   0   s    &A1r)9SC"Hr.   c                  R   < \        S ^,          ^S,          ,           ^,           4      # r6   r8   r!   s   r,   r9   r:   1   s    &A!a"8r.   c                     < \        ^S ^,          ,          ^S^,          ,          ,           ^S ,          ,           ^S,          ,           ^,           4      # )   r8   r!   s   r,   r9   r:   2   s6    &AFaAh)>1)Dqs)JR)O"Pr.   c                     < \        S ^,          S^,          ,           ^S ,          ,           ^S,          ,           ^,
          4      # r6   r8   r=   s   r,   r9   r:   3   s-    vadQTkAaC&7!A#&=&ABr.   zx yTrealNr%   )r&   r"   r#   r0   r1   r2   r3   r4   r   r   r   r   r   r   r   r   
ValueErrorr
   r   r(   )r2   r3   r4   eqr0   r1   r"   r#   s       @@@@r,   test_object_from_equationrI   !   sy   ---!Q$A+!#ac)A-.&2B9OQUVXQY\]Q]2^^^^!Q$A+!#ac)B./6'"b/13MMMM!Q$A+!#ac)B.#=PRTVYZA[[[[!Q$A+"#vgamQ'????!Q$A+&A"::::!Q$A+,wq!}a0HHHH!Q$A+!#a'(F72q>1,EEEE!Q$A+!#a'(F71b>1,EEEE1q51*q!t#a'(F71a=!,DDDD!QT(Q1X%!+ac1B676'(SUWX/[cdfhi[jBkmnostuovmvwxmx;yyyy"QTAqD["%2fWQ]A6NNNN
=FG
=:;
=HI
=89
=PQ
:BC5t$DAq	
1a4!AqD&1Q3	1	$q	(B&*%%')*b000r.   c                  A  a*a+a,a-a. \        R RR7      o-\        RRR7      o.\        RRR7      p \        RRR7      p\        P                  p\        ^ ^ 4      p\        ^^4      p\        ^ ^4      p\	        V^^4      p\	        WB^4      o+\	        W1V4      p\        V^4      p\        V^4      p	\        \        \        ^4      \        ^4      4      ^4      p
\        W44      p\        ^V,          ^4      ^V,          r\        \        ^ ^ 4      \        ^^ 4      \        ^ ^4      4      \        W4      8X  g   Q h\        \        ^ ^ 4      \        ^^4      \        ^^4      4      \        \        ^ ^ 4      \        ^^4      4      8X  g   Q h\        \        R 4       \        \        R 4       \        \        R 4       \        \        R	 4       \	        R
^^4      P                  \        ^ ^ 4      8X  g   Q hWh8X  g   Q hVS+8w  g   Q hWk8w  g   Q hWV9   g   Q hWf9   g   Q hS+S+9   g   Q h^S+9  g   Q hVS+9  g   Q hVP                  \        8X  g   Q hS+P                  \        ^,          8X  g   Q hVP                  \        V,          \!        V4      ,          8X  g   Q hVP                  VP                  8X  g   Q hVP"                  VP"                  8X  g   Q hVP"                  ^\        ,          V,          8X  g   Q hVP%                  4       S+P%                  4       u;8X  d   V \        ) \        .8X  g   Q h Q hVP%                  S-4      S+P%                  S-4      u;8X  d   S-\        ) \        .8X  g   Q h Q hVP&                  ^8X  g   Q hVP(                  ^8X  g   Q hVP*                  ^8X  g   Q hVP,                  ^8X  g   Q h\	        R^ ^ 4      \        ^^4      8X  g   Q h\	        R^^ 4      \/        \        ^ ^4      \        ^^4      4      8X  g   Q h\	        R^ ^4      \/        \        ^^ 4      \        ^^4      4      8X  g   Q h\1        V4      \1        \        \        ^^ 4      \        ^ ^4      \        ^ R4      4      4      8X  g   Q hW9   g   Q h\        W44      V9   RJ g   Q hVP3                  V4      ^ 8X  g   Q hVP3                  \        ^ ^ 4      4      ^ 8  g   Q hVP5                  \/        \        RR4      \        RR4      4      4      RJ g   Q hVP5                  \        W44      4      RJ g   Q hVP5                  \7        W44      4      RJ g   Q hVP5                  V4      RJ g   Q hVP5                  \9        \        RR4      \        RR4      \        RR4      4      4      RJ g   Q hVP5                  \;        VR^4      4      RJ g   Q hVP5                  \;        V^^4      4      RJ g   Q hVP5                  \;        V^^4      4      RJ g   Q hS+P=                  4       S+9   g   Q h\        \        V-V.3R l4       \        \        ^4      ^ 4      \        \        ^4      ) ^ 4      r\	        \        ^ ^ 4      ^^4      pVP>                  W3W339   g   Q h\        ^4      ^,          p\        VV4      pV\        V^ 4      ,           pV\        ^ ^4      ,           pVPA                  V4      VPA                  V4      8X  g   Q hS+PA                  V4      \        \        \C        ^^4      ^4      \        \C        ^^4      \        P                  4      4      .8X  g   Q hS+PA                  V4      \        \        ^^4      \        \C        ^^4      ^4      4      .8X  g   Q hVPA                  V4      \        V\        ^ \        ^4      4      4      .8w  g   Q hVPA                  V4      . 8X  g   Q hS+PE                  \        VV\        V^4      ,           4      4      '       g   Q hS+PE                  \        VV\        V^4      ,           4      4      '       g   Q hVPE                  \        V\        ^ \        ^4      4      4      4      '       g   Q hVPE                  \        \        ^ ^ 4      \        ^^4      4      4      RJ g   Q hVPE                  V4      RJ g   Q hVPE                  \	        \        ^^ 4      ^^4      4      RJ g   Q hVPE                  \9        \        ^^4      \        ^R4      \        ^^ 4      4      4      RJ g   Q hVPE                  \9        \        ^^4      \        ^^ 4      \        ^^ 4      4      4      RJ g   Q h\        \        ^^4      ^4      PE                  \        \        ^ ^4      ^4      4      RJ g   Q h\	        \        ^^4      ^^4      PA                  \        ^ ^ 4      4      \        \        ^ ^ 4      \        \C        ^M^4      \C        ^^4      4      4      \        \        ^ ^ 4      \        \C        ^!^4      \C        ^^4      4      4      .8X  g   Q h\	        \        ^^4      ^^4      PA                  \        ^^4      4      \        \        ^^4      \        ^^4      4      \        \        ^^4      \        ^^4      4      .8X  g   Q h\        \        ^^4      ^4      PA                  \        ^^4      4      \        \        ^^4      \        ^^4      4      \        \        ^^4      \        ^^4      4      .8X  g   Q h\        \        ^^4      ^4      PA                  \        ^^\        ^4      ,          ,
          ^4      4      \        \        ^^\        ^4      ,          ,
          ^4      \        ^\        ^4      ,
          ^\        ^4      ,
          4      4      \        \        ^^\        ^4      ,          ,
          ^4      \        ^\        ^4      ,
          ^\        ^4      ,           4      4      .8X  g   Q h\        \        ^^4      ^4      PA                  \        ^^ 4      4      \        \        ^^ 4      \        \C        ^(^4      \C        ^^4      4      4      \        \        ^^ 4      \        ^^ 4      4      .8X  g   Q h\        \        ^^4      ^4      PA                  \        ^ ^4      4      \        \        ^ ^4      \        ^ ^4      4      \        \        ^ ^4      \        \C        ^^4      \C        ^Z^4      4      4      .8X  g   Q hR o,V,3R lp\	        \        ^ ^ 4      ^^4      o*S*PG                  \        ^ ^ 4      4      \        \        ^ ^ 4      \        ^ ^4      4      \        \        ^ ^ 4      \        ^^ 4      4      .8X  g   Q hS*PG                  \        ^^ 4      4      \        \        ^ ^ 4      \        ^^ 4      4      .8X  g   Q hS*PG                  R4      \        \        ^ ^ 4      \        ^ ^4      4      .8X  g   Q hV! S*PG                  \        ^^4      ^4      \        \        \C        R ^4      \C        R^4      4      \        \C        R!^4      \C        ^^S4      4      4      \        \        \C        ^^4      \C        R"^4      4      \        \C        ^9^4      \C        R#^4      4      4      .^4      '       g   Q h\        \        ^4      \        P                  4      pVS*9   g   Q hV! S*PG                  V^4      \        \        \C        R$^4      \C        R^4      4      \        \C        R%^4      \C        ^^@4      4      4      \        \        \C        ^^4      \C        R^4      4      \        \C        ^)^4      \C        R&^4      4      4      .^4      '       g   Q h\	        R'^^\        ^4      ,          ^,          4      o*V! S*PG                  R^4      \        \        \C        R(^!4      \C        R)^G4      4      \        \C        R*^!4      \C        ^^4      4      4      \        \        ^R4      \        ^R+4      4      .^4      '       g   Q h\	        R'S-^4      o*S*PG                  S-^,           ^ 34      \        \        ^ ^ 4      \        ^^ 4      4      .8X  g   Q h\        \H        V*V-3R l4       ^p^p\	        VVV4      pVPJ                  \        V^,          V^,          ,
          4      8X  g   Q hVPJ                  V,          pVPL                  V8X  g   Q hVPN                  V^V,
          ,          8X  g   Q hVPP                  V^V,           ,          8X  g   Q hVPR                  V^V^,          ,
          ,          8X  g   Q h\	        VVV4      pVPJ                  \        V^,          V^,          ,
          4      8X  g   Q hVPJ                  V,          pVPL                  V8X  g   Q hVPN                  V^V,
          ,          8X  g   Q hVPP                  V^V,           ,          8X  g   Q h\        \        ^R,4      \        ^^4      4      p\        \        R,R4      \        ^R4      4      p\        \        RR4      \        ^^4      4      p\        \        R-^ 4      \        ^ ^
4      4      p\        \        ^4      ^,          \        ^4      ^,          4      \        \        ^4      ) ^,          \        ^4      ) ^,          4      .p\U        S+V4      . 8X  g   Q h\U        V\        ^^ 4      4      \        ^^ 4      .8X  g   Q h\U        W4      \        ^^ 4      .8X  g   Q h\U        VV4      \        ^ R4      .8X  g   Q h\U        VV4      VV^,          V^ ,          .39   g   Q h\U        W4      \        ^ ^4      \        ^^ 4      .8X  g   Q h\U        W4      \        \        ^4      ^,          \        ^4      ^,          4      .8X  g   Q hVPU                  V4      \        ^^ 4      .8X  g   Q hS+PU                  V4      . 8X  g   Q hVPU                  \        \        ^ ^4      ^4      4      \        ^ ^4      .8X  g   Q hVPU                  \        \        ^^ 4      ^4      4      . 8X  g   Q hVPU                  \	        \        ^^ 4      ^^4      4      \        ^^ 4      .8X  g   Q hVPU                  \	        \        ^^ 4      ^^4      4      . 8X  g   Q hVPU                  \        ^^ 4      4      . 8X  g   Q hVPU                  V4      V8X  g   Q h\U        \	        \        ^ ^ 4      ^^4      \	        \        ^^ 4      ^^4      4      \        ^^ 4      .8X  g   Q h\U        \        \        ^ ^ 4      ^4      \        \        ^^ 4      ^4      4      \        ^^ 4      .8X  g   Q h\U        \        \        ^ ^ 4      ^4      \        \        ^^ 4      ^4      4      . 8X  g   Q h\U        \	        \        ^ ^ 4      ^^4      \	        \        ^^ 4      ^R4      4      \        R^ RR7      .8X  g   Q h\U        \	        \        ^ ^ 4      ^^4      \	        \        ^^ 4      RR4      4      . 8X  g   Q h\        R'\        P                  4      PU                  \W        R.R/R4      4      \        \C        R^4      ^ 4      \        \        P                  ^ 4      .8X  g   Q h\        \X        V+3R l4       \        \X        V+3R l4       \        \X        V+3R l4       \        V^4      p\        V^4      p \        \        ^^4      ^4      p!VPU                  V 4      . 8X  g   Q hVPU                  V!4      . 8X  g   Q hVPU                  V4      V8X  g   Q h\        ^4      p\W        \        ^ V4      \        ^ V) 4      \        V^ 4      4      p"\U        V"V4      p#\[        V#4      ^8X  g   Q h\        ^ ^4      V#9   g   Q h\        ^ R4      V#9   g   Q h\        V^,          V^,          4      V#9   g   Q h\        V^,          V) ^,          4      V#9   g   Q h\        \        ^ ^ 4      ^4      p$\	        \        ^ ^ 4      ^^4      p%\U        V$V%4      \        ^^ 4      \        R,^ 4      .\        R,^ 4      \        ^^ 4      .39   g   Q hV%PA                  \        ^ ^ 4      4      . 8X  g   Q h\	        \        ^ ^ 4      ^^4      p%V%PA                  \        ^^ 4      4      \        \        ^^ 4      \        ^R04      4      .8X  g   Q h\	        \        ^ ^ 4      ^^
4      p\	        \        ^^4      ^^4      o+\C        ^5^4      p&^\        R4      ,          ^,          p'\        V&V'^,          ,
          V&^,          V',           4      \        V&V'^,          ,           V&^,          V',
          4      .p(VPU                  S+4      V(8X  g   Q h\	        \        S-S.4      ^^4      o+\        R4      p'\        V') ^D,          V&,           V'\C        ^^4      ,          V&^,          ,           4      \        V'^D,          V&,           V'\C        R1^4      ,          V&^,          ,           4      .p(VPU                  S+4       Uu. uF  pVP]                  S-^S.^/4      NK  	  upV(8X  g   Q hVPE                  VPA                  V\        V^ 4      ,           4      ^ ,          4      '       g   Q h\	        R2^^4      o*S*PA                  \        ^
^ 4      4      \        \        ^
^ 4      \        ^^ 4      4      \        \        ^
^ 4      \        \C        ^^4      \C        ^^4      4      4      .8X  g   Q h\	        R'^^4      o*S*P_                  S*P                  4      '       g   Q hS*P_                  S*P                  \        ^ S*P,                  \C        ^^
4      ,
          4      ,           4      '       g   Q hS*P_                  S*P                  \        S*P*                  \C        ^^
4      ,
          ^ 4      ,           4      '       g   Q hS*P_                  S*P                  \        S*P*                  ^ 4      ,           4      RJ g   Q hS*P_                  S*P                  \        S*P*                  \C        ^^
4      ,           ^ 4      ,           4      RJ g   Q h\	        R'^^4      o*S*P_                  S*P                  4      '       g   Q hS*P_                  S*P                  \        ^ S*P,                  \C        ^^
4      ,
          4      ,           4      '       g   Q hS*P_                  S*P                  \        S*P*                  \C        ^^
4      ,
          ^ 4      ,           4      '       g   Q hS*P_                  S*P                  \        S*P*                  ^ 4      ,           4      RJ g   Q hS*P_                  S*P                  \        S*P*                  \C        ^^
4      ,           ^ 4      ,           4      RJ g   Q hVP_                  \        ^^ 4      4      RJ g   Q hVP_                  \        RR4      4      RJ g   Q hS*Pa                  ^^4      \	        R'^^4      8X  g   Q hS*Pa                  ^^4      \	        R'^^4      8X  g   Q hS*Pc                  \        4      S*8X  g   Q hS*Pc                  \        R24      \	        \        ^^4      ^^4      8X  g   Q h\        \H        V*3R l4       \        \        ^^ 4      ^4      p)V)Pc                  \        ^,          4      \        \        ^ ^4      ^4      8X  g   Q hV)Pc                  \        ^,          4      \        \        \        P                  \        ^4      ^,          4      ^4      8X  g   Q hV)Pc                  \        ^,          \        ^^ 4      4      \        \        ^^ 4      ^4      8X  g   Q hV)Pc                  \        ^,          \        ^ ^4      4      \        \        \        P                  \        ^4      ^,          ,           \        P                  \        ^4      ^,          ,           4      ^4      8X  g   Q hR
# u upi )3r"   TrB   r#   ty1c                      \        R R R ^4      # Nr    r.   r,   r9   #test_ellipse_geom.<locals>.<lambda>R   s    wtT4;r.   c                      \        4       # rN   rO   rP   r.   r,   r9   rQ   S   s    wyr.   c                  ,    \        \        ^ ^ 4      4      # r   r   r   rP   r.   r,   r9   rQ   T   s    &q!"5r.   c                  J    \        \        R 4      \        R4      ,          4      # r!   )r   r	   rP   r.   r,   r9   rQ   U   s    &VC[)@"Ar.   NFg      ?c                  R   < \        \        S S4      ^^4      P                  RR7      # )   r"   )	parameter)r   r   arbitrary_pointr!   s   r,   r9   rQ      s#    wuQ{Aq9IITWIXr.   c                    \        V P                  VP                  ,
          4      ^
V) ,          8  ;'       d2    \        V P                  VP                  ,
          4      ^
V) ,          8  # )z=tests whether l1 and 12 are within 10**(-prec)
of each other )absp1p2)l1l2precs   &&&r,   lines_close&test_ellipse_geom.<locals>.lines_close   sJ     255255=!B$K/TTC4Fte4TTr.   c                    <a \         ;QJ d)    VV3R  l\        W4       4       F  '       d   K   R# 	  R# ! VV3R  l\        W4       4       4      # )c              3   :   <"   T F  w  rS! WS4      x  K  	  R # 5irN   rP   ).0r_   r`   rb   ra   s   &  r,   	<genexpr>=test_ellipse_geom.<locals>.line_list_close.<locals>.<genexpr>   s     I=;rt,,=s   FT)allzip)ll1ll2ra   rb   s   &&fr,   line_list_close*test_ellipse_geom.<locals>.line_list_close   s4    sI3s=IssIsIsI3s=IIIr.   c                  8   < S P                  S^,           ^34      # rX   )normal_lines)r4   r"   s   r,   r9   rQ      s    Aqz(Br.   g?g      @evaluateg+?c                  0   < \        S \        RR4      4      # )r   )r   r   r   )r   r   rX   )r   r   r*   s   r,   r9   rQ     s    l2tIy/IJr.   c                  .   < \        S \        ^4      4      # )   )r   r   ru   s   r,   r9   rQ     s    l2x|<r.   c                  2   < \         P                  ! S ^4      # rp   )r   r   ru   s   r,   r9   rQ   	  s    g222q9r.   i  g333333?g?c                  <   < S P                  \        ^,          4      # )   )rotater   )r4   s   r,   r9   rQ   P  s    Ar.   rX   rX   rF         ࿩r   rX   iiiiVir   r   iirE   )rF   r   rX   r   r%   rX   r7   )2r	   r   Halfr   r   r   r   r   r   r   r   rG   r   centerarear   r\   circumferenceplot_intervalminormajorhradiusvradiusr   hash__cmp__enclosesr   r   r   rZ   focitangent_linesr   
is_tangentrq   NotImplementedErrorfocus_distanceeccentricity	periapsisapoapsissemilatus_rectumr   r   	TypeErrorlensubsencloses_pointscaler{   )/rK   rL   halfr]   r^   p4r)   r+   c1c2c3r_   cenradf1f2efvp1_1p1_2p1_3rm   pr   r   e4eccr`   l3l4	pts_c1_l3csmallcbigcoutt1pointscircelipr0   r2   anscirr4   r*   rb   r"   r#   s/                                             @@@@@r,   test_ellipse_geomr   :   s   sAsAsA	4	 B66D	q!B	q!B	q!B	Q	B	1	B		B	AB	AB	d1gtAw'	+B	bB QtVQ4%1+uQ{E!QK8F3<LLLL%1+uQ{E!QK8IgaQRmU\]^`aUb<cccc
:;<
:()
=56
=AB 4A%%q!4448O88O88O88O88O88O8B;;R<<77b==77bd??77beCGm###77bggr/////qtBw&&&!1!1!3CB3|CCCCCA""2"21"5E!bS"EEEEE88q==88q==::??::??61a E!QK///61a GE!QKq!$EEEE61a GE!QKq!$EEEE 8tF5A;aU1b\JKKKK8O8LB5(((::b>Q::eAqk"Q&&& ;;wuT40%S/BCtKKK;;tB|$---;;s2{#u,,,;;r?e###;;dD!5s#3U3_EGJNO O O;;~b#q12d:::;;~b!Q/0E999;;~b!Q/0E9992%%%
:XY 48QRy!!4	q!a	#B77x"**** 	Q!AA;DdADaDB2#3#3B#7777D!d5!Q+CU8TUWX>[\[a[aEb&c%ddddD!d5A;hq!na8P&Q%RRRRD!d4q$q'1B&C%DDDDB2%%%==dBtQ$789999==dBtQ$789999==dE!T!W$567777==eAqk5A;78EAAA==$$$==q!a34<<<==aU1b\5A;79<AB B B==aU1a[%1+68;@A A A%1+q!,,VE!QK-CDMMM5A;1%33E!QK@	eAqk5"b!18C3DE	F	%1+uXb!_hr1o>?	AA A A 5A;1%33E!QK@	eAqk5A;	'eAqk5A;)GHI I I%1+q!//a<	eAqk5A;	'eAqk5A;)GHI I I%1+q!//a!DG)mQ0GH	eA$q'	M1%uQa[!d1g+'F	G	%Ad1gIq
!5T!Wa$q'k#BC	GG G G %1+q!//a<	eAqk5"b!18Ar?C	D	%1+uQ{#	%% % % %1+q!//a<	eAqk5A;	'U1a[%B"b1ABC	EE E EUJ 	aQ"A>>%1+&	eAqk5A;	'eAqk5A;)GHI I I>>%1+&	eAqk5A;	'() ) )>>&!	eAqk5A;	'() ) )1>>%1+q9U8C$hr1o6hsB>OQYZ\^`Qa8bcU8B#Xb!_5uXb"=MxXZ\]7_`<bcdf f f f 	d1gqvvA6M61>>!Q/U8D#&R(895$PSATV^_`bdVe;fgU8B#Xb!_5uXb"=MxX[]_O`7ab2defh h h h 	1T!W9Q;'A1>>&!4U8C$hsB&78%b@QS[\]_aSb:cdU1b\5B<(7*+,. . . . 	1A>>1q5!*%$uQ{E!QK*H)IIII
 BCEE	UE	"BUAXq%8 9999


e
#C??c!!!<<5!c'?***;;%S/)))%SAX"6666	UE	"BUAXq%8 9999


e
#C??c!!!<<5!c'?***;;%S/))) 
eArlE!QK	(B	eBmU1b\	*B	eBmU1a[	)B	eCmU1b\	*BtAwqy$q'!),eT!WHQJa
.KLIB2%%%E!QK(U1a[M999E!QK=000BE!RL>111BI	!il/K#LLLLE!QKq!#====E$q'!)T!WQY$?#@@@@??25A;-///??2"$$$??6%1+q12uQ{mCCC??6%1+q12b888??75A;1565A;-GGG??75A;156"<<<??5A;'2---??2"$$$aQ2GE!QKA4NOTYZ[]^T_S````uQ{A.uQ{A0FGERSUVK=XXXuQ{A.uQ{A0FG2MMMaQ3WU1a[!S5Q 
CU+,- - -aQ3WU1a[%QT5UVZ\\\\&!&&!..&&)+hr1oq!5#3/55 5 5 9JK
9<=
99:B]F"a=D%1+q!Dt$***t$***v&&000QA	%1+uQ|U1a[	9B"b!Fv;!A;&   B<6!!!1ac?f$$$1qbdv%%%%1+q!D5A;2&Dd#
1+uR|	$uR|U1a[&ABC C CeAqk*b0005A;1%DeAqk*	eAqk5C=	)*+ + + 
q!a	$B	q!a	#BRA	$t*RAQqS!A#'"E!ac'1Q37$;
<C??2#%%%	q!a	#BT
A!BAhq"o-!34eAbD1HaQSUWHXFX[\]^[^F^6_
`C)+)<=)<AAFFAq!A;)<=DDD ==))"uR|*;<Q?@@@@1A??5Q<(	eBlE!QK	(U2q\5"a(2q/BC	EE E E
 	1AAHH%%%%AHHuQ		HQO0K'LLMMMMAHHuQYY!R-H!'LLMMMMAHHuQYY'::;uDDD	5Xa_4a88:=BC C C1AAHH%%%%AHHuQ		HQO0K'LLMMMMAHHuQYY!R-H!'LLMMMMAHHuQYY'::;uDDD	5Xa_4a88:=BC C CU1a[)U222U3_-555771a=GFAq1111771a=GFAq111188B<188B75A;1#====
 67 q!a
 C::bdveAqk15555::bdveAFFDGAI&>BBBB::bdE!QK(F5A;,BBBB::bdE!QK(F5$q'!)9KQVVVZ[\V]^_V_M_3`bc,ddddQ >s   k$BCc                     \        ^^RR7      p V P                  \        ^4      ^,          8X  g   Q h\        ^R\        ^4      ^,          R7      pVP                  ^8X  g   Q h\        R^\        ^4      ^,          R7      pVP                  ^8X  g   Q h\        \        ^ ^ 4      ^^ R7      pVP                  ^8X  g   Q h\        \        R 4       \        \        R 4       \        \        R 4       \        R^R^4      P                  ^8X  g   Q h\        \        R 4       \        \        R 4       \        \        R	 4       R# )
r7   N)r   r   r   r   r   c                  R    \        \        ^^4      ^\        ^4      ^,          R7      # rz   r   )r   r   r   rP   r.   r,   r9   #test_construction.<locals>.<lambda>k  s     '%1+qQRSTQUVWQW"Xr.   c                  D    \        \        ^^4      ^\        ^4      R7      # r   )r   r   r   rP   r.   r,   r9   r   l  s    '%1+qsSTv"Vr.   c                  n    \        \        ^^4      ^\        P                  \        ^4      ,
          R7      # r   )r   r   r   PirP   r.   r,   r9   r   m  s"    '%1+qqttTUVWTXy"Yr.   c                       \        R R ^^R7      # )N)r   rO   rP   r.   r,   r9   r   s  s    '$a"Jr.   c                  2    \        \        ^^4      ^RR7      # )rz   r   rD   r   r   rP   r.   r,   r9   r   v  s    '%1+qQS"Tr.   c                  2    \        \        ^^4      ^RR7      # )rz   r   r}   r   rP   r.   r,   r9   r   w  s    '%1+qQU"Vr.   )	r   r   r   r   r   r   r   r   length)r)   r*   r+   r   s       r,   test_constructionr   [  s   	AD	9B??d1gai'''	DtAwqy	AB::??	qtAwqy	AB::?? 
q!aa	8B::?? =XY
=VW
=YZ 4D!$++q000
=JK =TU
=VWr.   c                     \        R RR7      p \        \        ^ ^ 4      W 4      p\        R4      \        R4      r2\        ^ ^4       F_  pVP	                  4       pVP                  W#4      P                  \        W#3VP                  4      4      P                  ^ 4      '       d   K_  Q h	  VP	                  ^R7      pVP                  W#4      P                  \        W#3VP                  4      4      P                  ^ 4      '       g   Q hR# )rL   TrB   rxry)seedN)
r	   r   r   rangerandom_pointr(   r   rj   argsequals)rL   r+   r   r   indrs         r,   test_ellipse_random_pointr   y  s    	4	 B	q!b	%BD\6$<Q{OO{{2"''RHaff(=>EEaHHHH 
 	QA;;r##C!&&$9:AA!DDDDr.   c                  >    \        \        R^4      4      R8X  g   Q hR# )r   zCircle(Point2D(0, 1), 2)Nr~   )reprr   rP   r.   r,   	test_reprr     s    vq!"&@@@@r.   c                     \        R^4      p V P                  R4      \        R^4      8X  g   Q hV P                  RR7      \        R^4      8X  g   Q hV P                  ^4      \        R^^4      8X  g   Q h\        R^^4      P                  ^^R	4      \        \        R
R4      ^^	4      8X  g   Q h\        R^4      P                  ^^R	4      \        \        R
R4      ^^4      8X  g   Q h\        R^^4      P                  ^^R	4      \        \        RR4      ^^	4      8X  g   Q h\        R^4      P                  ^^R	4      \        \        RR4      ^4      8X  g   Q h\        \        RR4      ^4      P                  \	        ^^4      \	        ^^4      R	4      \        R^4      8X  g   Q h\        R^4      P                  ^^4      \        R	^4      8X  g   Q h\        R^4      P                  ^^4      \        R^4      8X  g   Q hR# )rX   )r#   Nr|   rF   )rF   rX   )rX   rF   )r7   rX   r   )      rE   r   i)r   r   r   r   r   	translate)r2   s    r,   test_transformr     s   vqA772;&!,,,,77R7=F7A....771:A....61a &&q!V4b#1%& & &&!""1a0b#1%& & &61a &&q!V4b#1%& & &&!""1a0uR~q!" " "%C.!$**8Aq>8Aq>6Rvq  &!&&q!,vq  &!""1a(vq  r.   c                  |   \        \        ^ ^ 4      ^^4      p \        \        ^R4      ^^4      p\        \        ^R4      ^4      p\        \        R^ 4      \        ^ ^4      \        ^^ 4      4      pV P                  R8X  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hR# )r   Nr%   )rD   r   rz   r   )r   r   	   r   )r%   r%   r7   r7   )r   r   r   bounds)r)   r*   r   r   s       r,   test_boundsr     s    	q!a	#B	q"q!	$B	aa	 B	b!eAqk5A;	7B99&&&99&&&99&&&99&&&r.   c                  t  aa \        R 4      p \        R4      o\        ^ V 3SR7      p\        RRR4      pVP                  VP	                  V4      P                  ) 8X  g   Q h\        R^^4      oSP                  SP	                  \        R^ R7      4      P                  ) 8X  g   Q hSP                  SP	                  \        R\        R7      4      P                  ) 8X  g   Q h\        \        VV3R l4       \        R^4      P	                  \        RR	4      4      \        \        ^^ 4      R
4      8X  g   Q hR# )r1   mslopec                  <   < S P                  \        RSR7      4      # )rX   r   r   )reflectr   )r4   r   s   r,   r9   test_reflect.<locals>.<lambda>  s    		$vQ2G(Hr.   Nr   r   )r7   rz   r~   r|   rF   )r	   r   r   r   r   r   r   r   r   r   r   )r1   lr   r4   r   s      @@r,   test_reflectr     s    sAsAaV1A	&&&	)B77rzz!}))))))1A66aiiV1 56;;;;;;66aiiV2 67<<<<<<
 HI&!$$T&&%9:fWQPQ]TV>WWWWr.   c                  p  a \        \        ^ ^ 4      ^^4      o\        \        ^R4      ^4      p SP                  \        ^ ^ 4      4      RJ g   Q hSP                  \        ^^ 4      4      RJ g   Q hSP                  S4      RJ g   Q hSP                  \        R^^4      4      RJ g   Q hSP                  \        R^^4      4      RJ g   Q hV P                  \        R^^4      4      RJ g   Q hV P                  \        R	^4      4      RJ g   Q hV P                  \        R
^4      4      RJ g   Q hV P                  \	        RR4      4      RJ g   Q hV P                  \	        RR4      4      RJ g   Q hV P                  \	        RR4      4      RJ g   Q hV P                  \	        RR4      4      RJ g   Q hV P                  \	        RR4      4      RJ g   Q hV P                  \        RR4      4      RJ g   Q hSP                  \        RR4      4      RJ g   Q hSP                  \        RR4      4      RJ g   Q hV P                  \        RR4      4      RJ g   Q hSP                  \        RR4      4      RJ g   Q hSP                  \        RR4      4      RJ g   Q hSP                  \        RR4      4      RJ g   Q hSP                  \        RR4      4      RJ g   Q hSP                  \        RR4      4      RJ g   Q hSP                  \        RR4      4      RJ g   Q hSP                  \        RR4      4      RJ g   Q hSP                  \        RR 4      4      RJ g   Q hSP                  \        RR!R"4      4      RJ g   Q hSP                  \        R#R$R%4      4      RJ g   Q hSP                  \        RRR&4      4      RJ g   Q hSP                  \        RRR'4      4      RJ g   Q hSP                  \        RR(RR'4      4      RJ g   Q hSP                  \        R)RRR*4      4      RJ g   Q hV P                  \        R)RRR*4      4      RJ g   Q hSP                  \        RRR+R'4      4      RJ g   Q hSP                  \        R,R-R.4      4      RJ g   Q hSP                  \        R,R-R(R'4      4      RJ g   Q hSP                  \        RR/R04      4      RJ g   Q hV P                  \        RR4      4      RJ g   Q hSP                  \        RR4      4      RJ g   Q hSP                  \        RR4      4      RJ g   Q hSP                  \        RR!R"4      4      RJ g   Q hSP                  \        R#R$R%4      4      RJ g   Q hSP                  \        R)RRR*4      4      RJ g   Q hV P                  \        R)RRR*4      4      RJ g   Q hSP                  \        R,R-R(R'4      4      RJ g   Q hSP                  \        RR/R04      4      RJ g   Q h\        \        V3R l4       \        \        V3R l4       R# )1r   FTc                  <   < S P                  \        ^ ^ ^ 4      4      # rT   )r   r   r)   s   r,   r9   !test_is_tangent.<locals>.<lambda>  s    bmmE!QN;r.   c                  8   < S P                  \        ^4      4      # )r   )r   r   r   s   r,   r9   r     s    bmmHQK8r.   Nr%   r   )r7   r%   )   r%   )   r%   )r   r%   )ir   )rD   r%   )rD   i)      )r   r   )r   r   )r7   r   )r   r   r7   r7   )r   r   r   rz   r   )rw   rw   )rD   r   )rD   r   )rz   r   )
   r   )r   r   r|   )gQgMbP)rD   rX   )r   r   )r   r   )ii)ii)iir~   )r   r   )r   r   )rD   r   )rz   r   )r   r   )rz   rw   )rz   r   )r@   r   )r   r   )r@   r   )
r   r   r   r   r   r   r   r   r   r   )r   r)   s    @r,   test_is_tangentr     s   	q!a	#B	aa	 B==q!%...==q!%...==$$$==A./5888==A./4777==!Q/0D888==!,-555==+,444==Xz23u<<<==Xz23u<<<==Y12e;;;==Wh/0D888==VV,-555==01T999==12e;;;==01U:::==23u<<<==23u<<<==623u<<<==&12e;;;==&12d:::==gx01U:::==ff-.%777==g78EAAA==gw/0D888==9:eCCC==k:FG5PPP==&&9:eCCC==&&9:eCCC=='66BCuLLL==7FGDEMMM==7FGDENNN==@AUJJJ==(F;<EEE==(GVDENNN==9:eCCC==23u<<<==&12e;;;==&12d:::==9:eCCC==k:FG5PPP==7FGDEMMM==7FGDENNN==(GVDENNN==9:eCCC
9;<
989r.   c                     a a \        R 4      o\        \        ^ ^ 4      ^^4      o S P                  RS4      S^ /8X  g   Q h\	        \
        V V3R l4       R# )rK   c                  (   < S P                  RS4      # )r   )r   r   )parameter_valuer4   rK   s   r,   r9   &test_parameter_value.<locals>.<lambda>  s    q00;r.   Nr   )r	   r   r   r   r   rG   r   s   @@r,   test_parameter_valuer     sJ    sAaQ"AVQ'Aq6111
:;<r.   c                  *   \        R 4      w  r\        \        ^ ^ 4      ^^4      p^\        \	        ^V ^,          ,
          4      V ^,          ,          V R^34      ,          ^,          p^
\        \	        ^V^,          ,
          4      V^,          ,          VR^34      ,          ^,          p^\	        ^V ^,          ^,          ,
          4      ,          p\        \        WV) V34      V ,          V R^34      pW2P                  4       ^,          8X  g   Q hWBP                  4       ^ ,          8X  g   Q hWbP                  4       ^,          8X  g   Q hVP                  \        ^^4      4      pR\        ,          R\        ,          R\        ,          3pWx8X  g   Q hR# )zx, yiD  iM  iX  Nr   rE   )r
   r   r   r   r   second_moment_of_arear   )	r"   r#   r4   I_yyI_xxYI_xyr   t2s	            r,   test_second_moment_of_arear    sG   6?DAaQ"Ayb1a4iA-2qz::1<Dyb1a4iA-2qz::1<D	$q1a49}
AYqqb!*-a/!R<D**,Q////**,Q////**,Q////	
	 	 q	,B
b&#b&#b&	!B6M6r.   c                     \        R RR7      p \        R^4      pVP                  4       R\        ,          8X  g   Q hVP	                  4       ^\        ,          ^\        ,          38X  g   Q h\        RV ^,          4      pVP                  4       \        V ^,          ,          \        V 4      ,          ^@,          \        V ,          \        V 4      ^,          ,          ^@,          ,           8X  g   Q hVP	                  4       \        V ^,          ,          \        ^ 4      ,          \        V ^,          ,          \        ^ 4      ,          38X  g   Q h\        RRR7      w  r#\        RW#4      pVP	                  4       \        V,          V^,          ,          \        ^4      ,          \        V^,          ,          V,          \        ^4      ,          38X  g   Q hVP                  4       \        V^,          ,          V,          \        ^4      ,          \        V,          V^,          ,          \        ^4      ,          ,           8X  g   Q hVP                  \        ^,          4      pVP	                  4       \        V^,          ,          V,          \        ^4      ,          \        V,          V^,          ,          \        ^4      ,          38X  g   Q hVP                  4       \        V^,          ,          V,          \        ^4      ,          \        V,          V^,          ,          \        ^4      ,          ,           8X  g   Q h\        W#3^^4      pVP	                  4       ^\        ,          ^\        ,          38X  g   Q hVP                  4       ^x\        ,          8X  g   Q h\        \        ^ ^ 4      ^^4      pVP	                  4       ^\        ,          ^\        ,          38X  g   Q hVP	                  \        ^^4      4      ^\        ,          ^\        ,          38X  g   Q hVP	                  R	4      ^\        ,          ^\        ,          38X  g   Q hR# )
r3   T)positivei   za, bN)rz   r   )r7   r   )r   r@   r   )r	   r   polar_second_moment_of_arear   section_modulusr   r   r
   r   r{   r   )r3   r2   r0   r1   r4   s        r,   4test_section_modulus_and_polar_second_moment_of_arear    s   sT"AvqA((*d2g5553r63r6"2222vqsA((*bAgc!fnR.?"Q$s1vqy.QSBS.SSSS2ad71R5="QT'!B%-"@@@@6D)DAA2a419QqT>2ad719QqT>"BBBB((*bAgai!nr!tAqDy1~.MMMM	AA2ad719QqT>2a419QqT>"BBBB((*bAgai!nr!tAqDy1~.MMMM1A2b5!B$-///((*c"f444aQ"A1R42,...U1a[)adAbD\999V$2qt444r.   c                  T   \        R 4      p \        R4      p\        \        ^ ^ 4      W4      P                  ^V ,          \	        V ^,          V^,          ,
          V ^,          ,          4      ,          8X  g   Q h\        \        ^ ^ 4      ^^4      P                  ^\	        \        ^	4      ^,          4      ,          8X  g   Q h\        R^R^ 4      P                  ^\        ,          8X  g   Q h\        \        R^^R7      P                  P                  ^4      R,
          4      R8  g   Q hR# )Mr   N)r   r   gRe9@g|=)	r	   r   r   r   r   r   r   r\   evalf)r  r   s     r,   test_circumferencer    s    sAsA5A;%33q1uz1PQ6TUYZTZ?^_ab^bJb?c7cccc5A;1%33rJqtby<Q7QQQQ 4D!$22ad::: wtQ2@@FFrJM^^_bggggr.   c                  @    \        R^ 4      \        ^^4      8X  g   Q hR# )rX   Nr   rU   rP   r.   r,   test_issue_15259r  -  s    &!a+++r.   c                  j   R p Rp\        ^ R4      p\        W4      pVP                  VP                  V4      ^ ,          4      R8X  g   Q hVP                  P
                  P                  '       g   Q hVP                  P                  P                  '       g   Q hVP                  P                  '       g   Q h\        WRR7      pVP                  P
                  P                  '       g   Q hVP                  P                  P                  '       g   Q hVP                  P                  '       g   Q hR# )g'F̴?g?TFrr   N)gmi$?gTF\?)
r   r   r   r   r   r"   is_Rationalr#   radiusis_Float)RiCiAr2   us        r,   test_issue_15797_equalsr  1  s    	B	1Ba#$ArA<<*1-.$66688::!!!!!88::!!!!!88r&A88::88::88r.   c                      \        R 4      w  rr#\        W3W#4      pVP                  4       \        W3\	        W#4      4      8X  g   Q h\        R^4      P                  4       \        R^4      8X  g   Q hR# zx y a bN)rz   r   )r
   r   auxiliary_circler   r   r"   r#   r0   r1   r4   s        r,   test_auxiliary_circler!  @  sg    #JA!A61&#a)#<<<<&!--/6&!3DDDDr.   c            	      2   \        R 4      w  rr#\        W3W#4      pVP                  4       \        W3\	        V^,          V^,          ,           4      4      8X  g   Q h\        R^4      P                  4       \        R^\	        ^4      ,          4      8X  g   Q hR# r  )r
   r   director_circler   r   r   s        r,   test_director_circler$  I  s|    #JA!A&!adQTk1B"CCCC&!,,.&472KKKKr.   c                  B   \        R RR7      w  rr#\        R4      w  rE\        \        W#4      WE4      pVP                  WP                  P
                  ,
          ,          \        ^^4      ,          pVP                  WP                  P                  ,
          ,          \        ^^4      ,          pWx,           VP                  ^,          VP                  ^,          ,
          \        ^^4      ,          ,
          p	VP                  4       V	8X  g   Q h\        \        ^^4      ^^4      p^V ^,
          ,          \        ^^4      ,          p^V^,
          ,          \        ^^4      ,          pWx,           ^\        ^^4      ,          ,
          p	VP                  4       V	8X  g   Q hR# )zx y h kTrB   za bN)
r
   r   r   r   r   r"   r   r   r#   evolute)
r"   r#   hkr0   r1   r4   r   r  Es
             r,   test_evoluter*  R  s"   $/JA!5>DAaQ"A
))Q^
$x1~	5B
))Q^
$x1~	5B
199a<!))Q,.!Q??A99;!aQ"A
QU)hq!n	$B
QU)hq!n	$B
2A&&A99;!r.   c                  f    \        \        ^^ 4      ^^4      p V P                  ^R4      R8X  g   Q hR# )rX   z#FFAAFFz<ellipse fill="#FFAAFF" stroke="#555555" stroke-width="4.0" opacity="0.6" cx="1.00000000000000" cy="0" rx="3.00000000000000" ry="2.00000000000000"/>N)r   r   _svgr   s    r,   test_svgr-  c  s<    	q!a	#B771i   %{  {  {  {r.   N)?
sympy.corer   sympy.core.numbersr   r   r   sympy.core.relationalr   sympy.core.singletonr   sympy.core.symbolr	   r
   $sympy.functions.elementary.complexesr   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   sympy.geometry.liner   sympy.geometry.pointr   sympy.geometryr   r   r   r   r   r   r   r   r   r   r   sympy.testing.pytestr   r   sympy.integrals.integralsr   *sympy.functions.special.elliptic_integralsr   r   r-   rI   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r!  r$  r*  r-  rP   r.   r,   <module>r<     s     1 1 $ " / 4 9 8 ) (4 4 4 4 . / A 8
_12 ]e ]e@	X<
EA,'
X1:h=   56h,EL"{r.   