Ë
    7^(hz
  ã                   ó\   — d dl mZ d dlmZmZmZmZ d dlmZ d dl	m
Z
mZ d„ Zd„ Zd„ Zd„ Zy	)
é    )Úsymbols)ÚPointÚParticleÚReferenceFrameÚinertia)ÚBodyBase)ÚraisesÚwarns_deprecated_sympyc                  óD  ‡ — t        d«      Š ‰ j                  dk(  sJ ‚‰ j                  t        d«      k(  sJ ‚‰ j                  j                  dk(  sJ ‚‰ j
                  dk(  sJ ‚‰ j                  «       dk(  sJ ‚‰ j                  «       dk(  sJ ‚t        t        ˆ fd„«       y )NÚPÚP_massÚP_masscenterr   z3Particle('P', masscenter=P_masscenter, mass=P_mass)c                  ó   •— ‰ j                   S ©N)Úframe©Úps   €úi/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/physics/mechanics/tests/test_particle.pyú<lambda>z'test_particle_default.<locals>.<lambda>   s   ø€  1§7¡7€ ó    )
r   ÚnameÚmassr   Ú
masscenterÚpotential_energyÚ__str__Ú__repr__r	   ÚAttributeErrorr   s   @r   Útest_particle_defaultr      sš   ø€ ä�‹€AØ�6‰6�SŠ=Ðˆ=Ø�6‰6”W˜XÓ&Ò&Ð&Ð&Ø�<‰<×Ñ Ò.Ð.Ð.Ø×Ñ Ò"Ð"Ð"Ø�9‰9‹;˜#ÒÐÐØ�:‰:‹<ð +ò ,ð ,ð ,ä
Œ>›?Õ+r   c                  óÌ  ‡‡— t        d«      \  Š} }}}}}}t        d«      Št        d«      }t        d‰‰«      }t        |t        «      sJ ‚|j
                  ‰k(  sJ ‚|j                  ‰k(  sJ ‚| |_        |j
                  | k(  sJ ‚||_        |j                  |k(  sJ ‚t        d«      }	t        d«      }
|j                  |
||	j                  z  «       |j                  |	||	j                  z  «       t        t        ˆˆfd„«       t        t        ˆfd„«       |j                  |	«      | |z  |	j                  z  k(  sJ ‚|j                  |
|	«      |  |z  |z  |	j                   z  k(  sJ ‚|j                  |	||	j                  z  «       |j                  |	«      | |z  |	j                  z  k(  sJ ‚|j                  |
|	«      d	k(  sJ ‚|j                  |	||	j                   z  «       |j                  |	«      | |z  |	j                   z  k(  sJ ‚|j                  |
|	«      | |z  |z  |	j                  z  k(  sJ ‚|j                  |	||	j                  z  ||	j                  z  z   ||	j                   z  z   «       |j                  |	«      | ||	j                  z  ||	j                  z  z   ||	j                   z  z   z  k(  sJ ‚|j                  |
|	«      | |z  ||	j                  z  ||	j                   z  z
  z  k(  sJ ‚‰|z  |z  |_        |j"                  ‰|z  |z  k(  sJ ‚|j%                  |	«      | |d
z  |d
z  z   |d
z  z   z  d
z  | |d
z  z  d
z  | |d
z  z  d
z  z   | |d
z  z  d
z  z   fv sJ ‚y )Nzm m2 v1 v2 v3 r g hr   ÚP2ÚpaÚNÚOc                  ó   •— t        ‰ ‰ ‰«      S r   ©r   )r   Úms   €€r   r   ztest_particle.<locals>.<lambda>(   s   ø€ œh q¨!¨QÓ/€ r   c                  ó   •— t        d‰ ‰ «      S )Nr!   r%   )r&   s   €r   r   ztest_particle.<locals>.<lambda>)   s   ø€ œh t¨Q°Ó2€ r   r   é   )r   r   r   Ú
isinstancer   r   Úpointr   Úset_posÚyÚset_velÚxr	   Ú	TypeErrorÚlinear_momentumÚangular_momentumÚzr   Úkinetic_energy)Úm2Úv1Úv2Úv3ÚrÚgÚhr    r   r"   r#   r   r&   s              @@r   Útest_particler;      sW  ù€ ä!(Ð)>Ó!?Ñ€A€rˆ2ˆr�2�q˜!˜QÜˆc‹
€AÜ	ˆt‹€BÜ��q˜!Ó€AÜ�aœÔ"Ð"Ð"Ø�6‰6�QŠ;Ðˆ;Ø�7‰7�aŠ<Ðˆ<à€A„FØ�6‰6�RŠ<Ðˆ<à€A„GØ�7‰7�bŠ=Ðˆ=ä�sÓ€AÜˆc‹
€AØ‡J�Jˆq�!�a—c‘c‘'ÔØ‡J�Jˆq�"�q—s‘s‘(ÔÜ
Œ9Ô/Ô0Ü
Œ9Ó2Ô3Ø×Ñ˜QÓ 2¨¡7¨Q¯S©S¡=Ò0Ð0Ð0Ø×Ñ˜a Ó#¨ s¨Q¡w°¡|°a·c±cÑ'9Ò9Ð9Ð9Ø‡J�Jˆq�"�q—s‘s‘(ÔØ×Ñ˜QÓ 2¨¡7¨Q¯S©S¡=Ò0Ð0Ð0Ø×Ñ˜a Ó# qÒ(Ð(Ð(Ø‡J�Jˆq�"�q—s‘s‘(ÔØ×Ñ˜QÓ 2¨¡7¨Q¯S©S¡=Ò0Ð0Ð0Ø×Ñ˜a Ó# r¨A¡v°¡{°Q·S±SÑ'8Ò8Ð8Ð8Ø‡J�Jˆq�"�q—s‘s‘(˜R !§#¡#™XÑ%¨¨Q¯S©S©Ñ0Ô1Ø×Ñ˜QÓ 2¨¨a¯c©c©°B¸¿¹±HÑ)<¸rÀAÇCÁC¹xÑ)GÑ#HÒHÐHÐHØ×Ñ˜a Ó# r¨A¡v°°a·c±c±¸BÀÇÁ¹HÑ1DÑ'EÒEÐEÐEØ˜Q™ ™€AÔØ×Ñ  Q¡¨¡Ò*Ð*Ð*à×ÑØ	óØ�R˜1‘W˜r Q™wÑ&¨¨q©Ñ0Ñ1°AÑ5Ø�B˜!‘G‰|˜aÑ " r¨Q¡w¡,°Ñ"2Ñ2°R¸"À¹'±\ÀAÑ5EÑEðGñGð Gñ Gr   c            	      óV  — t        d«      } t        d«      \  }}}t        d«      }|j                  d|| j                  z  || j
                  z  z   «      }t        d||«      }|j                  || «      }t        | ||dz  z  ||dz  z  ||dz  |dz  z   z  | |z  |z  ¬«      }||k(  sJ ‚y )Nr"   zm, a, bÚor   r   r(   )Úixy)	r   r   r   Ú	locatenewr.   r,   r   Úparallel_axisr   )	r"   r&   ÚaÚbr=   r   r   ÚIpÚIp_expecteds	            r   Útest_parallel_axisrE   =   s¶   € Ü�sÓ€AÜ�iÓ �G€A€qˆ!Üˆc‹
€AØ	�‰�C˜˜QŸS™S™ 1 q§s¡s¡7Ñ*Ó+€AÜ��a˜Ó€AØ	
�‰˜˜AÓ	€BÜ˜!˜Q  a¡™Z¨¨Q°!©V©°Q¸!¸q¹&À1ÈÁ6¹/Ñ5JØ ˜b 1™f q™jô*€Kà�ÒÐÑr   c                  ó¾   — t        d«      \  } }}t        d«      }t        d|| «      }t        «       5  |j	                  | |z  |z  «       d d d «       y # 1 sw Y   y xY w)Nzm g hr   r!   )r   r   r   r
   Úset_potential_energy)r&   r9   r:   r   r   s        r   Ú$test_deprecated_set_potential_energyrH   I   sZ   € Ü�gÓ�G€A€qˆ!Üˆc‹
€AÜ��q˜!Ó€AÜ	Ó	!ñ *Ø	×Ñ˜q 1™u q™yÔ)÷*÷ *ñ *ús   ²AÁAN)Úsympyr   Úsympy.physics.mechanicsr   r   r   r   Ú!sympy.physics.mechanics.body_baser   Úsympy.testing.pytestr	   r
   r   r;   rE   rH   © r   r   ú<module>rN      s*   ðÝ ß LÓ LÝ 6ß ?ò
,ò&GòR	ó*r   