Annotation of OpenXM_contrib2/asir2000/lib/robot, Revision 1.1
1.1 ! noro 1: /* $OpenXM: OpenXM/src/asir99/lib/robot,v 1.1.1.1 1999/11/10 08:12:30 noro Exp $ */
! 2: def rot_x(T) {
! 3: return newmat(3,3,[[1,0,0],[0,cos(T),-sin(T)],[0,sin(T),cos(T)]]);
! 4: }
! 5:
! 6: def rot_mx(T) {
! 7: return newmat(3,3,[[1,0,0],[0,cos(T),sin(T)],[0,-sin(T),cos(T)]]);
! 8: }
! 9:
! 10: def rot_z(T) {
! 11: return newmat(3,3,[[cos(T),-sin(T),0],[sin(T),cos(T),0],[0,0,1]]);
! 12: }
! 13:
! 14: E=rot_z(t1-r)*rot_mx(t2+t3)*rot_z(t4)*rot_mx(t5)*rot_z(t6-p)-rot_mx(t)$
! 15: F=newmat(3,3)$
! 16: for ( I = 0; I < 3; I++ )
! 17: for ( J = 0; J < 3; J++ )
! 18: F[I][J] = subst(E[I][J],
! 19: sin(t),st,cos(t),ct,
! 20: sin(r),sr,cos(r),cr,
! 21: sin(p),sp,cos(p),cp,
! 22: sin(-r+t1),srt1,cos(-r+t1),crt1,
! 23: sin(t2+t3),st23,cos(t2+t3),ct23,
! 24: sin(t4),st4,cos(t4),ct4,
! 25: sin(t5),st5,cos(t5),ct5,
! 26: sin(-p+t6),spt6,cos(-p+t6),cpt6
! 27: );
! 28:
! 29: def mtol(F) {
! 30: for ( L = [st^2+ct^2-1,
! 31: srt1^2+crt1^2-1,st23^2+ct23^2-1,
! 32: st4^2+ct4^2-1,st5^2+ct5^2-1,spt6^2+cpt6^2-1]
! 33: , I = 0; I < 3; I++ )
! 34: for ( J = 0; J < 3; J++ )
! 35: L = cons(F[I][J],L);
! 36: return L;
! 37: }
! 38: L = mtol(F)$
! 39: V = [cpt6,spt6,ct5,st5,ct4,st4,ct23,st23,crt1,srt1,ct,st]$
! 40: Ord = 2;
! 41: end;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>