1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-03-03 01:47:56 +00:00
Files
Paul Kimpel 2c72f7fd1d Commit CUBE Library version 13 of February 1972.
1. Commit library tape images, directories, and extracted text files.
2. Commit additional utilities under Unisys-Emode-Tools.
2018-05-27 11:24:23 -07:00

91 lines
6.6 KiB
Plaintext

LABEL 0000000000XXXXXX0010000001
$ CARD LIST
BEGIN VRCL0001
COMMENT VECTOR REPRESENTATION OF RIGID BODY ROTATION VRCL0002
VRCL0003
JAMES S. W. WONG VRCL0004
(PROFESSIONAL SERVICES GROUP, BURROUGHS CORPORATION) VRCL0005
VRCL0006
CARD SEQUENCE BEGINS WITH VRCL-0001 VRCL0007
FIRST RELEASE DATE 09-15-63 ; VRCL0008
VRCL0009
REAL X,Y,Z,X1,Y1,Z1,EX,EY,EZ,CT,ST,THETA,DELTAT,GAMMA,DELTAG, VRCL0010
DP,BETA,DELTAB,NORM,MAXTHETA,LENG,PX,PY,PZ,GAMO,BETO ; VRCL0011
VRCL0012
INTEGER I,J,K,N,P,COUN,SW1,SW2,M ; VRCL0013
VRCL0014
FILE IN FIN1(1,10) ; VRCL0015
VRCL0016
FORMAT IN FMIN1(5I5), VRCL0017
FMIN2(5F10.5) ; VRCL0018
VRCL0019
FILE OUT FOUT1(1,15) ; VRCL0020
VRCL0021
FORMAT OUT FMOUT1(4(X20,F10.5)) , VRCL0022
FMOUT2(X20,"BETA",F10.5) , VRCL0023
FMOUT3(X20,"GAMMA",F10.5) , VRCL0024
FMOUT4(X20,"EX",F10.5,X20,"EY",F10.5,X20,"EZ",F10.5) ; VRCL0025
VRCL0026
LABEL L1,L2,L3,L4,L5 ; VRCL0027
VRCL0028
READ(FIN1,FMIN1,N,M,SW1,P,SW2) ; VRCL0029
COUN ~ 0 ; VRCL0030
L1: READ(FIN1,FMIN2,EX,EY,EZ,DELTAG,DELTAB) ; VRCL0031
READ(FIN1,FMIN2,X,Y,Z,DELTAT,MAXTHETA) ; VRCL0032
IF SW1=1 THEN GO TO L4 ; VRCL0033
LENG ~ SQRT(X|X + Y|Y + Z|Z) ; VRCL0034
PX ~ SQRT(Y|Y + Z|Z) ; VRCL0035
PY ~ SQRT(X|X + Z|Z) ; VRCL0036
PZ ~ SQRT(X|X + Y|Y) ; VRCL0037
GAMO ~ ARCTAN(PZ/Z) ; VRCL0038
BETO ~ ARCTAN(PY/Y) ; VRCL0039
VRCL0040
FOR I ~ 0 STEP 1 UNTIL N DO VRCL0041
BEGIN VRCL0042
GAMMA ~ I | DELTAG + GAMO ; VRCL0043
VRCL0044
FOR J ~ 0 STEP 1 UNTIL M DO VRCL0045
BEGIN VRCL0046
BETA ~ J | DELTAB + BETO ; VRCL0047
VRCL0048
L2: CT ~ COS(THETA) ; VRCL0049
ST ~ SIN(THETA) ; VRCL0050
Z ~ COS(GAMMA) ; VRCL0051
Y ~ COS(BETA) ; VRCL0052
X ~ SQRT(1 - Z|Z - Y|Y) ; VRCL0053
VRCL0054
L4: DP ~ EX|X + EY|Y + EZ|Z ; VRCL0055
X1 ~ X|CT + (1-CT)|EX|DP + ST|(Z|EY-Y|EZ) ; VRCL0056
Y1 ~ Y|CT + (1-CT)|EY|DP + ST|(X|EZ-Z|EX) ; VRCL00-7
Z1 ~ Z|CT + (1-CT)|EZ|DP + ST|(Y|EX-X|EY) ; VRCL0058
IF SW2=0 THEN GO TO L5 ; VRCL0059
NORM ~ SQRT( X1|X1 + Y1|Y1 + Z1|Z1 ) ; VRCL0060
X1 ~ X1/NORM ; VRCL0 61
Y1 ~ Y1/NORM ; VRCL0062
Z1 ~ Z1/NORM ; VRCL0063
VRCL0064
L5: WRITE ( FOUT1,FMOUT1,X,Y,Z,THETA,X1,Y1,Z1 ) ; VRCL0065
THETA ~ THETA + DELTAT ; VRCL0066
IF THETA > MAXTHETA THEN GO TO L3 ELSE GO TO L2 ; VRCL0067
VRCL0068
L3: WRITE ( FOUT1,FMOUT2,BETA ) ; VRCL0069
THETA ~ 0 ; VRCL0070
END; VRCL0071
WRITE ( FOUT1,FMOUT3,GAMMA ) ; VRCL0072
BETA ~ 0 ; VRCL0073
END; VRCL0074
COUN ~ COUN + 1 ; VRCL0075
WRITE ( FOUT1,FMOUT4,EX,EY,EZ ) ; VRCL0076
IF COUN < P THEN GO TO L1 ; VRCL0077
END. VRCL0078
LABEL 000000000FILE1 0010000001
2 3 0 3 0
1.0 0.0 0.0 0.1 0.1
1.0 2.0 3.0 0.1 0.5
0.0 0.0 1.0 0.1 0.1
1.0 2.0 3.0 0.1 0.5
0.0 1.0 0.0 0.1 0.1
1.0 2.0 3.0 0.1 0.5