Contact us Heritage collections Image license terms
HOME ACL ACD ICF SUS DCS G&A STARLINK Literature
Further reading □ ForewordContentsPrefacePrologueAcknowledgementsParticipants1. IntroductionA. GuedjB. HopgoodC. CrestinD. WarmanE. SabinF. EncarnacaoG. DunnH. BonoI. NewellJ. FoleyK. FoleyL. SanchaM. SanchaN. Sancha2. Working documentsCurrent positionGraphics primitivesCoreAttributesStructureMethodology: StructureDesignInputTransformationsFormal SpecificationConceptual FrameworkIFIP ReportRecommendationsFuture
C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACDLiteratureBooksMethodology in Computer Graphics
ACDLiteratureBooksMethodology in Computer Graphics
ACL ACD C&A INF CCD CISD Archives
Further reading

ForewordContentsPrefacePrologueAcknowledgementsParticipants1. IntroductionA. GuedjB. HopgoodC. CrestinD. WarmanE. SabinF. EncarnacaoG. DunnH. BonoI. NewellJ. FoleyK. FoleyL. SanchaM. SanchaN. Sancha2. Working documentsCurrent positionGraphics primitivesCoreAttributesStructureMethodology: StructureDesignInputTransformationsFormal SpecificationConceptual FrameworkIFIP ReportRecommendationsFuture

What Might be Computer Graphics?

J.P. Crestin, M. Lucas

This paper deals with the domains in Computer Science which are strongly related to Computer Graphics. An attempt is made at selecting topics which should influence the future of Computer Graphics, in order to bring out a larger set of proposals for recommendations.

Introduction

Computer Graphics is a fast changing concept.

Initially, the concept meant use of a CRT as a computer terminal to produce line drawings, its scope has widened, however, and now includes graphical input, the production of half-tone images and computer animation.

We shall define Computer Graphics as that part of Computer Science which deals with data manipulation in order to produce graphics (real or virtual, 2 or 3 dimensions) , perhaps by means of interactive man-machine communication. Computer Graphics involves the use of numerous techniques, hardware and software, some well known, some still research topics.

1. The Needs for Computer Graphics

1.1. Scope of Applications

Computer Graphics appear in nearly every field where computers are used. Let us mention:

It can be noted that:

1.2. Classification of Graphical Requirements

An attempt is made to classify graphical requirements independently from application areas, corresponding to the functions which should be available. This attempt should clarify ideas about and lead to the emergence of prominent points for future developments and research in Computer Graphics.

1.2,1. Pictorials

Graphics as the result of computations, are commonly presented as:

1.2.2. Computer Animation

Computer animation is the production of sequences of pictures with time constraints. We find the same characteristics as in 1.2.1., plus picture dynamics:

Computer animation will become a very important field of application; and so major efforts have to be made in this direction, starting with understanding what tools are needed.

1.2.3. Graphics as an Aid to Computation

We consider here applications where the picture is a support for man-machine communication. The picture is then a suitable representation of the data to be handled and processed, as for instance in Computer Aided Design or Computer Aided Instruction.

Apart from characteristics of 1.2.1., it is necessary to add:

This last point requires further investigation.

1.3. The User's Point of View

We try to show here the main problems in graphics to which the user will have to pay attention when implementing application programs. The different points involving software and hardware will be discussed in the next chapters.

Ergonomics:
How to define the device which is best fitted to a given task?
What should be the possible variations of a given device with respect to a particular application and user (brightness, contrast, colours, adaptability of input devices...)?
Portability:
Ability to use many different graphic devices with the same computer system or to transport programs to different configurations: how to define the interfaces? Are there interfaces to be defined?
Cost/benefit analysis:
Especially the balance between hardware and software, the criteria for choosing the appropriate hardware and software.
Software:
What kind of software? (high level, low level)
General graphic systems versus specific application systems?
Influence of the programming language?

These different points will be studied in the next chapters.

2. Hardware

A graphical communication system may be divided into four components:

2.1. The Drawing Device

The drawing device is the physical means which permits display of a picture. Different technologies are in use or may be developed, leading to devices whose performances are difficult to compare. However, some criteria can be used:

The choice of a drawing device for a given application implies a trade-off between mainly incompatible characteristics. A careful investigation of the adequacy of drawing devices to different domains of application should be very useful and will point to deficiencies in the present technology: the combination of characteristics needed for some applications cannot be obtained, or if obtained at all, not at a reasonable cost (for example, large size frames plus instant regeneration).

2.2 The Graphic Processor

The graphic processor is the device which decodes and executes instructions, in order to produce a picture using the drawing device. Fundamental characteristics are:

2.2.1. The Set of Instructions

Generally, three kinds of instructions are found:

Important work should be done to define standard sets of instructions. Some guidelines could be:

2.2.2. The Hardware Structure

A graphic processor consists of different components (generators, decoders, digital-analog converters, etc...) which are linked together. The problem of the relationships between components is the same as in computer architecture, with no specific complexity. However, it is very important to discuss the impact of new trends in computer hardware such as the use of microprocessors, and to investigate the possible modular structure of graphic processors.

2.2.3. Access to Display Files

The location of the display file has a strong influence on the performance of a graphic system:

Crucial points are:

2.3. Connection to a Computer

A graphic device can be used:

The last configuration seems to be the most promising: it is already widely used and is almost standard for graphic devices connected to a computer network. Two points are of interest:

2.4. Input Devices and Local Interactive Facilities

A graphical application's program can be used more or less interactively, and with or without graphical input (drawings, etc.). We only want to consider facilities which make graphical input and interaction possible or easier. Two types of devices are needed:

The ergonomics of input devices and of complex terminals {several input devices plus display and processor) should be carefully studied. From the hardware point of view, significant progress will be made with devices designed to collect 3-dimensional information, probably using image processing techniques, or dynamic graphical data (digital high-speed camera).

The use of these facilities leads to different types of graphic systems.

The influence of display characteristics on interaction capabilities should be noticed, as, for instance, the effect of picture regeneration or modification speed on response time. In fact, the main part of this response time is frequently the calculation time used by a program, so that the performance of interactive facilities must be carefully chosen according to the type of application.

Finally, there should be some investigation into the response time acceptable to the user, depending on his reasonable wishes and on the apparent complexity of the task performed or the benefits from it.

3. Software

Three kinds of people are concerned with graphic software

This division may appear in some cases rather artificial, but we think it is a good starting point to study graphic software problems. We shall begin here again with the user's point of view and finish with the system designer, whose task is to satisfy the previous ones.

3.1. Using a Graphical Application Program

A graphical application program is a program using graphic hardware. When running such a program, information is handled by means of graphical communication. The dialogue with the computer is achieved by using a set of commands, which are performed through communication devices. Programs are mostly to be used by people who are not computer scientists, so technical problems must be as transparent as possible. Problems linked to that point of view could be:

3.2. Writing Graphical Application Programs

When specifying and writing an application program, the programmer will have to define the functional specifications of his program, taking into account the points developed in Sec. 3.1., then he will implement it using some programming language. We define a graphic language as any set of graphic programming facilities (set of subroutines, specific language...) offered to the application programmer to write programs.

3.3. Characteristics of Graphic Languages

3.3.1. Semantics

Under this ambitious word, we will only try to define those functions which should be offered in a graphic language. Some of these, usually low level functions, can be directly realized by the graphic processor, so that we find here the same problems as in Sec. 2.2.1. We will not discuss them again.

A graphic language is usually composed of interactive graphic primitives and of tools to combine them into more complex graphic functions. The set of possible primitives is nearly unlimited; it depends on the specific facilities offered by each graphic terminal.

Nevertheless, there should be some basic and standard set of primitives available on each graphic system and rules to create and use new primitives. Among these rules there should be a precise way of defining the semantics of a given primitive, which could be done, for instance, using only the basic set of primitives. A careful study should be made as to whether such a universal set exists. If it does, it would ensure the portability of programs as any primitive non-realizable by hardware on a certain configuration would then be realizable by software. This implies of course the portability of the non-graphic part of the program. Also the set of primitives should be independent of the programming language for obvious practical reasons. On the other hand, the facilities offered to combine them (possibilities to define procedures, functions, subroutines, for instance) are by nature dependent upon the programming language.

These facilities concur to what can be called the extensibility of the graphic language. The object is indeed to extend the possibilities of a given set of primitives, by combining them with other graphic primitives and with functions offered by the programming language (association of a data base with drawings for instance). There are two problems:

3.3.2. Syntax

There are two types of problems to be considered here, the syntax of graphic functions or primitives, and the influence of the syntax of the programming languages.

The syntax of the graphic primitives should be as simple as possible in order that it maps easily onto most programming languages.

The second problem is whether the same set of primitives can be utilized with different programming languages such as FORTRAN, LISP, APL, BASIC, Assembly languages, PL1, etc. A complete compatibility does not seem possible, but we can hope that for most programming languages, we will only need to make minor changes in the formal presentation of the primitives.

These syntactic problems are mainly conditioned by the implementation and compilation techniques in use:

These considerations could lead to the definition of standards adapted to classes of programming languages.

3.3.3. Programming

The problems here are both practical and theoretical; neither aspect seems to have been touched so far.

First, the theory of graphical programming. There has been much effort recently on programming theory. It should be possible to find similar results for graphical and interactive programming, mainly in the fields of:

Such results condition the practical aspects of graphical programming, the art of graphical programming and programming facilities. For the first point, we should look for rules similar, for example, to the rules of structured programming, which would make programs easily understandable and would facilitate documentation, proof and modification.

Programming facilities consist mainly of documentation, testing and debugging facilities which are presently lacking. Graphical and interactive programming is one of the most promising research fields in Computer Graphics and should condition largely its future developments.

3.4. Graphical Methods and Algorithms

We treat algorithms separately from application programs and graphic systems as it is clear that graphics needs an enormous amount of specific algorithms which are mostly independent from application programs and systems. A great effort has to be made to develop them.

3.4.1. Producing Pictures

We need algorithms in all the fields considered in this paper: geometric drawings, cartography, graphs, mechanical drafting, 3-D presentations, real time, animation, and so on... We must add some non-graphic algorithms which are frequently necessary, like mathematics for graphics (interpolation and smoothing techniques, surface representation...).

These algorithms should be device independent, but we cannot skip the fact that in some cases, the use of particular features of a given class of devices can lead to much more efficient algorithms, as for instance with hidden-line elimination (Loutrel versus Watkins or Newell-Sancha).

The theoretical foundations of graphic information strongly influence the syntax and semantics of graphic languages. How can a picture be described and structured? We should investigate the possibilities of grammars, for both images and drawings. The classical tree structure of pictures is not appropriate to many cases. A good understanding of these theoretical problems should lead to simple definitions of pictures and to the possibility of quick local modifications.

3.4.2. Interactive Techniques

The most promising research field should be the use of artificial intelligence techniques for graphical input and interaction:

Conclusion

It is clear that Computer Graphics involve nearly all Computer Science techniques. If our purpose is the definition of some kind of graphics standards, then we must pay attention not to overlap fields investigated for their own sake, and so to make a clear distinction between typical graphic and general computer science problems.

Our guide-line has been here to isolate what we think are the fundamentals of graphics from all detail and technological points, and from these fundamentals to try to imagine what might be Computer Graphics. This is a very difficult and dangerous task, and this paper will certainly look very conventional for such an ambitious purpose. But we think it is very important to make a large and constant effort in that direction; only under that condition can we get a clear understanding of Computer Graphics developments.

Discussion

van Dam:
Hardware is changing fast - we must neither constrain the future nor make risky predictions or assumptions.
Crestin:
We should not consider hardware design in our discussions.
Sancha:
We should seek functions etc. that will be invariant over changes in technology.
Newell:
There are two classes of application:
  1. Using Graphics as a window into some problems.
  2. Pictures per-se.

We should concentrate on (a).

⇑ 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