
    \h                         S SK JrJr  S SKJr  S SKJr  S SKJr  S SK	J
r
  S SKJrJr  S SKJrJrJr  S SKJr  S S	KJrJr  S S
KJr  S SKJrJr  S rS rg)    )Rationaloo)S)symbols)sign)sqrt)CircleEllipse)LineRay2D	Segment2D)Parabola)PointPoint2D)raises)xyc            
         [        S5      u  p[        SS5      n[        SS5      n[        SS5      n[        SS5      n[        X 5      n[        [        SS5      [        SS5      5      n[        [        SS5      [        SS5      5      n[        [        SS5      [        S9n	[        [        SS5      SS9n
[        [        X5      [        S9n[        [        X5      SS9n[        R
                  n[        S U5      n[        US	9n[        X'5      n[        X85      n[        X:5      n[        XH5      n[        X75      n[        XW5      n[        XY5      n[        Xk5      n[        Xl5      n[        [        SS5      [        S
S5      5      n[        [        SS5      U5      n[        [        SS5      R                  U5      U5      n[        [        S 5        [        [        S 5        [        [        S 5        UR                  [        SS5      :X  d   eUR                  [	        S
5      :X  d   eUU:X  d   eUU:w  d   eUU:w  d   eUR                  [        SS5      :X  d   eUR                  S:X  d   eUR                  S:X  d   eUR                  [        SS5      :X  d   eUR                   S:X  d   eUR                  [        SS5      :X  d   eUR                  U:X  d   eUR                  U* :X  d   eUR                  [        SU-  S5      :X  d   eUR                  U:X  d   eUR                  U:X  d   eUR                  [        SSU-  5      :X  d   eUR                  S:X  d   eUR                  S:X  d   eUR                  [        SS5      :X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  d   eUR#                  5       UR#                  5       :X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  d   eUR#                  5       UR#                  5       :X  d   eUR                  UR                  s=:X  a  [%        X-
  S
-  5      S
-  :X  d   e   eUR                  [        UR                  S S S2   6 s=:X  a3  [        U U [%        X-
  S
-  5      ['        X-
  5      -  S
-  -
  5      :X  d   e   eUR(                  nU[        [        SS5      [        SS5      5      :X  d   eUR*                  [        [        SS5      [        S
S5      5      :X  d   eUR*                  R-                  U5      [        R.                  S
-  :X  d   eUR                   S:X  d   eUR#                  [0        [2        5      [0        S-
  S
-  [2        S-
  S
-  -   S[0        -  [2        -
  S-   S
-  S-  -
  :X  d   eUR                  S[%        S5      -  S-  :X  d   eUR                  [        SS5      :X  d   eUR                  S[%        S5      -  S-  :X  d   eUR                  [        [	        S5      S-  [	        S5      S-  5      :X  d   eUR                  S[%        S5      -  S-  :X  d   eUR                  [        [	        S5      * S-  [	        S5      S-  5      :X  d   eUR                  S[%        S5      -  S-  :X  d   eUR                  [        [	        S5      S-  [	        S5      S-  5      :X  d   eg )Nza br               	   )slope)	directrix      c            
      l    [        [        SSS5      [        [        SS5      [        SS5      5      5      $ )Nr   r   r   r   r   r   r        Z/var/www/auris/envauris/lib/python3.13/site-packages/sympy/geometry/tests/test_parabola.py<lambda>$test_parabola_geom.<locals>.<lambda>-   s'    E!QNDq!eAqk$BCr!   c            
      j    [        [        SS5      [        [        SS5      [        SS5      5      5      $ )Nr   r   r   r   r   r    r!   r"   r#   r$   /   s%    E!QKeAqk5A;!?@r!   c                  B    [        [        SS5      [        SS5      5      $ )Nr   r   r   )r   r   r    r!   r"   r#   r$   1   s    xaU1a[Ar!            
      G      i5   )r   r   r   r   r   Halfr   reflectr   
ValueErrorfocusambient_dimensionr   focal_lengthp_parametervertexeccentricityequationr   r   axis_of_symmetryr   angle_betweenPir   r   )abp1p2p3p4p5d1d2d3d4d5d6halfpa1pa2pa3pa4pa5pa6pa7pa8pa9pa10pa11dpa12pa12raoss                                r"   test_parabola_geomr[      s   5>DA	q!B	q!B	q!B	q!B	qB	eAqk5A;	'B	eAqk5A;	'B	eAqk	$B	eAqk	#B	eAk	$B	eAk	#B66D
4
C
R
 C
2
C
2
C
2
C
2
C
2
C
2
C
2
CBDBDU1a[%1+&AE!QK#DU1a[((+Q/E
: D E
: A B
:AB 99a###  AaD(((#::#::#::991%%%q   ??b   ::A&&&q   991%%%t###??te###::4++++t###??d"""::BtG,,,,q   ??a::A&&&s/////??coo---::###<<>S\\^+++s/////??coo---::###<<>S\\^+++ 1 1KT15Q,5G!5KKKKKK;;%TrT!23 @uQaeaZ 0ae <Q >>8@ @ @ @ @ @


C$uQ{E!QK0000>>T%1+uQ{;;;;>>'',Q666!!!==A1q51*Az"9RTAX]Q<Nq<P"PPPP$q'	",,,::q!$$$qay|+++;;'!B%'1R584444472---;;%1a2q111147
2---<<51a2r2222r!   c            
      
  ^ [        [        SS5      [        SS5      5      n [        [        SS5      [        SS5      5      n[        [        SS5      [        SS5      5      n[        SS5      n[        SS5      n[        SS5      n[        X05      mTR                  T5      T/:X  d   eTR                  [        X15      5      [	        SS5      [	        SS5      /:X  d   eTR                  [        XB5      5      [	        SS5      /:X  d   eTR                  [        [        SS5      U 5      5      [	        S	S
5      /:X  d   eTR                  [        [        SS5      U 5      5      [	        SS	5      [	        SS	5      /:X  d   eTR                  [        XR5      5      / :X  d   eTR                  U5      / :X  d   eTR                  [	        SS5      5      [	        SS5      /:X  d   eTR                  [	        SS5      5      [	        SS5      /:X  d   eTR                  [        [	        SS5      [        SS5      5      5      [	        SS5      [	        SS5      /:X  d   eTR                  [        [        SS5      [        SS5      5      5      [        SS5      /:X  d   eTR                  [        [        SS5      [        SS5      5      5      [	        SS5      /:X  d   e[        [        U4S j5        TR                  [        SS5      5      [	        SS5      [	        SS5      /:X  d   eTR                  [        SS5      5      [	        SS5      /:X  d   eTR                  [        SS5      5      / :X  d   eTR                  [        SS5      5      [	        SS5      [	        SS5      /:X  d   eTR                  [        SS5      5      [	        SS[        S5      -  -   SS[        S5      -  -   5      /:X  d   eTR                  [        SS5      5      / :X  d   eTR                  [        US5      5      [	        SS5      [	        SS5      /:X  d   eTR                  [        US5      5      [	        SS5      /:X  d   eTR                  [        USS5      5      [	        SS5      /:X  d   eTR                  [        [        SS5      S S!5      5      / :X  d   eTR                  [        S"SS5      5      [	        SS5      [	        S[        S#5      -  S-  [        S$S%5      5      [	        S[        S#5      -  S-  [        S$S%5      5      /:X  d   e[        [        U4S& j5        g )'Nr'   r+   r(   r   r   x      r      ir   r   r   i   c            
      f   > T R                  [        [        SSS5      [        SSS5      5      5      $ )Nr   r'   )intersectionr   r   	parabola1s   r"   r#   ,test_parabola_intersection.<locals>.<lambda>|   s*    i44T%1a.%PQSTVW.5YZr!   )rb   )r   r   )r   rh   )r   r   )r^   i)   i)r   r   )r'   ri   ri   9   i   )r   ri      r)   r   )r   r      ;   r   c                  &   > T R                  S5      $ )Nr   )rd   re   s   r"   r#   rg      s    i44Q7r!   )r   r   r   rd   r   r   	TypeErrorr   r   r   r	   r
   r   )l1l2l3r@   rA   rB   rf   s         @r"   test_parabola_intersectionrt   c   s   	eArlE"RL	)B	eAqk5A;	'B	eAqk5A;	'B	qB	q"B	sCB I !!),;;;!!(2"23APQST7VVVV!!(2"2327GGGG!!(5Q<"<='!R.AQQQQ!!(5B<"<='"a.RYZ[]^R_A````!!(2"23r999!!"%+++!!'!R.1gan5EEEE!!'!Q-0WQ]OCCC!!$wr1~uR|"DE'RTVW.ZabcefZgIhhhh!!$uR}eArl"CDqRTVVV!!$uQ{E!RL"ABwqRS}oUUU
9Z[!!)Hf"=>71b>SZ[\^_S`Baaaa!!)GV"<='!R.AQQQQ!!)J	"BCrIII!!%&"9:wq"~wWXZ[}>]]]]!!%"89gb1TRTX:oWZ]_`deg`h]hWh>i=jjjj!!%"89R???!!&Q-0WR^WQPQ]4SSSS!!&Q-0WQ^4DDDD!!'"a"34B8HHHH!!'%2,1"=>"DDD!!'&"a"891b>2d2h;q=(2q/21T"X:a<"a1>3 3 3 3
 978r!   N)sympy.core.numbersr   r   sympy.core.singletonr   sympy.core.symbolr   $sympy.functions.elementary.complexesr   (sympy.functions.elementary.miscellaneousr   sympy.geometry.ellipser	   r
   sympy.geometry.liner   r   r   sympy.geometry.parabolar   sympy.geometry.pointr   r   sympy.testing.pytestr   	sympy.abcr   r   r[   rt   r    r!   r"   <module>r      s5    - " % 5 9 4 8 8 , 1 ' R3j,9r!   