
    R1i                     .    d dl mZ ddlmZ d Zd Zd Zy)    )sqrt   )	length_ofc                      ddl m} m}m}m}m}m}  | d      \  }}}}	}
} |||      } ||       } ||	|
|g      } ||       ||       z  |z  \  }}}|d|z
  z  }|d|z
  z  }||fS )z=Compute the formulae to cut-and-paste into the routine below.r   )symbolsatan2acos	rot_axis1	rot_axis3Matrixzx_c y_c z_c x y zr   )sympyr   r   r	   r
   r   r   )r   r   r	   r
   r   r   x_cy_cz_cxyzaround_zaround_xvxoyozoxpyps                       X/home/cursorai/projects/iching/venv/lib/python3.12/site-packages/skyfield/projections.py_derive_stereographicr      s    HH$%89Cc1a S#HSDzH 	1ayA8$y(';;a?JBB 
q2vB	q2vBr6M    c                     ddl m}m}  ||  |d      d      \  }}|D ]  \  }}t        |d|        t                |D ]  }t        |        y )Nr   )csenumbered_symbolstbasic)optimizations=)r   r    r!   print)expressionsr    r!   commonsoutputssymbolexprs          r   	_optimizer,      sT    +GW
  fc4   	Gd r   c                     | j                   j                  }|t        |      z  }t        |j                        dkD  r!|j                  d      }|t        |      z  }n|}|\  fd}|S )z?Compute *x* and *y* coordinates at which to plot the positions.r   )axisc                 L   | j                   j                  }|t        |      z  }|\  }}}dt        dz  dz  z         z  }|z  }t        dz   dz         }||z  }	|z  }
d||	z  |	|
z  z   |z  z   dz   z  }|z  }||z  |z  |z  z
  z  | ||z  ||z  z
  |
|z  z   z  fS )Nr      )positionaur   r   )r1   pur   r   r   t0t1t2t3t4t5t6r   r   r   s                r   projectz/build_stereographic_projection.<locals>.project5   s      	!1a
 tCFS!VO$$sU36'A+UsU22#%)*V"uaec!em$rc2b52a4<"R%+?&@@@r   )r1   r2   r   lenshapemean)centerr3   r4   cr<   r   r   r   s        @@@r   build_stereographic_projectionrB   &   sl     	A	IaLA
177|aFFFN	!MCcA$ Nr   N)numpyr   	functionsr   r   r,   rB    r   r   <module>rF      s      (!r   