
    `i                     R    / S Qr S rS	S jrS
S jrSS jrSS jr S	S jr S	S jrg))gRAg.nnwg̾g>g?p[c                     SS K nU c  US-  n UR                  UR                  SSS5      UR                  SSS5      5      u  p4US-
  U-  nUS-
  U -  nUR                  US-  US-  -   5      nU$ )N    gqq?   d   g      ?   )numpymeshgridlinspacesqrt)sensor_heightsensor_widthnpuuvvrrs         Y/home/wildlama/Downloads/blender-5.1.2-linux-x64/5.1/scripts/addons_core/cycles/camera.pycreate_gridr      s}    $/[[Q3/Q31GHFB
s(l	"B
s(m	#B	q27"	#BI    Nc                     SS K n[        X!5      nUR                  UR                  UR	                  X@-  5      * R                  S5      n[        [        U5      5      $ )Nr      r   r   polyfitflatarctanlistreversed)focal_lengthr   r   r   r   
polynomials         r   'fisheye_lens_polynomial_from_projectiver      sJ    	]	1BBGGryy1B'C&C%I%I1MJ$%%r   c                 V    SS K nUS-  UR                  U S-  5      -  n[        XAU5      $ )Nr   r   )r   tanr   )fovr   r   r   fs        r   +fisheye_lens_polynomial_from_projective_fovr#   #   s-    q266#'?*A21MRRr   c                 h   SS K n[        X!5      nUR                  S5      nUR                  S Vs/ s H  oeU-  PM	     sn5      nSUR	                  USU -  -  5      -  R                  S5      nUR
                  R                  UR                  UR                  S S9S   nS/[        U5      -   $ s  snf )Nr   )r   r      r   r   )rcond)	r   r   reshapestackarcsinlinalglstsqTr   )	lensr   r   r   r   xiyr   s	            r   &fisheye_lens_polynomial_from_equisolidr3   )   s    	]	1B


2A
-1Q$-.A	biia$h(	(11"5Aacc6q9J3j!!! .s   B/c                 >    SS K nSUR                  U 5      * U-  SSS/$ )Nr   )r   radians)r!   r   r   r   s       r   (fisheye_lens_polynomial_from_equidistantr6   3   s&    

3,.1a88r   c                     SS K n[        XT5      nXs-  S-  nX-  n	X-  n
SX-  -   X-  -   X*-  -   nUR                  UR                  UR	                  Xs-  U-  5      * R                  S5      n[        [        U5      5      $ Nr   r   r   r   r   )k1k2k3r   r   r   r   r   r2r4r6r_coeffr   s                r   <fisheye_lens_polynomial_from_distorted_projective_polynomialr@   8   s     	]	1B

	!B	B	B"'kBG#bg-GBGGryy1BW1L'M&M%S%SUVWJ$%%r   c                     SS K n[        XC5      nXb-  S-  nXw-  nSX-  -   X-  -   n	UR                  UR                  UR	                  Xb-  U	-  5      * R                  S5      n
[        [        U
5      5      $ r8   r   )r9   r:   r   r   r   r   r   r<   r=   r?   r   s              r   ;fisheye_lens_polynomial_from_distorted_projective_divisionsrB   E   sx     	]	1B

	!B	B"'kBG#GBGGryy1BW1L'M&M%S%SUVWJ$%%r   )2   $   N)rD   N)g      %@rD   N)   rD   N)default_fisheye_polynomialr   r   r#   r3   r6   r@   rB    r   r   <module>rH      s?    &S"9 EI
& AE	&r   