
    g                         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dS )    )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                              |          |          }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 ||k    sJ ||k    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 |                                |                                k    sJ |j        |j        k    sJ |j        |j        k    sJ |j        |j        k    sJ |                                |                                k    sJ |j        |j        cxk    rt%          | |z
  d
z            d
z  k    sn J |j        t          |j        d d d          cxk    r@t          | | t%          | |z
  d
z            t'          | |z
            z  d
z  z
            k    sn J |j        }|t          t          dd          t          dd                    k    sJ |j        t          t          dd          t          d
d                    k    sJ |j                            |          t          j        d
z  k    sJ |j        dk    s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 d S )Nza br               	   )slope)	directrix      c            
          t          t          ddd          t          t          dd          t          dd                              S )Nr   r   r   r   r   r   r        ^/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/geometry/tests/test_parabola.py<lambda>z$test_parabola_geom.<locals>.<lambda>-   s8    E!QNNDq!eAqkk$B$BCC r!   c            
          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>/   s6    E!QKKeAqkk5A;;!?!?@@ r!   c                  Z    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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	eAqkk5A;;	'	'B	eAqkk5A;;	'	'B	eAqkk	$	$	$B	eAqkk	#	#	#B	eAqkk	$	$	$B	eAqkk	#	#	#B6D
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!QKK##DU1a[[((++Q//E
: D D E E E
: A A B B B
:AABBB 9a#### AaDD((((#::::#::::#::::91%%%%q    ?b    :A&&&&q    91%%%%t####?te####:4++++++t####?d"""":BtG,,,,,,q    ?a:A&&&&s/////?co----:####<<>>S\\^^++++s/////?co----:####<<>>S\\^^++++ 1KKKKT1q5Q,5G5G!5KKKKKKK;%TTrT!23 @ @ @ @uQa!eaZ 0 0a!e <Q >>8@ 8@ @ @ @ @ @ @

C$uQ{{E!QKK000000>T%1++uQ{{;;;;;;>'',,Q6666!!!!==A1q51*Az"9RTAX]Q<Nq<P"PPPPP$q''	",,,,:q!$$$$qay|++++;'!B%%'1R5584444444772----;%1a2q111111477
2----<51a2r2222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          ||                                         gk    sJ                     t          ||                    t	          dd          t	          dd          gk    sJ                     t          ||                    t	          dd          gk    sJ                     t          t          dd          |                     t	          d	d
          gk    sJ                     t          t          dd          |                     t	          dd	          t	          dd	          gk    sJ                     t          ||                    g k    sJ                     |          g k    sJ                     t	          dd                    t	          dd          gk    sJ                     t	          dd                    t	          dd          gk    sJ                     t          t	          dd          t          dd                              t	          dd          t	          dd          gk    sJ                     t          t          dd          t          dd                              t          dd          gk    sJ                     t          t          dd          t          dd                              t	          dd          gk    sJ t          t          fd                               t          dd                    t	          dd          t	          dd          gk    sJ                     t          dd                    t	          dd          gk    sJ                     t          dd                    g k    sJ                     t          dd                    t	          dd          t	          dd          gk    sJ                     t          dd                    t	          ddt          d          z  z   ddt          d          z  z             gk    sJ                     t          dd                    g k    sJ                     t          |d                    t	          dd          t	          dd          gk    sJ                     t          |d                    t	          dd          gk    sJ                     t          |dd                    t	          dd          gk    sJ                     t          t          dd          d d!                    g k    s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&           d S )'Nr&   r*   r'   r   r   x      r      ir   r   r   i   c            
                                t          t          ddd          t          ddd                              S )Nr   r&   )intersectionr   r   	parabola1s   r"   r#   z,test_parabola_intersection.<locals>.<lambda>|   s6    i44T%1a..%PQSTVW..5Y5YZ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                  .                          d          S )Nr   )rc   rd   s   r"   r#   z,test_parabola_intersection.<locals>.<lambda>   s    i44Q7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;   	eArllE"RLL	)	)B	eAqkk5A;;	'	'B	eAqkk5A;;	'	'B	qB	q"B	sCBR  I !!),,;;;;!!(2r"2"233APQST7VVVVV!!(2r"2"23327GGGGG!!(5Q<<"<"<=='!R..AQQQQQ!!(5B<<"<"<=='"a..RYZ[]^R_R_A`````!!(2r"2"233r9999!!"%%++++!!'!R..11gann5EEEEE!!'!Q--00WQ]]OCCCC!!$wr1~~uR||"D"DEE'RTVW..ZabcefZgZgIhhhhh!!$uR}}eArll"C"CDDqRTVVVV!!$uQ{{E!RLL"A"ABBwqRS}}oUUUU
9ZZZZ[[[!!)Hf"="=>>71b>>SZ[\^_S`S`Baaaaa!!)GV"<"<=='!R..AQQQQQ!!)J	"B"BCCrIIII!!%&"9"9::wq"~~wWXZ[}}>]]]]]!!%"8"899gb1TRTXX:oWZ]_`deg`h`h]hWh>i>i=jjjjj!!%"8"899R????!!&Q--00WR^^WQPQ]]4SSSSS!!&Q--00WQ^^4DDDDD!!'"a"3"344B8HHHHH!!'%2,,1"="=>>"DDDD!!'&"a"8"8991b>>2d2hh;q=(2q//221T"XX:a<"a11>3 3 3 3 3
 977778888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~      s   - - - - - - - - " " " " " " % % % % % % 5 5 5 5 5 5 9 9 9 9 9 9 4 4 4 4 4 4 4 4 8 8 8 8 8 8 8 8 8 8 , , , , , , 1 1 1 1 1 1 1 1 ' ' ' ' ' '        R3 R3 R3j,9 ,9 ,9 ,9 ,9r!   