babtrices, babogeneous, betc.

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/160

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 7:03 PM on 6/5/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

161 Terms

1
New cards

quaternions

  • who introduced them to graphics?

2
New cards
  • what are its components? how many dimensions?

3
New cards
  • why are they not susceptible to gimbal lock?

  1. ken shoemake introduced to graphics, but they were discovered by william hamilton (important)

4
New cards
  1. 4d entities, a single real value and 3 imaginary axes

5
New cards
  1. they represent a single, direct rotation in 3d space, not 3 independent axes in a sequence

6
New cards

where is rotation controlled?

it is passed as a uniform into the vertex shader

7
New cards
8
New cards

e.g. uniform mat4 modelview contains all the rotation data

9
New cards

wwhy larry roberts famous

' the interpretation of a matrix as a geometrical operator is the foundation of mathematical transformatiosn in computer graphcis"

10
New cards

what is a primitive? what is a vertex?

a triangle or quadilateral

11
New cards
12
New cards

a 2d or 3d location and any associated attributes (position attribute mandatory)

13
New cards

vector dot product info (5)

14
New cards

dot product code

  1. a dot b = axbx+ayby + azbz
15
New cards
  1. results in ascalar
16
New cards
  1. if a and b are unit length, a dot b = cos theta. if not, cos theta = a dot b / magnitude of a * magnitude of b

17
New cards
  1. a dot b = 0 if they are perpendicular

18
New cards
  1. for unit vectors, a dot b = 1 if same vector and -1 if opposite direction

19
New cards
20
New cards

float cosTheta = dot(a,b) / length(a) * length(b)

21
New cards

left handed system vs right handed system

in left handed system, positive z goes away from you, in RHS it goes towards you

22
New cards
23
New cards

alternatively, for flat xy plane. z goes down for LHS, up for RHS

24
New cards
25
New cards

in math its usually RHS

26
New cards

vector cross product

27
New cards

cross product code

  1. result of 2 3d vectors is another 3d vector
28
New cards
  1. computers the surface normal
29
New cards
  1. the direction of the resulting vector depends on the handedness of the coordinate system
30
New cards
31
New cards
32
New cards

vec3 N = normalize(cross(p2-p1, p3-p2))

33
New cards

where the 3 poitns of the triangle are p1, p2, p3

34
New cards

gemoetric transformations and their operations (4)

euclidean (rigid body): rotation, translation

35
New cards

linear: rotation, uniform/differential scale

36
New cards

affine: rotation, translation, uniform/differential scale

37
New cards

projective: rotation, translation, scale, perspective

38
New cards

what kind of system do the rotation as complex multiplication equations form? why is this relevant?

a linear system, which means they can be represented by a matrix

39
New cards

what does the 2d scale matrix look like

40
New cards

can a 2x2 matrix represent an affine transformation? (translation)

41
New cards
42
New cards

what matrix can?

no, because a 2x2 matrix can only do multiplication/scale, cannot do addition to input (affine, not linear, transformation)

43
New cards
44
New cards

a 2x3 matrix, with an additional homogeneous coordinate on the input

45
New cards

why are square matrices preferred?

46
New cards

what does this do to the transformation matrices?

47
New cards

what will the transformation matrix now yield?

they are invertible and any vector times a square matrix yields a vector of the same size

48
New cards
49
New cards

since an extra column was added to support translation, an extra row is also added to make it a square matrix

50
New cards
51
New cards

the result will be the same x' and y' plus an additional homogenous coordinate

52
New cards

what do the 2d transformation matrices look like? what by what size?

53
New cards

if you multiply a 3x3 matrix by a 3x1 input matrix, how many dot products is it equivalent to?

3 dot products, one for each row

54
New cards

what do the 3d geometric transformation matrixes look like? what by what size?

4x4 matrices, 3 rotation matrices, one for each axis

55
New cards
  • multiple rotations are order dependent

56
New cards

how do you do multiple transformations at once? what is this called?

concatenation

57
New cards
58
New cards

yields a single matrix that is a continuous, linear transformation with a geometric interpolation

59
New cards
60
New cards

e.g. mat4 m = Rotate(xAng, yAng, zAng) * Scale(sx, sy, sz) * Translate(dx, dy, dz);

61
New cards
  • rightmost one is the first transformation
62
New cards

process of rotating a point/object about a fixed center

63
New cards

code example

move c to origin, rotate, then move back

64
New cards

vec4 pTransform = Translate(c)RotateZ(θ)Translate(-c)*vec4(p, 1);

65
New cards
66
New cards
  • same process for scaling a point about a fixed center; move, scale, move back
67
New cards

what is the general order for matrices? (e.g. row major or column-major)

row major for most, but open gl uses column major

68
New cards
  • to convert between the two, transpose the matrix
69
New cards
70
New cards

also random fact most graphics and opengl use right handed coord system but pixar uses left

71
New cards

what is graphical projection

creates a 2d image from a 3d object.

72
New cards
73
New cards

if the image is flat (e.g. your computer screen vs imax curved screen), the projection is planar and straight lines remain straight

74
New cards

perspective projection vs parallel projection

  1. one point, finite projector, has perspective and parallel lines may not be parallel
75
New cards
  1. orthographic, infinite projector so parallel lines remain parallel
76
New cards

how are points in scene translated to the image plane to achieve perspective?

77
New cards

what is the key axis here?

78
New cards

what is the division by pz known as and how can it be implemented?

  1. screen points (sx, sy) are computed via similar triangles
79
New cards
  1. the z axis, depth
80
New cards
  1. the perspective divide
81
New cards
  1. with homogeneous
82
New cards

in computer graphics, how are ordinary 3d points represented?

as 4d homogeneous points

83
New cards

how do you convert an ordinary point into a 4d homogeneous one

84
New cards

how to convert 4d homogeneous point to an ordinary 3d one? why is this significant?

shows that homogeneous points inherently represent division

85
New cards

what is a homogeneous vector? how does it differ from homogeneous point?

(x,y,z,0), a point at infinity

86
New cards
87
New cards

w is 0 isntead of 1

88
New cards
89
New cards
  • as w approaches 0, the ordinary 2d point moves in the x,y direction towards infinity
90
New cards

does a transformed homogeneous point/vector remain a homogeneous point/vector?

yes

91
New cards
92
New cards
  • for the vectors, they have no translation component
93
New cards

what is the modelview matrix?

it is combination of model transformation (moves object from object space into world space) and view transformation (shifts the world so that camera is at 0,0)

94
New cards
95
New cards

basically takes points from object into eye/camera space, where lighting is calculated

96
New cards
97
New cards

it is for affine transformations, basically combines rotation, scale, and translation into one matrix

98
New cards
99
New cards
  • separate from perspective transformation/perspective matrix
100
New cards

what is the view frustum

the volume of 3d space that represents everything be camera can see, sandwiched between the near plane and the far plane and bounded by the top left bottom right planes