CS408 Animation Software Design Sample Exam Questions The following questions are provided as an aid to studying for the midterm exam in CS408. In general, these questions will NOT appear on the exam, but they are somewhat representative of the types of questions that will be asked. The marks for the questions indicate the number of marks such a question would be assigned if it appeared on threehour exam marked out of 180 marks. Note: In the following questions, vectors are typically written horizontally with a superscripted “T” (indicating “transpose”) rather than vertically. You can use either form in your answers. Some trigonometry formulas that may be of use: Right angle triangles: opposite sin a hypotenuse adjacent cos a hypotenuse opposite tan a adjacent Sum of angles: sin a b sin a cos b cos a sin b cos a b cos a cos b sin a sin b IGNORE QUESTIONS IN GREEN IGNORE QUESTIONS IN GREEN 1. (10 marks) [Text, Section 1.1-1.2] Define or explain the following terms: (a) computer animation (b) persistence of vision (c) playback rate (d) sampling rate (e) thaumatrope (f) zoetrope (g) multiplane camera (h) stop-motion animation (i) squash and stretch (j) slow in and slow out 2. (9 marks) [Text, Section 1.3] Define or explain the following terms: (a) sequence (b) shot (c) frame (d) storyboard (e) key frame (f) inbetweening (g) linear editing (h) nonlinear editing (i) rendering 3. (4 marks) [Text, Section 1.2 plus thinking] Explain how the function of Disney’s multiplane camera could be simulated with computerized techniques. 4. (9 marks) [On-line notes] One method of creating an animation is to write a program in a standard programming language and call graphics library functions as needed to create the animation. Describe three other methods of creating animations, giving an advantage and a disadvantage of each approach. 5. (10 marks) [On-line notes] What is the gulf of evaluation? For an animation software package that you are familiar with, describe three features of the software that help bridge the gulf of evaluation, and explain why in each case. 6. (10 marks) [On-line notes] What is the gulf of execution? For an animation software package that you are familiar with, describe three features of the software that help bridge the gulf of execution, and explain why in each case. 7. (4 marks) [On-line notes] Give two examples of features an animation software package that you are familiar with that promote opportunistic behavior. Discuss their advantages and disadvantages. 8. (6 marks) Describe an interface to a particle system in an animation system that you are familiar with. 8A. (6 marks) Describe how you would use Maya (or similar animation system) to create a particle system representing blue bubbles emerging through a small hole in a wall. Mention at least 3 parameters that you would set. 8C. (6 marks) Describe how a rectangular solid with dimensions 4 x 5 x 10 can be created in Maya (or similar animation system), oriented at a 45 degree angle between the positive X and positive Y axis, with one end touching the origin. 8D. (6 marks) Describe how a sphere can be created using Maya (or similar animation system) and moved from location (0, 0, 0) to (10, 20, 30) over a period of 2 seconds at 30 frames per second. 9. (5 marks) Describe five types of manipulations that you can perform on a human figure in an animation system that you are familiar with. 10. (5 marks) List and briefly describe 5 of the 11 principles of animation. 11A. (7 marks) What steps need to be done in order to read in a BMP file? 11B. (7 marks) What steps need to be done in order to read in a OBJ file? 12A. (5 marks) Discuss 5 issues related to timeline control? Use examples. 12B. Assuming the existence of a function GetTime() that gives the current time in milliseconds, give pseudocode showing how to control the display of images (frames) so that they are not shown too quickly and so that frames get dropped if they are running too slowly. 13. (15 marks) How is the 2D rotation matrix derived? Start from a point (x,y) that is rotated to give another point (x’,y’). 14. (4 marks) Perform the following vector operations: (a) [7 3]T + [9 5] T (b) [7 3]T - [4 5] T (c) [7 6 3]T - [4 5 11] T (d) [3 2 3]T ● [4 5 1] T (dot product) 15. (4 marks) Represent each of the following operations, including the results, on a Cartesian graph (normal x-y coordinates): (a) [2 3]T + [1 2] T (b) [3 2]T - [4 5] T 16. (4 marks) The cross product of two vectors U and V is computed using the following formula: Compute the cross product for U = [2 3 0]T and V = [1 4 0]T. Show your work. 17. (6 marks) Tell whether or not the following curves have positional continuity (0 order), tangential continuity (1st order), and/or curvature continuity (2nd order). (6 marks) 18. (11 marks) Animation software packages typically offer the ability to store an animation in “native binary format.” (a) (1 mark) What is “native binary format”? (b) (10 marks) Suppose a 2-D animation system contained only rectangles, ovals, and curved paths as primitives. Explain in some detail from a programmer’s viewpoint how the state of an animation would be stored in native binary format and later reloaded. What information would be needed for each type of primitive object? 19. (10 marks) Suppose a 2-D animation system is based on behavioral animation. A particle system is one type of a behavioral animation subsystem. Give two other types of behavioral animation subsystems and explain how each would be stored in native binary format. 20. (5 marks) What is an animation language? Give the name of an animation language. Give several lines of code of a program written in a (real or hypothetical) animation language and explain what they mean with comments. 21. (2 marks) Give one advantage and one disadvantage of using an animation language as the principal interface to an animation system. 22. (2 marks) Given the following points, linearly interpolate a mid-point between them. Show your work. a. (4,5) and (7, 8) b. (10.3, 2.5) and (3.2, 5.4) 23. (3 marks) Given the following points, draw the line(s) derived using uniform B-spline approximation, assuming the points are ordered from left to right. 24. (4 marks) Given the following equations, show how to derive the matrix for the uniform B-spline curve: 3 1 u 6 3 3u 6u 2 4 6 3 3u 3u 2 3u 1 6 3 u 6 B0 u B1 u B2 u B3 u 25. (4 marks) What four points are needed to draw a Hermite curve and why? 26. (10 marks) [not relevant for 201110] Describe how the Bezier matrix is derived. 1 3 3 1 3 3 6 3 3 0 0 0 1 0 0 0 27. (10 marks) [not relevant for 201110] In code or pseudocode, write the steps that would need to be taken to draw a Bezier curve given the beginning, end, and control points. 28. (2 marks) [not relevant for 201110] Why were Catmull-Rom (catrom) curves developed? 29. (6 Marks) Without looking at the functions themselves, can you tell which set of basis functions corresponds to Hermite curves, which corresponds to cubic Bezier curves, and which corresponds to cubic B-splines? How can you tell? (think about their corresponding matrices) 30. (4 marks) Discuss two different ways of computing arc length and explain why they were developed. 31. (10 marks) Given the following curve, The (x, y) values for the graph shown above are (from left to right) (0, 5), (1, 6), (2, 3), (3, 2), (4, 1). Use the forward differencing method and the following formulas: i = (int)(u/distance between entries) L = ArcLength[i] + (GivenValue – Value[i])/(Value[i+1]-Value[i]) * (ArcLength[i+1] – ArcLength[i]) L = G(i) + (u – u(i))/(u(i+1)-u(i)) * (G(i+1) – G(i)) to fill in the following table: Index u(i) (i) 0 0.0 1 0.25 2 0.50 3 0.75 4 1.00 Curve(u(i)) (0.0, 5.0) (1.0, 6.0) (2.0, 3.0) (3.0, 2.0) (4.0, 1.0) Linear Segment Length Arc Length G and linearly interpolate the arc length (L) at a given value of u = 0.60. 32. Repeat the previous question with u = 0.80. 33. (15 marks) Suppose the only objects in an animation system are a rectangle R and a curve C, where C is defined in terms of points P0, P1, …, Pm-1. Give pseudocode for moving the rectangle along the curve. State any assumptions. 34. (6 marks) When moving an object along a curve, how can the animation system control the speed of the object or make it constant? 35. (5 marks) Discuss the concepts of ease-in/ease-out and constant acceleration with reference to moving an object along a curve. 35B (8 marks) Question about sinusoidal ease function – question is not yet ready. 35C (8 marks) Question about parabolic ease function—question is not yet ready. 36. (5 marks) How does the Frenet Frame work for an object following a path? 37. (5 marks) If a Frenet Frame is used for a camera following a curve, why might we not want the camera to point straight ahead? Describe two alternative points to aim and give an advantage of each. 38. (6 marks) Explain how you can smooth a path using the 2D curve defined with the points (1,4), (1,6), (2,7), (3,8), and (4,9). State any assumptions. 39. (15 marks) Given the following image, warp the object using the formulas: Si Si 1.0 1 k 1 i n 1 i n 1 for k < 0 k 1 for k ≥ 0 with k = 1, n = 2, and vertex a as the seed vertex, assuming that vertex a is warped from location (3, 3) to location (3, 4). Show all calculations and re-draw the final image. 40. (18 marks) 2D Grid Deformation Formulas: Pu0 = (1 – u) ∙ P00 + u ∙ P10 Pu1 = (1 – u) ∙ P01 + u ∙ P11 Puv = (1 – v) ∙ Pu0 + v ∙ Pu1 Given vertex a in the global space, and deformation the cell containing a, which is at [4.6 2.5]T, and assuming that a translation to local space is not necessary, calculate a ’s new position in the global space. Show all steps. 41. (6 marks) Compare and contrast 2D grid deformation and Free-Form Deformation (FFD). 42-52. Need a bunch of questions on Hierarchical Kinematic Models and Inverse Kinematics 53. (5 marks) Describe the update cycle an animated object goes through in rigid body simulation. 54. (10 marks) Given a ball approaching a surface, and a surface normal, N = [0, 1]T, with a dampening factor, k, of 0.7, use the kinematic method for rigid body simulation in animation to calculate the velocity of the ball leaving the surface. A relevant formula: v(ti 1) v(ti ) (1 k )(v(ti ) N ) N 54B. (6 marks) If at time t, a ball is about to collide with a smooth, flat surface at velocity v(t) = [0.3, -0.7]T and the normal vector of the surface is N = [0.0, 1.0]T, calculate the velocity of the ball at time t + 1 using the kinematic method. Use a dampening factor, k, of 0.8. A relevant formula is: v(ti 1) v(ti ) (1 k )(v(ti ) N ) N 55. (6 marks) Given a ball approaching a surface, with the mass of the ball being 1.5kg and a spring constant of 0.5, calculate the velocity of the ball leaving the surface using the penalty method. Some formulas: F = -k d a = F/m 56. What process is involved in the impulse force method? 57 (6 marks) How can you tell whether a ball with radius r velocity v(t) at position p(t) will collide with a surface, such as the floor at Y = 0, during the time interval between time t and time t + 1? Include pseudocode or formulas in your answer. 58. (4 marks) List four types of phenomena that might be modeled in an animation using particle systems. Describe the particles used in each case. 59. (10 marks) Describe the basic model for a particle system and its five major components. 60. (4 marks) What is a stochastic process? Describe one use of a stochastic process in an animation system. 61. (4 marks) Identify four properties that particles might have in a particle system. 62. (20 marks) Using particles with velocity and three other properties, write pseudocode or a code segment to generate 2t particles at time step t. Have all four properties change in each time step. Use comments to describe how each property is changing. 63. (20 marks) Using code or pseudo-code write a function/constructor to initialize a particle system and another function to update it for the passing of time. The particle system should be initialized with a mean of 100 particles, uniformly distributed in the range 80 to 120 particles. The lifetimes of the particles should be a mean of 6 seconds, uniformly distributed in the range 4 to 8 seconds. The initial positions should be chosen randomly in the rectangular volume from (-100, -100, -100) to (100, 100, 100). The velocity of a particle should be initialized with a mean velocity of 10 units per second, uniformly distributed from 5 to 15 units per second. If a particle disappears, it should be replaced immediately with a new particle with random properties. Assume a random number generator function is available. Describe the range and type of values it returns. Hint for exam preparation: see ParticleGenerator code on Notes website. 64. (4 marks) What is emergent behavior? Describe one place in an animation system where emergent behavior might occur. 65. (5 marks) What are the two main tendencies in flock behavior? Describe a method for resolving conflicts between these two tendencies. 66. (5 marks) Explain local control versus global control with respect to modeling flock behavior. Give one advantage of each type of control. 67. (4 marks) Flocking behavior has been described as needing an O(n2) algorithm. Give an example of a phenomenon relevant to flocking that requires an O(n2) algorithm and explain why. 68. (10 marks) Using a 2D model, explain how a moving goose G with radius r1 can detect a potential collision with a stationary circular hive H of radius r2 if the goose’s current velocity is described by vector V. Assume goose G is currently at point P and the center of hive H is at point C. Use a diagram in your explanation. 69. (15 marks) Assuming a 2D model, use the formulas given below to determine whether a moving mosquito M with negligible radius can detect a potential collision with a stationary circular granary G of radius 4 if object M’s current velocity is described by vector V = [1, 3]T. Assume M is currently at point P = [1, 3]T and the center of object H is a point C = [7, 9]T. Show your work. Here are some formulas relevant to flocking behavior: s C P k C P t s2 k2 k C P r2 s2 t2 k2 s2 t s U k2 2 C r2 r2 P C 2 C t P 2 2 P r2 t2 C P C P U V U V W B V V P C U U P t U s W 70. (3 marks) Explain the issues related to splitting and rejoining when discussing flock behavior. 71. (8 marks) Given the following L-system, give the current string and draw the corresponding tree for each of the first 3 iterations. Axiom: A Rules: A FF F F[+F][-F]F Angle: 45 72. (10 marks) Given the following parametric L-system, show the current string for each of the first 5 iterations. Axiom: A(3)B(1,2) Rules: A(x): x<5 A(x+2)f+F A(x): x>=5 F B(x,y): y<=3 A(x+y)B(0, 2y)[-F]F B(x,y): y>3 B(x+1, y-x)F[+F] 72B. Given the following L-system, give the current string and draw the corresponding tree for each of the first 2 iterations (not including the axiom). Hint for exam preparation: do not draw just the F. The first drawing is after one substitution. Axiom: F Rules: F F[+F]F-F Angle: 30 72C. Give a bracketed L-system that will produce the three plants shown below in its first three iterations. The first two branches leave the trunk at a 30 angle from the trunk Hint for exam preparation: specify the axiom, the rule(s), and the angle. Hint for exam preparation: By default, assume the vocabulary includes at least F = forward while drawing, + = turn left, - = turn right, f = forward without drawing. Hint: write down a possible grammar and then draw the first two iterations. 72D. Given the following stochastic L-system, give the current string and draw the corresponding tree for each of the first 2 iterations (not including the axiom). Assume on the first iteration the first rule is always selected and on the second iteration the second rule is always selected. Axiom: F Rules: F0.5 F[+F]F F0.5 F[-F]F Angle: 45 72E. Given the following timed L-system, give the current string for each of the first 10 iterations. Assume that only the F terminal symbol causes drawing to occur and that nonterminal symbols such as A, B, C, and D are simply skipped when drawing. Draw the first two different trees that appear and state which iteration they appear for. Axiom: A Rules: A B B BC [t+3] C -FD [t+2] D +F [t+2] Angle: 45 73. (6 marks) Identify and briefly describe the three main approaches used to model gas. 74. (10 marks) Explain how the grid-based method of animating gases works. Make sure to include a description of the circumstances under which the density of a cell is increased and decreased. How is the appearance of a cell determined? 74B (10 marks) Give code or pseudo-code to show how the outflow of gases works in a 2D grid-based animation model. Draw a diagram and mark it with the variables used for a typical cell of gases flowing to the maximum number of possible output cells. 74C (6 marks) Draw a diagram showing how several different input cells could all flow to the same output cell. Indicate the main properties of each cell. Hint for exam preparation: the main properties are mass and velocity. 74D (10 marks) Give code or pseudo-code to show how the inflow of gases works in a 2D grid-based animation model. Make sure that you show how the contents of one new cell is updated when gas from an old cell is added. Draw a diagram showing how several different input cells could all flow to the same output cell. 75. (4 marks) Not relevant for 2013-10 Discuss two rendering issues for clouds and explain one approach for each. 76. (8 marks) Not relevant for 2013-10 Describe the main features of Ebert’s volumetric cloud model. 77. (6 marks) Not relevant for 2013-10 What are two differences between modeling a cumulus and a cirrus cloud? Cirrus and stratus? 78. (20 marks) Not relevant for 2013-10 Write a code segment in the programming language of your choice (or detailed pseudocode) called GenerateCumCloud to generate a cumulous cloud for a 2-D animation system. A cloud is to be modelled as a set of overlapping circles. One type of input parameter is the velocity vector for the cloud as a whole, which can be represented as two values xVelocity and yVelocity. Another type of input parameter is a set of circles, each given as an x-y coordinate, a radius, and a maximum density. The output parameter is a 100x100 array called Grid. Grid [x,y] is the position in the grid corresponding to x-y coordinates x and y. The density for a cell depends on which circles overlap it and the cell’s distance from the center of the circle, according to the formula given below. (You do not have to distinguish between partial versus complete overlap of a cell by a circle.) The velocity of each cell with a nonzero density is set to rV, where r is a random number uniformly selected from in the range from 0.9 to 1.1, inclusive, and V is the velocity vector for the cloud. The density function F for a cell at distance r, from the center of a circle of radius R, where r ≤ R, is: 4 r 6 17 r 4 22 r 2 F r 1 9 R6 9 R4 9 R2 79. (10 marks) Not relevant for 2013-10 Wispiness (delicate frailness) is an important property of the edge of clouds. Using a mathematical formula or an algorithm, explain how wispiness can be achieved. Show how the wispiness could be increased with your technique. 80. (5 marks) Explain how to use one or more particle systems to create the appearance of a fire. 81. (8 marks) Define two constrained points, P1 = (4, 10, 3) and P2 = (1, 10, 7). Suppose the constants for the catenary curve equation are found to be: a = 0.765979 b = 2.5 c = -0.029293 a. Write the parametric catenary curve equations. b. If there are twelve points mapped to the curve, find the location of the third point. 82. (8 marks) The following vertices define a quadrilateral of cloth at rest: v4* = (3, 10) v3* = (11, 10) v1* = (3, 3) v2* = (11, 3) Suppose the cloth is stretched to these new coordinates: v4 = (3, 10) v3 = (15, 10) v1 = (3, 3) v4 = (19, 3) If the cloth is being modeling using simulated springs with a coefficient of k = 0.45, calculate the forces acting on the stretched vertices in the horizontal direction. Assume that v1 and v4 are held in position, and the other two will move towards the rest configuration. 83. (4 marks) Discuss the advantages and disadvantages of polygons versus splines for facial animation. 84. (5 marks) How is a subdivision surface model created? 85. (6 marks) Describe the three different ways of creating a model for facial animation. 86. (4 marks) What are phonemes and visemes and what are their roles in facial animation? 87. (5 marks) What is FACS? Discuss its advantages and disadvantages for facial animation. 88. (9 marks) Compare and contrast direct parameterized models, pseudomusclebased models, and muscle models. 89. (8 marks) Discuss Parke’s model in depth. 90. (8 marks) What is involved in rotating the jaw (corresponding to changing parameter #4) in Parke’s model? Use a diagram. 91. Show the three-layer model of skin used by Lee, Terzopoulos, and Waters in their muscle based model of a face. Label the layers. How are the layers connected? 92. Draw and label a diagram showing how the movement of a muscle in a muscle-based model affects the fascia layer in the muscle based model of a face devised by Lee, Terzopoulos, and Waters. 93. How should the effect of contracting a long muscle, modelled as a polyline (series of line segments), be calculated for the relevant parts of the fascia layer above each line segment? Show an example calculation for a 10% muscle contraction and its effect on a point 40% of the way from the beginning of the second segment (the one with length 5) in a muscle composed of segments of length 3, 5, 2, and 4. 93. Give three levels at which the movement of an animated crowd can be controlled, and for each level, identify two decisions that might be made. 94. Give three rules that might be followed by individual members of a crowd. 95. Explain by reference to two concrete rules for individuals in a crowd how an emergent behaviour might develop. Draw a diagram if it helps the explanation. 96. What computational efficiency advantage could be obtained by treating all members of a group in a crowd (for example a group of soldiers attacking a common, distant location) together? Explain. 97. It was stated in the course notes that the "behaviours [of members of a crowd] can be modelled at varying levels of detail, depending on the closeness/relevance-to-viewer." Ignoring graphical aspects, give an example showing how a behaviour could be modelled at two different levels of detail, with greater detail when nearby and less detail when far away. 98. Explain the difference between static and dynamic flow fields for animating crowds. Give an appropriate use of each. 99. Explain with a diagram how a flow field could be used to repel other vehicles from coming near a particular car travelling forward. Use arrows to represent the strength and direction of the velocity vectors. Why should the front and back of the car be treated differently? 100. Given a small grid representing the repulsion from one moving car, how could this grid be used to construct an overall flow field for a set of 100 moving cars? Choose two cars that are close together and illustrate the effect of overlapping small grids by drawing a diagram. Pick one grid cell affected by the overlapping small grids and explain with a numeric example how the overall velocity might be derived for that cell. 101. Given a flow field consisting of a 2D grid with velocity vectors at each grid point, explain how to interpolate a value for the velocity at a point inbetween the grid lines using bilinear interpolation. Choose a particular grid size and a particular (x, y) point, show how to perform the bilinear interpolation. 102. Suppose a small 5x5 grid is used to represent a repulsion field around a fish. Researchers have been uncertain about which velocity vector to place in the middle cell of the grid. Given two distinct possibilities and state an advantage of each.
© Copyright 2024