
    sg                         d dl mZmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZ d dlmZ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mZ d Zd Zy)    )Rationaloo)S)symbols)sign)sqrt)CircleEllipse)LineRay2D	Segment2D)Parabola)PointPoint2D)raises)xyc            
         t        d      \  } }t        dd      }t        dd      }t        dd      }t        dd      }t        | |       }t        t        dd      t        dd            }t        t        dd      t        dd            }t        t        dd      t              }	t        t        dd      d      }
t        t        ||       t              }t        t        | |      d      }t        j
                  }t        d |      }t        |	      }t        ||      }t        ||      }t        ||
      }t        ||      }t        ||      }t        ||      }t        ||	      }t        ||      }t        ||      }t        t        dd      t        d
d            }t        t        dd      |      }t        t        dd      j                  |      |      }t        t        d        t        t        d        t        t        d        |j                  t        dd      k(  sJ |j                  t	        d
      k(  sJ ||k(  sJ ||k7  sJ ||k7  sJ |j                  t        dd      k(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  t        dd      k(  sJ |j                   dk(  sJ |j                  t        dd      k(  sJ |j                  |k(  sJ |j                  | k(  sJ |j                  t        d|z  d      k(  sJ |j                  |k(  sJ |j                  |k(  sJ |j                  t        dd|z        k(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  t        dd      k(  sJ |j                  |j                  k(  sJ |j                  |j                  k(  sJ |j                  |j                  k(  sJ |j#                         |j#                         k(  sJ |j                  |j                  k(  sJ |j                  |j                  k(  sJ |j                  |j                  k(  sJ |j#                         |j#                         k(  sJ |j                  |j                  cxk(  rt%        | |z
  d
z        d
z  k(  sJ  J |j                  t        |j                  d d d    cxk(  r4t        | | t%        | |z
  d
z        t'        | |z
        z  d
z  z
        k(  sJ  J |j(                  }|t        t        dd      t        dd            k(  sJ |j*                  t        t        dd      t        d
d            k(  sJ |j*                  j-                  |      t        j.                  d
z  k(  sJ |j                   dk(  sJ |j#                  t0        t2              t0        dz
  d
z  t2        dz
  d
z  z   dt0        z  t2        z
  dz   d
z  dz  z
  k(  sJ |j                  dt%        d      z  dz  k(  sJ |j                  t        dd      k(  sJ |j                  dt%        d      z  dz  k(  sJ |j                  t        t	        d      dz  t	        d      dz        k(  sJ |j                  dt%        d      z  dz  k(  sJ |j                  t        t	        d       dz  t	        d      dz        k(  sJ |j                  dt%        d      z  dz  k(  sJ |j                  t        t	        d      dz  t	        d      dz        k(  sJ y )Nza br               	   )slope)	directrix      c            
      l    t        t        ddd      t        t        dd      t        dd                  S )Nr   r   r   r   r   r   r        U/var/www/html/venv/lib/python3.12/site-packages/sympy/geometry/tests/test_parabola.py<lambda>z$test_parabola_geom.<locals>.<lambda>-   s,    E!QNDq!eAqk$BC r!   c            
      j    t        t        dd      t        t        dd      t        dd                  S )Nr   r   r   r   r   r    r!   r"   r#   z$test_parabola_geom.<locals>.<lambda>/   s*    E!QKeAqk5A;!?@ r!   c                  B    t        t        dd      t        dd            S )Nr   r   r   )r   r   r    r!   r"   r#   z$test_parabola_geom.<locals>.<lambda>1   s    xaU1a[A r!            
      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_geomrZ      s   5>DAq	q!B	q!B	q!B	q!B	q!B	eAqk5A;	'B	eAqk5A;	'B	eAqk	$B	eAqk	#B	eAqk	$B	eAqk	#B66D
4
C
R
 C
2r
C
2r
C
2r
C
2r
C
2r
C
2r
C
2r
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KT1q5Q,5G!5KKKKKK;;%TrT!23 @uQa!eaZ 0a!e <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            
      
   t        t        dd      t        dd            } t        t        dd      t        dd            }t        t        dd      t        dd            }t        dd      }t        dd      }t        dd      }t        ||       j                        gk(  sJ j                  t        ||            t	        dd      t	        dd      gk(  sJ j                  t        ||            t	        dd      gk(  sJ j                  t        t        dd      |             t	        d	d
      gk(  sJ j                  t        t        dd      |             t	        dd	      t	        dd	      gk(  sJ j                  t        ||            g k(  sJ j                  |      g k(  sJ j                  t	        dd            t	        dd      gk(  sJ j                  t	        dd            t	        dd      gk(  sJ j                  t        t	        dd      t        dd                  t	        dd      t	        dd      gk(  sJ j                  t        t        dd      t        dd                  t        dd      gk(  sJ j                  t        t        dd      t        dd                  t	        dd      gk(  sJ t        t        fd       j                  t        dd            t	        dd      t	        dd      gk(  sJ j                  t        dd            t	        dd      gk(  sJ j                  t        dd            g k(  sJ j                  t        dd            t	        dd      t	        dd      gk(  sJ j                  t        dd            t	        ddt        d      z  z   ddt        d      z  z         gk(  sJ j                  t        dd            g k(  sJ j                  t        |d            t	        dd      t	        dd      gk(  sJ j                  t        |d            t	        dd      gk(  sJ j                  t        |dd            t	        dd      gk(  sJ j                  t        t        dd      d d!            g k(  sJ j                  t        d"dd            t	        dd      t	        dt        d#      z  dz  t        d$d%            t	        dt        d#      z  dz  t        d$d%            gk(  sJ t        t        fd&       y )'Nr&   r*   r'   r   r   x      r      ir   r   r   i   c            
      f     j                  t        t        ddd      t        ddd                  S )Nr   r&   )intersectionr   r   	parabola1s   r"   r#   z,test_parabola_intersection.<locals>.<lambda>|   s,    i44T%1a.%PQSTVW.5YZ r!   )ra   )r   r   )r   rf   )r   r   )r]   i)   i)r   r   )r&   rg   rg   9   i   )r   rg      r(   r   )r   r      ;   r   c                  &     j                  d      S )Nr   )rc   rd   s   r"   r#   z,test_parabola_intersection.<locals>.<lambda>   s    i44Q7 r!   )r   r   r   rc   r   r   	TypeErrorr   r   r   r	   r
   r   )l1l2l3r?   r@   rA   re   s         @r"   test_parabola_intersectionrr   c   s   	eArlE"RL	)B	eAqk5A;	'B	eAqk5A;	'B	qB	q"B	sCBR I !!),;;;!!(2r"23APQST7VVVV!!(2r"2327GGGG!!(5Q<"<='!R.AQQQQ!!(5B<"<='"a.RYZ[]^R_A````!!(2r"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   rZ   rr   r    r!   r"   <module>r~      s5    - " % 5 9 4 8 8 , 1 ' R3j,9r!   