U
    ZÊ¹j©  ã                   @   s°   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 dl
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 edƒZd	d
„ Zdd„ Z dS )é    )Úpi)ÚcosÚsin)Ú
CoordSys3D)ÚParametricRegionÚparametric_region_list)ÚPointÚSegmentÚCurveÚEllipseÚLineÚParabolaÚPolygon)Úraises)	ÚaÚbÚrÚtÚxÚyÚzÚthetaÚphiÚCc            
      C   s  t dƒ} | jdkst‚| jdks$t‚| ji ks2t‚| jdks@t‚t ttftddfƒ}|jttfksft‚|jtfksvt‚|jdks„t‚t tttfttddfƒ}|jtttfks°t‚|jttfksÂt‚|jtdiksÔt‚|jdksât‚t dt	 d	t
 ft	ddft
d
dfƒ}|jdt	 d	t
 fk�s"t‚|jt	t
fk�s6t‚|jt	dt
dik�sNt‚|jdk�s^t‚t ttd ftƒ}|jtfk�s‚t‚|ji k�s’t‚|jdk�s¢t‚t tttƒ tttƒ fttddt fƒ}|jtttƒ tttƒ fk�sðt‚|jdk�s t‚t tttƒ tttƒ ftddftdtfƒ}|jtttƒ tttƒ fk�sPt‚|jttfk�sdt‚|jtdtdtfik�s€t‚|jdk�s�t‚t t	ttƒ t
ttƒ ftddfƒ}|jtfk�sÆt‚|jtdik�sÚt‚|jdk�sêt‚t tttƒ tttƒ tftddftddt ftddfƒ}|jtttfk�s:t‚|jdk�sJt‚t tttƒ ttƒ tttƒ ttƒ tttƒ fttddt ftdtfƒ}	|	jtttƒ ttƒ tttƒ ttƒ tttƒ fk�sÔt‚|	jtttfk�sêt‚|	jdk�sút‚ttdd„ ƒ ttdd„ ƒ d S )N)é   é   © r   é   é   é   )r   r   é	   iðÿÿÿéÿÿÿÿ)r   r   )r!   r   r   éþÿÿÿ)r"   r   é   )r   r#   r   c                   S   s"   t ttd  dt t ftdfƒS )Nr   r"   )r   r   r   r   r   r   úg/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/vector/tests/test_parametricregion.pyÚ<lambda>E   ó    z'test_ParametricRegion.<locals>.<lambda>c                   S   s$   t ttftd ttƒftdddfƒS )Nr   r   é   )r   r   r   r   r   r   r   r$   r%   F   r&   )r   Z
definitionÚAssertionErrorÚ
parametersZlimitsÚ
dimensionsr   r   r   r   r   r   r   r   r   r   r   r   r   Ú
ValueError)
ÚpointZline_xyZline_yzÚp1Zp2ÚcircleZhalfdiscZellipseZcylinderZspherer   r   r$   Útest_ParametricRegion   s`    $*$,$$:2  ÿ>r/   c                     sn  t ddƒ} t| ƒtdƒgks t‚tt ddƒddƒ}t|tƒtdttƒ d dttƒ d ftddt fƒgksrt‚t	ttd ftd	dfƒ}t|ƒtttd ftd	dfƒgks°t‚t
t dd
dƒt ddd	ƒƒ}t|tƒtddt  d
dt  d
t d ftddfƒgk�s
t‚t
t ddƒdƒ}t|tƒttdftddfƒgk�s@t‚t
t dddƒt ddd	ƒƒ}t|tƒtdddt d ftddfƒgk�sŠt‚t
t ddƒt ddƒƒ}t|ƒtdƒgk�s¸t‚tdddƒ}t|tƒtddt  d	t d ftddfƒtd	t d ddt  ftddfƒtdt dt ftddfƒgk�s6t‚tt ddƒtt d	dƒt ddƒƒƒ‰ tt‡ fdd„ƒ d S )Néûÿÿÿé   )r0   r1   r   r#   r'   r   r   r   é   iúÿÿÿr    r   )r   r   é8   )r1   r3   )r   r   )éýÿÿÿr#   )r   r   r   é   c                      s   t ˆ ƒS )N)r   r   ©r-   r   r$   r%   a   r&   z-test_parametric_region_list.<locals>.<lambda>)r   r   r   r(   r   r   r   r   r   r
   r	   r   r   r   r   r+   )r,   ÚeÚcÚsÚs1Ús2Zs3Zpolyr   r6   r$   Útest_parametric_region_listI   s$    
@&@&0r"r<   N)!Zsympy.core.numbersr   Z(sympy.functions.elementary.trigonometricr   r   Zsympy.vector.coordsysrectr   Zsympy.vector.parametricregionr   r   Zsympy.geometryr   r	   r
   r   r   r   r   Zsympy.testing.pytestr   Z	sympy.abcr   r   r   r   r   r   r   r   r   r   r/   r<   r   r   r   r$   Ú<module>   s   $,=