Ë
    7^(hÏ(  ã                   ó¼  — d dl mZmZmZmZmZmZmZmZ d dl	m
Z
mZ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 d dlmZmZmZ d dlmZmZ  ed«      \  ZZZ Z!Z" ed«      Z#e#jI                  dd	ee#jJ                  g«      Z&e&jI                  d
d	ee&jN                  g«      Z(e(jI                  dd	e e(jR                  g«      Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d„ Z4d„ Z5y)é    )ÚsinÚcosÚtanÚpiÚsymbolsÚMatrixÚSÚFunction)ÚParticleÚPointÚReferenceFrameÚ	RigidBody)	Úangular_momentumÚdynamicsymbolsÚkinetic_energyÚlinear_momentumÚouterÚpotential_energyÚmsubsÚfind_dynamicsymbolsÚ
Lagrangian)Úcenter_of_massÚ_validate_coordinatesÚ_parse_linear_solver)ÚraisesÚwarns_deprecated_sympyzq1 q2 q3 q4 q5ÚNÚAÚAxisÚBÚCc                  ó  ‡‡‡— t        d«      Št        d«      } | j                  ‰d‰j                  z  «       t	        ‰j
                  ‰j
                  «      }t        d| ‰d|| f«      Št        d«      }t        d|d«      Š‰j                  j                  ‰d	‰j
                  z  «       t        t        ˆˆfd
„«       t        t        ˆˆfd„«       t        ‰‰‰«      d	‰j
                  z  d‰j                  z  z   k(  sJ ‚y )Nr   ÚAcé   r   é   ÚPÚPaé   é
   c                  ó   •— t        ‰ ‰ ‰«      S ©N©r   ©r   r'   s   €€új/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/physics/mechanics/tests/test_functions.pyú<lambda>z&test_linear_momentum.<locals>.<lambda>   ó   ø€ œo¨a°°BÓ7€ ó    c                  ó   •— t        ‰ ‰ ‰«      S r+   r,   ©r   r'   s   €€r.   r/   z&test_linear_momentum.<locals>.<lambda>   r0   r1   iô  )r   r   Úset_velÚyr   Úxr   r   Úpointr   Ú	TypeErrorr   )r#   ÚIr&   r   r   r'   s      @@@r.   Útest_linear_momentumr:      sÊ   ú€ Ü�sÓ€AÜ	ˆt‹€BØ‡J�Jˆq�"�q—s‘s‘(ÔÜˆa�c‰c�1—3‘3‹€AÜ�#�r˜1˜b 1 b 'Ó*€AÜˆc‹
€AÜ	�$˜˜1Ó	€BØ‡H�H×Ñ�Q˜˜QŸS™S™Ô!Ü
Œ9Ô7Ô8Ü
Œ9Ô7Ô8Ü˜1˜a Ó$¨¨Q¯S©S©°3¸¿¹±9Ñ(<Ò<Ð<Ñ<r1   c                  ó¸  ‡	‡
‡‡— t        d«      \  } }}}t        d«      }t        d«      Š
t        d«      }t        d«      Š‰j	                  d|‰
j
                  z  «      }|j	                  d|‰
j
                  z  «      }‰j                  ‰
d‰
j
                  z  «       |j                  ‰
|‰
j                  z  «       |j                  ‰‰
|«       |j                  ‰‰
|«       t        d	|| «      Št        d
||||t        ‰
j                  ‰
j                  «      z  |f«      Š	d| z  |z  |z  ‰
j                  z  ||z  |z  ‰
j                  z  z   }t        ‰
‰	‰«      |k(  sJ ‚t        t         ˆ	ˆ
ˆfd„«       t        t         ˆ	ˆˆfd„«       t        t         ˆ
ˆˆfd„«       |||dz  z  z   d| z  |dz  z  z   |z  ‰
j                  z  }t#        ‰‰
‰	‰«      |k(  sJ ‚y)a   A rod with length 2l, centroidal inertia I, and mass M along with a
    particle of mass m fixed to the end of the rod rotate with an angular rate
    of omega about point O which is fixed to the non-particle end of the rod.
    The rod's reference frame is A and the inertial frame is N.z
m, M, l, IÚomegar   ÚaÚOr#   r&   r   r'   r   é   c                  ó    •— t        ‰‰‰ ‰«      S r+   ©r   )r   r   r'   s   €€€r.   r/   z;test_angular_momentum_and_linear_momentum.<locals>.<lambda>7   ó   ø€ Ô.¨q°!°Q¸Ó;€ r1   c                  ó    •— t        ‰‰‰ ‰«      S r+   rA   )r   r>   r'   s   €€€r.   r/   z;test_angular_momentum_and_linear_momentum.<locals>.<lambda>8   rB   r1   c                  ó    •— t        ‰‰ ‰‰«      S r+   rA   )r   r>   r'   s   €€€r.   r/   z;test_angular_momentum_and_linear_momentum.<locals>.<lambda>9   rB   r1   é   N)r   r   r   r   Ú	locatenewr6   r4   Úset_ang_velÚzÚv2pt_theoryr   r   r   r5   r   r   r8   r   )ÚmÚMÚlr9   r<   r=   r#   r&   Úexpectedr   r   r>   r'   s            @@@@r.   Ú)test_angular_momentum_and_linear_momentumrN   #   s¤  û€ ô
 ˜Ó&�J€A€qˆ!ˆQÜ˜7Ó#€EÜ�sÓ€AÜ�sÓ€AÜˆc‹
€AØ	
�‰�T˜1˜qŸs™s™7Ó	#€BØ
�‰�S˜!˜aŸc™c™'Ó"€AØ‡I�Iˆa��Q—S‘S‘ÔØ‡M�M�!�U˜QŸS™S‘[Ô!Ø‡N�N�1�a˜ÔØ‡M�M�!�Q˜ÔÜ	�$˜˜1Ó	€BÜ�#�r˜1˜a !¤e¨A¯C©C°·±£oÑ"5°rÐ!:Ó;€AØ�1‰u�u‰}˜qÑ  1§3¡3Ñ&¨¨Q©°©¸¿¹Ñ)<Ñ<€HÜ˜1˜a Ó$¨Ò0Ð0Ð0Ü
Œ9Õ;Ô<Ü
Œ9Õ;Ô<Ü
Œ9Õ;Ô<Ø�A˜˜1™‘H‘˜q 1™u q¨!¡t™|Ñ+¨uÑ4°q·s±sÑ:€HÜ˜A˜q ! RÓ(¨HÒ4Ð4Ñ4r1   c                  ó*  ‡	‡
‡— t        d«      \  } }}t        d«      }t        d«      Š
t        d«      }|j	                  ‰
d‰
j
                  z  «       |j                  d|‰
j
                  z  «      }|j                  d|‰
j
                  z  «      }t        d«      }|j                  ‰
|‰
j                  z  «       |j                  |‰
|«       |j                  |‰
|«       t        d	|| «      Št        ‰
j                  ‰
j                  «      }t        d
|||||f«      Š	t        t        ˆ	ˆfd„«       t        t        ˆ	ˆ
fd„«       dt        ‰
‰‰	«      ||dz  z  |dz  z  dz  d|dz  z  | z  |dz  z  z   |dz  dz  z   z
  j!                  «       k(  sJ ‚y )Nzm M l1r<   r   r>   r   r#   r&   r=   r'   r   c                  ó   •— t        ‰‰‰ «      S r+   ©r   r-   s   €€r.   r/   z%test_kinetic_energy.<locals>.<lambda>M   s   ø€ œn¨R°°QÓ7€ r1   c                  ó   •— t        ‰‰‰ «      S r+   rQ   )r   r   s   €€r.   r/   z%test_kinetic_energy.<locals>.<lambda>N   s   ø€ œn¨Q°°1Ó5€ r1   r?   )r   r   r   r   r4   r6   rF   rG   rH   rI   r   r   r   r   r8   r   Úexpand)rJ   rK   Úl1r<   r>   r#   r&   r=   r9   r   r   r'   s            @@@r.   Útest_kinetic_energyrU   >   sq  ú€ Ü�xÓ �H€A€qˆ"Ü˜7Ó#€EÜ�sÓ€AÜˆc‹
€AØ‡I�Iˆa��Q—S‘S‘ÔØ	
�‰�T˜2 §¡™8Ó	$€BØ
�‰�S˜"˜qŸs™s™(Ó#€AÜ�sÓ€AØ‡M�M�!�U˜QŸS™S‘[Ô!Ø‡N�N�1�a˜ÔØ‡M�M�!�Q˜ÔÜ	�$˜˜1Ó	€BÜˆa�c‰c�1—3‘3‹€AÜ�#�r˜1˜a ! R Ó)€AÜ
Œ9Ô7Ô8Ü
Œ9Ô5Ô6Ø”  2 qÓ)¨Q¨r°1©u©W°U¸A±XÑ-=¸aÑ-?Ø��A‘‰g�a‰i˜˜q™Ñ ñ.!Ø#(¨!¡8¨A¡:ñ..ñ /ß06±³ò9ð 9ñ 9r1   c                  ó´  — t        d«      \  } }}}}}t        d«      }t        d«      }t        d«      }|j	                  |d|j
                  z  «       |j                  d||j
                  z  «      }	|	j                  d||j
                  z  «      }
t        d«      }|j                  |||j                  z  «       |	j                  |||«       |
j                  |||«       t        d	|
| «      }t        |j                  |j                  «      }t        d
|	||||	f«      }| |z  |z  |_        ||z  |z  |_        t        ||«      | |z  |z  ||z  |z  z   k(  sJ ‚y )Nzm M l1 g h Hr<   r   r>   r   r#   r&   r=   r'   r   )r   r   r   r   r4   r6   rF   rG   rH   rI   r   r   r   r   )rJ   rK   rT   ÚgÚhÚHr<   r   r>   r#   r&   r=   r'   r9   r   s                  r.   Útest_potential_energyrZ   S   s=  € Ü Ó/Ñ€A€qˆ"ˆa��AÜ˜7Ó#€EÜ�sÓ€AÜˆc‹
€AØ‡I�Iˆa��Q—S‘S‘ÔØ	
�‰�T˜2 §¡™8Ó	$€BØ
�‰�S˜"˜qŸs™s™(Ó#€AÜ�sÓ€AØ‡M�M�!�U˜QŸS™S‘[Ô!Ø‡N�N�1�a˜ÔØ‡M�M�!�Q˜ÔÜ	�$˜˜1Ó	€BÜˆa�c‰c�1—3‘3‹€AÜ�#�r˜1˜a ! R Ó)€AØ˜a™% !™)€BÔØ˜Q™ ™€AÔÜ˜A˜rÓ" a¨!¡e¨a¡i°!°a±%¸!±)Ñ&;Ò;Ð;Ñ;r1   c                  óà  ‡	‡
‡— t        d«      \  } }}}t        d«      Š
t        d«      }|j                  ‰
d‰
j                  z  «       |j                  dd‰
j                  z  «      }|j                  ‰
d‰
j                  z  «       t        d|d«      Š|j                  d	d
‰
j                  z  «      }|j                  ‰
d‰
j                  z  «       t        d«      }|j                  ‰
d‰
j                  z  «       t        ‰
j                  ‰
j                  «      }t        d||d||f«      Š	||z  |z  ‰_        | |z  |z  ‰	_        t        t        ˆ	ˆfd„«       t        t        ˆ
ˆfd„«       y )NzM m g hr   r>   r   r&   r(   r)   r'   r#   r?   é   r=   r   r%   c                  ó   •— t        ‰ ‰ ‰«      S r+   ©r   r-   s   €€r.   r/   z!test_Lagrangian.<locals>.<lambda>w   ó   ø€ œj¨¨A¨rÓ2€ r1   c                  ó   •— t        ‰ ‰ ‰«      S r+   r^   r3   s   €€r.   r/   z!test_Lagrangian.<locals>.<lambda>x   r_   r1   )r   r   r   r4   r6   rF   r   r5   rG   rH   r   r   r   r   r8   )rK   rJ   rW   rX   r>   r&   r#   r=   r9   r   r   r'   s            @@@r.   Útest_Lagrangianra   g   s'  ú€ Ü˜Ó#�J€A€qˆ!ˆQÜ�sÓ€AÜˆc‹
€AØ‡I�Iˆa��Q—S‘S‘ÔØ	�‰�C˜˜QŸS™S™Ó!€AØ‡I�Iˆa��a—c‘c‘ÔÜ	�$˜˜1Ó	€BØ	
�‰�T˜1˜qŸs™s™7Ó	#€BØ‡J�Jˆq�!�a—c‘c‘'ÔÜ�sÓ€AØ‡M�M�!�R˜!Ÿ#™#‘XÔÜˆa�c‰c�1—3‘3‹€AÜ�#�r˜1˜b 1 b 'Ó*€AØ˜a™% !™)€BÔØ˜Q™ ™€AÔÜ
Œ9Ô2Ô3Ü
Œ9Ô2Õ3r1   c            	      ó  — t        d«      \  } }t        d«      \  }}}t        | |z  |z   ||j                  «       z  |z   g|j                  «       j                  «       |t	        |j                  «       «      z   gg«      }t        | |z   |g|j                  «       j                  «       dgg«      }|d|d|j                  «       d|j                  «       di}t        ||«      |k(  sJ ‚t        ||z   «      t        ||z   «      z  ||j                  «       z  z   }|d|t        dz  |j                  «       di}t        ||d¬«      |dz   k(  sJ ‚t        d«      }||j                  z  ||j                  z  z   }	||j                  |j                  z  z  ||j                  |j                  z  z  z   }
d|j                  z  }d|j                  |j                  z  z  }|d|di}t        |	|«      |k(  sJ ‚t        |
|«      |k(  sJ ‚y )	Núa, búx, y, zr(   r   r?   T)Úsmartr   )r   r   r   Údiffr   r   r   r   r   r   r6   r5   )r=   Úbr6   r5   rH   ÚexprÚsolÚsdr   ÚvÚdÚv_solÚd_sols                r.   Ú
test_msubsro   {   sÕ  € Ü�6‹?�D€A€qÜ˜YÓ'�G€A€qˆ!ä�A�a‘C˜!‘G˜Q˜qŸv™v›x™Z¨!™^Ð,Ø—F‘F“H—M‘M“O Q¬¨Q¯V©V«X«Ñ%6Ð7ð9ó :€Dä
�1�q‘5˜!�*Ø—6‘6“8—=‘=“? AÐ&ð(ó )€Cà
ˆQ��1�a—f‘f“h  1§6¡6£8¨QÐ	/€BÜ��r‹?˜cÒ!Ð!Ð!äˆq�1‰u‹:”c˜!˜a™%“jÑ  1 Q§V¡V£X¡:Ñ-€DØ
ˆQ�”2�a‘4˜Ÿ™› 1Ð	%€BÜ��r Ô&¨!¨a©%Ò/Ð/Ð/Ü�sÓ€AØ	ˆ!�#‰#‰��!—#‘#‘‰€AØ	ˆ1�3‰3ˆq�s‰s‰7‰�a˜Ÿ™˜QŸS™S™‘kÑ!€AØˆa�c‰c‰E€EØˆq�s‰s�1—3‘3‰w‰K€EØ
ˆQ��1ˆ€BÜ��B‹<˜5Ò Ð Ð Ü��B‹<˜5Ò Ð Ñ r1   c            	      ó0  ‡— t        d«      \  } }t        d«      \  }}}t        | |z  |z   ||j                  «       z  |z   g|j                  «       j                  «       |t	        |j                  «       «      z   gg«      }||j                  «       ||j                  «       j                  «       ||j                  «       h}t        |«      |k(  sJ ‚|||g}|j                  «       |j                  «       j                  «       |j                  «       h}t        ||¬«      |k(  sJ ‚t        d«      \  }}	}
t        d«      }||j                  z  |	|j                  z  z   |
|j                  z  z   Š||	|
h}t        ‰|¬«      |k(  sJ ‚t        t        ˆfd„«       y )Nrc   rd   )Úexcludezd, e, fr   )Úreference_framec                  ó   •— t        ‰ «      S r+   )r   )rk   s   €r.   r/   z*test_find_dynamicsymbols.<locals>.<lambda>¦   s   ø€ Ô2°1Ó5€ r1   )r   r   r   rf   r   r   r   r6   r5   rH   r   Ú
ValueError)r=   rg   r6   r5   rH   rh   ri   Úexclude_listrl   ÚeÚfr   rk   s               @r.   Útest_find_dynamicsymbolsrx   “   s^  ø€ Ü�6‹?�D€A€qÜ˜YÓ'�G€A€qˆ!Ü�A�a‘C˜!‘G˜Q˜qŸv™v›x™Z¨!™^Ð,Ø—F‘F“H—M‘M“O Q¬¨Q¯V©V«X«Ñ%6Ð7ð9ó :€Dð ˆa�f‰f‹h˜˜1Ÿ6™6›8Ÿ=™=›?¨A¨q¯v©v«xÐ
8€CÜ˜tÓ$¨Ò+Ð+Ð+à�q˜!�9€LØ�6‰6‹8�Q—V‘V“X—]‘]“_ a§f¡f£hÐ
/€CÜ˜t¨\Ô:¸cÒAÐAÐAä˜YÓ'�G€A€qˆ!Ü�sÓ€AØ	ˆA�C‰C‰�!�a—c‘c‘'Ñ˜A §¡™GÑ#€AØˆa�ˆ)€CÜ˜q°!Ô4¸Ò;Ð;Ð;ä
Œ:Ó5Õ6r1   c                  óÜ  — t        d«      } t        dd¬«      }t        dt        d«      t        j
                  «      }t        dt        d«      t	        d	«      «      }t        d
t        d«      t	        d«      «      }t        dt        d«      |«      }t        d«      }t        d«      }t        d«      }t        d|||t        |j                  |j                  «      |f«      }	|j                  j                  |j                  | j                  «       |j                  j                  |j                  | j                  | j                  z   «       |j                  j                  |j                  | j                  «       |	j                  j                  |j                  | j                  | j                  z   «       t        d«      }
|
j                  |j                  t        |j                  |||||	«      «       d||z   dz   z  | j                  z  ||z   dz   ||z   dz   z  | j                  z  z   |||z   dz   z  | j                  z  z   }|
j                  |j                  «      |z
  dk(  sJ ‚y )Nr=   rJ   T)ÚrealÚp1Úp1_ptÚp2Úp2_ptr?   Úp3Úp3_pté   Úp4Úp4_ptÚb_fÚb_cmÚmbrg   Úor\   é   r   )r   r   r   r   r	   ÚOner   r   r6   r7   Úset_posr5   Ú
masscenterrH   r   Úpos_from)r=   rJ   r{   r}   r   r‚   r„   r…   r†   rg   Úpoint_orh   s               r.   Útest_center_of_massrŽ   ¬   sØ  € Ü�sÓ€AÜ�˜$Ô€AÜ	�$œ˜g›¬¯©Ó	.€BÜ	�$œ˜g›¬¨!«Ó	-€BÜ	�$œ˜g›¬¨!«Ó	-€BÜ	�$œ˜g›¨Ó	*€BÜ
˜Ó
€CÜ�‹=€DÜ	�‹€BÜ�#�t˜S "¤u¨S¯U©U°C·E±EÓ':¸DÐ&AÓB€AØ‡H�H×Ñ�R—X‘X˜qŸs™sÔ#Ø‡H�H×Ñ�R—X‘X˜qŸs™s Q§S¡S™yÔ)Ø‡H�H×Ñ�R—X‘X˜qŸs™sÔ#Ø‡L�L×Ñ˜Ÿ™ 1§3¡3¨¯©¡9Ô-Ü�#‹J€GØ‡O�O�B—H‘Hœn¨R¯X©X°r¸2¸rÀ2ÀqÓIÔJØˆa�"‰f�q‰j‰>˜!Ÿ#™#Ñ  R¡¨!¡¨a°"©f°q©jÑ 9¸!¿#¹#Ñ =Ñ=ÀÀAÈÁFÈQÁJÁÐPQ×PSÑPSÑ@SÑS€DØ×Ñ˜BŸH™HÓ% dÑ*¨aÒ/Ð/Ñ/r1   c                  óL  ‡ ‡‡‡‡‡‡‡‡‡	‡
‡‡‡‡‡— t        d«      \	  ŠŠŠŠ
ŠŠŠŠŠt        d«      \  ŠŠŠt        ‰‰‰g‰
‰‰g‰‰‰g¬«       t        ‰‰g«       t        ‰‰g‰
g«       t        ‰
‰g¬«       t        ‰‰‰g‰
‰‰gd¬«       t        t        ˆˆˆ
ˆˆfd„«       t        ‰‰‰g‰
‰‰gd¬«       t        t        ˆˆˆˆ
ˆfd„«       t        t        ˆˆˆˆˆfd	„«       t        ‰‰‰g‰
‰‰gd‰
‰‰g¬
«       t        t        ˆˆˆˆ
ˆˆˆˆfd„«       t        t        ˆˆˆˆ
ˆˆˆˆfd„«       t        t        ˆˆˆˆ
ˆˆˆˆfd„«       t        ‰‰z   ‰gd¬«       t        t        ˆˆˆfd„«       t        ‰‰‰gd‰
‰gd¬«       t        t        ˆˆˆˆ
ˆfd„«       t        ‰‰z   ‰z   ‰gd‰
gd¬«       t        t        ˆˆˆˆˆ
fd„«       t        ‰‰gd¬«       t        t        ˆˆfd„«       t         j
                  Š	t        d«      Š t        dt        ¬«      \  ŠŠt         ‰‰ «       ‰‰ «      gd¬«       t        t        ˆ ˆˆfd„«       t        t        ˆ ˆˆfd„«       ‰ t         _        t         ‰‰ «       ‰‰ «      g«       t        t        ˆˆˆ	fd„«       ‰	t         _        y )Nzq1:4 u1:4 ua1:4zs1:4©Úu_auxiliary©ÚspeedsF©Úcheck_duplicatesc                  ó(   •— t        ‰ ‰‰g‰‰‰g«      S r+   ©r   )Úq1Úq2Úu1Úu2Úu3s   €€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>Í   s   ø€ Ô4Ø	ˆR�ˆ�r˜2˜r�ló $€ r1   c                  ó,   •— t        ‰ ‰‰g‰‰‰gd¬«      S ©NTr”   r—   )r˜   r™   Úq3rš   r›   s   €€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>Ð   ó    ø€ Ô4Ø	ˆR�ˆ�r˜2˜r�l°Tô ;€ r1   c                  ó,   •— t        ‰ ‰‰g‰ ‰‰gd¬«      S rž   r—   )r˜   r™   rŸ   r›   rœ   s   €€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>Ò   r    r1   )r•   r‘   c                  ó2   •— t        ‰ ‰‰g‰‰‰g‰‰‰g¬«      S ©Nr�   r—   ©r˜   r™   rŸ   rš   r›   rœ   Úua2Úua3s   €€€€€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>Ö   ó'   ø€ Ô4Ø	ˆR�ˆ�r˜2˜r�l°°S¸#°ô @€ r1   c                  ó2   •— t        ‰ ‰‰g‰‰‰g‰ ‰‰g¬«      S r£   r—   r¤   s   €€€€€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>Ø   r§   r1   c                  ó2   •— t        ‰ ‰‰g‰‰‰g‰‰‰g¬«      S r£   r—   )r˜   r™   rŸ   rš   r›   rœ   Úua1r¥   s   €€€€€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>Ú   s'   ø€ Ô4Ø	ˆR�ˆ�r˜2˜r�l°°c¸3°ô A€ r1   ©Úis_dynamicsymbolsc                  ó$   •— t        ‰ ‰z   ‰g«      S r+   r—   )r˜   r™   rŸ   s   €€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>Þ   s   ø€ Ô4°b¸2±g¸r°]ÓC€ r1   r   c                  ó,   •— t        ‰‰ ‰gd‰‰gd¬«      S ©Nr   Tr«   r—   )r˜   r™   Ús1rš   r›   s   €€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>à   s    ø€ Ô4Ø	ˆR�ˆ�q˜"˜b�k°Tô ;€ r1   c                  ó4   •— t        ‰‰z   ‰z   ‰ gd‰gd¬«      S r¯   r—   )r˜   r°   Ús2Ús3rš   s   €€€€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>ã   s%   ø€ Ô4Ø	ˆb‰�2‰�rÐ˜Q ˜G°tô =€ r1   )r‘   r¬   c                  ó    •— t        ‰ ‰g¬«      S r£   r—   )r°   rª   s   €€r.   r/   z+test_validate_coordinates.<locals>.<lambda>æ   s   ø€ Ô4À"ÀcÀÔK€ r1   r=   zf1:3)Úclsc                  ó6   •— t         ‰‰ «       ‰‰ «      g«      S r+   r—   ©r=   Úf1Úf2s   €€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>ì   ó   ø€ Ô4±b¸³e¹RÀ»U°^ÓD€ r1   c                  ó8   •— t         ‰‰ «       ‰‰ «      g¬«      S )Nr’   r—   r·   s   €€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>í   s   ø€ Ô4¹RÀ»UÁBÀqÃE¸NÔK€ r1   c                  ó6   •— t         ‰ ‰«       ‰‰«      g«      S r+   r—   )r¸   r¹   Úts   €€€r.   r/   z+test_validate_coordinates.<locals>.<lambda>ð   rº   r1   )r   r   r   r   rt   Ú_tr
   )r=   r¸   r¹   r˜   r™   rŸ   r°   r²   r³   r½   rš   r›   rœ   rª   r¥   r¦   s   @@@@@@@@@@@@@@@@r.   Útest_validate_coordinatesr¿   Á   sK  ÿÿ€ Ü,:Ð;LÓ,MÑ)€BˆˆB��B˜˜C  cÜ˜“�J€BˆˆBä˜2˜r 2˜,¨¨R°¨Ø'*¨C° oõ7ô ˜2˜r˜(Ô#Ü˜2˜r˜( R DÔ)Ü " b Õ*ä˜2˜r 2˜,¨¨R°¨ÀuÕMÜ
Œ:÷ $ô %ä˜2˜r 2˜,¨¨R°¨ÀuÕMÜ
Œ:÷ ;ô <ä
Œ:÷ ;ô <ä˜2˜r 2˜,¨¨R°¨ÀuØ')¨3° nõ6ä
Œ:÷ @ò @ô Aä
Œ:÷ @ò @ô Aä
Œ:÷ Aò Aô Bô ˜2 ™7 B˜-¸5ÕAÜ
Œ:ÕCÔDÜ˜2˜r 2˜,¨¨B°¨ÀuÕMÜ
Œ:÷ ;ô <ä˜2 ™7 R™<¨Ð,¨q°"¨gÈÕOÜ
Œ:÷ =ô >ä r¨3 iÀ5ÕIÜ
Œ:ÔKÔLä×Ñ€AÜ�‹€AÜ�V¤Ô*�F€BˆÜ™2˜a›5¡" Q£%˜.¸EÕBÜ
Œ:ÕDÔEÜ
Œ:ÕKÔLØ„NÔÜ™2˜a›5¡" Q£%˜.Ô)Ü
Œ:ÕDÔEØ„NÕr1   c                  ó
  — t        ddt        d«      «      t        ddt        d«      «      }} t        t         j                  «      t         j                  k(  sJ ‚ t        d«      | |«      t        j                  | |«      k(  sJ ‚y )Nr�   za:9r?   zb:6ÚLU)r   r   r   ÚLUsolve)r   rg   s     r.   Útest_parse_linear_solverrÃ   ô   sh   € Ü�!�Qœ ›Ó'¬°°1´g¸e³nÓ)E€q€AÜ¤§¡Ó/´6·>±>ÒAÐAÐAØ%Ô Ó% a¨Ó+¬v¯~©~¸aÀÓ/CÒCÐCÑCr1   c                  ó’  — ddl m} m}m} t	        d«      }t        «       5   | |dddd«      |j                  |j                  z  |j                  |j                  z  z   |j                  |j                  z  z   k(  sJ ‚	 d d d «       t        «       5   |d|j                  |j                  z   |«      |j                  |j                  z  |j                  |j                  z  z   d|j                  |j                  z  z  z   |j                  |j                  z  z
  |j                  |j                  z  z
  k(  sJ ‚	 d d d «       t        d«      }t        «       5   |d|j                  z  |«      |j                  d|j                  z  |j                  z  fgk(  sJ ‚	 d d d «       y # 1 sw Y   �Œ(xY w# 1 sw Y   ŒxxY w# 1 sw Y   y xY w)Nr   )ÚinertiaÚinertia_of_point_massÚgravityr   r(   r?   r&   éþÿÿÿ)Ú!sympy.physics.mechanics.functionsrÅ   rÆ   rÇ   r   r   r6   r5   rH   r   r‹   Úmass)rÅ   rÆ   rÇ   r   Úps        r.   Útest_deprecated_moved_functionsrÌ   ú   s‡  € ÷1ñ 1ä�sÓ€AÜ	Ó	!ñ QÙ�q˜!˜Q  1Ó%¨!¯#©#°·±©)¸¿¹¸a¿c¹c¹	Ñ)BÀaÇcÁcÈAÏCÉCÁiÑ)PÒPÐPÑP÷Qä	Ó	!ñ 'Ù$ Q¨¯©¨a¯c©c©	°1Ó5Ø�S‰S�1—3‘3‰Y˜1Ÿ3™3 §¡™9Ñ%¨¨Q¯S©S°1·3±3©Y©Ñ7Ø�S‰S�1—3‘3‰YñØŸ3™3 §¡™9ñ&ò'ð 	'ñ '÷'ô 	�‹€AÜ	Ó	!ñ KÙ�r˜AŸC™C‘x Ó#¨¯©°r¸A¿F¹F±{ÀQÇSÁSÑ7HÐ(IÐ'JÒJÐJÑJ÷Kð K÷Qñ Qú÷'ð 'ú÷
Kð Kús&    AF$ÂB)F1ÅAF=Æ$F.Æ1F:Æ=GN)6Úsympyr   r   r   r   r   r   r	   r
   Úsympy.physics.mechanicsr   r   r   r   r   r   r   r   r   r   r   r   r   rÉ   r   r   r   Úsympy.testing.pytestr   r   r˜   r™   rŸ   Úq4Úq5r   Ú	orientnewrH   r   r6   r    r5   r!   r:   rN   rU   rZ   ra   ro   rx   rŽ   r¿   rÃ   rÌ   © r1   r.   ú<module>rÔ      sã   ðß A× AÓ A÷0ó 0÷F÷ Fõ F÷
Añ Aç ?ñ Ð-Ó.Ñ €€BˆˆB�Ù�3Ó€Ø‡K�K��V˜b !§#¡#˜YÓ'€Ø‡K�K��V˜b !§#¡#˜YÓ'€Ø‡K�K��V˜b !§#¡#˜YÓ'€ò=ò5ò69ò*<ò(4ò(!ò07ò20ò*0òfDóKr1   