§
    OŠtji!  ã                   ó  — d dl mZmZ d dlmZmZmZmZmZm	Z	m
Z
mZmZmZ d dlmZ d dlmZ d dl mZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlm Z  d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-dS )é    )ÚcompÚRational)
Úrefraction_angleÚfresnel_coefficientsÚ	deviationÚbrewster_angleÚcritical_angleÚlens_makers_formulaÚmirror_formulaÚlens_formulaÚhyperfocal_distanceÚtransverse_magnification)ÚMedium)Úe0)Úoo)Úsymbols)Úsqrt)ÚMatrix)ÚPoint3D)ÚRay3D)ÚPlane)Úraisesc                 ó,   — t          | |d| z  ¦  «        S )Né
   )r   )ÚaÚbÚns      úc/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/physics/optics/tests/test_utils.pyú<lambda>r      s   € •T˜!˜Q  Q B¡Ñ'Ô'€ ó    c                  ó	  ‡‡‡‡‡‡— t          d¦  «        \  } }t          d¦  «        Št          d¦  «        Št          t          ddd¦  «        t          ddd¦  «        ¦  «        Št	          g d¢¦  «        Št	          g d¢¦  «        }t          t          ddd¦  «        t          ddd¦  «        ¦  «        Št          t          ddd¦  «        g d¢¬	¦  «        Št          ‰dd|¦  «        t	          dgdgdgg¦  «        k    sJ ‚t          g d¢dd|¦  «        t	          dgdgdgg¦  «        k    sJ ‚t          ddd|¦  «        t	          dgdgdgg¦  «        k    sJ ‚t          ‰ddg d¢¦  «        t	          dgdgdgg¦  «        k    sJ ‚t          ‰ddd¦  «        t	          dgdgdgg¦  «        k    sJ ‚t          ‰dd‰¦  «        t	          dgdgdgg¦  «        k    sJ ‚t          ‰dd‰¬
¦  «        t	          dgdgdgg¦  «        k    sJ ‚t          ‰dd‰¬
¦  «        t          t          ddd¦  «        t          ddd¦  «        ¦  «        k    sJ ‚t          ‰‰d‰¬
¦  «        t          t          ddd¦  «        t          t          dd¦  «        t          dd¦  «        dt          d¦  «        z  dz  ¦  «        ¦  «        k    sJ ‚t          ‰d‰‰¬
¦  «        t          t          ddd¦  «        t          ddd¦  «        ¦  «        k    sJ ‚t          ‰| |‰¬
¦  «        t          t          ddd¦  «        t          | |z  | |z  t          d¦  «         t          d| dz  z  d|dz  z  z  dz   ¦  «        z  ¦  «        ¦  «        k    sJ ‚t          ‰dd‰¬
¦  «        dk    sJ ‚t          ‰dd‰¦  «        t          t          ddd¦  «        g d¢¬¦  «        k    sJ ‚t          t          ddd¦  «        dd¦  «        sJ ‚t          t          ddd¦  «        dd¦  «        sJ ‚t          t          ˆˆˆˆˆfd„¦  «         t          t          ˆˆfd„¦  «         t          t          ˆˆˆˆfd„¦  «         t          t          ˆˆˆfd„¦  «         d S )Nún1, n2Úm1Úm2éÿÿÿÿé   r   )r&   r&   r&   ©r   r   r&   ©Únormal_vector©ÚplaneçHáz®Gõ?éd   é…   lüÿÿÿw ›^½7 é   l     �Iú5 éþÿÿÿé   )r&   r&   r%   )Údirection_ratioç      à?g@Þ«V&üÎ?é   gžê�›á†ô?c                  ó*   •— t          ‰‰‰‰‰ ¦  «        S ©N©r   )ÚPr#   r$   Ú
normal_rayÚr1s   €€€€€r   r   z'test_refraction_angle.<locals>.<lambda>I   s   ø€ Õ/°°B¸¸JÈÑJÔJ€ r    c                  ó&   •— t          ‰ ‰ ‰¦  «        S r6   r7   ©r#   r$   s   €€r   r   z'test_refraction_angle.<locals>.<lambda>J   s   ø€ Õ.¨r°2°rÑ:Ô:€ r    c                  ó*   •— t          ‰‰‰d ‰ ¦  «        S r6   r7   )Úir#   r$   r:   s   €€€€r   r   z'test_refraction_angle.<locals>.<lambda>K   s   ø€ Õ.¨r°2°r¸4ÀÑCÔC€ r    c                  ó(   •— t          ‰‰ ‰‰¦  «        S r6   r7   )r#   r$   r:   s   €€€r   r   z'test_refraction_angle.<locals>.<lambda>L   s   ø€ Õ.¨r°2°r¸2Ñ>Ô>€ r    )r   r   r   r   r   r   r   r   r   Úaer   Ú
ValueErrorÚ	TypeError)	Ún1Ún2r   r8   r>   r#   r$   r9   r:   s	      @@@@@@r   Útest_refraction_anglerE      s›  øøøøøø€ Ý�XÑÔ�F€BˆÝ	�‰Œ€BÝ	�‰Œ€BÝ	�w�r˜2˜qÑ!Ô!¥7¨1¨a°Ñ#3Ô#3Ñ	4Ô	4€BÝˆyˆyˆyÑÔ€AÝˆyˆyˆyÑÔ€AÝ•w˜q ! QÑ'Ô'­°°A°qÑ)9Ô)9Ñ:Ô:€JÝ�g�a˜˜AÑÔ¨i¨i¨iÐ8Ñ8Ô8€AÝ˜B  1 aÑ(Ô(­FØ./¨DØ./¨DØ-/¨Dð42ñ -3ô -3ò 3ð 3ð 3ð 3õ ˜I˜I˜I q¨!¨QÑ/Ô/µ6Ø./¨DØ./¨DØ-/¨Dð;2ñ 43ô 43ò 3ð 3ð 3ð 3õ ˜I q¨!¨QÑ/Ô/µ6Ø./¨DØ./¨DØ-/¨Dð;2ñ 43ô 43ò 3ð 3ð 3ð 3õ ˜A˜q ! Y Y YÑ/Ô/µ6Ø./¨DØ./¨DØ-/¨Dð;2ñ 43ô 43ò 3ð 3ð 3ð 3õ ˜A˜q ! YÑ/Ô/µ6Ø./¨DØ./¨DØ-/¨Dð;2ñ 43ô 43ò 3ð 3ð 3ð 3õ ˜A˜q ! ZÑ0Ô0µFØ./¨DØ./¨DØ-/¨Dð<2ñ 53ô 53ò 3ð 3ð 3ð 3õ ˜A˜q !¨1Ð-Ñ-Ô-µØ./¨DØ./¨DØ-/¨Dð92ñ 23ô 23ò 3ð 3ð 3ð 3õ ˜B  1¨AÐ.Ñ.Ô.Ý�g�a˜˜AÑÔ¥¨¨1¨bÑ 1Ô 1Ñ2Ô2ò3ð 3ð 3ð 3å˜B  D°Ð2Ñ2Ô2Ý�g�a˜˜AÑÔ¥­°°cÑ(:Ô(:½HÀSÈ#Ñ<NÔ<NÐP`ÕaeÐfgÑahÔahÑPhÐiyÑPyÑ zÔ zÑ{Ô{ò|ð |ð |ð |å˜B  2¨QÐ/Ñ/Ô/Ý�g�a˜˜AÑÔ¥¨¨1¨bÑ 1Ô 1Ñ2Ô2ò3ð 3ð 3ð 3å˜B  B¨aÐ0Ñ0Ô0Ý�g�a˜˜AÑÔ¥¨¨2©¨r°"©uµt¸A±w´w°h½tÀBÀrÈ1ÁuÁHÈaÐPRÐTUÑPUÉgÑDVÐYZÑDZÑ?[Ô?[Ñ6[Ñ \Ô \Ñ]Ô]ò^ð ^ð ^ð ^å˜B  a¨qÐ1Ñ1Ô1°QÒ6Ð6Ð6Ð6Ý˜B  1 jÑ1Ô1Ý�g�a˜˜AÑÔ°
°
°
Ð;Ñ;Ô;ò<ð <ð <ð <åÕ˜s A qÑ)Ô)¨7°AÑ6Ô6Ð6Ð6Ð6ÝÕ˜s A qÑ)Ô)¨7°AÑ6Ô6Ð6Ð6Ð6Ý
�:ÐJÐJÐJÐJÐJÐJÐJÐJÑKÔKÐKÝ
�9Ð:Ð:Ð:Ð:Ð:Ñ;Ô;Ð;Ý
�9ÐCÐCÐCÐCÐCÐCÐCÑDÔDÐDÝ
�9Ð>Ð>Ð>Ð>Ð>Ð>Ñ?Ô?Ð?Ð?Ð?r    c            
      óv  — t          d„ t          t          ddd¦  «        g d¢¦  «        D ¦   «         ¦  «        sJ ‚t          d„ t          t          ddd¦  «        g d¢¦  «        D ¦   «         ¦  «        sJ ‚t          d¦  «        } t          d	d
¬¦  «        }t          d„ t          t          d| |¦  «        g d¢¦  «        D ¦   «         ¦  «        sJ ‚ddgddgg}t          d|| ¦  «        }t          ||¦  «        D ]@\  }}t          |                     ¦   «         |¦  «        D ]\  }}t          ||d¦  «        sJ ‚ŒŒAd S )Nc              3   ó>   K  — | ]\  }}t          ||d ¦  «        V — ŒdS ©r4   N©r@   ©Ú.0r>   Újs      r   ú	<genexpr>z,test_fresnel_coefficients.<locals>.<genexpr>P   ó@   è è € ð 0ð 0™t˜q !�r�!�Q˜‰{Œ{ð 0ð 0ð 0ð 0ð 0ð 0r    r3   r&   r,   )g‡¢@ŸÈ“¼?g ˜£ÇïÅ¿g­nõœô¾ê?gù÷„ê?c              3   ó>   K  — | ]\  }}t          ||d ¦  «        V — ŒdS rH   rI   rJ   s      r   rM   z,test_fresnel_coefficients.<locals>.<genexpr>S   rN   r    )gHùIµOÇ³¿gHŠÈ°Š7Ê?g}iÆ¢ó?gIVñFó?r#   r$   r1   ©r   c              3   ó>   K  — | ]\  }}t          ||d ¦  «        V — ŒdS rH   rI   rJ   s      r   rM   z,test_fresnel_coefficients.<locals>.<genexpr>X   rN   r    g333333Ó?)gºW•}WÔ?gŽðHPÖ¿g.ÅUeßå?g¹ü‡ôÛ×ä?gðmú³)Î¿g~:3Pï¿g�Ñ:ªš ê?gÒ©+Ÿåyâ¿g333333ã?r4   )ÚallÚzipr   r   Úas_real_imagr@   )r#   r$   ÚansÚgotr>   rL   r   r   s           r   Útest_fresnel_coefficientsrW   O   s¾  € Ýð 0ð 0¥sÝ˜S ! TÑ*Ô*Ø-Ð-Ð-ñ(/ô (/ð 0ñ 0ô 0ñ 0ô 0ð 0ð 0ð 0õ ð 0ð 0¥sÝ˜S $¨Ñ*Ô*Ø-Ð-Ð-ñ(/ô (/ð 0ñ 0ô 0ñ 0ô 0ð 0ð 0ð 0õ 
�‰Œ€BÝ	�˜Ð	Ñ	Ô	€BÝð 0ð 0¥sÝ˜S " bÑ)Ô)Ø-Ð-Ð-ñ(/ô (/ð 0ñ 0ô 0ñ 0ô 0ð 0ð 0ð 0ð �hÐ '¨8Ð!4Ð
5€CÝ
˜s B¨Ñ
+Ô
+€CÝ�C˜‘”ð ð ‰ˆˆ1Ý˜ŸšÑ(Ô(¨!Ñ,Ô,ð 	ð 	‰DˆAˆqÝ�a˜˜A‘;”;ÐÐ�;Ðð	ðð r    c                  ó¬  — t          d¦  «        \  } }t          t          ddd¦  «        t          ddd¦  «        ¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          t          ddd¦  «        t          ddd¦  «        ¦  «        }t	          t          ddd¦  «        g d¢¬¦  «        }t          |dd|¬¦  «        dk    sJ ‚t          |dd|¬	¦  «        dk    sJ ‚t          |dd
|¬	¦  «                             d¦  «        dz   dk     sJ ‚t          |dd
|¬¦  «                             d¦  «        dz   dk     sJ ‚t          |dd|¬	¦  «        �J ‚t          |ddg d¢¬¦  «        dk    sJ ‚t          g d¢ddg d¢¬¦  «        dk    sJ ‚t          t          ddd¦  «        dd¦  «        sJ ‚t          t          ddd¦  «        dd¦  «        sJ ‚d S )Nr"   r%   r&   r   r'   )r%   r%   r%   r(   )Únormalr*   gš™™™™™ñ?r/   gX9´Èv¾?gü©ñÒMbP?r,   r3   r1   gàªÔì�Ð¿r4   g=Õ!7Ãé?)r   r   r   r   r   r   Úevalfr@   )rC   rD   r:   r   r>   r9   r8   s          r   Útest_deviationr[   b   s  € Ý�XÑÔ�F€BˆÝ	�w�r˜2˜qÑ!Ô!¥7¨1¨a°Ñ#3Ô#3Ñ	4Ô	4€BÝˆyˆyˆyÑÔ€AÝˆ|ˆ|ˆ|ÑÔ€AÝ•w˜q ! QÑ'Ô'­°°A°qÑ)9Ô)9Ñ:Ô:€JÝ�g�a˜˜AÑÔ¨i¨i¨iÐ8Ñ8Ô8€AÝ�R˜˜A aÐ(Ñ(Ô(¨AÒ-Ð-Ð-Ð-Ý�R˜˜A QÐ'Ñ'Ô'¨1Ò,Ð,Ð,Ð,Ý�R˜˜C qÐ)Ñ)Ô)×/Ò/°Ñ2Ô2°UÑ:¸TÒAÐAÐAÐAÝ�Q˜˜3 zÐ2Ñ2Ô2×8Ò8¸Ñ;Ô;¸eÑCÀdÒJÐJÐJÐJÝ�R˜˜q¨Ð*Ñ*Ô*Ð2Ð2Ð2Ý�R˜˜A i i iÐ0Ñ0Ô0°AÒ5Ð5Ð5Ð5Ý�\�\�\ 1 a°	°	°	Ð:Ñ:Ô:¸aÒ?Ð?Ð?Ð?Ý�i˜˜Q Ñ"Ô" H¨aÑ0Ô0Ð0Ð0Ð0Ý�i˜˜Q Ñ"Ô" G¨QÑ/Ô/Ð/Ð/Ð/Ð/Ð/r    c                  ól  — t          dd¬¦  «        } t          dd¬¦  «        }t          t          | |¦  «        dd¦  «        sJ ‚t          dt          d¬¦  «        } t          dt          d¬¦  «        }t          t          | |¦  «        dd¦  «        sJ ‚t          t          dd¦  «        dd¦  «        sJ ‚d S )	Nr#   r&   rP   r$   r,   gÃõ(\�Âí?r1   ©Úpermittivityr   )r   r@   r   r   r<   s     r   Útest_brewster_angler_   t   sº   € Ý	�˜Ð	Ñ	Ô	€BÝ	�˜Ð	Ñ	Ô	€BÝ�n˜R Ñ$Ô$ d¨AÑ.Ô.Ð.Ð.Ð.Ý	�¥2¨Ð	+Ñ	+Ô	+€BÝ	�¥2¨Ð	.Ñ	.Ô	.€BÝ�n˜R Ñ$Ô$ d¨AÑ.Ô.Ð.Ð.Ð.Ý�n˜Q Ñ%Ô% t¨QÑ/Ô/Ð/Ð/Ð/Ð/Ð/r    c                  óŒ   — t          dd¬¦  «        } t          dd¬¦  «        }t          t          || ¦  «        dd¦  «        sJ ‚d S )Nr#   r&   rP   r$   r,   g333333ë?r1   )r   r@   r	   r<   s     r   Útest_critical_anglera   ~   sN   € Ý	�˜Ð	Ñ	Ô	€BÝ	�˜Ð	Ñ	Ô	€BÝ�n˜R Ñ$Ô$ d¨AÑ.Ô.Ð.Ð.Ð.Ð.Ð.r    c                  óT  — t          d¦  «        \  } }t          dt          d¬¦  «        }t          dt          d¬¦  «        }t          | |dd¦  «        d	|z  | |z
  z  k    sJ ‚t	          t          ||dd¦  «        d
d¦  «        sJ ‚t	          t          dddd¦  «        dd¦  «        sJ ‚d S )Nr"   r#   r&   r]   r$   r,   r   éöÿÿÿg      @gfffff&4Àr1   gÍÌÌÌÌL.@)r   r   r   r
   r@   ©rC   rD   r#   r$   s       r   Útest_lens_makers_formulare   „   s»   € Ý�XÑÔ�F€BˆÝ	�¥2¨Ð	+Ñ	+Ô	+€BÝ	�¥2¨Ð	.Ñ	.Ô	.€BÝ˜r 2 r¨3Ñ/Ô/°3°r±6¸2À¹7Ñ3CÒCÐCÐCÐCÝÕ! " b¨"¨cÑ2Ô2°F¸AÑ>Ô>Ð>Ð>Ð>ÝÕ! $¨¨2¨sÑ3Ô3°e¸QÑ?Ô?Ð?Ð?Ð?Ð?Ð?r    c                  ó�  ‡ ‡‡— t          d¦  «        \  ŠŠŠ t          ‰ ‰¬¦  «        ‰ ‰z  ‰  ‰z   z  k    sJ ‚t          ‰ ‰¬¦  «        ‰ ‰z  ‰  ‰z   z  k    sJ ‚t          ‰‰¬¦  «        ‰‰z  ‰‰z   z  k    sJ ‚t          t          ‰¬¦  «        ‰k    sJ ‚t          t          t          ¬¦  «        t          u sJ ‚t          t          ‰¬¦  «        ‰ k    sJ ‚t          ‰t          ¬¦  «        ‰k    sJ ‚t          t          t          ¬¦  «        t          u sJ ‚t          ‰ t          ¬¦  «        ‰ k    sJ ‚t          t          ‰¬¦  «        ‰ k    sJ ‚t          t          t          ¬¦  «        t          u sJ ‚t          ‰ t          ¬¦  «        ‰ k    sJ ‚t          t          ‰¬¦  «        ‰ k    sJ ‚t          t          ˆ ˆˆfd„¦  «         d S )Núu, v, f©Úfocal_lengthÚu©ri   Úv©rj   rl   c                  ó(   •— t          ‰ ‰‰¬¦  «        S ©N)ri   rj   rl   )r   ©Úfrj   rl   s   €€€r   r   z%test_mirror_formula.<locals>.<lambda>œ   s   ø€ �~¸1ÀÀQÐGÑGÔG€ r    )r   r   r   r   rA   rp   s   @@@r   Útest_mirror_formularr   �   sò  øøø€ Ý�iÑ Ô �G€A€qˆ!Ý q¨AÐ.Ñ.Ô.°!°A±#¸°r¸A±v±,Ò>Ð>Ð>Ð>Ý q¨AÐ.Ñ.Ô.°!°A±#¸°r¸A±v±,Ò>Ð>Ð>Ð>Ý˜A Ð#Ñ#Ô# q¨¡s¨A°©E¡{Ò2Ð2Ð2Ð2Ý�B !Ð$Ñ$Ô$¨Ò)Ð)Ð)Ð)Ý�B¥"Ð%Ñ%Ô%­Ð+Ð+Ð+Ð+Ý¥r¨QÐ/Ñ/Ô/°A°2Ò5Ð5Ð5Ð5Ý˜A¥Ð$Ñ$Ô$¨Ò)Ð)Ð)Ð)Ý¥r­RÐ0Ñ0Ô0µBÐ6Ð6Ð6Ð6Ý q­BÐ/Ñ/Ô/°1Ò4Ð4Ð4Ð4Ý¥r¨QÐ/Ñ/Ô/°A°2Ò5Ð5Ð5Ð5Ý¥r­RÐ0Ñ0Ô0µBÐ6Ð6Ð6Ð6Ý q­BÐ/Ñ/Ô/°1Ò4Ð4Ð4Ð4Ý¥r¨QÐ/Ñ/Ô/°A°2Ò5Ð5Ð5Ð5Ý
�:ÐGÐGÐGÐGÐGÐGÑHÔHÐHÐHÐHr    c                  óŒ  ‡ ‡‡— t          d¦  «        \  ŠŠŠ t          ‰ ‰¬¦  «        ‰ ‰z  ‰ ‰z   z  k    sJ ‚t          ‰ ‰¬¦  «        ‰ ‰z  ‰ ‰z
  z  k    sJ ‚t          ‰‰¬¦  «        ‰‰z  ‰‰z
  z  k    sJ ‚t          t          ‰¬¦  «        ‰k    sJ ‚t          t          t          ¬¦  «        t          u sJ ‚t          t          ‰¬¦  «        ‰k    sJ ‚t          ‰t          ¬¦  «        ‰ k    sJ ‚t          t          t          ¬¦  «        t           u sJ ‚t          t          ‰¬¦  «        ‰k    sJ ‚t          ‰ t          ¬¦  «        ‰  k    sJ ‚t          t          t          ¬¦  «        t          u sJ ‚t          t          ‰¬¦  «        ‰k    sJ ‚t          ‰ t          ¬¦  «        ‰ k    sJ ‚t          t          ˆ ˆˆfd„¦  «         d S )Nrg   rh   rk   rm   c                  ó(   •— t          ‰ ‰‰¬¦  «        S ro   )r   rp   s   €€€r   r   z#test_lens_formula.<locals>.<lambda>®   s   ø€ �|¸¸aÀ1ÐEÑEÔE€ r    )r   r   r   r   rA   rp   s   @@@r   Útest_lens_formularu   Ÿ   sî  øøø€ Ý�iÑ Ô �G€A€qˆ!Ý Q¨!Ð,Ñ,Ô,°°!±°Q¸±U±Ò;Ð;Ð;Ð;Ý Q¨!Ð,Ñ,Ô,°°!±°Q¸±U±Ò;Ð;Ð;Ð;Ý˜!˜qÐ!Ñ!Ô! Q q¡S¨!¨a©%¡[Ò0Ð0Ð0Ð0Ý�" Ð"Ñ"Ô" aÒ'Ð'Ð'Ð'Ý�"¥Ð#Ñ#Ô#¥rÐ)Ð)Ð)Ð)Ý¥R¨1Ð-Ñ-Ô-°Ò2Ð2Ð2Ð2Ý˜!�rÐ"Ñ"Ô" q bÒ(Ð(Ð(Ð(Ý¥R­2Ð.Ñ.Ô.µ2°#Ð5Ð5Ð5Ð5Ý¥R¨1Ð-Ñ-Ô-°Ò2Ð2Ð2Ð2Ý Q­"Ð-Ñ-Ô-°!°Ò3Ð3Ð3Ð3Ý¥R­2Ð.Ñ.Ô.µ"Ð4Ð4Ð4Ð4Ý¥R¨1Ð-Ñ-Ô-°Ò2Ð2Ð2Ð2Ý Q­"Ð-Ñ-Ô-°Ò2Ð2Ð2Ð2Ý
�:ÐEÐEÐEÐEÐEÐEÑFÔFÐFÐFÐFr    c                  ó´   — t          d¦  «        \  } }}t          | ||¬¦  «        | dz  ||z  z  k    sJ ‚t          t          ddd¬¦  «        dd¦  «        sJ ‚d S )Nzf, N, c©rq   ÚNÚcr1   r3   é   gF%ušk?gq=
×£ð"@)r   r   r@   rw   s      r   Útest_hyperfocal_distancer{   ±   so   € Ý�iÑ Ô �G€A€qˆ!Ý  a¨1Ð-Ñ-Ô-°°A±°q¸±s±Ò;Ð;Ð;Ð;ÝÕ! C¨1°Ð7Ñ7Ô7¸¸qÑAÔAÐAÐAÐAÐAÐAr    c                  óŠ   — t          d¦  «        \  } }t          | |¦  «        |  |z  k    sJ ‚t          dd¦  «        dk    sJ ‚d S )Nzsi, soé   é   r0   )r   r   )ÚsiÚsos     r   Útest_transverse_magnificationr�   ·   sU   € Ý�XÑÔ�F€BˆÝ# B¨Ñ+Ô+°¨s°2©vÒ5Ð5Ð5Ð5Ý# B¨Ñ+Ô+¨rÒ1Ð1Ð1Ð1Ð1Ð1r    c            	      ó4  — t          d¦  «        \  } }t          dt          d¬¦  «        }t          dt          d¬¦  «        }t          t	          ||ddd¬	¦  «        d
d¦  «        sJ ‚t	          | |ddd¬	¦  «        |dd| z  d|z  z
  | z  z
  | |z
  z  z  k    sJ ‚d S )Nr"   r#   r&   r]   r$   r,   r   rc   )ÚdgR¸…ëÑ3Àr1   r%   gš™™™™™¹?g       @)r   r   r   r@   r
   rd   s       r   Ú#test_lens_makers_formula_thick_lensr„   ½   sº   € Ý�XÑÔ�F€BˆÝ	�¥2¨Ð	+Ñ	+Ô	+€BÝ	�¥2¨Ð	.Ñ	.Ô	.€BÝÕ! " b¨"¨c°QÐ7Ñ7Ô7¸ÀÑCÔCÐCÐCÐCÝ˜r 2 q¨"°Ð4Ñ4Ô4¸¸SÀCÈÁFÈSÐQSÉVÁOÐUWÑCWÑ=WÐZ\Ð_aÑZaÑ<bÑ8cÒcÐcÐcÐcÐcÐcr    c                  ó"  — t          d¦  «        \  } }t          dt          d¬¦  «        }t          dt          d¬¦  «        }t          t	          ||dt
          ¦  «        dd	¦  «        sJ ‚t	          | |dt
          ¦  «        d
|z  | |z
  z  k    sJ ‚d S )Nr"   r#   r&   r]   r$   r,   r   gfffff&DÀr1   g      $@)r   r   r   r@   r
   r   rd   s       r   Ú#test_lens_makers_formula_plano_lensr†   Å   s”   € Ý�XÑÔ�F€BˆÝ	�¥2¨Ð	+Ñ	+Ô	+€BÝ	�¥2¨Ð	.Ñ	.Ô	.€BÝÕ! " b¨"­bÑ1Ô1°6¸1Ñ=Ô=Ð=Ð=Ð=Ý˜r 2 r­2Ñ.Ô.°$°r±'¸2À¹7Ñ2CÒCÐCÐCÐCÐCÐCr    N).Úsympy.core.numbersr   r   Úsympy.physics.optics.utilsr   r   r   r   r	   r
   r   r   r   r   Úsympy.physics.optics.mediumr   Úsympy.physics.unitsr   r   Úsympy.core.symbolr   Ú(sympy.functions.elementary.miscellaneousr   Úsympy.matrices.denser   Úsympy.geometry.pointr   Úsympy.geometry.liner   Úsympy.geometry.planer   Úsympy.testing.pytestr   r@   rE   rW   r[   r_   ra   re   rr   ru   r{   r�   r„   r†   © r    r   ú<module>r“      s+  ðØ -Ð -Ð -Ð -Ð -Ð -Ð -Ð -ð"ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð /Ð .Ð .Ð .Ð .Ð .Ø "Ð "Ð "Ð "Ð "Ð "à !Ð !Ð !Ð !Ð !Ð !Ø %Ð %Ð %Ð %Ð %Ð %Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø (Ð (Ð (Ð (Ð (Ð (Ø %Ð %Ð %Ð %Ð %Ð %Ø &Ð &Ð &Ð &Ð &Ð &à 'Ð 'Ð 'Ð 'Ð 'Ð 'ð (Ð'€ð5@ð 5@ð 5@ðpð ð ð&0ð 0ð 0ð$0ð 0ð 0ð/ð /ð /ð@ð @ð @ðIð Ið Ið$Gð Gð Gð$Bð Bð Bð2ð 2ð 2ðdð dð dðDð Dð Dð Dð Dr    