
    g
              
          d dl mc mZ d dlZd dlZd dlZ	 ej
        d          Z ej        dd          \  ZZZ ej        eddd          Z ej        d ej        d           ej        d	                    Z ej        d
 ej        d           ej        d	                    Z ej        d          Z ej
        d          Z ej        dee ej        d	           ej        ej        ej                  ef          Ze                    ed ej        g d                              dd                      ej        d          Z  ej        d          Z!e!e_"         ej        d          Z#e#e_"         ej        d          Z$e$e_"         ej        d          Z% ej        d          Z& ej        d          Z' ej        ee%e&e'd d d           efe_        e (                    ej)        eej        z             e (                    ej)        eej*        z             e (                    eeej+        z              ej,        ej"        ej)        -                    e           e          Z ej,        ej"        ej)        -                    e           e          Zej        d           ej,        ej"        ej.        -                    e           e          z   Z ej,        ej"        ej)        -                    e           e           ej,        ej"        ej)        -                    e           e          z   ej        d          z    ej,        ej"        ej.        -                    e           e          z   Z ej,        ej"        ej)        -                    e           e          ej        d          z    ej,        ej"        ej.        -                    e           e          z   Zej        d           ej,        ej"        ej.        -                    e           e          z   Zej        d          Zej)        (                    ej)        eej        z  eej*        z  z              e(                    ej)        eej        z             e(                    ej)        eej*        z             ej/        0                    e eee          Z1ej/        0                    e ee          Z1ej/        0                    ej)        eee          Z1 ej2        d          \  Z3Z4Z5e3ej        z  e4ej*        z  z   e5ej+        z  z   Z6e6eej        z  z   7                                Z8ej)        9                    ee3ej        z             ej)        :                    ee3          Zej"        ej"        z   Zej"        Zej"        ej"        z   ej"        z   ZdS )    Nazc1 c2 c3T)real   p1p1_ptmp2p2_ptr_cmr_frDCM)	r   r   r   r   r   r   r   r   r      om1m2mri1i2i3zu1 u2 u3);sympy.physics.mechanicsphysics	mechanics_mesympy_smmathr   numpy_npReferenceFrameframe_asymbolsc1c2c3inertiar   ParticlePointSymbolparticle_p1particle_p2	body_r_cmbody_r_f	RigidBodyouterxbody_rorientMatrixreshapepoint_or   massr   r   r   r   r   set_pospointyzinertia_of_point_masspos_from
masscenter	functionscenter_of_massbdynamicsymbolsu1u2u3v	normalizeuset_velpartial_velocity     i/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/parsing/autolev/test-examples/ruletest8.py<module>rM      s   % % % % % % % % %            
#
S
!
!S[$///
BCKAq!!cl47!3!3ZSZ__EEcl47!3!3ZSZ__EECIf	3e$$	sIxS1A1AICIhjYaYcDdDdenCo	p	p x

+>+>+> ? ? G G1 M M N N N
#)C..S[ S[ S[S[S[S[#+hBAq!<<iH !2gi< 0 0 0 !2gi< 0 0 0 	2gi< ( ( (Ck.0A0J0J70S0SU\]]Ck.0A0J0J70S0SU\]]
N111&+v?P?Y?YZa?b?bdklllCk.0A0J0J70S0SU\]]`y`c`y  {F  {K  MX  M^  Mg  Mg  ho  Mp  Mp  ry  az  az  z  }C  }K  LM  }N  N  Qj  QT  Qj  kq  kv  x~  xI  xR  xR  SZ  x[  x[  ]d  Qe  Qe  eCk.0A0J0J70S0SU\]]`f`nop`qq  uNtw  uN  OU  OZ  \b  \m  \v  \v  w~  \  \  AH  uI  uI  I
N111&+v?P?Y?YZa?b?bdklll
N1    ++R	\"WY,-F G G G 	  +#R	\ 2 2 2 	  +#R	\ 2 2 2M  k6JJM  f==M  !2;VTTS
++
BwyLGIbl*r')|^      '2gi< 0 0 0&&w33V[ [%%fk1rK   