$SPAD/src/input kuipers.input

Timothy Daly December 3, 2016

Abstract

Contents

2

1 License

— license —

--Copyright The Numerical Algorithms Group Limited 1991.

———-

— * —

)set break resume
)spool kuipers.output
)set message test on
)set message auto off
)clear all
--S 1 of 30
R1:=matrix([[cos a, sin a, 0],[-sin a, cos a, 0],[0, 0, 1]])
--R
--R
--R        + cos(a)   sin(a)  0+
--R        |                   |
--R   (1)  |- sin(a)  cos(a)  0|
--R        |                   |
--R        +   0        0     1+
--R                                            Type: Matrix(Expression(Integer))
--E 1
--S 2 of 30
R2:=matrix([[cos b, 0, -sin b],[0, 1, 0],[sin b, 0, cos b]])
--R
--R
--R        +cos(b)  0  - sin(b)+
--R        |                   |
--R   (2)  |  0     1     0    |
--R        |                   |
--R        +sin(b)  0   cos(b) +
--R                                            Type: Matrix(Expression(Integer))
--E 2
--S 3 of 30
R:=R2*R1
--R
--R
--R        +cos(a)cos(b)  cos(b)sin(a)  - sin(b)+
--R        |                                    |
--R   (3)  |  - sin(a)       cos(a)        0    |
--R        |                                    |
--R        +cos(a)sin(b)  sin(a)sin(b)   cos(b) +
--R                                            Type: Matrix(Expression(Integer))
--E 3

--S 4 of 30
V:=matrix([[x1],[y1],[z1]])
--R
--R
--R        +x1+
--R        |  |
--R   (4)  |y1|
--R        |  |
--R        +z1+
--R                                            Type: Matrix(Polynomial(Integer))
--E 4
--S 5 of 30
E:=R*V=V
--R
--R
--R        +- z1 sin(b) + y1 cos(b)sin(a) + x1 cos(a)cos(b)+  +x1+
--R        |                                               |  |  |
--R   (5)  |            - x1 sin(a) + y1 cos(a)            |= |y1|
--R        |                                               |  |  |
--R        +   (y1 sin(a) + x1 cos(a))sin(b) + z1 cos(b)   +  +z1+
--R                                  Type: Equation(Matrix(Expression(Integer)))
--E 5
--S 6 of 30
F:=lhs(E)-rhs(E)
--R
--R
--R        +- z1 sin(b) + y1 cos(b)sin(a) + x1 cos(a)cos(b) - x1+
--R        |                                                    |
--R   (6)  |            - x1 sin(a) + y1 cos(a) - y1            |
--R        |                                                    |
--R        +   (y1 sin(a) + x1 cos(a))sin(b) + z1 cos(b) - z1   +
--R                                            Type: Matrix(Expression(Integer))
--E 6
--S 7 of 30
G:=F=matrix([[0],[0],[0]])
--R
--R
--R        +- z1 sin(b) + y1 cos(b)sin(a) + x1 cos(a)cos(b) - x1+  +0+
--R        |                                                    |  | |
--R   (7)  |            - x1 sin(a) + y1 cos(a) - y1            |= |0|
--R        |                                                    |  | |
--R        +   (y1 sin(a) + x1 cos(a))sin(b) + z1 cos(b) - z1   +  +0+
--R                                  Type: Equation(Matrix(Expression(Integer)))
--E 7
--S 8 of 30

H:=elt(F,2,1)
--R
--R
--R   (8)  - x1 sin(a) + y1 cos(a) - y1
--R                                                    Type: Expression(Integer)
--E 8
--S 9 of 30
x1:=k
--R
--R
--R   (9)  k
--R                                                            Type: Variable(k)
--E 9
--S 10 of 30
J:=subst(H,'x1=k)
--R
--R
--R   (10)  - k sin(a) + y1 cos(a) - y1
--R                                                    Type: Expression(Integer)
--E 10
--S 11 of 30
L:=solve(J,y1)
--R
--R
--R               k sin(a)
--R   (11)  [y1= ----------]
--R              cos(a) - 1
--R                                    Type: List(Equation(Expression(Integer)))
--E 11
--S 12 of 30
y1:=rhs(first(solve(J,y1)))
--R
--R
--R          k sin(a)
--R   (12)  ----------
--R         cos(a) - 1
--R                                                    Type: Expression(Integer)
--E 12
--S 13 of 30
H1:=elt(F,3,1)
--R
--R
--R   (13)  (y1 sin(a) + x1 cos(a))sin(b) + z1 cos(b) - z1
--R                                                    Type: Expression(Integer)
--E 13

--S 14 of 30
J1:=subst(H1,['x1=x1, 'y1=y1])
--R
--R
--R   (14)
--R                2           2
--R       (k sin(a)  + k cos(a)  - k cos(a))sin(b) + (z1 cos(a) - z1)cos(b)
--R     +
--R       - z1 cos(a) + z1
--R  /
--R     cos(a) - 1
--R                                                    Type: Expression(Integer)
--E 14
--S 15 of 30
z1:=simplify(rhs(first(solve(J1,z1))))
--R
--R
--R          k sin(b)
--R   (15)  ----------
--R         cos(b) - 1
--R                                                    Type: Expression(Integer)
--E 15
--S 16 of 30
[x1,y1,z1]
--R
--R
--R             k sin(a)   k sin(b)
--R   (16)  [k,----------,----------]
--R            cos(a) - 1 cos(b) - 1
--R                                              Type: List(Expression(Integer))
--E 16
--S 17 of 30
y1:=eval(y1,[k=-1])
--R
--R
--R             sin(a)
--R   (17)  - ----------
--R           cos(a) - 1
--R                                                    Type: Expression(Integer)
--E 17
--S 18 of 30
z1:=eval(z1,[k=-1])
--R
--R
--R             sin(b)

--R   (18)  - ----------
--R           cos(b) - 1
--R                                                    Type: Expression(Integer)
--E 18
--S 19 of 30
[x1,y1,z1]
--R
--R
--R                sin(a)       sin(b)
--R   (19)  [k,- ----------,- ----------]
--R              cos(a) - 1   cos(b) - 1
--R                                              Type: List(Expression(Integer))
--E 19
--S 20 of 30
RSQ:SQMATRIX(3,EXPR(INT)):=R
--R
--R
--R         +cos(a)cos(b)  cos(b)sin(a)  - sin(b)+
--R         |                                    |
--R   (20)  |  - sin(a)       cos(a)        0    |
--R         |                                    |
--R         +cos(a)sin(b)  sin(a)sin(b)   cos(b) +
--R                                    Type: SquareMatrix(3,Expression(Integer))
--E 20
--S 21 of 30
TR:=trace(RSQ)
--R
--R
--R   (21)  (cos(a) + 1)cos(b) + cos(a)
--R                                                    Type: Expression(Integer)
--E 21
--S 22 of 30
TREQ:=TR=1+2*cos(c)
--R
--R
--R   (22)  (cos(a) + 1)cos(b) + cos(a)= 2cos(c) + 1
--R                                          Type: Equation(Expression(Integer))
--E 22
--S 23 of 30
c:=rhs(first(solve(TREQ,c)))
--R
--R
--R              (cos(a) + 1)cos(b) + cos(a) - 1
--R   (23)  acos(-------------------------------)
--R                             2

--R                                                    Type: Expression(Integer)
--E 23
--S 24 of 30
x1v:=eval(x1,k=-1)
--R
--R
--R   (24)  - 1
--R                                                    Type: Polynomial(Integer)
--E 24
--S 25 of 30
y1v:=numeric(eval(y1,[a=%pi/6]))
--R
--R
--R   (25)  3.7320508075 688772936
--R                                                                  Type: Float
--E 25
--S 26 of 30
z1v:=numeric(eval(z1,[k=-1,b=%pi/3]))
--R
--R
--R   (26)  1.7320508075 688772935
--R                                                                  Type: Float
--E 26
--S 27 of 30
[x1v, y1v, z1v]
--R
--R
--R   (27)  [- 1.0,3.7320508075 688772936,1.7320508075 688772935]
--R                                                Type: List(Polynomial(Float))
--E 27
--S 28 of 30
c1v:=numeric(eval(c,[a=%pi/6,b=%pi/3]))
--R
--R
--R   (28)  1.1598041770 494147762
--R                                                                  Type: Float
--E 28
--S 29 of 30
c1v*180/%pi
--R
--R
--R   (29)  66.4518844065 75160021
--R                                                                  Type: Float
--E 29

--S 30 of 30
rv:=eval(R,[a=%pi/6,b=%pi/3])
--R
--R
--R         + +-+           +-++
--R         |\|3    1      \|3 |
--R         |----   -    - ----|
--R         |  4    4        2 |
--R         |                  |
--R         |       +-+        |
--R   (30)  |  1   \|3         |
--R         |- -   ----    0   |
--R         |  2     2         |
--R         |                  |
--R         |       +-+        |
--R         | 3    \|3     1   |
--R         | -    ----    -   |
--R         + 4      4     2   +
--R                                            Type: Matrix(Expression(Integer))
--E 30
)spool
)lisp (bye)

———-

References^{[1] nothing}

10