+
    hU0                         ^ RI HtHtHt ^ RIHtHt ^ RItR tR t	R t
R tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR# )    )dynamicsymbolsPointReferenceFrame)raisesignore_warningsNc                  &   \        R 4      w  r\        R ^4      w  r#\        R ^4      w  rE\        R4      p\        R4      pVP                  WbVP                  ,          4       \	        R4      pVP                  RVP                  4      p	V	P                  V^ 4       VP                  V^ 4       V	P                  WV4      W'P                  ,          8X  g   Q hVP                  WfP                  4       V	P                  WV4      VP                  W'P                  ,          ,           8X  g   Q hV	P                  WwP                  4       V	P                  WV4      VP                  VP                  ,           W'P                  ,          ,           8X  g   Q hR# q q2NBOPN)
r   r   set_ang_velzr   	locatenewxset_velv1pt_theoryy
qq2qdq2dqddq2ddr   r   r   r   s
             G/usr/lib/python3/dist-packages/sympy/physics/vector/tests/test_point.pytest_point_v1pt_theorysr      s   6"EAVQ'GBvq)ICsAsAMM!!##Xc
A	CAIIaOIIaO==q!R##X---IIa==q!QSS28^333IIa==q!QSS133Ycc%9999    c                     \        R 4      w  r\        R ^4      w  r#\        R ^4      w  rE\        R4      p\        R4      pVP                  WbVP                  ,          4       \	        R4      pVP                  RVP                  4      p	V	P                  V^ 4       VP                  V^ 4       V	P                  WV4      V^,          ) VP                  ,          WGP                  ,          ,           8X  g   Q hV	P                  WsVP                  ,          4       V	P                  WV4      V^,          ) VP                  ,          WGP                  ,          ,           WWP                  ,          ,           8X  g   Q hVP                  WcVP                  ,          4       V	P                  WV4      WR^,          ,
          VP                  ,          W2,          V,           VP                  ,          ,           WWP                  ,          ,           8X  g   Q hR# r	   )
r   r   r   r   r   r   r   r   a1pt_theoryr   r   s
             r   test_point_a1pt_theorysr"      ss   6"EAVQ'GBvq)ICsAsAMM!!##Xc
A	CAIIaOIIaO==q!r1uX^cCCi%????IIaqss==q!r1uX^cCCi%?$*%LLLLIIaqss==q!t!e|qss&:chnPQPSPS=S&S#ccz'* + + +r   c                  l   \        R 4      p \        R ^4      p\        R4      pVP                  RRWP                  .4      p\	        R4      pVP                  R^ 4      pVP                  V^ 4       VP                  WBV4      ^ 8X  g   Q hVP                  RVP                  4      pVP                  WBV4      WP                  ,          VP                  ,          8X  g   Q hVP                  W"P                  4       VP                  WBV4      VP                  WP                  ,          ,           8X  g   Q hR# r   r   r   Axisr   r   N)
r   r   	orientnewr   r   r   r   v2pt_theoryr   r   )r   r   r   r   r   r   s         r   test_point_v2pt_theorysr(   *   s    sA	Q	BsA	C!SS*Ac
A	CAIIaO==q!Q&&&	CA==q!b33hn555IIa==q!QSS28^333r   c                     \        R 4      p \        R ^4      p\        R ^4      p\        R4      pVP                  RRWP                  .4      p\	        R4      pVP                  R^ 4      pVP                  V^ 4       VP                  WSV4      ^ 8X  g   Q hVP                  WTP                  4       VP                  WSV4      V^,          ) VP                  ,          W$P                  ,          ,           8X  g   Q hR# r$   )r   r   r&   r   r   r   r   a2pt_theoryset_posr   r   )r   r   r   r   r   r   r   s          r   test_point_a2pt_theorysr,   9   s    sA	Q	B
a
 CsA	C!SS*Ac
A	CAIIaO==q!Q&&&IIa==q!r1uf^scck%AAAAr   c                     \        R 4      w  r\        R ^4      w  r#\        R ^4      w  rE\        R4      p\        R4      pVP                  V^VP                  ,          4       \	        R4      pVP                  RWP                  ,          WP                  ,          ,           4      p	V	P                  V4      WP                  ,          WP                  ,          ,           8X  g   Q hV	P                  WrVP                  ,          W7P                  ,          ,           4       V	P                  V4      W'P                  ,          W7P                  ,          ,           8X  g   Q hVP                  V^ 4       VP                  V4      ^ 8X  g   Q hV	P                  WV4      RV ,          V,           VP                  ,          WWP                  ,          ,           RV,          VP                  ,          ,           8X  g   Q hVP                  RRWP                  .4      p\	        R4      pVP                  R^
VP                  ,          4      p	VP                  V^VP                  ,          4       VP                  V4      ^VP                  ,          8X  g   Q hV	P                  WV4      RV^,          ,          VP                  ,          ^
V,          VP                  ,          ,           8X  g   Q hVP                  V^VP                  ,          4       \	        R4      pVP                  RWP                  ,          WP                  ,          ,           4      p	V	P                  WrVP                  ,          W7P                  ,          ,           4       VP                  V^ 4       V	P                  WV4      W'P                  ,          W7P                  ,          ,           ^V ,          VP                  ,          ,
          8X  g   Q hR# )	r
   r   r   r   r   r%   Ni)r   r   r   r   r   r   r   pos_fromr   velr!   r   r&   r*   r   r   s
             r   test_point_funcsr1   G   s   6"EAVQ'GBvq)ICsAsAMM!QWc
A	CSS28+,A::a=AGb33h....IIaaccC##I%&558rCCx#)++++IIaO558q====q!sQw}&;tssl&J #bACC/'0 1 1 1 	
C!SS*Ac
A	Cacc"AIIaQSS558q133w==q!cBEkQSS%8BH;K%KKKKMM!QWc
A	CSS28+,AIIaaccC##I%&IIaO==q!R##Xcc	%9AEACCK%GGGGr   c                  8   \        R 4      p \        R4      pVP                  RRWP                  .4      p\	        R4      pVP                  R^
VP                  ,          ^VP                  ,          ,           4      pVP                  V4      ^
VP                  ,          ^VP                  ,          ,           8X  g   Q hVP                  R^
VP                  ,          ^VP                  ,          ,           4      pVP                  V4      ^
VP                  ,          ^VP                  ,          ,           8X  g   Q hVP                  V4      ^
VP                  ,          ^
VP                  ,          ,           ^VP                  ,          ,           ^VP                  ,          ,           8X  g   Q hVP                  V4      RVP                  ,          ^
VP                  ,          ,
          ^VP                  ,          ,
          ^VP                  ,          ,
          8X  g   Q hR# )	r   r   r   r%   r   r   QNr.   )	r   r   r&   r   r   r   r   r/   r   )r   r   r   r   r   r3   s         r   test_point_posr4   g   sa   sAsA	C!SS*Ac
A	CaccAG+,A::a=BHq133w....	CaccAG+,A::a=BHq133w....::a=BHrACCx/!acc'9AGCCCC::a=C!##IQSS01qss7:QWDDDDr   c                    aaa \        R 4      p \        R4      o\        R4      o\        R4      w  opSP                  V SSP                  ,          WP
                  ,          ,           4       SP                  V S4      SP                  8X  g   Q hSP                  V SV4      SP                  V P
                  38X  g   Q h\        \        VVV3R l4       R# )r   Apzu1, u2c                  (   < SP                  S S4      # N)partial_velocity)r6   r7   u1s   r   <lambda>-test_point_partial_velocity.<locals>.<lambda>   s    q11!R8r   N)	r   r   r   r   r   r   r:   r   
ValueError)r   u2r6   r7   r;   s     @@@r   test_point_partial_velocityr@   s   s    sAsAc
AH%FBIIaaccBH$%a$+++aR(QSS!##J666
:89r   c                    aaaa \        R 4      w  r\        R4      o\        R4      o\        R4      o\        R4      oSP                  SV SP                  ,          4       \        \        VV3R l4       SP                  SVSP                  ,          4       SP                  S4      VSP                  ,          8X  g   Q h\        \        VV3R l4       R# )q1 q2r   r   r3   r   c                  &   < SP                  S 4      # r9   r0   )r   r3   s   r   r<    test_point_vel.<locals>.<lambda>   s    ar   c                  &   < SP                  S 4      # r9   rD   )r   r   s   r   r<   rE      s    qr   N)
r   r   r   r+   r   r   r>   r   r   r0   )q1r   r   r   r   r3   s     @@@@r   test_point_velrH      s    G$FBsAsAc
Ac
AIIaacc
:()IIaacc558rACCx
:)*r   c                    aaa \         P                  p \        R 4      w  r\        R4      o\        R4      o\        R4      p\        R4      pVP	                  W1SP
                  ,          4       VP                  SVSP                  ,          4       VP                  S4      VP                  V 4      SP
                  ,          VSP                  ,          ,           8X  g   Q h\        R4      pVP	                  W1SP
                  ,          4       \        R4      oSP	                  WRSP                  ,          4       \        \        VV3R l4       \        \        VV3R l4       R	# )
rB   r   r   r   r3   P1P2c                  &   < SP                  S 4      # r9   rD   )r   rK   s   r   r<   %test_auto_point_vel.<locals>.<lambda>       q	r   c                  &   < SP                  S 4      # r9   rD   r   rK   s   r   r<   rM      s    rvvayr   N)r   _tr   r   r+   r   r   r   r0   diffr   r   r>   )	trG   r   r   r3   rJ   r   r   rK   s	         @@@r   test_auto_point_velrT      s    AG$FBsAsAc
Ac
AIIaaccIIaacc558rwwqzACC'"qss(2222	tBJJqqss(	tBJJr8
:)*
:()r   c                     \         P                  p \        R 4      w  r\        R4      p\        R4      pVP	                  W1VP
                  ,          4       \        R4      pVP                  WBVP                  ,          4       VP	                  W1VP                  ,          4       \        R4      pVP                  WQVP                  ,          4       \        R4      pVP                  V^
V,          VP                  ,          4       VP                  V4      ^
VP                  V 4      ,          VP                  ,          WP                  V 4      ,           VP                  ,          ,           8X  g   Q hR# )rB   r   r   rJ   rK   P3N)r   rQ   r   r   r   r   r+   r   r   r0   rR   )rS   rG   r   r   r   rJ   rK   rV   s           r   'test_auto_point_vel_multiple_point_pathrW      s    AG$FBsAc
AIIaacc	tBJJqqss(JJqqss(	tBJJr8	tBJJr27QSS=!66!9RWWQZ!##-ggajACC0GGGGGr   c                     \         P                  p \        R 4      w  rp\        R4      p\        R4      pVP	                  WCVP
                  ,          4       \        R4      pVP                  WRVP                  ,          4       VP                  V4      VP                  V 4      VP                  ,          W4P
                  ,          ,           8X  g   Q hVP                  V4      W4P
                  ,          8X  g   Q hVP	                  WCVP                  ,          4       VP                  V4      W4P                  ,          8X  g   Q hR# )z
q1, q2, u1r   rJ   N)r   rQ   r   r   r   r   r+   r   r0   rR   r   )rS   rG   r   r;   r   r   rJ   s          r   test_auto_vel_dont_overwriterY      s    A-JBBsAdAIIaacc	tBJJqqss(66!9
QSS(283333558rCCxJJqqss(66!9SS   r   c                  P  aaa \        R 4      w  r\        R4      o\        R4      o\        R4      pVP                  SV SP                  ,          4       \        R4      oSP                  VSP                  4       \        \        VV3R l4       \        \        VV3R l4       R# )rB   r   Sr   rJ   c                  &   < SP                  S 4      # r9   rD   )r   rJ   s   r   r<   Rtest_auto_point_vel_if_tree_has_vel_but_inappropriate_pos_vector.<locals>.<lambda>   rN   r   c                  &   < S P                  S4      # r9   rD   )rJ   r[   s   r   r<   r]      rN   r   N)	r   r   r   r   r   r+   r   r   r>   )rG   r   r   r   rJ   r[   s      @@@r   @test_auto_point_vel_if_tree_has_vel_but_inappropriate_pos_vectorr_      ss    G$FBsAsAc
AIIaacc	tBJJq!##
:)*
:)*r   c            
         \         P                  p \        R 4      w  rr4\        R4      p\        R4      pVP	                  WSVP
                  ,          4       \        R4      pVP                  WbVP                  ,          4       VP	                  WQVP                  ,          4       \        R4      pVP                  WqVP                  ,          4       \        R4      p	V	P                  V^
V,          VP                  ,          4       \        R4      p
V
P                  WVP
                  ,          4       \        R4      pVP	                  WTVP                  ,          4       \        R4      pVP                  WVP                  ,          4       V
P                  WVP
                  ,          W%P                  ,          ,           4       \        P                  ! 4       ;_uu_ 4        \        P                  ! R	4       \        \        4      ;_uu_ 4        V
P                  V4      VP                  V 4      VP
                  ,          WEP                  ,          ,           ^VP                  V 4      ,          VP                  ,          ,           8X  g   Q h R
R
R
4       R
R
R
4       R
#   + '       g   i     L; i  + '       g   i     R
# ; i)zq1 q2 u1 u2r   r   rJ   rK   rV   P4r   O1errorN)r   rQ   r   r   r   r   r+   r   r   warningscatch_warningssimplefilterr   UserWarningr0   rR   )rS   rG   r   r;   r?   r   r   rJ   rK   rV   ra   r   rb   s                r   !test_auto_point_vel_shortest_pathrh      s   A#M2NBBsAc
AIIaacc	tBJJqqss(JJqqss(	tBJJr8	tBJJr27QSS=!	tBJJr8c
AIIaacc	tBJJqqss(JJr8b33h&'		 	 	"	"g&[))66!9
QSS 028 ;a"''!*nqss>R RRRR * 
#	")) 
#	"	"s%   %.J7A>J$	J7$J4/J77K	c                    aa \         P                  p \        R 4      w  rr4\        R4      o\        R4      p\        R4      pVP	                  SVSP
                  ,          4       \        R4      oSP                  WbSP
                  ,          W5P                  ,          ,           4       \        \        VV3R l4       SP                  VRWP
                  34       SP                  S4      WBP                  V 4      ,           SP
                  ,          VP                  V 4      VP                  ,          ,           W1P                  V 4      ,          VP                  ,          ,
          8X  g   Q hR# )z	q q1 q2 ur   r   r   r   c                  &   < SP                  S 4      # r9   rD   )r   r   s   r   r<   6test_auto_point_vel_connected_frames.<locals>.<lambda>   s    quuQxr   r%   N)r   rQ   r   r   r   r   r+   r   r   r>   orientr0   rR   r   )	rS   r   rG   r   ur   r   r   r   s	          @@r   $test_auto_point_vel_connected_framesrn      s    A!+.LA2sAsAc
AIIaQSSc
AIIaaccBH$%
:'(HHQCC!558GGAJ!##-
QSS0@@2q	>TUTWTWCWWWWWr   c                    aa \        R 4      w  r\        R4      o\        R4      o\        R4      p\        R4      p\        R4      pVP                  SVSP                  ,          4       VP                  SVSP
                  ,          4       VP                  SVSP                  ,          4       SP                  W SP                  ,          4       SP                  W0SP
                  ,          4       SP                  W@SP                  ,          4       \        P                  ! 4       ;_uu_ 4        \        P                  ! R4       \        \        VV3R l4       RRR4       R#   + '       g   i     R# ; i)	zq ur   r   r   r3   Rrc   c                  &   < SP                  S 4      # r9   rD   r   r   s   r   r<   Ctest_auto_point_vel_multiple_paths_warning_arises.<locals>.<lambda>   s    AEE!Hr   N)r   r   r   r   r   r   r   r+   rd   re   rf   r   rg   )r   rm   r   r3   rp   r   r   s        @@r   1test_auto_point_vel_multiple_paths_warning_arisesrt      s    % DAsAc
Ac
Ac
Ac
AIIaQSSIIaACCIIaQSSIIaQSSIIaQSSIIaQSS		 	 	"	"g&{,- 
#	"	"	"s   3,E))E:	c                  |  aa \        R 4      p \        R4      p\        R4      o\        R4      p\        R4      oV P                  SSP                  4       VP	                  V SP                  4       SP	                  VSP
                  4       VP	                  SSP                  4       VP	                  VSP                  SP
                  ,           4       \        P                  ! 4       ;_uu_ 4        \        P                  ! R4       \        \        VV3R l4       RRR4       R#   + '       g   i     R# ; i)r   rJ   rK   rV   r   rc   c                  &   < SP                  S 4      # r9   rD   rP   s   r   r<   5test_auto_vel_cyclic_warning_arises.<locals>.<lambda>  s    BFF1Ir   N)r   r   r   r   r+   r   r   rd   re   rf   r   rg   )r   rJ   rV   r   rK   s      @@r   #test_auto_vel_cyclic_warning_arisesrx      s    c
A	tB	tB	tBsAIIaJJq!##JJr133JJr133JJr1339		 	 	"	"g&{-. 
#	"	"	"s   4,D**D;	c                  (   \        R 4      p \        R4      p\        R4      p\        R4      p\        R4      pV P                  WDP                  4       VP	                  WP                  4       VP	                  WP
                  4       VP	                  W$P                  4       VP	                  W4P                  VP
                  ,           4       \        P                  ! RR7      ;_uu_ 4       p\        P                  ! R4       VP                  V4       \        VR,          P                  4      P                  RR	4      p\        VR,          P                  \         4      '       g   Q hR
V9   g   Q h RRR4       R#   + '       g   i     R# ; i)r   rJ   rK   rV   r   Trecordalways
 zKinematic loops are defined among the positions of points. This is likely not desired and may cause errors in your calculations.N)r   r   r   r   r+   r   r   rd   re   rf   r0   strmessagereplace
issubclasscategoryrg   )r   rJ   rK   rV   r   wmsgs          r    test_auto_vel_cyclic_warning_msgr     s   c
A	tB	tB	tBsAIIaJJq##JJr33JJr33JJr339		 	 $	/	/1h'
q	!B%-- ((s3!B%..+6666 R  VY  Y  	Y  Y 
0	/	/	/s   /BF  F	c                     \        R 4      p \        R4      p\        R4      p\        R4      pVP                  W P                  4       VP                  W P                  4       VP                  W P                  4       VP                  W0P                  4       \        P                  ! RR7      ;_uu_ 4       p\        P                  ! R4       VP                  V 4       \        VR,          P                  4      P                  RR4      p\        VR,          P                  \         4      '       g   Q hR	V9   g   Q hR
V9   g   Q hRV9   g   Q h RRR4       R#   + '       g   i     R# ; i)r   r   r   r3   Trz   r|   r}   r~   Velocityz'automatically calculated based on pointzfVelocities from these points are not necessarily the same. This may cause errors in your calculations.Nr   )r   r   r   r   r   r+   r   rd   re   rf   r0   r   r   r   r   r   rg   )r   r   r   r3   r   r   s         r   'test_auto_vel_multiple_path_warning_msgr     s   sAc
Ac
Ac
AIIaIIaIIaIIa		 	 $	/	/1h'	a!B%-- ((s3!B%..+6666S   8C???w{~~~~ 
0	/	/	/s   8BEE,	c                  0   \        R 4      w  r\        R^4      w  r#\        R4      p\        R4      p\        R4      pVP                  WDP                  V 4       VP	                  WBVP                  ,          4       VP                  WUP                  V4       VP	                  WSVP                  ,          4       \        R4      pVP                  V^ 4       \        R4      pVP                  WuP                  4       VP                  V^ 4       VP                  V^ 4       \        R4      p	V	P                  WP                  4       V	P                  V^ 4       V	P                  P                  4       p
V	P                  V4      W%P                  ,          W#,           VP                  ,          ,           8X  g   Q hWn	        V	P                  WV4       V	P                  V4      W%P                  ,          W#,           VP                  ,          ,           8X  g   Q hR# )	q1:3zu1:3r6   r   CAmBmCmN)r   r   orient_axisr   r   r   r   r+   r   	_vel_dictcopyr0   r   r'   )rG   r   r;   r?   r6   r   r   r   r   r   temps              r   test_auto_vel_derivativer   1  st   F#FBFA&FBsAsAsAMM!SS"MM!!##XMM!SS"MM!!##X	tBJJq!	tBJJr33JJq!JJq!	tBJJr33JJq!<<D66!9ccRWO3444LNN2!66!9ccRWO3444r   c                      \        R 4      p \        R4      pVP                  V ^ 4       VP                  V 4      ^ V P                  ,          8X  g   Q hR# )r   r   N)r   r   r   accr   rr   s     r   test_auto_point_acc_zero_velr   K  s@    sAc
AIIaO558q133wr   c                     \         P                  p \        R 4      p\        R4      p\        R4      pVP                  W"P                  V4       \        R4      pVP                  V^ 4       \        R4      pVP                  WCP                  4       VP                  V4      VP                  V 4      ^,          ) VP                  ,          VP                  V ^4      VP                  ,          ,           8X  g   Q hR# )rG   r   r6   r   r   N)r   rQ   r   r   r   r   r   r+   r   r   rR   r   )rS   rG   r   r6   r   r   s         r   test_auto_point_acc_compute_velr   Q  s    A		BsAsAMM!SS"c
AIIaOc
AIIa558
a'!##-10CCCCCr   c                     \        R 4      w  r\        R ^4      w  r#\        R ^4      w  rE\        R4      p\        R4      p\        R4      pVP                  WfP                  V 4       VP                  WwP                  V4       \	        R4      p	V	P                  V^ 4       \	        R4      p
V
P                  WP                  4       V
P                  V^ 4       V
P                  V^ 4       \	        R4      pVP                  WP                  4       VP                  V^ 4       V
P                  P                  4       VP                  P                  4       rV
P                  P                  4       VP                  P                  4       rV^,          ) VP                  ,          WGP                  ,          ,           W#,           ^,          VP                  ,          ,
          WE,           VP                  ,          ,           pVP                  V4      V8X  g   Q hWuV
n        Vn        WuV
n
        Vn
        V
P                  WV4       VP                  WV4       V
P                  WV4       VP                  WV4      V8X  g   Q hR# )r   r6   r   r   r   r   r   N)r   r   r   r   r   r   r+   r   r   r   	_acc_dictr   r   r'   r*   )rG   r   r;   r?   v1v2r6   r   r   r   r   r   Bm_vel_dictCm_vel_dictBm_acc_dictCm_acc_dictchecks                    r   test_auto_acc_derivativer   ^  s    F#FBFA&FBFA&FBsAsAsAMM!SS"MM!SS"	tBJJq!	tBJJr33JJq!JJq!	tBJJr33JJq!  "||002BLL4E4E4G!||002BLL4E4E4G1WHqssNR##X%Q(<<133NE66!9!,BL",!,BL",NN2!NN2!NN2!>>"#u,,,r   )sympy.physics.vectorr   r   r   sympy.testing.pytestr   r   rd   r   r"   r(   r,   r1   r4   r@   rH   rT   rW   rY   r_   rh   rn   rt   rx   r   r   r   r   r   r    r   r   <module>r      s    F F 8 :$+&4BH@
E:
+*$H!	+S2X."/Y$$54D -r   