Trailing-Edge
-
PDP-10 Archives
-
decuslib10-04
-
43,50344/plot.int
There is 1 other file named plot.int in the archive. Click here to see a list.
THE ACCOMPANYING LISTINGS CONSTITUTE THE FILE <PLOT> FROM THE END
OF THE PROGRAMMING SEASON 1974-1975 AT THE INSTITUTO NACIONAL DE ENERGIA
NUCLEAR (INEN) IN MEXICO. <PLOT> IS A COLLECTION OF SUBROUTINES FOR THE
CALCOMP PLOTTER, CONSISTING FOR THE MOST PART OF CONTOUR PROGRAMS AND
HIDDEN LINE SUBROUTINES. BY NOW MOST OF THEM HAVE HAD TWO OR THREE YEARS
OF CONTINUOUS USAGE IN THE INEN, AS WELL AS HAVING BEEN USED IN A NUMBER
OF OTHER COMPUTER CENTERS BOTH WITHIN MEXICO AND ABROAD. NEVERTHELESS,
A SUFFICIENT NUMBER OF CHANGES, BOTH MAJOR AND MINOR, HAVE BEEN MADE TO
THEM TO APPEAR TO WARRANT A NEW EDITION OF THIS DESCRIPTIVE MANUAL.
THE PROGRAMMING LANGUAGE USED IS DEC'S VERSION OF ANSA STANDARD
FORTRAN WHICH THEY CALL F40; IT IS DISTINCT FROM A NEWER VERSION WHICH
THEY HAVE INTRODUCED CALLED F10, WHICH IS NOT USED IN THE <PLOT> FILE.
THE PROGRAMS ARE DESIGNED TO OPERATE THE CALCOMP MODEL 565 DRUM PLOTTER,
AND PRESUPPOSE THE LIB40 PLOTTER SUBROUTINES, AS WELL AS ITS NORMALLY
PRESENT ARITHMETIC AND MATHEMATICAL FUNCTION SUBROUTINES. OTHER MODELS
OF CALCOMP PLOTTERS, OR OTHER BRANDS CAN PROBABLY BE ACCOMODATED WITHOUT
DIFFICULTY, BUT THE ENTIRE <PLOT> FILE IS ORIENTED TOWARD A HORIZONTAL
8 1/2" X 11" PAGE FORMAT WHICH IS CONVENIENTLY REALIZED ON THE MODEL 565
PLOTTER. BY EXERCISING THE UTMOST RESTRAINT IN USING VIRTUALLY NONE OF
THE SPECIALIZED FEATURES OF FORTRAN, IT IS HOPED THAT THE PROGRAMS CAN
BE TRANSCRIBED TO OTHER MAKES OF COMPUTERS WITH A MINIMUM OF DIFFICULTY.
SOME INCONVENIENCES ARE BOUND TO OCCUR, PARTICULARLY IN THE TRANSITION
FROM A 36 BIT MACHINE TO A 32 BIT MACHINE, BUT I REGARD A 32 BIT MACHINE
AS BEING TOO CRAMPED FOR SCIENTIFIC USAGE, AND MAKE NO FURTHER APOLOGY.
THIS YEAR'S INNOVATIONS INCLUDE THE FOLLOWING:
1) PLTSV, VISSS, AND RELATED ROUTINES WHICH WERE INCLUDED IN THE
SEPARATE FILE <DEM13> HAVE BEEN INTEGRATED INTO <PLOT> AFTER SOME SLIGHT
ADJUSTMENTS. NOT ALL THE SUBROUTINES IN <DEM13> HAVE BEEN TAKEN OVER;
AND OF THOSE WHICH HAVE BEEN, THERE STILL REMAIN SOME IRREGULARITIES IN
MATCHING DIFFERENT FRONTIERS IN THE DRAWINGS. SOME FURTHER WORK ON THESE
SUBROUTINES MUST BE EXPECTED.
2) THE CONTOUR PROGRAMS WERE MODIFIED; SUPPLANTING THE FORMER
STATISTICAL SEARCH IS ONE WHICH IS NOW EXHAUSTIVE, ALTHOUGH STILL BASED
ON TRIANGULAR REGIONS. THE TIME TO CALCULATE THE CONTOURS HAS INCREASED,
IN SOME CASES EVEN DOUBLED, BUT THE PLOTTER TIME HAS DIMINISHED. MOST
IMPORTANT, THE USER SATISFACTION HAS INCREASED VASTLY. AS AN ADDITIONAL
BENEFIT, IT BECOMES POSSIBLE TO SUPPRESS CERTAIN REGIONS, EITHER BECAUSE
THEY ARE UNINTERESTING, OR TO MAKE ROOM FOR LETTERING.
3) ORTHOGRAPHIC RELIEF, A NEW MAPMAKING TECHNIQUE WHICH KICHIRO
TANAKA INTRODUCED IN THE EARLY THIRTIES, WAS INCORPORATED IN THE CONTOUR
PROGRAMS. THE INTELLIGIBILITY OF THE CONTOUR PLOTS OF SOME SURFACES CAN
BE ENHANCED BY USING ORTHOGRAPHIC RELIEF, WHICH CAN ALSO BE EMPLOYED AS
A SECOND COLOR IN CONJUNCTION WITH A NORMAL CONTOUR PLOT.
4) THE PROGRAMS PLTEV AND PLTPV, BOTH OF WHICH SOMETIMES MADE
VERTICAL ARCS APPEAR, CAME INTO CONFLICT WITH VISLI, WHICH DELIBERATELY
AVOIDS CHECKING FOR A ZERO DENOMINATOR IN THE INTEREST OF SPEED. TO
PRECLUDE THE BADLY DRAWN VERTICAL SEGMENTS WHICH RESULTED, THE QUADRANTS
WERE CLOSED SLIGHTLY. THIS IS ONE ADJUSTMENT WHICH CAUSES PARTICULAR
GRIEVANCE ON 32 BIT MACHINES. IT IS STILL NOT WELL RESOLVED IN VISSS.
5) THERE IS STILL SOME HUMAN ENGINEERING INVOLVED IN SELECTING
CALLING SEQUENCES FOR THE SUBROUTINES WHICH ARE EXPOSED TO THE GENERAL
PUBLIC. EVEN THOUGH IT IS CONSIDERED IMPORTANT NOT TO ALTER THE CALLING
SEQUENCES OF THESE SUBROUTINES, TWO CHANGES HAVE BEEN MADE. THE MAXIMUM
DIMENSION WHICH USED TO APPEAR WAS NEVER USED. IT WAS SPECIFIED THINKING
THAT PARTIAL ARRAYS WOULD BE FREQUENTLY GRAPHED, BUT IN PRACTICE WE HAVE
ALWAYS USED THE FULLEST CAPACITY OF OUR ARRAYS, SO AS TO GET THE BEST
RESOLUTION FROM THE LIMITED MEMORY AVAILABLE. THE SECOND CHANGE INVOLVES
THE CONSISTENT INCORPORATION OF A PEN MOVEMENT SUBROUTINE AS AN EXTERNAL
ARGUMENT IN THESE SUBROUTINES. THE VARIETY OF SCALES, ORIENTATIONS, AND
PLACEMENTS WITHIN A PAGE HAS BEEN SO GREAT THAT SOME SUCH FLEXIBILITY IS
DEMANDED. PLACING A PEN MOVEMENT ARGUMENT IN THE CONTOURING PROGRAMS
IMMEDIATELY EXTENDS CONTOURING TO EVERY KIND OF COORDINATE SYSTEM FOR
WHICH A CONVERSION PROGRAM IS PRESENT.
6) AS A RESULT OF THE GENERAL USAGE OF PEN MOVEMENT SUBROUTINES
AND THE REQUIREMENTS FOR INTERCHANGEABILITY OF MANY DIFFERENT COORDINATE
SYSTEMS AMONG THE DIFFERENT CONTOURING OR VIEWING ROUTINES, IT HAS BEEN
NECESSARY TO STANDARDIZE THE ADMISSIBLE RANGES OF COORDINATES. RATHER
THAN USING AN ORDINARY LETTER SIZED PAGE AS A STANDARD, THE UNIT SQUARE
(0.0 .LE. X,Y .LE. 1.0) HAS TAKEN OVER.
7) SOME ADDITIONAL DOCUMENTATION OF THE <PLOT> FILE IS AVAILABLE
IN THE FORM OF A HELP FILE, <PLOT.HLP>.
8) THERE HAS BEEN ONE MINOR MODIFICATION TO VISBO WHICH IS GOING
TO HAVE A CONSIDERABLE IMPACT ON THE USAGE OF THE HIDDEN LINE PROGRAMS.
BY ADDING A VISIBILITY PREDICATE TO THE COORDINATES OF A LINE WHICH IS
JUST ABOUT TO BE DRAWN, THE LINE CAN BE INCORPORATED INTO THE EMERGING
HORIZON WITHOUT LOWERING THE PEN. ALTHOUGH THIS OPTION IS USEFUL FOR
LEAVING A PART OF THE SURFACE IN BLANK, IT CAN ALSO BE USED TO BLANK OUT
THE PART OF THE SURFACE WHICH IS NOT OF A GIVEN COLOR. BY REPEATING FOR
SEVERAL COLORS, A COLORED SURFACE IS EVENTUALLY BUILT UP; ONE WHICH IS
LIKELY TO BE MUCH MORE INFORMATIVE THAN A MONOCHROMATIC SURFACE. SOME
ACROBATICS ARE NEEDED TO USE MULTIPLE COLORS ON THE MODEL 565 PLOTTER
UNDER THE PDP-10'S PLOTTER SPOOLER, BUT THE RESULTS ARE WELL WORTH THE
EFFORT.
9) AS A CONSEQUENCE OF WANTING TO MAKE POLYCHROMATIC SURFACES
AVAILABLE WITH A MINIMUM OF PREOCCUPATION BY THE USER, SOME SPECIAL
SEQUENCING AND CALLING PROGRAMS HAVE BEEN PREPARED, USING THE MNEMONIC
PVI (POSITIVE VISIBLE). SINCE AN ATTEMPT HAS BEEN MADE TO KEEP THE WHOLE
SURFACE BEING DRAWN IN ONE SINGLE ARRAY IN THE MEMORY, AND SINCE THIS
ARRAY SHOULD BE AS LARGE AS POSSIBLE, SAY 100X100, THERE IS NO ROOM FOR
A SEPARATE ARRAY TO INDICATE VISIBILITY OVER THE WHOLE SURFACE. LIKEWISE
I DID NOT WANT TO GO INTO BIT ARRAYS. FINALLY IT SEEMED THAT THE BEST
WAY TO CODE THE VISIBILITY WAS TO ASSUME THAT THE FUNCTION TO BE GRAPHED
WAS ALWAYS POSITIVE. BY GRAPHING THE ABSOLUTE VALUE OF THE ENTRIES OF A
FUNCTION ARRAY, AND USING THEIR SIGN TO INDICATE WHETHER THEY REPRESENT
VISIBLE POINTS, ALL THE INFORMATION CAN STILL BE CONTAINED IN ONE SINGLE
ARRAY.
10) A NEW VIEW, THE INCLINED VIEW, HAS BEEN INCLUDED, INSPIRED
PARTLY BY PLTSV, PARTLY BY ALGORITHM 483: "MASKED THREE-DIMENSIONAL PLOT
PROGRAM WITH ROTATIONS" BY STEVEN L. WATKINS. HIS ALGORITHM APPEARED IN
THE SEPTEMBER 1974 ISSUE OF THE COMMUNICATIONS OF THE ASSOCIATION FOR
COMPUTING MACHINERY.
THE COST OF USING A PROGRAM ALWAYS INTERESTS THE USER, AND IS
COMPOUNDED FROM THE SPACE OCCUPIED BY THE PROGRAM AND ITS RUNNING TIME.
MOST OF THE DEMONSTRATION PROGRAMS AND THE BULK OF MY OWN WORK EMPLOY
ARRAYS OF SIZE 100 X 100, APPROXIMATELY. THIS IMMEDIATELY TAKES UP 10K
OF MEMORY, SINCE THE ARRAYS ARE NOT SEGMENTED. HOWEVER DOUBLE SURFACE
PROGRAMS, OR THOSE USING COMPLEX VARIABLES, ARE LIMITED TO 70 X 70 IF
THEY ARE TO OCCUPY THE SAME SPACE. EITHER THE HIDDEN LINE PROGRAMS OR
THE CONTOURING PROGRAMS LOADED SEPARATELY REQUIRE BETWEEN 10K TO 14K FOR
THE PROGRAM ITSELF. UNTIL RECENTLY WE HAVE BEEN LIMITED TO A MAXIMUM
MEMORY SIZE OF 28K FOR THE USER, SO THAT BOTH TYPES OF PROGRAM COULD NOT
BE LOADED SIMULTANEOUSLY.
EXCLUSIVE OF THE TIME REQUIRED TO CALCULATE THE FUNCTION TO BE
DISPLAYED, THE RUNNING TIME FOR ARRAYS OF THIS SIZE IS SOME MINUTES -
FROM THREE TO FIVE. THIS TIME WILL BE MULTIPLIED, EITHER BY THE NUMBER
OF PASSES IN PROGRAMS SUCH AS PLTSV, OR BY THE INCREASED SIZE OF THE
ARRAY, IF IT IS ENLARGED. THUS IF VISDO IS USED ON A FULL ARRAY OR IF
PLTSV IS USED WITH EVERY DEGREE TO GET A FINER REPRESENTATION OF THE
SPHERICAL SURFACE, THE RUNNING TIME WILL RISE.
REPEATING LAST YEAR'S CUSTOM, A NUMBER OF DEMONSTRATION PROGRAMS
ARE INCLUDED. THEIR PURPOSE IS TWOFOLD; TO VERIFY THAT THE PROGRAMS WORK
AS ADVERTISED, AND TO INDICATE TO THE PROGRAMMER HOW HE SHOULD GO ABOUT
CALLING THE GENERAL PURPOSE SUBROUTINES. EVEN THOUGH ALMOST ALL OF THE
SUBROUTINES REPORTED HERE HAVE NOW WORKED FOR SEVERAL YEARS, WHOLESALE
CHANGES HAVE BEEN MADE AND ARE SUSCEPTIBLE TO ERROR. YET, TIME AND COST
MITIGATE AGAINST REPEATING EVERY SINGLE PROGRAM IN A TEST SITUATION. SO;
THERE IS A CHOICE BETWEEN DELAYING PUBLICATION WHILE UNDERGOING FURTHER
TESTING, OR RISKING UNDETECTED OVERSIGHTS. I HOPE THAT INCLUDING TESTED
DEMONSTRATIONS OF THE NEW PROGRAMS AND OF THE MORE INTERESTING OF THE
NEWEST TECHNIQUES WILL GIVE THE PROGRAMS A SUFFICIENT WORKOUT. AS ALWAYS
THE USER IS ADMONISHED TO CHECK THROUGH A PROGRAM HE PLANS TO USE, AND
TO TEST IT FOR HIMSELF BEFORE ACCEPTING ITS RESULTS IN A ROUTINE WAY.
HAROLD V. MC INTOSH
SALAZAR, 24 MAY 1975