The countdown title sequence for the Halas and Batchelor film What is a Computer? was produced by Stan Hayward and Tony Pritchett using the CALCOMP Plotter at the University of London Computer Centre.
The Fortran program worked out the transformations from one bank-cheque numeral to the next and plotted each frame in outline on the plotter. The plotter output was then traced on to cels and coloured in by hand.
The SLURP Card Deck was found in Tony Pritchett's tray of cards after he passed away. It defines the frames of the countdown that were plotted on the London University CALCOMP plotter.
The Halas and Batchelor film was released in 1970 so this computer animation was probably done in 1968 or 1969.
This is the Job Control Card for running the Fortran job on the London Atlas that generated the CALCOMP frames.
OUTPUT 0 LINEPRINTER 500 LINES 1 PLOTTER 17*556 DENSITY PERMIT STORE 16/54 COMPUTING 4 MINUTES USE FORTRAN *RUN SOURCE MAP BEGIN INTEGER CHARR(27,12) REAL IOX,IOY,ISC C READ 1, CHARR 1 FORMAT(6X,9I8) C CALL STFLM(160,1) IOX=-32.0 IOY=-40.0 ZF=1.25 DZF=1.025 C ISC=4.0 DO 2 NCA=1,9 NCB=0 CALL SLURP ZF=ZF*DZF CALL ADVAN NCB=NCA+1 DO 2 F=.125,.8751,.125 CALL SLURP ZF=ZF*DZF 2 CALL ADVAN C ISC=2.0 NCA=11 NCB=0 CALL SLURP ZF=ZF*DZF CALL ADVAN NCB=12 DO 3 F=.125,.8751,.125 CALL SLURP ZF=ZF*DZF 3 CALL ADVAN C NCA=12 NCB=0 DO 4 I=1,4 CALL SLURP 4 CALL ADVAN C CALL ENDFLM STOP C SUBROUTINE SLURP DO 4 K=1,27 C MA=CHARR(K,NCA) NAX=MA/1000 NAY=MA-NAX*1000 IF(NAX.GE.1000) NAX=NAX-1000 IF(NCB.GT.0) GO TO 5 NX=(IOX+NAX*ISC)*ZF+512 NY=(IOY+NAY*ISC)*ZF+512 GO TO 1 C 5 MB=CHARR(K,NCB) NBX=MB/1000 NBY=MB-NBX*1000 IF(NBX.GE.1000) NBX=NBX-1000 NX=((NAX+F*(NBX-NAX))*ISC+IOX)*ZF+512 NY=((NAY+F*(NBY-NAY))*ISC+IOY)*ZF+512 IF(MB.LT.1000000) GO TO 2 C 1 IF(MA.GE.1000000) GO TO 3 2 IF(NX=LX.AND.NY=LY GO TO 4 CALL VECTOR(LX,LY,NX,NY) C 3 LX=NX LY=NY 4 CONTINUE C RETURN END C END C *ENTER 01 1000002 016002 016002 016002 016002 016002 016002 016002 016002 02 016018 016018 000018 000011 1008011 1008018 1008018 1008011 1008011 03 1000011 000011 1008009 1008009 1008004 1008004 1008009 1000011 000002 91 1001000 015000 015000 015000 015000 015000 015010 015010 015010 92 015010 015020 011020 011011 1013011 1013019 1013019 1013011 1013011 93 1011011 001011 1003009 013009 013002 003002 003009 1001011 001000 81 1002000 014000 014000 014000 014000 014000 014010 016011 016011 82 016011 016020 000020 000011 1004011 004018 012018 012011 004011 83 1000011 002010 1004009 012009 012002 004002 004009 1002010 002000 71 1002000 014000 014000 014000 014000 014000 014009 009011 009011 72 009011 009020 007020 007010 1008011 1008018 1008012 1008011 1008011 73 1007010 007010 007010 012008 012002 004002 004006 002008 002000 61 1001000 010000 010004 008004 008002 004002 004011 015011 015011 62 015011 015020 001020 001013 1004013 004018 013018 013013 004013 63 1001013 001013 001013 001013 001002 001002 001002 001002 001000 51 1002000 014000 014002 012002 012002 005002 005009 011009 011009 52 014009 014020 002020 002018 004018 004018 011018 011011 005011 53 002011 002011 002011 002011 002002 002002 002002 002002 002000 41 1002000 006000 006002 006002 006002 006002 006013 011013 011009 42 015009 015020 011020 011018 011018 011018 011018 011015 002015 43 002013 002013 002013 002013 002002 002002 002002 002002 002000 31 1002000 013000 013000 013000 013000 013000 013010 015011 015011 32 015011 015020 002020 002018 011018 011011 011011 011011 002011 33 002009 011009 011009 011009 011002 011002 011002 002002 002000 21 1002000 014000 014000 014000 014000 014000 014011 005011 005018 22 014018 014020 002020 002018 002018 002011 002011 002011 002011 23 002009 011009 011009 011009 011002 011002 011002 002002 002000 11 1004000 008000 008000 008000 008000 008000 008012 012012 012018 12 012018 012020 004020 004020 004020 004012 004012 004012 004012 13 004012 006012 006012 006012 006003 006003 006003 004003 004000 1.1 1008000 016000 016018 016022 016024 016024 016024 016024 016024 1.2 1016024 024024 024040 008040 008024 012024 012024 012024 1016024 1.3 1016024 1012024 012020 012016 012006 012006 012006 008006 008000 $1 1003000 029000 029018 018022 018030 018030 018030 018030 018030 $2 1019034 019034 019040 013040 013034 019034 019034 019034 019034 $3 1018030 014030 014020 025016 025004 007004 007016 003016 003000 (7/8 TERMINATOR JOB CARD)
Decoding the numbers, each define an X-value (3 digits) followed by a Y-value (3 digits), sometimes preceded by a single control digit 1. This indicates the start of a section of lines to be drawn.
Plotting the line segments starting a new segment each time there is a 1 gives the following:
Although it appears straightforward the need for 27 coordinates per character is less clear as none have more than 17 points. The 27 points are needed to morph one character into the next. The storyboard is straightforward:
0 9 8 7 6 5 4 3 2 1 1
The main action of the program is the countdown. Starting at the first square figure:
Displaying the individual frames in the main sequence is shown below (click the green arrow):
It is difficult to see the individual frames during the animation. The diagram below shows the midway frames between each character. Just for fun we have also produced a similar countdown using SVG and animating the same set of lines between each of the frames.