o
    oÇh¦
  ã                
   @   sæ  d dl m  mZ d dlZd dlZd dlZ	e 
d¡\ZZejddd\ZZeee e d  Ze eeg¡ dd¡Ze ¡ Ze dd	„ eD ƒ¡ ejd  ejd ¡Ze ee¡Ze d
d	„ eD ƒ¡ ejd  ejd ¡Ze d gg¡Zee ee  ed < e ejd  e d gg¡¡Zde e de e  eejd  d < ee eee¡ƒ e eee¡e Zee d ded   Ze e¡ ejddd\ZZZe eeed g¡ dd¡Ze dd	„ eD ƒ¡ ejd  ejd ¡Ze dd	„ e ¡  ¡ D ƒ¡Z e dd	„ e !¡ D ƒ¡ ejd  ejd ¡Z"e #d¡Z$e #d¡Z%e% &e$dee$jg¡ e% &e$dej'd e$jg¡ ejddd\Z(Z)Z*e(e%j e)e%j  e*e%j+  Z,e -d¡Z.e -d¡Z/e. 0e/e(e%j ¡ e, 1e$¡Z,e. 0e/e. 2e/¡ 1e$¡¡ e% 3e$e*e%j+ ¡ ee$ 4e%¡ƒ e/ 5e.e$e%¡ e 6de -d¡e 7d¡¡Z8e 6de -d¡e 7d¡¡Z9e9j: 5e8j:e$e%¡ e/ ;e8j:e$e%¡ e -d¡Z<e< =e$d ¡ e #d¡Z>e ?de<e>e d¡e @e>je>j¡e<f¡ZAe -d¡ZBeB =e$d ¡ e #d¡ZCe ?d eBeCe d¡e @eCjeCj¡eBf¡ZDejd!ddZEe8jFeEe$j  ZGe9jFeEe$j  ZHeAjFeEe$j  ZIeDjFeEe$j  ZJe 
d"¡Z+ee%j ee%j+  Z,e. 0e/ee%j ee%j  ¡ e, Kede+ ee+i¡Z,e. 0e/e. 2e/¡ Kede+ ee+i¡¡ d#ee e%j  ZLe8jFeEe$j  ee e%j  ZGdS )$é    Nzx yza bT)Úrealé   é   c                 C   ó   g | ]}|  ¡ ‘qS © )Úexpand©Ú.0Úir   r   ú‚/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/sympy/parsing/autolev/test-examples/ruletest10.pyÚ
<listcomp>   ó    r   c                 C   s   g | ]}t  |t¡‘qS r   )Ú_smÚfactorÚxr   r   r   r   r      s    é   za b cc              
   C   s"   g | ]}|  td tdtdi¡‘qS )r   r   r   )ÚsubsÚaÚbÚcr   r   r   r   r      s   " c                 C   r   r   ©Úevalfr   r   r   r   r      r   c                 C   s   g | ]
}|d  d   ¡ ‘qS )r   r   r   r   r   r   r   r      s    Únr   ÚAxiszc1 c2 c3ÚoÚpÚp1Úp1_ptÚmÚp2Úp2_ptÚb1_cmÚb1_fÚb1Úb2_cmÚb2_fÚb2ÚgÚzéÿÿÿÿ)MÚsympy.physics.mechanicsÚphysicsÚ	mechanicsÚ_meÚsympyr   Úmathr   ÚnumpyÚ_npÚdynamicsymbolsr   ÚyÚsymbolsr   r   ÚeÚMatrixÚreshaper   Úshaper   ÚeqnÚ
row_insertÚprintÚsolveÚrhs_yÚcollectr   Úm2Ú	eigenvalsÚkeysÚeigvalueÚ
eigenvectsÚeigvecÚReferenceFrameÚframe_nÚframe_aÚorientÚpiÚc1Úc2Úc3r(   ÚvÚPointÚpoint_oÚpoint_pÚset_posÚexpressÚpos_fromÚset_ang_velÚ
ang_vel_inÚv2pt_theoryÚParticleÚSymbolÚparticle_p1Úparticle_p2ÚpointÚa2pt_theoryÚ
body_b1_cmÚset_velÚ	body_b1_fÚ	RigidBodyÚouterÚbody_b1Ú
body_b2_cmÚ	body_b2_fÚbody_b2r'   ÚmassÚforce_p1Úforce_p2Úforce_b1Úforce_b2r   Úforce_or   r   r   r   Ú<module>   s~    ((&
(,






(

(
$"