INTERACTIVE COMPUTER GRAPHICS Data Structures, Algorithms, Languages



Similar documents
Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

Vector storage and access; algorithms in GIS. This is lecture 6

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

Lecture Notes, CEng 477

A Short Introduction to Computer Graphics

Production and Inventory Management

CURRICULUM VITAE EDUCATION:

Comp 410/510. Computer Graphics Spring Introduction to Graphics Systems

2) What is the structure of an organization? Explain how IT support at different organizational levels.

Division of Mathematical Sciences

MEng, BSc Applied Computer Science

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Dhiren Bhatia Carnegie Mellon University

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

Introduction to Computer Graphics

MEng, BSc Computer Science with Artificial Intelligence

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

animation shape specification as a function of time

Glossary of Object Oriented Terms

Object-Oriented Design

animation animation shape specification as a function of time

Information and Communications Technology Courses at a Glance

Computer Science. Requirements for the Major (updated 11/13/03)

Practical Applications of DATA MINING. Sang C Suh Texas A&M University Commerce JONES & BARTLETT LEARNING

Visibility Map for Global Illumination in Point Clouds

Numerical Analysis An Introduction

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11

Data Visualization. Principles and Practice. Second Edition. Alexandru Telea

Computer Graphics. Computer graphics deals with all aspects of creating images with a computer

Operating Systems Principles

Computer and Information Sciences

096 Professional Readiness Examination (Mathematics)

Lecture 1: Introduction

Object-Oriented Modeling and Design

Visualization of 2D Domains

Introduction to Computer Graphics

The Application of Visual Basic Computer Programming Language to Simulate Numerical Iterations

CAD and Creativity. Contents

Finite Element Formulation for Plates - Handout 3 -

CS 4204 Computer Graphics

The Essential Guide to User Interface Design An Introduction to GUI Design Principles and Techniques

LEHMAN COLLEGE OF THE CITY UNIVERSITY OF NEW YORK DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE CURRICULUM CHANGE

Graphical displays are generally of two types: vector displays and raster displays. Vector displays

COMPUTER GRAPHICS Computer Graphics

Programming Languages

Schoo\ of Computing. Middlesbrough. Teesside University. 22 June To whom it may concern

Introduction Week 1, Lecture 1

Volumes of Revolution

Essential Mathematics for Computer Graphics fast

THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Digital 3D Animation

C O M P U T E R G R A P H I C S. Computer Graphics. Introduction I. Guoying Zhao 1 / 58

HPC Wales Skills Academy Course Catalogue 2015

MMGD0203 Multimedia Design MMGD0203 MULTIMEDIA DESIGN. Chapter 3 Graphics and Animations

Chapter 3 Input Devices

SERVICE MANAGEMENT AN INTEGRATED APPROACH TO SUPPLY CHAIN MANAGEMENT AND OPERATIONS. Cengiz Haksever Barry Render

(Refer Slide Time: 1:42)

Twelve. Figure 12.1: 3D Curved MPR Viewer Window

CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

FUNDAMENTAL FINITE ELEMENT ANALYSIS AND APPLICATIONS

COMPUTER - INPUT DEVICES

Devices and Device Controllers

DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING

Department of Computer Science

Assessment for Master s Degree Program Fall Spring 2011 Computer Science Dept. Texas A&M University - Commerce

Degree Reduction of Interval SB Curves

CSCI 3136 Principles of Programming Languages

Computer Science/Software Engineering

Mathematical Modeling and Engineering Problem Solving

Assessment Plan for CS and CIS Degree Programs Computer Science Dept. Texas A&M University - Commerce

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau

A Theory of the Spatial Computational Domain

1. Relational database accesses data in a sequential form. (Figures 7.1, 7.2)

Point Lattices in Computer Graphics and Visualization how signal processing may help computer graphics

Software Development Training Camp 1 (0-3) Prerequisite : Program development skill enhancement camp, at least 48 person-hours.

Gursharan Singh Tatla Page No. 1 COMPUTER GRAPHICS (Short Answer type Questions)

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

A Mathematica Package for CAGD and Computer Graphics

Basics of Computer 1.1 INTRODUCTION 1.2 OBJECTIVES

Anime Studio Debut vs. Pro

Frequency, definition Modifiability, existence of multiple operations & strategies

Computer Graphics Hardware An Overview

Information Visualization of Attributed Relational Data

Computer Science 1301 Computer Literacy. Student Learning Outcomes

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE

AN INTRODUCTION TO NUMERICAL METHODS AND ANALYSIS

CS130 - Intro to computer graphics. Dr. Victor B. Zordan vbz@cs.ucr.edu Objectives

Parallel Visualization for GIS Applications

How To Use Design Mentor

CATIA V5 Tutorials. Mechanism Design & Animation. Release 18. Nader G. Zamani. University of Windsor. Jonathan M. Weaver. University of Detroit Mercy

Visualisatie BMT. Introduction, visualization, visualization pipeline. Arjan Kok Huub van de Wetering

Transcription:

INTERACTIVE COMPUTER GRAPHICS Data Structures, Algorithms, Languages Wolfgang K. Glloi Technical University of Berlin and University of Minnesota Tochnisths BodischBle Dnrmstadt FACHEEKE1CH 1NFORMATIK BIBLIOTHEK Inventar-Nr.: Sachgebiete: Standortt PRENTICE-HALL, INC., Englewood Cliffs, New Jersey 07632

Contents Preface far Acknowledgements For Illustrations xll PARTI: DATA STRUCTURES AND ALGORITHMS 1 1 Introduction 3 1.1 What is computer graphics? 3 1.2 The motivation for interactive computer graphics 7 i/1.3 Model of interactive graphics systems 8 )/ 1.4 The display file 12 vl.5 The necessity of a dual representation of graphic objects 14 1.6 The problem of picture transformations 15 1.7 Taxonomy of display systems 21 1.8 Stand-alone versus satellite systems 23 Exercises 24 2 Data Structures, Data Bases, and List Handling 26 2.1 Formal definition of data structures 26 2.1.1 A data structure definition 26 2.1.2 Definitions of relations and their properties 27 2.1.3 Linear lists 30 2.1.4 Tree structures 31 2.1.5 Generalized list structures 35 2.1.6 Associative structures 36

vi Contents 2.2 Representation of data structures in a computer 39 2.2.1 Sequential or linked memory allocation 39 2.2.2 Representation of arrays 44 2.2.3 Representation of trees 44 2.2.4 Representation of generalized lists (hierarchical structures) 49 2.2.5 Representation of associative structures 52 2.3 Data models and data base organization 58 2.3.1 Objectives of data base management systems 58 2.3.2 Conceptual data models 59 2.4 List handling 61 2.4.1 Implementation of linear lists 61 2.4.2 List construction and manipulation 65 2.4.3 Searching and sorting of lists 68 2.4.4 Hash coding 73 Exercises 74 3 Picture Structure and Picture Transformations 77 3.1 Picture structure 77 3.2 Domain transformations 84 3.3 Geometric transformations 92 3.3.1 Rotation 93 3.3.2 Translation 96 3.3.3 Scaling 97 3.4 The perspective representation of three-dimensional objects 97 3.5 The "4x4-matrix" for rotation, scaling, translation, and perspective 102 3.6 A standard transformation system 107 Exercises 112 4 Interpolation and Approximation of Curves and Surfaces 119 4.1 Introductory remarks 119 4.2 Classical methods: Lagrange and Hermite interpolation 123 4.3 Interpolation with 5-splines 129 4.4 Bezier approximation of curves 134 4.5 General principles of surface construction 140 Exercises 148 5 Rendering of Surfaces and Solids 151 5.1 The hidden-surface problem 151 5.2 The set of transition functions {PM,IS,CT,DT,VT} 156 5.2.1 The projective mapping PM 156 5.2.2 The function class IS 156 5.2.3 The containment test CT 159 5.2.4 The depth test DT 160 5.2.5 The visibility test VT 164

Contents vii 5.3 Description of four hidden-surface algorithms 165 5.3.1 General remarks 165 5.3.2 Appel's method of quantitative invisibility 166 5.3.3 Encarnacao's priority method 168 5.3.4 Watkins'scan-line algorithm 172 5.3.5 Encarnacao's scan-grid algorithm 175 5.4 Comparison 179 5.5 Sorting 184 Exercises 185 PART II LANGUAGES AND THEIR INTERPRETERS 187 6 Interaction Handling 189 6.1 Interactive input devices 189 6.1.1 Lightpen 190 6.1.2 Joystick, control ball, and "mouse" 194 6.1.3 Tablet 196 6.1.4 Keyboards 197 6.1.5 Lightpen vs. cursor control devices 197 6.1.6 A pen track procedure 198 6.2 Device independence 200 6.3 Attention handling 201 6.3.1 The role of interrupts in display systems 201 6.3.2 Attention queue and task scheduler 202 6.3.3 The finite state model of an interactive program 205 Exercises 207 7 The Display Processor 211 7.1 The display console 211 7.1.1 Typical CRT specifications 212 7.1.2 Input devices 213 7.2 The display generator 215 7.2.1 Position generator and dot generator 215 7.2.2 Character generator 215 7.2.3 Vector generator 220 7.2.4 Time'requirements 226 7.3 The display controller 227 7.3.1 Typical display processor instruction set 227 7.3.2 Instruction formats 233 7.3.3 The controller 236 7.3.4 Analog scissoring 237 7.4 High-performance display systems 239» 7.5 Low-cost displays 245 7.5.1 Storage tube displays and plasma displays 245 7.5.2 TV raster displays for text and simple graphics 246 7.5.3 TV raster graphic display systems 252 Exercises 256

viii Contents 8 Display File and Picture File Organization 261 8.1 Data base and display file revisited 261 8.2 Display file without subpicture calls 262 8.3 Display file with subpicture calls 265 8.4 Display file and picture file 267 Exercises 272 9 Language Concepts for Interactive Computer Graphics 276 9.1 High-level graphic programming languages 276 9.1.1 An example 276 9.1.2 Language extensions vs. subroutine packages 277 9.1.3 The "prefabricated-structure" vs. the "building-block" concept 281 9.2 High-level graphic languages: two cases in point 282 9.2.1 LEAP-an ALGOL 60 extension based on the prefabricated-structure concept 282 9.2.2 EX. GRAF-a FORTRAN extension based on the building-block concept 287 9.3 L 4 -an intermediate language for device-independence and intra system communication 288 10 Hlgn-Level Language Implementation of Display Programming Systems 293 10.1 Tasks of a graphical programming package 294 10.2 Language structures 295 10.3 Interaction handling routines 298 10.4 GRIP (Graphic Procedures for Instructional Purposes) 302 10.5 The instant of object creation 308 10.6 Command languages 309 10.7 Implementation the GRIP philosophy in existing high-level languages 310 10.7.1 FORTRAN 310 10.7.2 ALGOL 60 311 10.7.3 PASCAL 311 10.7.4 PL/1 311 10.7.5 APL 312 Exercises 314 BIBLIOGRAPHY 320 Appendix: Implementation of the GRIP Concept 330 Index 351 A.I General considerations 330 A.2 Terminal graphics software 334 A.2.1 Data flow in the terminal 334 \ A.2.2 Display file overview and L 4 interpreter data structures 335 * A.2.3 L 4 interpreter 341 A.3 High-level graphic programming packages 346 A.3.1 Introduction 346 A.3.2 FORTRAN Graphics Package (GRAP) 346 A.3.3 APL Graphics Package (APL-G) 349