Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ OverviewHistoryCharactron TubeFontsSC4020 SpeedArchitectureTube16mm CameraHardcopyVought CameraOrder CodePrintingDrawingFilm ProductionUAIDE 1970UAIDE Contents 1964-1973 □ UAIDE Papers □ 1968: Honey1968: Sarno1968: Yarbrough □ SC4020 Manuals □ Engineers TrainingInformation ManualProgrammers' Reference Manual □ Other □ Diagrams drawn by computer
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLTechnologySC 4020
ACLTechnologySC 4020
ACL ACD C&A INF CCD CISD Archives
Further reading

Overview
History
Charactron Tube
Fonts
SC4020 Speed
Architecture
Tube
16mm Camera
Hardcopy
Vought Camera
Order Code
Printing
Drawing
Film Production
UAIDE 1970
UAIDE Contents 1964-1973
UAIDE Papers
1968: Honey
1968: Sarno
1968: Yarbrough
SC4020 Manuals
Engineers Training
Information Manual
Programmers' Reference Manual
Other
Diagrams drawn by computer

The Polygraphics Software Package: A Summary of its Features

Frank J Sarno

San Francisco, 1968

UAIDE

Abstract

Tools for zooming, scene merging, formatting of numerical data, rotating regions, text centering and justification, choosing character fonts and italicising them and other routines have been developed by the Polytechnic Institute of Brooklyn animation system programmers and combined with the shielding, saveit and vector language routines which were described at the last UAIDE meeting to form an integrated graphics software package for the SC4020. The package is written almost entirely in Fortran II to facilitate adopting it to different computer systems.

The POLYGRAPHICS package contains over 50 user callable routines to make easier the task of producing a movie on the S04020. !This paper provides a summary of some of the features of the package. Other routines were described in papers at the last UAIDE meeting. The items touched upon here include

  1. the plotting area which may be defined,
  2. the use of variable length option strings in the argument calls,
  3. the line drawing features and options,
  4. the text writing possibilities, and
  5. special routines for special effects.

Tne full package is available with user instructions from the UAIDE librarian.

Plotting Areas

Up to 11 individual plotting areas can be defined and separately scaled and manipulated. One of the 11 is the screen; the other ten are separately defineable regions. The grid of 1024 by 1024 raster points is called the screen. We may think of the assignment of any scale values we want to the screen as equivalent to placing the screen anywhere we want on an infinite x-y plane. Up to ten other rectangular areas or regions can be defined as plotting areas by executing

      CALL REGION(X1,Y1,X2,Y2,NREG) 

where (X1,Y1) and (X2,Y2) are the coordinates of the lower left and upper right corners respectively of the region to which the number NREG is assigned. Coordinates are with respect to the scaling of the screen. Any points which are drawn on parts of the ten regions which do not coincide with the screen will not be recorded by the viewing camera since they are off screen. Therefore, if a region is positioned initially off screen and then slowly moved to coincide with the screen, any display in the region will slowly come into view on the film.

The screen, unless specified otherwise by a call to the subroutine SCALE, is positioned on the x-y plane with the coordinates (0.,0.) and (1.0,1.0) for the lower left and upper right corners. Separate x-y planes are superimposed on each region defined to give them each a default scaling of 0. to 1. unless the user executes

CALL SCALE(XS1,YS1,XS2,YS2,NREG) 

where (XS1,YS1) and (XS2,YS2) are new scale values assigned to the lower left and upper right corners of region NREG. The screen is assigned a region number of zero by the system so that it may be referred to in calls requiring a region number.

Any region and the screen may be defined to have the attribute of a window or a shield and to be active or inactive with the effect that no lines can be drawn in a region that is an active shield. The attributes of a region are specified by words which may be included in variable length option strings.

Variable Length Option Strings

Most of the routines can be called with a variable number of arguments which allow the user a) to specify more explicitly how the routine is to operate, and b) to override default options built into the package. The terminal argument which may be included in a majority of the routines is a variable length option string. It is a sequence of words, separated by commas, terminated by a period and enclosed in apostrophes to invoke special operations by the subroutine. For instance, a region numbered 51 could be positioned in the upper right quarter of the screen which has been scaled by default and given the attribute of an active shield by executing

      CALL REGION(.5,.5,1.0,1.0,51,'ACTIVE,SHIELD.') 

If an array of x-y coordinates are provided for the line drawing routine DRAW, option words like CLOSE, CONTAIN, FRAME, PAPER, PLOT(c) could be included in the variable length option string. They would affect the operation of the line drawing routine as follows:

  1. CLOSE - a line is to be drawn between the first and the last set of coordinates to close what ever polygonal figure was drawn.
  2. CONTAIN - Only those portions of lines which are contained in the region referenced are to be drawn. This has the affect of making all plotting areas outside the region in which the lines are being drawn appear as shields during the execution of the call to DRAW.
  3. FRAME - A frame advance is to be executed by all cameras after the output from the execution of the routine is completed.
  4. PAPER - If the hard copy camera had not been specified up to this point, this option word would actuate the hardcopy camera for the execution of this call to DRAW;
  5. PLOT(c) - the character specified between the parentheses is to be plotted at each of the points specified by the coordinate arrays used by the routine.

Text Writing

In text writing, additional option words may be included to control justification of text individually LEFT, RIGHT, UP or DOWN, or in combination, or all at once with the option FILL. Italicization at a default angle of +15 degrees may be obtained by including the option word ITALICS.

Different text letter sizes may be used for each of the ten regions and the screen. Italicization may be requested so that the letters tilt anywhere from -60 degrees to +60 degrees. In varying the text size, the user can specify the letter width, height, letter to letter spacing and line to line spacing. All of the above variations are possible with any of 8 character fonts which include a set of stick type capital letters' two weights of a baskerville type font for capital letters, two weights of the same font for lower case letters, sets of capital and lower case Greek letters and a set of special characters. All previous options concerning SHIELD, WINDOW and CONTAIN are observed in drawing text characters.

Special Routines

In addition to routines for obtaining orthographic perspective or stereo projections of pictures and for performing vector algebra operations and for drawing commonly desired circles, arcs and polygons, there are other routines for zooming, for merging different film sequences, for growing lines from one point to another over a specified number of frames, for formatting numerical data for use in text writing routines and for saving in core SC4020 instructions for constructing a display so that they may be transmitted to the output device over and over again without having to regenerate them.

Zooms may be carried out in a variety of ways by specifying one of the option words TRIANGLE, TRAPEZOID or EXPONENTIAL which specify the shape of the velocity curve followed in progressing from the pre-zoom scaling to the final zoom scaling. For instance the word TRIANGLE requests that the zoom rate increase at a constant rate until half way through the zoom. Then the speed at which the zoom takes place decreases at a constant rate to zero on the final frame of the zoom. Constant velocity or constant percentage change in area zooms may be specified. Or the user may specify the manner of the zoom desired by writing his own function to control the zoom rate. Any of the above zoom options may be requested for any of the ten regions and the screen so that different zooms or pans can be taking place simultaneously. The zoom is invoked by indicating in a call to ZOOM the starting and ending scale values of the region for which a zoom is to take place and the number of frames of film to take to effect the zoom. Every subsequent call to advance a frame then keys the system to make an incremental change in the scale according to the type of zoom requested.

In the same way, the user may specify different picture drawing subroutines for inclusion on a list by executing a cal1 to a routine called BFRAME, viz.

      CALL BFRAME(PICTA,NFRAMES) 

where NFRAMES is the number of frame advances for which the routine is to be maintained on the list. For every subsequent frame advance executed, the system routines execute calls to the picture drawing routines inserted on the BFRAME list. The routines are removed from the BFRAME list when they have been executed the number of times indicated in the call to BFRAME which put them on the list.

The very talented group responsible for the software includes Jack Burness, Joseph Fischetti, Henry Maurer and Leonard Elekman.

⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site