U
    ZÊ¹j§  ã                   @   sz   zd dl mZ W n ek
r$   Y nX d dlmZ d dlmZm	Z
 dd„ Zdd„ Zdd	„ Zd
d„ Zdd„ ZdZdd„ ZdS )é    )Úc_floatN)ÚsqrtÚacosc                 C   s^   | d |d  | d |d   | d |d  | d |d   | d |d  | d |d   fS )Né   é   r   © ©ÚaÚbr   r   úf/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/plotting/pygletplot/plot_rotation.pyÚcross
   s    þr   c                 C   s0   | d |d  | d |d   | d |d   S ©Nr   r   r   r   r   r   r   r   Údot   s    r   c                 C   s(   t | d d | d d  | d d  ƒS )Nr   r   r   )Ú_sqrt)r	   r   r   r   Úmag   s    r   c                 C   s*   t | ƒ}| d | | d | | d | fS r   )r   )r	   Úmr   r   r   Únorm   s    r   c                 C   s¨   t t| dgƒ|gƒ} t t|dgƒ|gƒ}t|d d |d d  ƒ}| |d  | }||d  | }d|d  |d  }|dkr’t|ƒ}|||fS d}t|||fƒS d S )Nr   r   ç      ð?g        )ÚminÚmaxr   r   )ÚxÚyÚwidthÚheightÚsrÚsxZsyÚszr   r   r   Úget_sphere_mapping   s    
r   gFßa~Ü¥L@c                 C   sº   t | d | d ||ƒ}t |d |d ||ƒ}ttt||ƒdgƒdƒ}t|d ƒdk rXd S tt||ƒƒ}|t t|ƒ }	t	 
¡  t	 ¡  t	j|	f|žŽ  td ƒ }
t	 t	j|
¡ t	 ¡  |
S )Nr   r   éÿÿÿÿr   g�íµ ÷Æ°>é   )r   r   r   r   Úabsr   r   Úrad2degÚ_acosÚpglZglPushMatrixZglLoadIdentityZ	glRotatefr   ZglGetFloatvZGL_MODELVIEW_MATRIXZglPopMatrix)Úp1Zp2r   r   Ztheta_multiplierZv1Zv2ÚdZraxisZrthetaZmatr   r   r   Úget_spherical_rotatation1   s    
r&   )Úctypesr   ÚImportErrorZ	pyglet.glÚglr#   Úmathr   r   r   r"   r   r   r   r   r   r!   r&   r   r   r   r   Ú<module>   s   