mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-03-03 01:47:56 +00:00
1. Commit library tape images, directories, and extracted text files. 2. Commit additional utilities under Unisys-Emode-Tools.
91 lines
6.6 KiB
Plaintext
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
|
|
|