Introduction 1 Flashcards

1
Q

What are the major areas of computer graphics?

A
Modelling
Rendering
Animation
User interaction
Virtual reality
Visualization
Image processing
3D scanning
Computational photography
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define modelling

A

deals with the mathematical specification of shape and appearance properties in a way that can be stored on the computer. For example,
a coffee mug might be described as a set of ordered 3D points along with some interpolation rule to connect the points and a reflection model that describes how light interacts with the mug.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Define rendering

A

a term inherited from art and deals with the creation of

shaded images from 3D computer models

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Define animation

A

a technique to create an illusion of motion through sequences of images. Animation uses modeling and rendering but adds the key issue of movement over time, which is not usually dealt with in basic modeling and rendering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Define user interaction

A

deals with the interface between input devices such as mice and tablets, the application, feedback to the user in imagery, and other sensory feedback. Historically, this area is associated with graphics largely because graphics researchers had some of the earliest access to the input/output devices that are now ubiquitous.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Define virtual reality

A

attempts to immerse the user into a 3D virtual world. This typically requires at least stereo graphics and response to head motion. For true virtual reality, sound and force feedback should be provided as well. Because this area requires advanced 3D graphics and advanced display technology, it is often closely associated with graphics.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Define visualization

A

attempts to give users insight into complex information via visual display. Often there are graphic issues to be addressed in a visualization problem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Define Image processing

A

deals with the manipulation of 2D images and is used in both the fields of graphics and vision.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Define 3D scanning

A

uses range-finding technology to create measured 3D models. Such models are useful for creating rich visual imagery, and the processing of such models often requires graphics algorithms.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Define computational photography

A

the use of computer graphics, computer vision, and image processing methods to enable new ways of photographically capturing objects, scenes, and environments

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What’s a key part of using graphics libraries?

A

A key part of using graphics libraries is dealing with a graphics API.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Define an API

A

An application program interface (API) is a standard collection of functions to perform a set of related operations

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Define a graphics API

A

a set of functions that perform basic operations such as drawing images and 3D surfaces into windows on the screen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Every graphics program needs to be able to use…

A

two related APIs:
a graphics API for visual output and
a user-interface API to get input from the user.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

There are currently two dominant paradigms for graphics and user-interface APIs…

A

The first is the integrated approach, exemplified by Java, where the graphics and user interface toolkits are integrated and portable packages that are fully standardized and supported as part of the language.

The second is represented by Direct3D and OpenGL.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

geometric manipulation used in the graphics pipeline can be accomplished almost entirely in a….

A

4D coordinate space composed of three traditional geometric coordinates and a fourth homogeneous coordinate that helps with perspective viewing.

These 4D coordinates are manipulated using 4 × 4 matrices and 4-vectors.

The graphics pipeline, therefore, contains much machinery for efficiently processing and composing such matrices and vectors.

17
Q

Infinity operations

A
\+a/(+∞) = +0
−a/(+∞) = −0
\+a/(−∞) = −0
−a/(−∞) = +0
∞ + ∞ = +∞
∞−∞ = NaN
∞×∞ = ∞
∞/∞ = NaN
∞/a = ∞
∞/0 = ∞
0/0 = NaN
\+a/ +0 = +∞
−a/ +0 = −∞
18
Q

A reasonable approach to making code fast is to proceed in the following order, taking only those steps which are needed:

A
  1. Write the code in the most straightforward way possible. Compute intermediate results as needed on the fly rather than storing them.
  2. Compile in optimized mode.
  3. Use whatever profiling tools exist to find critical bottlenecks.
  4. Examine data structures to look for ways to improve locality. If possible, make data unit sizes match the cache/page size on the target architecture.
  5. If profiling reveals bottlenecks in numeric computations, examine the assembly code generated by the compiler for missed efficiencies. Rewrite source code to solve any problems you find.
19
Q

What are the basic classes for designing and coding graphics programs

A
Vector2. 
Vector3
Hvector
RGB 
Transform
Image
20
Q

Describe a vector2 class’ purpose and functionality

A

A 2D vector class that stores an x- and y-component. It should store these components in a length-2 array so that an indexing operator can be well supported. You should also include operations for vector addition, vector subtraction, dot product, cross product, scalar multiplication, and scalar division.

21
Q

Describe a vector3 class’ purpose and functionality

A

A 3D vector class analogous to vector2.

22
Q

Describe a hvector class’ purpose and functionality

A

A homogeneous vector with four components (see Chapter 7).

23
Q

Describe a RGB class’ purpose and functionality

A

An RGB color that stores three components. You should also include
operations for RGB addition, RGB subtraction, RGB multiplication, scalar
multiplication, and scalar division.

24
Q

Describe a Transform class’ purpose and functionality.

A

A 4 × 4 matrix for transformations. You should include a
matrix multiply and member functions to apply to locations, directions, and surface normal vectors. As shown in Chapter 6, these are all different.

25
Q

Describe a image class’ purpose and functionality.

A

A 2D array of RGB pixels with an output operation.

26
Q

Common sets of interest include:

A
  • R—the real numbers;
  • R+—the non-negative real numbers (includes zero);
  • R^2—the ordered pairs in the real 2D plane;
  • R^n—the points in n-dimensional Cartesian space;
  • Z—the integers;
  • S^2—the set of 3D points (points in R3) on the unit sphere
27
Q

Differentiate loga x

A

d/dx loga x = 1/x ln a

28
Q

Differentiate a^x

A

d/dx a^x = a^x ln a.

29
Q

Sec and tan identity

A

sec2 A − tan2 A = 1

30
Q

cosec and cot identity

A

csc2 A − cot2 A = 1

31
Q

Product identities for sinAsinB

A

sin A sin B = −(cos(A + B) − cos(A − B))/2

32
Q

Product identities for sinAcosB

A

sin A cos B = (sin(A + B) + sin(A − B))/2

33
Q

Product identities for cosAcosB

A

cos A cos B = (cos(A + B) + cos(A − B))/2

34
Q

Law of tangents

A

(a + b)/(a − b) = tan ((A+B)/2) / tan ((A−B)/2)

35
Q

Area of triangle formula with square root

A

triangle area = 1/2 x ((a + b + c)(−a + b + c)(a − b + c)(a + b − c))^0.5