Ë
    7^(h¦
  ã                   óJ   — d dl mZ d dlmZ d dlmZmZmZmZm	Z	 d„ Z
d„ Zd„ Zy)é    )Úsymbols)Úraises)ÚinertiaÚinertia_of_point_massÚInertiaÚReferenceFrameÚPointc            	      óÐ  — t        d«      } t        d«      \  }}}t        d«      \  }}}t        | |||«      || j                  | j                  z  z  || j                  | j                  z  z  z   || j
                  | j
                  z  z  z   k(  sJ ‚t        | ddd«      d| j                  | j                  z  z  k(  sJ ‚t        t        d„ «       t        | ||||||«      || j                  | j                  z  z  || j                  | j                  z  z  z   || j                  | j
                  z  z  z   || j                  | j                  z  z  z   || j                  | j                  z  z  z   || j                  | j
                  z  z  z   || j
                  | j                  z  z  z   || j
                  | j                  z  z  z   || j
                  | j
                  z  z  z   k(  sJ ‚y )NÚNúixx iyy izzzixy iyz izxr   c                  ó   — t        dddd«      S )Nr   )r   © ó    úh/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/physics/mechanics/tests/test_inertia.pyú<lambda>z%test_inertia_dyadic.<locals>.<lambda>   s   € œg a¨¨A¨qÓ1€ r   )r   r   r   ÚxÚyÚzr   Ú	TypeError)r   ÚixxÚiyyÚizzÚixyÚiyzÚizxs          r   Útest_inertia_dyadicr      sÐ  € Ü�sÓ€AÜ˜MÓ*�M€CˆˆcÜ˜MÓ*�M€CˆˆcÜ�1�c˜3 Ó$¨°·±°a·c±c±	Ñ):¸SØ�S‰S�1—3‘3‰Yñ>ñ *Ø §¡ q§s¡s¡Ñ+ñ*,ò -ð -ð -ä�1�a˜˜AÓ ! q§s¡s¨Q¯S©S¡y¡/Ò1Ð1Ð1Ü
Œ9Ñ1Ô2Ü�1�c˜3  S¨#¨sÓ3¸¸q¿s¹sÀQÇSÁS¹yÑ8IØ�1—3‘3˜Ÿ™‘9Ññ9Ø # q§s¡s¨Q¯S©S¡yÑ 1ñ92Ø47¸1¿3¹3ÀÇÁ¹9Ñ4Eñ9FØHKØ	
�‰ˆq�s‰s‰ñIñ9à˜QŸS™S 1§3¡3™YÑ'ñ9(à*-°·±°q·s±s±Ñ*;ñ9<à>AÀQÇSÁSØ�C‰CñFñ ?ñ9ð ˜!Ÿ#™# §¡™)Ñ$ñ9%ò &ð &ñ &r   c                  ój  — t        d«      \  } }}}t        d«      }| |j                  z  }t        |||«      }||| dz  z  |j                  |j                  z  z  || dz  z  |j
                  |j
                  z  z  z   k(  sJ ‚||j                  z  }t        |||«      }|||dz  z  |j                  |j                  z  z  ||dz  z  |j
                  |j
                  z  z  z   k(  sJ ‚||j
                  z  }t        |||«      }|||dz  z  |j                  |j                  z  z  ||dz  z  |j                  |j                  z  z  z   k(  sJ ‚||z   |z   }	t        ||	|«      }|||dz  |dz  z   z  |j                  |j                  z  z  || z  |z  |j                  |j                  z  z  z
  || z  |z  |j                  |j
                  z  z  z
  || z  |z  |j                  |j                  z  z  z
  || dz  |dz  z   z  |j                  |j                  z  z  z   ||z  |z  |j                  |j
                  z  z  z
  || z  |z  |j
                  |j                  z  z  z
  ||z  |z  |j
                  |j                  z  z  z
  || dz  |dz  z   z  |j
                  |j
                  z  z  z   k(  sJ ‚y )Nzr s t mr   é   )r   r   r   r   r   r   )
ÚrÚsÚtÚmr   ÚpxÚIÚpyÚpzÚps
             r   Útest_inertia_of_point_massr(      sµ  € Ü˜Ó#�J€A€qˆ!ˆQÜ�sÓ€Aà	
ˆQ�S‰S‰€BÜ˜a  QÓ'€AØ��A�q‘D‘˜AŸC™C !§#¡#™IÑ&¨¨Q°©T©°Q·S±S¸1¿3¹3±YÑ)?Ñ?Ò?Ð?Ð?à	
ˆQ�S‰S‰€BÜ˜a  QÓ'€AØ��A�q‘D‘˜AŸC™C !§#¡#™IÑ&¨¨Q°©T©°Q·S±S¸1¿3¹3±YÑ)?Ñ?Ò?Ð?Ð?à	
ˆQ�S‰S‰€BÜ˜a  QÓ'€AØ��A�q‘D‘˜AŸC™C !§#¡#™IÑ&¨¨Q°©T©°Q·S±S¸1¿3¹3±YÑ)?Ñ?Ò?Ð?Ð?à
ˆR‰�"‰€AÜ˜a  AÓ&€AØ��a˜‘d˜Q ™T‘kÑ" a§c¡c¨A¯C©C¡iÑ0Ø�Q‘˜‘˜aŸc™c A§C¡C™iÑ(ñ)à�Q‘˜‘˜aŸc™c A§C¡C™iÑ(ñ)ð �Q‘˜‘˜aŸc™c A§C¡C™iÑ(ñ)ð �a˜‘d˜Q ™T‘kÑ" a§c¡c¨A¯C©C¡iÑ0ñ	1ð
 �Q‘˜‘˜aŸc™c A§C¡C™iÑ(ñ)ð �Q‘˜‘˜aŸc™c A§C¡C™iÑ(ñ)ð �Q‘˜‘˜aŸc™c A§C¡C™iÑ(ñ)ð �a˜‘d˜Q ™T‘kÑ" a§c¡c¨A¯C©C¡iÑ0ñ1ò 2ð 2ñ 2r   c                  ó  ‡‡‡— t        d«      } t        d«      Št        d«      \  }}}|| j                  | j                  z  z  || j                  | j                  z  z  z   || j
                  | j
                  z  z  z   Št        t        | |||«      ‰«      Št        ‰t        «      sJ ‚‰j                  «       dk(  sJ ‚‰j                  ‰k(  sJ ‚‰j                  ‰k(  sJ ‚‰d   ‰k(  sJ ‚‰d   ‰k(  sJ ‚‰‰‰fk(  sJ ‚t        t        ˆˆˆfd„«       ‰t        ‰‰«      k(  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   ÚOr   zFInertia(dyadic=ixx*(N.x|N.x) + iyy*(N.y|N.y) + izz*(N.z|N.z), point=O)r   é   c                  ó   •— ‰ ‰‰fk7  S )Nr   )r$   ÚI_dyadicr*   s   €€€r   r   z%test_inertia_object.<locals>.<lambda>@   s   ø€ ˜a A x =Ñ0€ r   c                  ó   •— ‰ dz   S ©N)r+   r   r   ©r$   s   €r   r   z%test_inertia_object.<locals>.<lambda>D   s   ø€ ˜a &™j€ r   c                  ó   •— d‰ z   S r/   r   r0   s   €r   r   z%test_inertia_object.<locals>.<lambda>E   s   ø€ ˜f q™j€ r   c                  ó   •— ‰ dz  S ©Nr   r   r0   s   €r   r   z%test_inertia_object.<locals>.<lambda>F   ó   ø€ ˜a !™e€ r   c                  ó   •— d‰ z  S r3   r   r0   s   €r   r   z%test_inertia_object.<locals>.<lambda>G   r4   r   )r   r	   r   r   r   r   r   r   Ú
isinstanceÚtupleÚ__repr__ÚdyadicÚpointr   r   Úfrom_inertia_scalars)r   r   r   r   r$   r-   r*   s       @@@r   Útest_inertia_objectr<   2   sm  ú€ Ü�sÓ€AÜˆc‹
€AÜ˜MÓ*�M€CˆˆcØ�a—c‘c˜AŸC™C‘iÑ  3¨!¯#©#°·±©)Ñ#4Ñ4°s¸a¿c¹cÀAÇCÁC¹iÑ7HÑH€HÜ”˜˜3  SÓ)¨1Ó-€AÜ�aœÔÐÐØ�:‰:‹<ð 6ò 7ð 7ð 7à�8‰8�xÒÐÐØ�7‰7�aŠ<Ðˆ<ØˆQ‰4�8ÒÐÐØˆQ‰4�1Š9Ðˆ9Ø�˜1�ÒÐÐÜ
Œ9Õ0Ô1Ø”˜˜8Ó$Ò$Ð$Ð$Ø”×,Ñ,¨Q°°3¸¸SÓAÒAÐAÐAä
Œ9Ó(Ô)Ü
Œ9Ó(Ô)Ü
Œ9“mÔ$Ü
Œ9“mÕ$r   N)Úsympyr   Úsympy.testing.pytestr   Úsympy.physics.mechanicsr   r   r   r   r	   r   r(   r<   r   r   r   ú<module>r@      s&   ðÝ Ý '÷Eõ Eò&ò2ó:%r   