Title: Theory / Unimportant / CS / Algo / Graphics / Fundamentals -Shirley Marschner{ / 01 Intro;
Tags: hasNotNewEffectReturnsMeaning type examplesSwitchExample1 fromAlgorithm oldAlgoNewName exampleToQuestion fromMath mathToSee
On every note of this deck, unless a note says otherwise:
Chapter: 1

Name: Computer graphics
Definition: Any use of computers to create and manipulate images
Page: 1

Name: Modeling
Definition: mathematical specification of shape and appearance properties in a way that can be stored on the computer
Page: 2
Context: Computer graphic
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

Name: Rendering
Definition: Creation of shaded images from 3D computer models.
Page: 2
Context: Computer graphic

Name: Animation
Definition: Create an illusion of motion through sequences of images.
Page: 2
Context: Computer graphic

Name: User interaction
Definition: Interface between input devices such are mice and tablets, the application, feedback to the user in imagery and other sensory feedback.
Page: 2
Context: Computer graphic

Name: Virtual reality
Definition: Attempts to immerse the user into a 3D virtual world.
Page: 2
Context: Computer graphic

Name: Visualization
Definition: Attempts to give users insight into complex information via visual display.
Page: 2
Context: Computer graphic

Name: Image processing
Definition: Manipulation of 2D images
Page: 2
Context: Computer graphic

Name: 3D Scanning
Definition: Create measured 3D models using range-finding technology.
Page: 2
Context: Computer graphic

Name: Computational photography
Definition: use of computer graphics, computer vision, and image processing methods to enable new ways of photographically capturing objects, scenes, and environments.
Page: 2
Context: Computer graphic

-Video games,
-Cartoons,
-visual effects,
-animated films,
-CAD/CAM,
-Simulation,
-Medical imaging,
-Information visualization.
Page: 3
Chapter: 1
Section: 2
Name: Major applications of computer graphics

Name: Computer-aided manufacturing
Definition: Using computer technology to guide a manufacturing process
Page: 3
Section: 2
Abbreviation: CAM

Name: Simulation
Definition: Creating realistic representation of some things.
Page: 3
Section: 2
Example: Flight simulator
Example2: Driving

Name: Information visualization
Page: 3
Section: 2
Example: Creating images of data that do not necessarily have a natural visual depiction.
Example2: Temporal trend of prices.

Name: Application program interface
Definition: Standard collection of functions to perform a set of related operations.
Page: 4
Section: 3
Abbreviation: API

Name: Graphics API
Definition: Set of functions that perform basic operations.
Page: 4
Section: 3
Context: Graphics
Example: Drawing images into windows on the screen
Example2: Drawing 3D surfaces into windows on the screen

Name: Two kinds of graphics API
Page: 4
Section: 3
Example: Integrated approach
Example2: Drawings commands are part of a software library

Name: Level of detail
Page: 4
Section: 3
Abbreviation: LOD

Name: the special IEE number
Definition: Infinity and minus infinity
Page: 5
Definition2: Not a number
Conjdef: both

Name: Not a number
Definition: An invalid number that arises from an operation with undefined consequences
Page: 5
Example: Result of 0/0
Abbreviation: NaN

Question: \(\frac{a}{+\infty}\)
Answer: =+0
Page: 5
Chapter: 1
Variables: \(a>0\)

Question: \(\frac{a}{-\infty}\)
Answer: =-0
Page: 5
Chapter: 1
Variables: \(a>0\)

Question: \(\frac{-a}{-\infty}\)
Answer: =+0
Page: 5
Chapter: 1
Variables: \(a>0\)

Question: \(\frac{-a}{\infty}\)
Answer: =-0
Page: 5
Chapter: 1
Variables: \(a>0\)

Question: \(\infty+\infty\)
Answer: \(+\infty\)
Page: 5
Chapter: 1

Question: \(\infty-\infty\)
Answer: \(=NaN\)
Page: 5
Chapter: 1

Question: \(\frac\infty\infty\)
Answer: \(=NaN\)
Page: 5
Chapter: 1

Question: \(\frac\infty0\)
Answer: \(=\infty\)
Page: 5
Chapter: 1

Question: \(\frac00\)
Answer: \(=NaN\)
Page: 6
Chapter: 1
Section: 5

Question: \(\frac\infty a\)
Answer: \(=\infty\)
Page: 6
Chapter: 1
Section: 5
Variables: \(a>0\)

Question: An arithmetic expression with input NaN
Answer: is NaN
Page: 6
Chapter: 1
Section: 5

Question: Rule of thumb for efficient code needing a lot of computation and a lot of memory access.
Answer: Memory access patterns should be more considered than operation counts.
Page: 7
Chapter: 1
Section: 6

Typ: Vector2
Meaning: A 2D vector class that stores an x- and y-component.
Page: 7
Chapter: 1

Meaning: A 3D vector class that stores an x-, y- and z-component.
Page: 7
Chapter: 1
Subtype of: Vector3

Typ: hvector
Meaning: A homogeneous vector with four components
Page: 7
Chapter: 1

Typ: rgb
Meaning: An RGB color that stores three components, with addition, substraction, multiplication, scalar multiplication/division
Page: 7
Chapter: 1

Typ: transform
Meaning: 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.
Page: 7
Chapter: 1

Typ: image
Meaning: A 2D array of RGB pixels with an output operation.
Page: 7
Chapter: 1

Page: 10
Implementation: Write some values which may be wrong as RGB.
Section: 7.3
Chapter: 1
Name: Images as coded debugging output
Returns: Allows to see those values in the image.

Page: 10
Implementation: Turn off certain part of the image processing.
Section: 7.3
Chapter: 1
Effect: Image show what is done for a precise part of the processing, which can be debugged or judged correct.
Name: Scientific method of debugging

Name: Computer-aided design
Definition: Using computer technology to design parts
Page: 3
Section: 2
Abbreviation: CAD