§
    OŠtjz
  ã                   ó^   — 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d	S )
é    )Úsymbols)ÚPointÚParticleÚReferenceFrameÚinertia)ÚBodyBase)ÚraisesÚwarns_deprecated_sympyc                  óJ  ‡ — t          d¦  «        Š ‰ j        dk    sJ ‚‰ j        t          d¦  «        k    sJ ‚‰ j        j        dk    sJ ‚‰ j        dk    sJ ‚‰                      ¦   «         dk    sJ ‚‰                      ¦   «         dk    sJ ‚t          t          ˆ fd„¦  «         d S )NÚPÚP_massÚP_masscenterr   z3Particle('P', masscenter=P_masscenter, mass=P_mass)c                  ó   •— ‰ j         S ©N)Úframe©Úps   €úi/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/physics/mechanics/tests/test_particle.pyú<lambda>z'test_particle_default.<locals>.<lambda>   s	   ø€  1¤7€ ó    )
r   ÚnameÚmassr   Ú
masscenterÚpotential_energyÚ__str__Ú__repr__r	   ÚAttributeErrorr   s   @r   Útest_particle_defaultr      s»   ø€ å�‰Œ€AØŒ6�SŠ=ˆ=ˆ=ˆ=ØŒ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	        z  ¦  «         | 
                    |	||	j        z  ¦  «         t          t          ˆˆfd„¦  «         t          t          ˆfd„¦  «         |                     |	¦  «        | |z  |	j        z  k    sJ ‚|                     |
|	¦  «        |  |z  |z  |	j        z  k    sJ ‚| 
                    |	||	j	        z  ¦  «         |                     |	¦  «        | |z  |	j	        z  k    sJ ‚|                     |
|	¦  «        d	k    sJ ‚| 
                    |	||	j        z  ¦  «         |                     |	¦  «        | |z  |	j        z  k    sJ ‚|                     |
|	¦  «        | |z  |z  |	j        z  k    sJ ‚| 
                    |	||	j        z  ||	j	        z  z   ||	j        z  z   ¦  «         |                     |	¦  «        | ||	j        z  ||	j	        z  z   ||	j        z  z   z  k    sJ ‚|                     |
|	¦  «        | |z  ||	j        z  ||	j        z  z
  z  k    sJ ‚‰|z  |z  |_        |j        ‰|z  |z  k    s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 ‚d S )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Ô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;      sÍ  øø€ å!(Ð)>Ñ!?Ô!?Ñ€A€rˆ2ˆr�2�q˜!˜QÝˆc‰
Œ
€AÝ	ˆt‰Œ€BÝ��q˜!ÑÔ€AÝ�a�Ñ"Ô"Ð"Ð"Ð"ØŒ6�QŠ;ˆ;ˆ;ˆ;ØŒ7�aŠ<ˆ<ˆ<ˆ<à€A„FØŒ6�RŠ<ˆ<ˆ<ˆ<à€A„GØŒ7�bŠ=ˆ=ˆ=ˆ=å�sÑÔ€AÝˆc‰
Œ
€AØ‡J‚Jˆq�!�a”c‘'ÑÔÐØ‡J‚Jˆq�"�q”s‘(ÑÔÐÝ
�9Ð/Ð/Ð/Ð/Ð/Ñ0Ô0Ð0Ý
�9Ð2Ð2Ð2Ð2Ñ3Ô3Ð3Ø×Ò˜QÑÔ 2¨¡7¨Q¬S¡=Ò0Ð0Ð0Ð0Ø×Ò˜a Ñ#Ô#¨ s¨Q¡w°¡|°a´cÑ'9Ò9Ð9Ð9Ð9Ø‡J‚Jˆq�"�q”s‘(ÑÔÐØ×Ò˜QÑÔ 2¨¡7¨Q¬S¡=Ò0Ð0Ð0Ð0Ø×Ò˜a Ñ#Ô# qÒ(Ð(Ð(Ð(Ø‡J‚Jˆq�"�q”s‘(ÑÔÐØ×Ò˜QÑÔ 2¨¡7¨Q¬S¡=Ò0Ð0Ð0Ð0Ø×Ò˜a Ñ#Ô# r¨A¡v°¡{°Q´SÑ'8Ò8Ð8Ð8Ð8Ø‡J‚Jˆq�"�q”s‘(˜R !¤#™XÑ%¨¨Q¬S©Ñ0Ñ1Ô1Ð1Ø×Ò˜QÑÔ 2¨¨a¬c©°B¸¼±HÑ)<¸rÀAÄC¹xÑ)GÑ#HÒHÐHÐHÐHØ×Ò˜a Ñ#Ô# r¨A¡v°°a´c±¸BÀÄ¹HÑ1DÑ'EÒ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ð Gð Gð Gr   c            	      ó~  — t          d¦  «        } t          d¦  «        \  }}}t          d¦  «        }|                     d|| j        z  || j        z  z   ¦  «        }t          d||¦  «        }|                     || ¦  «        }t          | ||dz  z  ||dz  z  ||dz  |dz  z   z  | |z  |z  ¬¦  «        }||k    sJ ‚d S )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™ 1 q¤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  |                     | |z  |z  ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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   s½   € Ý�gÑÔ�G€A€qˆ!Ýˆc‰
Œ
€AÝ��q˜!ÑÔ€AÝ	Ñ	!Ô	!ð *ð *Ø	×Ò˜q 1™u q™yÑ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *s   ÁA+Á+A/Á2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Ð LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LØ 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?ð
,ð 
,ð 
,ð&Gð &Gð &GðR	ð 	ð 	ð*ð *ð *ð *ð *r   