abstract - graphics interfacegraphicsinterface.org/wp-content/uploads/cmccc1977-10.pdf · abstract...

9
INTERACTIVE GRAPHICS AS A VEHICLE FOR THE ENHANCEMENT OF HUMAN CREATIVITY Ronald M. Baecker University or Toronto Abstract 93 A research computing environment which is p art icularly well suited to the design and implementati on of interactive graphics systems has been developed at the University of Toronto. Key components in the environment are a large minicomputer, calligraphic and digital video displays, a digitizing tablet, the UNIX operating system, the high-level programming language C, a high-level general-purpose " device-i ndependent" graphics pack age, and a fir st-rate user co mmunit y. Users of this e nvironment have developed with relative ease highly res pon s iv e interactive gra phi cs systems which become dynamic media to aid creative problem solving. Three such pro gra ms are de sc ribed briefly: a sys tem for dynami c modelling; a sys tem for produ cing movies of as tronomical phenomena; and a system for newspa per page layout. UTILISATION DE SYSTEMES GRAPHIQUES INTERACTIFS POUR AMELlORER LES APTITUDES CREATRICES CHEZ L'HOMME Resume Un cadre inf or mat ique de recherche qui convient particulierement bien a la s tructure et au mode d 'utilisation des systemes graph iques interactif s a ete mis au point a I'universite de Toronto. Parmi le s composants cIes de ce cadre on retro uve un mini- ordinateur, des affichages video calligraphiques et num er ique s, un tableau de numerisation, le systeme UNIX, le langage de programmation C evolue, un bloc graphique d 'usage general, evolue et non-tributaire du type d 'a ppareil , et un ensemble d 'usagers de premiere categorie. Les usagers de ce cadre ont mis au point sans trop de difficulte des systemes graphiqu es interac tif s tres sensibles qui servent de moyens dynamique s pour aider a resoudre des problemes de innovatrice . On y decrit brievement trois de ces progra!11mes: systeme de s imulation dynamique ; systeme de production de film s repre se ntant des phen o mene s astronomiques; et syste me de mi se en page pour Ics journaux.

Upload: others

Post on 07-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Abstract - Graphics Interfacegraphicsinterface.org/wp-content/uploads/cmccc1977-10.pdf · Abstract 93 A research computing ... un bloc graphique d 'usage general, evolue et non-tributaire

INTERACTIVE GRAPHICS AS A VEHICLE FOR THE

ENHANCEMENT OF HUMAN CREATIVITY

Ronald M. Baecker University or Toronto

Abstract

93

A research computing environment which is part icularly well suited to the design and implementation of interactive graphics systems has been developed at the University of Toronto. Key components in the environment are a large minicomputer, calligraphic and digital video displays, a digitizing tablet, the UNIX operating system , the high-level programming language C, a high-level general-purpose " device-i ndependent" graphics pack age, and a first-rate user community. Users of this environment have developed with relative ease highly responsive interactive graphics syste ms which become dynamic media to aid creative problem solving. Three such progra ms are described briefly: a system for dynamic modelling; a system for producing movies of astronomical phenomena; and a system for newspaper page layout.

UTILISATION DE SYSTEMES GRAPHIQUES INTERACTIFS POUR AMELlORER LES APTITUDES CREATRICES CHEZ L'HOMME

Resume

Un cadre informatique de recherche qui convient particulierement bien a la structure et au mode d 'utilisation des systemes graph iques interactifs a ete mis a u point a I 'universi te de Toronto. Parmi les composants cIes de ce cadre o n retrouve un mini­ordinateur, des affichages video ca lligraphiques et numeriques, un tableau de numerisation, le systeme UNIX, le langage de programmation C evolue, un bloc graphique d 'usage general, evolue et non-tributaire du type d 'appareil , et un ensemble d 'usagers de premiere categorie. Les usagers de ce cadre ont mis au point sans trop de difficulte des systemes graphiques interactifs tres sensib les qui servent de moyens dynamiques pour aider a resoudre des problemes de fa~on innovatrice . On y decrit brievement trois de ces progra!11mes: systeme de simulation dynamique; systeme de production de film s representant des phenomenes astronomiques; et syste me de mise en page pour Ics journaux.

Page 2: Abstract - Graphics Interfacegraphicsinterface.org/wp-content/uploads/cmccc1977-10.pdf · Abstract 93 A research computing ... un bloc graphique d 'usage general, evolue et non-tributaire
Page 3: Abstract - Graphics Interfacegraphicsinterface.org/wp-content/uploads/cmccc1977-10.pdf · Abstract 93 A research computing ... un bloc graphique d 'usage general, evolue et non-tributaire

INTERACTIVE GRAPHICS AS A VEHICLE FOR THE ENHANCEMENT OF HUMAN CREATIVITY

Ronald M. Baecker Dynamic Graphics Project

Computer Syslems Research Group University of Toronto

I. INTRODUCTION

95

We shall describe a research computing environment which is particularly well suiled la the design and imple­mentation of interactive graphics syst e ms. It has e nabled us to develop wilh relative ease highly responsive interac­live graphics systems which become dynamic rn e dia lo aid creative problem solving. We shall describe the environ­ment, which may be conlrasled wilh our previous one report­ed upon at the Fourth Conference [Baecker 75], present brief introductions to three typical application sysl ems, and discuss some future research directions.

11. THE ENVIRONMENT

The key components include a large minicomputer, cal­ligraphic and digital video displays, and a digitizing ta­b let, the UN I X 0 per a tin g s y s l em, l he h i g h - I eve I pro g r arnrn i n g language C, a high-level general-purpose " devic e­independent" graphi cs package, and a firs t-rate 1lser com­mun i ty.

A. The Hardware

The compuler is the DEC PDP-11/45. The displays are a high-performance refreshed call igraphic display, a direcl view storage lube, and a low resolulion digital colour video frame buffer. The input device is a tablet with slylus and cursor.

Our Three Rivers Compuler Company Graphic Display Pro­cessor has several outstanding features . It includes a state-of-the-art digital vector generator capable of syn­thesizing lines at 30 nanoseconds per point, and hence of drawing 100,000 short vectors (less than 1/4 inch) flicker-free. It has lhree vector formats, short (one byle), m e dium (one word), and long (two words). It draws all characters as subroutines composed of vectors. Because of the last lhree facts, it is by far the mosl cosl­effeclive commercially available display for working wilh lex l a 11 d f r e e - ha n d cur v e s . A I t h 0 u g h 0 rig i n a I I Y des i g n ,: d for use wilh an 11/05 as a satellile graphics lerminal, it has been integrated inlo our 11/45 wi th special m e mory map­ping hardware. The display is refreshed fr om double port m emory in the address space of the 11/45, hence the display file enn be updaled rapidly for real-lime g r nph icf' and nni­rnntion. flecause of the extra port on the memory, the high

Page 4: Abstract - Graphics Interfacegraphicsinterface.org/wp-content/uploads/cmccc1977-10.pdf · Abstract 93 A research computing ... un bloc graphique d 'usage general, evolue et non-tributaire

96

refresh hnnowidlh display po s sesses set [Hos~n 74).

ooes nol II simple nnd

satllrate the Unibus. The rclntivcly c.lenn illslrllction

The r r Em e b u f fer i s cur r en t I Y I i rn i led t 0 2 b 6 X 2 b 6 res 0 -

llltion and to a choice from among 256 hard-wired colours. A programmable colour map which wil I al low selection of 256 logical colours from a space of a billion physical colours is almost installed. A novel video display processor which would significantly enhance the device's effective resolu­tion and versatility has been functionally designed, but neither logic design nor irnplementation has been carried ou l.

The lablet, butlon cursor, input device. It

used together was selected

is of cours€

B. The Op e rating System

with a stylus or a four­as the most versati le single augmenled by a keyboard.

The operating system is the Bell Laboratories UNIX system [Ritchie 74a], a robust time-sharing system which provides very elegant and congenial tools for program preparation, input-oulput, file management, and multi­process cooperation.

UNIX consists of a rich sel of programs including good t ex t e d i tin g, do c UIn e n t for m a t tin g, and t y pes e t tin g s y s t ems , a variety of high-level languages, two compiler-compilers, and a macroprocessor. Most system software including the bulk of the operating syslem is written in C. Hence UNIX has proved both reliable and malleable. File, device, and interprocess I/O are compatible. The user can choose to accept the default 1/0 scheme, which is clean and invisibly buffered, or can develop his own buffering scheme and op­timize it at will. There is a hierarchic file system with mountable directories, as well as reasonable file storage, archival, retrieval, and protection mechanisms. Asynchro­nous processes can exist concurrently and can conrnunicate via "pipes". A sophistic8.ted programmable command inter­preter allows multitasking, foreground and background exe­culion, and' the synergistic coupling of soflware lools [ K ern i g han 76].

C. The l.nngllage

The high-level language is C [Ritchie 74bJ, which pro­vides good problem description and program structuring tools and also produces efficient and trustworthy code. It conlains an adequate set of modern control structures in­cluding WHILE DO DO WHILE SWITCH, and re­cursive procedures, and of modern data slructures including arrays , slruclures, and point e rs. There is no block slruc­lu re. I t c on l 8. ins a m a c r 0 pr e pro c e s S 0 r for par am e t e r sub -slilulion and file inclusion. The compiler is reliable and generales erricient code which makes good use of the PDP-ll nddrcssing capebi lilies. There is a source l a nguage de-

Page 5: Abstract - Graphics Interfacegraphicsinterface.org/wp-content/uploads/cmccc1977-10.pdf · Abstract 93 A research computing ... un bloc graphique d 'usage general, evolue et non-tributaire

bugger. We have n rldcd a ddi t i onal lool s grephing, syntax checking, and graphical

D. The Graphics Support System

for progrnm d e bu gg ing .

97

par a -

The graphics package is GPAC fReeves 76], a set of C­callable subroutines which provides good tools for "device-independent" picture creation, manageme nt, and transformation, for real-time input, for picture archiving, and for real-time movie playbAck. The system allows the high-level creation and manipulation of both line dr a wing and area shaded pictur e s on a variety of refresh, storage, and raster: scan displays . Rea l-time graphical input faci 1-ities are available for stylus tracking and inking, light button interactions, a nd device pol I ing. A st a ndard format for r e presenting pictures al lows graphical modules to be coupled and combined in the style of [Kernighan 76] , and facilitates picture archiving and the use of multiple dev­ices for soft display and hard copy.

E. The User Corrmunity

There is great excitement, productivity, and creativi­ty in the environment. We have attracted a r emarkable col­lection of graduate and undergraduate students . They ap­preciate the use of the first good interactive computing f ac i I i ty on campus. They thr i ve on the i r easy and unha s­sled access to the system; we do no accounting and r es pond to demands for system resources that exceed capacity by an informal protocol consisting of good will a nd mi Id proddi ng by "system hacks." Res ources are shar'e d whenever possible. For example, four processes can obtain display file ~ pace

concurrently a nd therefore share the screen; it is not unusual for someone using the display to find superimposed on it someone else's picture for a few se c onds as lhe latter obtains just a quick look to see if his progr am is working. UNIX has facililated the production of modular tools which are then re-used and coupled in various ways to bootstrap our productivity; we are constantly amazed at how much has been accomplished in 2 y e ars.

Ill. SOME APPLICATIONS

We shall now give brief descriptions of three applica­tion syst e ms, which will be d emonstrated with film and video tape at the Conference. These three are only i llus­trative of current developments; several others could have been selected as well. [Crossey 77] [Fono 77] [Grossman 77] [Tuori 77] [Wright 77]

A . SLOGO

SL OGO (Duff 76J is a c o nve r sa lional proce ss- ori e nled discrete slo c haslic s imlll ati on lan gllHge an d system. wi lh intcgrat c d animalion capabililies whi c h allow lhe exec ulion of any model to be visunliz e d immediately as a moving pic-

Page 6: Abstract - Graphics Interfacegraphicsinterface.org/wp-content/uploads/cmccc1977-10.pdf · Abstract 93 A research computing ... un bloc graphique d 'usage general, evolue et non-tributaire

98

ture portraying the simulated syst~m.

In a typical Slogo model, distinct clesses of objects are identified and then procedurally described. Multiple instances of each class can be actIvated find then exisl concurrently. These instances are called processes. Thus, In a model ot a centrally dispatched taxicab system [Hauer 77], there are usually simultaneously active many cab processes, many passenger processes, and one dispatcher process. Processes can start, suspend, and restart the ex­ecution of other processes, can read and write the slate of other processes, can suspend their own executIon for a fixed or an indefinite perIod of time, and can request and release units of resources. Resources functibn as queueing mechanisms and also as the process synchronization tools usually known as semaphores.

The most novel feature of SLOGO is the ability it gives the model builder to visualize what is happening in the simulated system. As the model executes, a movie dep­icting the system Is computed and displayed.

For example, in the animation of the taxicab system [Baecker 76a], passenger origins and destinations are represented by numbered crosses and diamonds. Taxis wait­ing for a customer, enroute to pick up a fare, or carrying a customer to a destination are represented by pictures of teximeters with upright flags, horizontal flags, and flags down, respectively. These symbols move around the screen, picking up end discharging passengers. Changes in system behavior caused by different dIspatching strategies are visualizable in the animation, which can later be replayed and analyzed at wIll.

B. KEPLER

KEPLER [Pike 76] is a system for producing movies of astronomical phenomena. The user is provided a concise but powerful language for specifying the motion, orientation, and field of view of a hypothetical camera. The system can compute movies varying in realism from a two-dimensional display of planet trajectories to a full " three-dimensional portrayal with occlusion and phases. Unlike SLOGO, in which all user input is entered at the keyboard, KEPLER also uses tablet pointing and inking. Basic system control is exercised by pointing at light buttons, camera motions are specified using a written observer language, and motion dynamics are described by sketching waveforms.

c. NEWSWHOLE

NEWSWHOLE [Tilbrook 76) is a system for newspaper page layout . An editor uses NEWSWHOLE to specify the placement and lypesetting controls for slories , pictures, and ads. He works with an abstract diagrammatic representation of the paee in which constituent text is suppressed. Almost all Input Is given with lhe cursor and tablet. Stories are

Page 7: Abstract - Graphics Interfacegraphicsinterface.org/wp-content/uploads/cmccc1977-10.pdf · Abstract 93 A research computing ... un bloc graphique d 'usage general, evolue et non-tributaire

99

sclecled, lheir heading slyle is dcfined, and lhey are po­sitioned on the page. New stories flow around exisling ones; space is aulomalically contracted or ex panded so lhal a slory fils. Piclures are represenled by recl an gles, wh[ ch, once pas il [oned, can be moved, shrunk, or expa nd e d b y P 0 1nl i n gal l he c ,e n l er, a s I de, 0 r a cor n er, and l h c n by pulling or pushing. Moving objecls slop when lh ey en­counter an obstacle, and moving verlical slory borders jwnp from column rule lo column rule. Groups of headings and banks of text can be adjusted under conslrainls so that space is given from one story to another. The syst e m is highly interactive, blazlngly fast, and congenially robust [Oaecker 76bl.

IV. SOME FUTURE R ESE ARCH DIRECTIONS

SLOGO could enhance significantly the abilily of scientists, engineers, end planners to vi s ualize lhe impli­cations of e mbedding various Bsswnptlons or strat eg i e s in a model of a complex syslem. KEPLE R allow s aslronomers an d educalors lo produce and debug animated films of aslronomi­cal phenomena with an inveslment of only a few hours of their lime. NEWSWHOLE will make possible highly responsive editorial control over the form of newspaper pages. Bul these syslems are still only prolotypes. What can we do towards bridging the ga~ belween laboratory loys and .cosl­effeclive tools lhal do indeed enhance human crealivi ly?

Our thoughls along lhe se lines lead lowards lhree directions of e ndea v or. We want lo develop mechanisms lo transport systems we have developed to other comparable minicompuler environmenls. We are working on strategies for transforming viable programs into cheap turnkey sys­tems, possibly based on microprocessors. We are also look­ing towards conversational extensible graphics languages [Baecker 76c] as possible implementalion environmenls to facilitate the production of future systems.

ACKNOWLEDGM ENT S

The success of our environmenl is in large part due to the skillful and enthusiaslic participation of many indivi­duals. We owe special lhanks to B.ill Buxton . Tom Duff. G r e g H i I I, T om Ho r s I e y, L e s Me z e i. Rob P I k e . B ill R e eve s , Dave Shermnn, Mike Tilson. and Marlin Tuori.

REFERENCES

fnaecker 75] Ronald M. Ba ec ker, A Computer Animation Fe.cil­ity for R e search a nd Educali onal Filmmaking: Design and Ap­pli calion , Proc. of lhe Fourth NRC Man-Computer Communica­lions Conference, 1975, pp. 19.1-19.11.

[Aacckcr 76a] Ronald M. Baec ker, Greg Hill, Tuorl, Computer Anim a ted Simulation of Taxi

and Martin Di spatc hing

Page 8: Abstract - Graphics Interfacegraphicsinterface.org/wp-content/uploads/cmccc1977-10.pdf · Abstract 93 A research computing ... un bloc graphique d 'usage general, evolue et non-tributaire

100

Strategies, lcs Project,

10 minute 16 CSRG, Univ.

rnm b&w S 0 un d r i 1 rn , of Toronto, 1976.

Dynamic Greph-

[Baecker 76b] Ronald M. Baecker, David Ti lbrook, And Martin Tuor!, ~EWSWHOLE, 10 minute b&w sound 3/4" video cartridge, Dynamic Graphics Project, CSRG, Univ. of Toronto, 1976.

[Baecker 76c] Ronald M. ble System for the G rap h! cs, Vo I. 10, No.

[Crossey 77] Sheila Graphical Debugging, ence, Univ. of Toronto,

Baecker, A Conversational Animation of Shaded Images, 2, Summer 1976, pp. 32-39.

Extensi­Computer

Crossey, Source-Level Interactive M.Sc. Thesis, Dept. of Computer Sci-

1977 (expected).

[Duff 76] Thomas Douglas Selkirk Duff, Simulation and Ani­mation, M.Sc. Thesis, Dept. of Computer Science, Univ. of To r on to, 1976. )

[Fono 77] Ilan Fono, An Interactive Digital Logic Simula­tor, M.A.Se. Thesis, Dept. of Electrical Engineering, Univ. of Toronto, 1977 ( e xpected).

[Grossman 77] Gary Grossman, Interactive Dynamic Display of Electrocardiographie Data, M.Sc. Thesis, Dept. of Computer Science, Univ. of Toronto, 1977 (expected).

[Hauer 77] Ezra Hauer, Ronald M. Baecker, and Paul D. Bunt, Computer Animated Simulation of Taxi Dispatching Stra­tegies , presented at the Annual Meeting of the Transporta­tion Res e arch Board, January 1977.

[Kernighan 76] Software Tools,

Brian W. Kernighan Addison-\,[esley, 1976.

and P. J. Plauger,

[Pike 76] Robert Pike, Computer Animation of Astronomical Phenomena: The KEPLER System, Report submitted to the Mc L a u g h I i n P I an eta r i urn 0 f the R 0 Y a IOn tar i 0 Mu s e urn, D y n am i c Graphics Project, CSRG, Univ. of Toronto, 1976.

[Reeves 76] William T. Reeves, General-Purpose Graphics System Sharing Environment, M.Sc. Thesis, en c e, Un i v. 0 f To ran to, 1976.

A Device-Independent, in a Minicomputer Time­Dept. of Computer Sci-

(Hilchie 7-1a] Time - Sharing pp . 365-375.

Dennis M. Ritchie and Ken Thompson, Syslem, CACM, Volume 17 , Number 7,

The July

UNIX 1974,

[Ritchie 74b] Dennis M. Ritchie, C Reference Manual Telephone Laboratories, Murray Hill, N.J., 1974.

Be I I

[Rosen 74] Erian Rosen, rncrs Gui de , Dept. of tJ n i v ., 1 9 7 4 .

[Tilbrook 76] David M.

Graphic Display Processor Progr a m­Computer Science, Carnegie-Mellon

Tilbrook, A Newspaper Pagination

Page 9: Abstract - Graphics Interfacegraphicsinterface.org/wp-content/uploads/cmccc1977-10.pdf · Abstract 93 A research computing ... un bloc graphique d 'usage general, evolue et non-tributaire

101

System, M.Se. Thesis, Depl. of Ccrnputer ~cicnce, Toronto, 1976.

Univ. or

[Tuori 77) Martin Tuori, Computer-Aided Animation, Science, Univ. of Toronto,

Tools and T e chniques for r.1.Sc. Thesis, Depl . of Computer

]977 (expecled).

[Wright 77) Sandy Wright, Animaled Symbol ie Language Teach­ine System, M.Sc. Thesis, Dept. of Computer Science, Univ. Of Toronlo, 1977 (expecled).