Ë
    7^(hŠ
  ã                   ól   — d dl mZ d dlmZ 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 d„ Zd„ Zd„ Zd„ Zy	)
é    )Úraises)Úsymbols)Ú	RigidBodyÚParticleÚReferenceFrameÚPointÚouterÚdynamicsymbolsÚForceÚTorque)ÚgravityÚ_parse_loadc                  óT  — t        d«      } t        d«      }t        || j                  «      }|j                  |k(  sJ ‚|j
                  | j                  k(  sJ ‚|j                  «       dk(  sJ ‚t        |t        «      sJ ‚|d   |k(  sJ ‚|d   | j                  k(  sJ ‚||| j                  fk(  sJ ‚|| j                  |fk7  sJ ‚||| j                  | j                  z   fk7  sJ ‚|t        d«      | j                  fk7  sJ ‚t        d|«      }t        || j                  «      }||k(  sJ ‚y )NÚNÚPozForce(point=Po, force=N.x)r   é   ÚCoÚP)r   r   r   ÚxÚpointÚforceÚ__repr__Ú
isinstanceÚtupleÚyr   )r   r   Úf1r   Úf2s        úf/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/physics/mechanics/tests/test_loads.pyÚtest_force_defaultr   	   s  € Ü�sÓ€AÜ	ˆt‹€BÜ	ˆr�1—3‘3‹€BØ�8‰8�rŠ>Ðˆ>Ø�8‰8�q—s‘sŠ?Ðˆ?Ø�;‰;‹=Ð8Ò8Ð8Ð8ä�bœ%Ô Ð Ð Øˆa‰5�BŠ;Ðˆ;Øˆa‰5�A—C‘CŠ<Ðˆ<Ø�"�a—c‘c�Š?Ðˆ?Ø�!—#‘#�r�Š?Ðˆ?Ø�"�a—c‘c˜AŸC™C‘i�Ò Ð Ð Ø”%˜“+˜qŸs™sÐ#Ò#Ð#Ð#ä��bÓ€AÜ	ˆq�!—#‘#‹€BØ�Š8€O‰8ó    c                  ó@  — t        d«      } t        | | j                  «      }|j                  | k(  sJ ‚|j                  | j                  k(  sJ ‚|j                  «       dk(  sJ ‚t        |t        «      sJ ‚|d   | k(  sJ ‚|d   | j                  k(  sJ ‚|| | j                  fk(  sJ ‚|| j                  | fk7  sJ ‚|| | j                  | j                  z   fk7  sJ ‚|t        d«      | j                  fk7  sJ ‚t        d| ¬«      }t        || j                  «      }||k(  sJ ‚y )Nr   zTorque(frame=N, torque=N.x)r   r   ÚAr   )Úframe)
r   r   r   r#   Útorquer   r   r   r   r   )r   r   Úrbr   s       r   Útest_torque_defaultr&      s  € Ü�sÓ€AÜ	��1—3‘3‹€BØ�8‰8�qŠ=Ðˆ=Ø�9‰9˜Ÿ™ÒÐÐØ�;‰;‹=Ð9Ò9Ð9Ð9ä�bœ%Ô Ð Ð Øˆa‰5�AŠ:Ðˆ:Øˆa‰5�A—C‘CŠ<Ðˆ<Ø�!�Q—S‘S�Š>Ðˆ>Ø�!—#‘#�q�Š>Ðˆ>Ø�!�Q—S‘S˜1Ÿ3™3‘Y�ÒÐÐØ”. Ó% q§s¡sÐ+Ò+Ð+Ð+ä	�3˜aÔ	 €BÜ	��A—C‘C‹€BØ�Š8€O‰8r    c                  ó`  — t        d«      } t        d«      \  }}}t        d«      \  }}t        d«      }t	        d||«      }t        d«      }t        d«      }	t        |j                  |j                  «      }
t        d|	|||
|	f«      }||f|	|fg}|j                  t        || j                  z  ||«      «       ||f|	|f|||z  | j                  z  f|	||z  | j                  z  fg}t        t        |«      «      D ]1  }t        t        ||   «      «      D ]  }||   |   ||   |   k(  rŒJ ‚ Œ3 y )	Nr   zm M gzF1 F2ÚpoÚpar"   r   ÚB)r   r   r
   r   r   r	   r   r   Úextendr   r   ÚrangeÚlen)r   ÚmÚMÚgÚF1ÚF2r(   r)   r"   r   ÚIr*   Ú	forceListÚlÚiÚjs                   r   Útest_gravityr8   2   s7  € Ü�sÓ€AÜ�gÓ�G€A€qˆ!Ü˜GÓ$�F€BˆÜ	ˆt‹€BÜ	�$˜˜AÓ	€BÜ�sÓ€AÜˆc‹
€AÜˆa�c‰c�1—3‘3‹€AÜ�#�q˜!˜Q  A Ó'€AØ�b�˜A˜r˜7Ð#€IØ×Ñ”W˜Q §¡™W b¨!Ó,Ô-Ø
ˆbˆ�A�r�7˜R  Q¡¨¯©¡Ð-°°1°q±5¸1¿3¹3±;Ð/?Ð@€Aä”3�q“6‹]ò .ˆÜ”s˜1˜Q™4“yÓ!ò 	.ˆAØ˜Q‘< ‘? a¨¡d¨1¡gÓ-Ð-Ð-ñ	.ñ.r    c                  ó¤  ‡‡— t        d«      Št        d«      Št        t        ‰‰j                  «      «      ‰‰j                  fk(  sJ ‚t        t        ‰‰j                  «      «      ‰‰j                  fk(  sJ ‚t        ‰‰j                  f«      } t        | t        «      sJ ‚| t        ‰‰j                  «      k(  sJ ‚t        ‰‰j                  f«      }t        |t
        «      sJ ‚|t        ‰‰j                  «      k(  sJ ‚t        t        ˆˆfd„«       t        t        ˆˆfd„«       t        t        ˆˆfd„«       t        t        ˆˆfd„«       y )Nr   r(   c                  óF   •— t        t        d‰«      ‰ j                  f«      S ©Nr)   )r   r   r   ©r   r(   s   €€r   ú<lambda>z"test_parse_loads.<locals>.<lambda>Q   s   ø€ œ{¬H°T¸2Ó,>ÀÇÁÐ+DÓE€ r    c                  óH   •— t        t        d‰‰ «      ‰ j                  f«      S r;   )r   r   r   r<   s   €€r   r=   z"test_parse_loads.<locals>.<lambda>R   s   ø€ œ{¬I°d¸BÀÓ,BÀAÇCÁCÐ+HÓI€ r    c                  óJ   •— t        ‰‰ j                  ‰‰ j                  f«      S ©N©r   r   r<   s   €€r   r=   z"test_parse_loads.<locals>.<lambda>T   s   ø€ œ{¨B°·±°R¸¿¹Ð+=Ó>€ r    c                  ó2   •— t        ‰‰ j                  g«      S r@   rA   r<   s   €€r   r=   z"test_parse_loads.<locals>.<lambda>V   s   ø€ œk¨2¨q¯s©s¨)Ó4€ r    )r   r   r   r   Úzr   r   r   r   r   Ú
ValueErrorÚ	TypeError)r   Út1r   r(   s     @@r   Útest_parse_loadsrG   E   s   ù€ Ü�sÓ€AÜ	ˆt‹€BÜ”u˜R §¡“~Ó&¨2¨q¯s©s¨)Ò3Ð3Ð3Ü”v˜a §¡“~Ó&¨1¨a¯c©c¨(Ò2Ð2Ð2Ü	�b˜!Ÿ#™#�YÓ	€BÜ�bœ%Ô Ð Ð Ø”�r˜1Ÿ3™3“ÒÐÐÜ	�a˜Ÿ™�XÓ	€BÜ�bœ&Ô!Ð!Ð!Ø”˜˜1Ÿ3™3“ÒÐÐä
Œ:ÔEÔFÜ
Œ:ÔIÔJä
Œ:Ô>Ô?ä
Œ9Ô4Õ5r    N)Úpytestr   Úsympyr   Úsympy.physics.mechanicsr   r   r   r   r	   r
   r   r   Úsympy.physics.mechanics.loadsr   r   r   r&   r8   rG   © r    r   ú<module>rM      s4   ðÝ å ÷K÷ Kó Kç >òò*ò(.ó&6r    