ó
~9­\c           @   sÄ  d  d l  m Z m Z m Z m Z m Z m Z m Z m Z m	 Z	 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 m Z m Z m Z 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 „  Z& e d	 „  ƒ Z' d
 „  Z( d „  Z) d „  Z* d „  Z+ d „  Z, d „  Z- d „  Z. d „  Z/ d „  Z0 d „  Z1 d „  Z2 d „  Z3 d „  Z4 d „  Z5 d „  Z6 d „  Z7 d „  Z8 d „  Z9 d S(   iÿÿÿÿ(
   t   Abst   Rationalt   Floatt   St   Symbolt   symbolst   cost   pit   sqrtt   oo(   t   tan(   t   Circlet   Ellipset   GeometryErrort   Pointt   Point2Dt   Polygont   Rayt   RegularPolygont   Segmentt   Trianglet   are_similart   convex_hullt   intersectiont   Line(   t   raisest   slowt   warns(   t   verify_numerically(   t   radt   deg(   t	   integratec         C   s)   t  d ƒ } | |  | k  o& | k  SS(   s.   Test if two floating point values are 'equal'.s   1.0E-10(   R   (   t   at   bt   t_float(    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   feq   s    c    %         s  t  d d t ƒ‰  t  d d t ƒ‰ t  d d t ƒ}  t  d d t ƒ} t  d d t ƒ} t  d d t ƒ} t  d d t ƒ} t d	 d
 ƒ } t d d ƒ t d
 d ƒ t d d ƒ } } } t | | | ƒ }	 t | t d	 d ƒ | | ƒ |	 k sø t ‚ t t d	 d ƒ | | | ƒ |	 k s"t ‚ t | | | t d	 d ƒ ƒ |	 k sLt ‚ t | t d d ƒ | | ƒ |	 k svt ‚ t | | t d d ƒ | | ƒ |	 k s£t ‚ t t d d ƒ t d d ƒ t d d ƒ t d d d ƒ t d d d ƒ t d d ƒ t d d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ ƒ t t d d ƒ t d d ƒ t d d ƒ t d d ƒ ƒ k s“t ‚ t t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d
 d ƒ t d d ƒ ƒ }
 t t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d
 d ƒ t d d ƒ ƒ } t t d d ƒ t d d ƒ t d d
 ƒ t d d ƒ ƒ } t t d d ƒ t d d ƒ t d d
 ƒ t d d ƒ ƒ } t t d d ƒ t d d ƒ t d d ƒ ƒ } t t d d	 ƒ t d d ƒ t d d ƒ t d d ƒ ƒ } t t ˆ  ˆ ƒ t |  | ƒ t | | ƒ ƒ } t t ˆ  ˆ ƒ t | | ƒ t |  | ƒ ƒ } t t d d ƒ t d d ƒ t d d ƒ t d d
 ƒ ƒ } t t d d
 ƒ t d
 d
 ƒ t d d ƒ t d
 d ƒ ƒ } t t d d ƒ d	 d  d ƒ} t t d d ƒ t d d! ƒ ƒ } |
 | k s*t ‚ t |
 j	 ƒ d k sEt ‚ t |
 j
 ƒ d k s`t ‚ |
 j d d
 t d ƒ t d" ƒ t d# ƒ k s—t ‚ |
 j d$ k s¬t ‚ |
 j ƒ  s¿t ‚ t dC dD dE dF dG ƒ j ƒ  t k sét ‚ | j ƒ  sût ‚ | j ƒ  st ‚ | j } | t d d ƒ t d k s9t ‚ | t d d ƒ t d
 k s\t ‚ | j t ˆ  ˆ ƒ ƒ d  k s€t ‚ | j t d	 d ƒ ƒ sžt ‚ | j t d d ƒ ƒ t k sÂt ‚ | j t d d ƒ ƒ t k sæt ‚ |
 j t t d% d% ƒ d ƒ ƒ t k st ‚ |
 j t t d% d
 ƒ d d ƒ ƒ t k sCt ‚ | j d ƒ ˆ  d d	 g k | j t t d d ƒ t d& d& ƒ t d d& ƒ ƒ ƒ d t d
 ƒ k s«t ‚ | j t t d	 d# ƒ t d d# ƒ t d# d' ƒ t d	 d' ƒ ƒ ƒ d k sùt ‚ t t d( d) ƒ` t t d d ƒ t d	 d ƒ t d	 d	 ƒ ƒ j t t d d ƒ t d d	 ƒ t d	 d	 ƒ ƒ ƒ Wd  QXt | ƒ t t t d d ƒ t d d ƒ t d d ƒ ƒ ƒ k s²t ‚ t |
 ƒ t | ƒ k sÐt ‚ t | ƒ t | ƒ k sît ‚ t | ƒ t | ƒ k s	t ‚ | t t d d ƒ t d d ƒ t d d ƒ ƒ k sE	t ‚ t t d d ƒ t d d ƒ t d d ƒ ƒ | k s~	t ‚ | t d d ƒ k s™	t ‚ t d d	 ƒ | k s´	t ‚ | j d* ƒ j t  d* d t ƒd ƒ t d d ƒ k sð	t ‚ t t ‡  ‡ f d+ †  ƒ | j  | ƒ t d t! d, ƒ d- ƒ t d t! d ƒ d ƒ g k sQ
t ‚ | j d k sf
t ‚ | t" t d d ƒ d	 d d ƒ k s
t ‚ | j# d t d	 d ƒ k s²
t ‚ | j	 d t d d ƒ k sÔ
t ‚ | j$ t d
 ƒ | j# d t d d	 ƒ k st ‚ t" t d d ƒ d d ƒ }
 t" t d d ƒ d d ƒ } t t% d. „  ƒ t t% d/ „  ƒ t t d0 „  ƒ |
 | k st ‚ |
 j& d t d k sœt ‚ |
 j' d
 t d k s¹t ‚ | j( d t) t d ƒ k sÜt ‚ | j* |
 j* k ot d d ƒ k n st ‚ |
 j+ |
 j, k o*d k n s5t ‚ | j- t t d d ƒ d ƒ k s\t ‚ | j. t t d d ƒ | j( ƒ k s†t ‚ | j/ | j( k oµd d	 t d ƒ d k n sÀt ‚ | j$ t d ƒ | j } | t d d ƒ d t d k st ‚ |
 j ƒ  st ‚ |
 j0 d k s(t ‚ |
 j t d d ƒ ƒ sFt ‚ |
 j t d1 d ƒ ƒ t k sjt ‚ | j t d d2 ƒ ƒ sˆt ‚ |
 j$ t d ƒ |
 j0 t d k s²t ‚ |
 j# d t d d t d ƒ ƒ k sÞt ‚ xl |
 j	 D]a } t1 | t ƒ r| t d d ƒ k sIt ‚ qè| d k sè| d k sè| t d k sèt ‚ qèW|
 t d d ƒ k sht ‚ |
 | k szt ‚ |
 } |
 j2 t d ƒ t" t d d ƒ d d d
 t d ƒ k s¿t ‚ |
 | k sÑt ‚ |
 j d3 t d ƒ d4 d t3 t d ƒ k st ‚ |
 j4 d5 t t d ƒ d# t! d ƒ d# ƒ k s>t ‚ |
 j5 d
 d
 ƒ t" |
 j6 |
 j, d
 |
 j7 |
 j0 ƒ k s{t ‚ t" dH d	 d ƒ j5 d
 d ƒ t t d
 d ƒ t d d ƒ t d d ƒ t d d ƒ ƒ k sØt ‚ t8 |
 ƒ t9 |
 ƒ k söt ‚ | j } t: | t d d ƒ j; ƒ  t< d6 ƒ ƒ s-t ‚ t: | t d d ƒ j; ƒ  t< d7 ƒ ƒ s[t ‚ t: | t d d
 ƒ j; ƒ  t< d8 ƒ ƒ s‰t ‚ t: | t d d ƒ j; ƒ  t< d9 ƒ ƒ s·t ‚ | j } t: | t d d ƒ j; ƒ  t< d6 ƒ ƒ sît ‚ t: | t d d ƒ j; ƒ  t< d7 ƒ ƒ st ‚ t: | t d d
 ƒ j; ƒ  t< d8 ƒ ƒ sJt ‚ t: | t d d ƒ j; ƒ  t< d9 ƒ ƒ sxt ‚ t d d ƒ }
 t d d ƒ } t d d ƒ } t |
 | | ƒ } t |
 | t t d d
 ƒ t t d: d ƒ ƒ ƒ ƒ } t |
 t | d ƒ t d | ƒ ƒ } | j
 } t |
 | |
 ƒ t |
 | |
 ƒ k oOt= |
 | ƒ k n sZt ‚ t t% d; „  ƒ t |
 |
 |
 ƒ |
 k sˆt ‚ t | | d
 | d ƒ t= | | d ƒ k s»t ‚ | j t d< d
 ƒ k sÙt ‚ | j> ƒ  sët ‚ | j> ƒ  t k st ‚ | j> ƒ  st ‚ |
 | k s't ‚ | j
 d | k s@t ‚ t= dI dJ ƒ | k s[t ‚ t d d ƒ | k svt ‚ | j ƒ  sˆt ‚ t: | j |
 j; ƒ  t j; ƒ  d
 ƒ s´t ‚ | j? ƒ  t k sÌt ‚ | j? ƒ  sÞt ‚ | j? ƒ  t k söt ‚ t@ | | ƒ t k st ‚ t@ | | ƒ s&t ‚ t@ | | ƒ t k sAt ‚ | jA t d d ƒ ƒ t k set ‚ | jA | ƒ t k s€t ‚ | jB ƒ  } | |
 t= |
 t t d d
 ƒ t d d
 ƒ ƒ ƒ k sÆt ‚ d= d> t d
 ƒ d? }  | jC t |  |  ƒ k süt ‚ | j/ | j. j, k o.d d t d
 ƒ d
 k n s9t ‚ | j/ | j. j, k ogd t d ƒ d k n srt ‚ | j/ | j. j, k o®| d
 d
 t d
 ƒ tD | ƒ k n s¹t ‚ | jE | j
 d
 d t d
 ƒ d
 k sçt ‚ | j- j6 t d% d% ƒ k st ‚ | jF }! | jG t t d d ƒ t d d ƒ ƒ k sAt ‚ |! |
 t= |
 t t d d
 ƒ t d d
 ƒ ƒ ƒ k s{t ‚ | jF |
 t= |
 t | d
 | d
 ƒ ƒ k s®t ‚ t  |! |
 |! | |! | ƒ | jG g k sÞt ‚ | jH t t d% d ƒ t d d% ƒ t d% d% ƒ ƒ k st ‚ | jI t t d% d ƒ t d d% ƒ t d% d% ƒ ƒ k sVt ‚ | jI t t d d ƒ t d d% ƒ t d% d% ƒ ƒ k s’t ‚ | jJ }" |" |
 t= |
 t t d d
 ƒ t d d
 ƒ ƒ ƒ k sÕt ‚ |" | jK | d ƒ sòt ‚ |" | | d
 k st ‚ | jL |
 k s!t ‚ t! d@ ƒ }	 |	 jL t! dA ƒ k sHt ‚ t t  | jM ƒ  Œ  ƒ d	 k slt ‚ t t  |" jM ƒ  Œ  ƒ d	 k st ‚ t t  |! jM ƒ  Œ  ƒ d	 k s´t ‚ t t d d ƒ t d	 d ƒ t d	 d	 ƒ t d d	 ƒ ƒ }
 t t d t d ƒ d ƒ t d	 t d ƒ d ƒ t d	 t dB ƒ d ƒ t d t dB ƒ d ƒ ƒ } t t d	 d
 ƒ t d
 d
 ƒ t d
 d	 ƒ ƒ } t t d	 d	 ƒ t t d ƒ d d	 ƒ t d	 t d ƒ d ƒ ƒ } t | | ƒ }# t d	 d	 ƒ }$ |
 j |# ƒ | k sõt ‚ |
 j |$ ƒ d k st ‚ | j |# ƒ t d ƒ d k s5t ‚ | j |$ ƒ t d
 ƒ d
 k sZt ‚ t t d( d) ƒ$ |
 j | ƒ | d
 k sŒt ‚ Wd  QX|
 j | ƒ t d
 ƒ d
 k s·t ‚ t t d( d) ƒB | j | ƒ t d
 ƒ d
 t t d
 ƒ d< ƒ d
 k st ‚ Wd  QXd  S(K   Nt   xt   realt   yt   qt   ut   vt   wt   x1i   i   i    i   iÿÿÿÿiüÿÿÿi   iõÿÿÿiñÿÿÿi!   i   i©ÿÿÿi
   iÖÿÿÿiþÿÿÿi   iýÿÿÿi   i   i÷ÿÿÿgffffff@gÍÌÌÌÌÌ Àgffffff!Àt   ng      @i   i   i   g      @i   i   t   matchs1   Polygons may intersect producing erroneous outputt   tc              s4   t  t ˆ  d ƒ t d ˆ ƒ t ˆ  ˆ ƒ ƒ j d ƒ S(   Ni    R$   (   R   R   t   arbitrary_point(    (   R$   R&   (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   <lambda>w   s   iT   i   c           S   s+   t  t d d ƒ t d d ƒ t d d ƒ ƒ S(   Ni    i   (   R   R   (    (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyR0   …   s   c           S   s   t  t d d ƒ d d ƒ S(   Ni    i   i   (   R   R   (    (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyR0   ‡   t    c           S   s   t  t d d ƒ d d ƒ S(   Ni    i   g      @(   R   R   (    (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyR0   ˆ   R1   i   gš™™™™™@iÿÿÿiâ  i   s   0.7853981633974483s   1.2490457723982544s   1.8925468811915388s   2.3561944901923449iK   c           S   s   t  t d d ƒ ƒ S(   Ni    (   R   R   (    (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyR0   Ï   R1   i   iú   i}   i2   sã   Triangle(
    Point(100080156402737/5000000000000, 79782624633431/500000000000),
    Point(39223884078253/2000000000000, 156345163124289/1000000000000),
    Point(31241359188437/1250000000000, 338338270939941/1000000000000000))s¼   Point(-78066086905059984021699779471538701955848721853/80368430960602242240789074233100000000000000,20151573611150265741278060334545897615974257/160736861921204484481578148466200000000000)i	   (   iÿÿÿÿi   (   i   iÿÿÿÿ(   i   i   (   iÿÿÿÿiÿÿÿÿ(   i   i    (   i    i    (   i    i    (   i   i    (N   R   t   TrueR   R   R   R   t   AssertionErrorR   t   lent   argst   sidest	   perimeterR   t   areat	   is_convext   Falset   anglesR   t   encloses_pointt   Nonet   enclosesR   R   t   plot_intervalt   distanceR   t   UserWarningt   hashR/   t   subsR   t
   ValueErrorR   R   R   t   verticest   spinR   t   interior_anglet   exterior_anglet   apothemR   t   circumcentert   circumradiust   radiust   circumcirclet   incirclet   inradiust   rotationt
   isinstancet   rotateR
   t   lengtht   scalet   centert   _nt   reprt   strR#   t   evalfR   R   t   is_rightt   is_equilateralR   t
   is_similart	   bisectorst   incenterR    t   exradiit   medianst   centroidt   medialt   nine_point_circlet	   altitudest   equalst   orthocentert   values(%   R'   R(   R)   R*   R+   t   halfR    R!   t   cR.   t   p1t   p2t   p3t   p4t   p5t   p6t   p7t   p8t   p9t   p10t   p11t   rt   dict5t   dict1t   vart   p1_oldR;   t   t1t   t2t   t3t   s1R]   t   ict   mRd   t   pt1t   pt2(    (   R$   R&   s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_polygon   sÖ   /****-',4'B!7	##$$$-0FH	
-4E99$H*"""#1('*:	'$,2?58.B	....	....3$	C3,$:=9G.!	0:30<''	:	$$$,2"%%	
%%	
c          C   sW  t  d d ƒ t  d d ƒ t  d d ƒ t  d d ƒ t  d d ƒ t  d d ƒ t  d d ƒ t  d d ƒ t  d d ƒ t  d	 d ƒ t  d
 d ƒ g }  t |  d |  d |  d |  d |  d
 |  d ƒ } |  j |  d ƒ t  d d ƒ t  d d ƒ t  d d ƒ t  d d ƒ g } t | d | d ƒ } t | Œ  | k s3t ‚ t |  Œ  | k sKt ‚ t |  d ƒ |  d k skt ‚ t |  d |  d ƒ t |  d |  d ƒ k sŸt ‚ t |  d g d Œ  |  d k sÆt ‚ t t  d d ƒ t t  d d ƒ t  d d ƒ ƒ t t  d d ƒ d d	 ƒ g Œ  t t  d d ƒ t  d d ƒ t  d	 d ƒ t  d d ƒ ƒ k sSt ‚ d  S(   Niûÿÿÿiÿÿÿÿiþÿÿÿi   iýÿÿÿi    i   i   i   i   i	   i
   iÓÿÿÿi«ÿÿÿiU   i   ièÿÿÿ(   R   R   t   appendR   R   R3   R   (   t   pt   cht	   another_pt   ch2(    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_convex_hull?  s"    0<3$ 4'c          C   sÐ   t  t d d ƒ t d d ƒ t d d ƒ t d d ƒ t t j t j ƒ ƒ }  |  j t d t j ƒ ƒ t k sr t ‚ |  j t t j t j ƒ ƒ t k sœ t ‚ |  j t t d d ƒ t j ƒ ƒ t k sÌ t ‚ d  S(   Ni    i   i   i   (	   R   R   R   t   HalfR>   R:   R3   R   R2   (   t   s(    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_encloses[  s
    3'*c           C   s!  t  d d ƒ t  t d d ƒ t d d ƒ t d d ƒ ƒ k sB t ‚ t  d d ƒ t  t d d ƒ t d d ƒ t d	 t d ƒ d ƒ ƒ k sŽ t ‚ t  d
 d ƒ t  t d d ƒ t d d ƒ t t d ƒ d t d ƒ d ƒ ƒ k sä t ‚ t  d d ƒ d  k sÿ t ‚ t t d ƒ ƒ d k st ‚ d  S(   Nt   sssi   i   i   i    t   asai   i   i   t   sasi-   i´   (   i   i   i   (   i   i   i   (   i   i-   i   (   i   i   i   (   R   R   R3   R   R=   R   R   (    (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_triangle_kwargse  s    6@Jc          C   s  t  d d ƒ t  t d ƒ d t d ƒ d ƒ t  d d ƒ g }  t  d d ƒ t  d t d ƒ d ƒ t  d	 d
 ƒ g } t |  Œ  j d d d ƒ t | Œ  k s  t ‚ t d d d ƒ j d d d ƒ t t  d	 d ƒ t  d d
 ƒ t  d d ƒ t  d d ƒ ƒ k s t ‚ d  S(   Ni    i   i   i   iüÿÿÿiöÿÿÿiýÿÿÿi%   iþÿÿÿiùÿÿÿi   i   iúÿÿÿióÿÿÿ(   i   i   (   i    i    (   i   i   (   R   R   R   RT   R3   R   R   (   t   ptst   pts_out(    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_transformp  s
    >5-c    
      C   s)  t  d d t ƒ}  t  d d t ƒ} t  d ƒ } t  d ƒ } t d | f d | ƒ} t |  | ƒ } | j | ƒ } | j | ƒ j } | j | ƒ j } t | | ƒ s« t ‚ t	 d d d ƒ }	 t
 d d d ƒ j t d d t ƒƒ t	 t d d ƒ t d d ƒ t d d	 ƒ ƒ k st ‚ t
 d d d ƒ j t d d t ƒƒ t	 t d d ƒ t d d ƒ t d d	 ƒ ƒ k sqt ‚ t
 d d d ƒ j t d d d ƒƒ t	 t d d ƒ t d	 d ƒ t d	 d ƒ ƒ k sËt ‚ t
 d d  d! ƒ j t d" d d ƒƒ t	 t d d ƒ t d	 d ƒ t d	 d ƒ ƒ k s%t ‚ d  S(#   NR$   R%   R&   R!   R   i    t   slopei   i   i   i   i   iÿÿÿÿiþÿÿÿi   (   i    i    (   i   i    (   i   i   (   i   i    (   i   i    (   i   i   (   i   i    (   i   i    (   i   i    (   i   i   (   i    i   (   i   i    (   i   i    (   i   i   (   i    i   (   i   i    (   i   i    (   i   i   (   i   i    (   R   R2   R   R   t   reflectt   perpendicular_segmentRS   R   R3   R   R   R	   (
   R$   R&   R!   R   t   lR„   Ru   t   dpt   drR.   (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_reflectx  s&    $6$6$6$c          C   s†   t  d d ƒ t  d d ƒ t  d d ƒ }  } } t |  | | ƒ } | j ƒ  | t t  d d ƒ t  d t d ƒ d ƒ ƒ k s‚ t ‚ d  S(   Ni    i   i   (   R   R   R]   R   R   R3   (   Rj   Rk   Rl   R.   (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_bisectorsŽ  s    /c           C   se   t  t d d ƒ t d d ƒ t d d ƒ ƒ j t d t d ƒ d d t d ƒ d ƒ k sa t ‚ d  S(   Ni    i   i   (   R   R   R^   R   R3   (    (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_incenter“  s    -c           C   s@   t  t d d ƒ t d d ƒ t d d ƒ ƒ j d k s< t ‚ d  S(   Ni    i   i   i   (   R   R   RO   R3   (    (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_inradius—  s    c           C   sp   t  t d d ƒ t d d ƒ t d d ƒ ƒ j t t d t d ƒ d t d ƒ ƒ d t d ƒ ƒ k sl t ‚ d  S(   Ni    i   (   R   R   RN   R   R   R3   (    (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_incircleš  s    -c          C   s[   t  t d d ƒ t d d ƒ t d d ƒ ƒ }  |  j |  j d d t d ƒ k sW t ‚ d  S(   Ni    i   i   iþÿÿÿi
   (   R   R   R_   R6   R   R3   (   R.   (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_exradiiž  s    -c          C   s‚   t  t d d ƒ t d d ƒ t d d ƒ ƒ }  |  j t d d ƒ t t d d ƒ t t d ƒ d t d ƒ d ƒ ƒ k s~ t ‚ d  S(   Ni    i   i   (   R   R   R`   R   R   R3   (   R.   (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_medians¢  s    -c           C   s   t  t d d ƒ t d d ƒ t d d ƒ ƒ j t  t t d ƒ d d ƒ t t d ƒ d t d ƒ d ƒ t d t d ƒ d ƒ ƒ k s‹ t ‚ d  S(   Ni    i   i   (   R   R   Rb   R   R3   (    (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_medial¦  s    -c           C   sp   t  t d d ƒ t d d ƒ t d d ƒ ƒ j t t t d ƒ d t d ƒ d ƒ t d ƒ d ƒ k sl t ‚ d  S(   Ni    i   i   i   (   R   R   Rc   R   R   R   R   R3   (    (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_nine_point_circleª  s    -c           C   sC  t  t d d ƒ t d d ƒ t d d ƒ ƒ j t t d d ƒ t t d ƒ d t d ƒ d ƒ ƒ k sk t ‚ t  t d d ƒ t d d ƒ t d d t d ƒ ƒ ƒ j t d d t d ƒ d ƒ k sÈ t ‚ t  t d d ƒ t d d	 ƒ t d
 d ƒ ƒ j t t t d ƒ d d ƒ t t d ƒ d t d ƒ d ƒ ƒ k s?t ‚ d  S(   Ni    i   i   i
   i   i   i   iúÿÿÿiÿÿÿÿiýÿÿÿi@   i   i   i   (   R   R   t	   eulerlineR   R   R   R3   R   (    (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_eulerline®  s    ->7&-c          C   s  t  t d d ƒ t d d ƒ t d d ƒ ƒ }  t t d d ƒ t d d ƒ t d d ƒ t d t d ƒ d ƒ t t d ƒ d d ƒ t d d ƒ t d d ƒ ƒ } |  j | ƒ t t d ƒ d d ƒ t t d t d ƒ d ƒ t d d ƒ ƒ t t d d ƒ t d d ƒ ƒ g k st ‚ | j |  ƒ t t d ƒ d d ƒ t t d d ƒ t d t d ƒ d ƒ ƒ t t d d ƒ t d d ƒ ƒ g k sŒt ‚ |  j t d d ƒ ƒ t d d ƒ g k s¼t ‚ |  j t d	 d
 ƒ ƒ g  k sàt ‚ | j t d d ƒ ƒ t d d ƒ t d d ƒ t t d ƒ d d ƒ t d d ƒ g k s>t ‚ | j t d d ƒ ƒ g  k sbt ‚ | j t	 d d ƒ ƒ t t d d ƒ t d d ƒ ƒ g k s¤t ‚ | j t
 d d ƒ ƒ t d d ƒ t d d ƒ g k sàt ‚ |  j |  ƒ t t d d ƒ t d d ƒ ƒ t t d d ƒ t d d ƒ ƒ t t d d ƒ t d d ƒ ƒ g k sUt ‚ | j | ƒ t t d d ƒ t d d ƒ ƒ t t d d ƒ t d t d ƒ d ƒ ƒ t t d t d ƒ d ƒ t t d ƒ d t d ƒ d ƒ ƒ t t d d ƒ t d d ƒ ƒ t t t d ƒ d t d ƒ d ƒ t d d ƒ ƒ t t d d ƒ t d d ƒ ƒ g k sbt ‚ | j t  t d d ƒ t d d ƒ t d d ƒ ƒ ƒ t t d ƒ d t d ƒ d ƒ t t d d ƒ t d d ƒ ƒ g k sãt ‚ |  j t d d d ƒ ƒ g  k s
t ‚ d  S(   Ni    i   iûÿÿÿiüÿÿÿi   i   gš™™™™™¹¿i   iôÿÿÿiÕÿÿÿi   iýÿÿÿi   iÿÿÿÿiþÿÿÿi
   i   i   iñÿÿÿ(   iôÿÿÿi    (   i   i    (   iôÿÿÿi   (   i   i   (   iýÿÿÿi   (   i   i    (   i    iÿÿÿÿ(   iôÿÿÿiñÿÿÿ(   R   R   R   R   R   R   R   R3   R   R   R   R   (   t   poly1t   poly2(    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_intersection¶  s<    -"4"(-"(-0$!=$$!*K*(=3-3Nc             sµ   t  d ƒ ‰ t d d d d ƒ ‰  ˆ  j d ˆ ƒ i t d ƒ d ˆ 6k sP t ‚ t d d d d ƒ }  |  j d ˆ ƒ i d	 d t d
 ƒ ˆ 6k s˜ t ‚ t t ‡  ‡ f d †  ƒ d  S(   NR.   i    i   g      à?i   i   i   i   iúÿÿÿi   c              s   ˆ  j  d ˆ ƒ S(   Ni   i   (   i   i   (   t   parameter_value(    (   t   sqR.   (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyR0   Þ  R1   (   i    i    (   i    i   (   i   i   (   i   i    (   g      à?i   (   i    i    (   i   i   (   i   i   (   i   i    (   i   i    (   R   R   R§   R   R3   R   R   RD   (   R'   (    (   R¨   R.   s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_parameter_valueØ  s    /3c          C   s"  t  t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ ƒ }  t d ƒ } |  j | ƒ } d |  j } g  t t d | ƒ ƒ D] } | j | | | ƒ ^ q t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ t d d ƒ g k st ‚ d  S(   Ni    i
   i   R.   i   (	   R   R   R   R/   R7   t   ranget   intRC   R3   (   t   polyR.   t   ptt   DELTAt   i(    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_issue_12966á  s    360c          C   s}  t  d ƒ \ }  } d d d } } } d	 } d |  d d } t |  d t d | d | f ƒ |  d d f ƒ } t d t | d | d | f ƒ |  d d f ƒ } t |  t | | d | f ƒ |  d d f ƒ }	 t | | | ƒ }
 | |
 j | ƒ d d k st ‚ | |
 j | ƒ d d k s(t ‚ |	 |
 j | ƒ d d k sKt ‚ d
 d d d g \ } } } } t |  d t d | d d f ƒ |  d d f ƒ } t d t | d | d d f ƒ |  d d f ƒ } t |  t | | d d f ƒ |  d d f ƒ }	 t | | | | ƒ } | | j | ƒ d d k s3t ‚ | | j | ƒ d d k sVt ‚ |	 | j | ƒ d d k syt ‚ d  S(   Ns   x, yi    i   i   i   (   i    i    (   i   i    (   i    i   (   i    i    (   i    i    (   i   i    (   i   i   (   i    i   (   R   R   R   t   second_moment_of_areaR3   (   R$   R&   Rj   Rk   Rl   R„   t   eq_yt   I_yyt   I_xxt   I_xyt   triangleRm   t	   rectangle(    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   test_second_moment_of_areaì  s&    22.###22.##N(:   t   sympyR    R   R   R   R   R   R   R   R   R	   t(   sympy.functions.elementary.trigonometricR
   t   sympy.geometryR   R   R   R   R   R   R   R   R   R   R   R   R   R   t   sympy.utilities.pytestR   R   R   t   sympy.utilities.randtestR   t   sympy.geometry.polygonR   R   R   R#   R‚   Rˆ   R‹   R   R’   R™   Rš   R›   Rœ   R   Rž   RŸ   R    R¡   R£   R¦   R©   R°   R¸   (    (    (    s@   lib/python2.7/site-packages/sympy/geometry/tests/test_polygon.pyt   <module>   s6   F^	ÿ /		
													"			