a
    kh                     @   s   zd dl mZ W n ey"   Y n0 d dlmZ d dlmZm	Z
mZ dd Zdd Zdd	 Zd
d Zdd Zde Zdd ZdS )    )c_floatN)sqrtacospic                 C   s^   | d |d  | d |d   | d |d  | d |d   | d |d  | d |d   fS )N      r    abr   r   U/var/www/auris/lib/python3.9/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rt|}|||fS d}t|||fS d S )Nr   r         ?g        )minmaxr   r   )xywidthheightsrZsxZsyszr   r   r   get_sphere_mapping   s    
r   g     f@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|	g|R   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)p1p2r   r   Ztheta_multiplierZv1Zv2dZraxisZrtheta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   r   <module>   s   