G&V Qualifier 2008 1 GENERAL (Answer 4 of 6) 1.1 Intersection A polygonal area may have holes, multiple components, and non-manifold vertices. It is represented by a set of vertices and a set of edges, each referencing two vertices. These sets are not ordered in any manner. Consider two polygonal areas, A and B, in the plane. Explain how to compute their intersection. (We want the precise representation of the vertices and edges of the intersection, not just an image of it.) You may assume that you are using an extended precision arithmetic package that does not make round-off errors. 1.2 Ray Queries Consider an unknown solid S and the set R of all rays that do not hit S. Prove that you can always recover S from R when S is convex. Can you recover a torus? Justify your answer. 1.3 Reflections You are given a triangle mesh M, a viewpoint V, a point light source Z, and a set of pixel locations on a virtual model of the screen. We assume that a radiosity model has been computed for M. We want to improve it by adding specular highlights that include one and also two bounces. Consider the ray R from V through a pixel P. (a) First explain how you would compute the triangle T of M first hit by R and the point X where R intersects T. Provide geometric formulae for the tests and constructions and briefly discuss acceleration options.) (b) Explain how to test precisely whether X sees Z directly and if so, how to measure whether the geometry is close to a pure specular highlight. (c) We also want to see how much light is reflected indirectly, i.e. reaches V after 2 bounces. Hence, we want to look for places Y on the mesh, so that the path X-Y-Z is obstruction-free and corresponds to, or approaches, perfect mirror reflection at Y. (d) Discuss an algorithm that would search for such points Y. and comment on its computational cost and on possible speed-ups. (e) Discuss whether the proposed approach will improve upon pure radiosity and if so how. (f) Discuss the drawbacks of the proposed approach: Why the images produced are incorrect and whether the highlights could be misleading. 1.4 GPU Interference You are given the models of two very complex solids A and B that are part of an assembly. You want to use the GPU to test whether they interfere. Provide an algorithm, discuss options for implementing it on a GPU and the expected cost. 1.5 Hausdorf Approximation You want to measure the difference between two polygonal closed-loop curves, A and B, as the Hausdorff distance between them. (a) Explain why the algorithm that computes the exact Hausdorf distance is difficult and slow. (b) To simplify the problem, you decide to use the Hausdorf distance between dense samplings of A and of B. Assume that the sampling puts one sample on each vertex and that distance between consecutive samples along an edge is less than d. Can you put a cap on the error between the true Hausdorf distance h and the one h' computed using the samplings? If not, explain why not. If yes, provide a bound and justify it. 1.6 Shape from Contour You are given a smooth silhouette C of a convex 3D shape S seen under parallel projection. Your job is to construct a mesh M that estimates S. We want S to be as "round" as possible. Explain how you interpret "round" and how you would compute M. Comment on extending your approach to shapes that are not convex. 8/31/09 1/6 2 RENDERING (Answer 2 of 4) 2.1 Dripping Water You are working at a production house, and your task is to create realistic looking water dripping from a faucet. Your boss wants you to test two versions of the rendering software: one using ray tracing and another that uses polygon rasterization. Your renderer should attempt to capture each of the following phenomena: reflection, refraction, highlights, motion blur, and caustics. a) How would you achieve these various phenomena using ray tracing? b) How would you achieve these phenomena using a rasterization renderer? Do not answer “cannot be done” for any of the phenomena – do your best to come up with approximations if necessary that would fit into the appropriate renderer. No fair using ray tracing in the rasterization renderer! 2.2 Measuring Reflectance You have been given a dozen six inch squares, each made of a different material. Your task is to measure the reflectance properties of the materials and to use this information to render synthetic versions of the surfaces. These surfaces may be either isotropic or anisotropic. Their reflectance does not vary at different points on the surface, that is, they are uniform and do not have patterns or variations across them. a) Describe an apparatus that could be built to measure the BRDF of these surface samples. b) How would you store the captured BRDF information in such a way that it is useful for rendering? c) Describe how you would use the stored BRDF data in a renderer to calculate the shading of a surface. State what kind of a renderer you are assuming for your answer. 2.3 Dividing Space Many ray tracing acceleration techniques build a tree of nodes that subdivide space. Each node in such a tree separates space into two pieces, thus allowing the possibility of eliminating one or the other portion of space from consideration. For octrees, each node represents a cube, thus dividing space into inside and outside the cube. For k-D trees, each node is an arbitrarily oriented plane, creating one part of space on each side of the plane. For a bounding hierarchy of spheres, each node is a sphere, dividing space into the inside and outside. Your task is to give the details of a NEW ray tracing acceleration data structure and its associated algorithms for creation and use. Select ONE of the following two options: 1) Tree of nodes with TWO PARALLEL PLANES per node. Each node divides space into three parts. 2) Mixed tree, in which each node can be either a PLANE or a SPHERE. A typical tree will have a mixture of these two kinds of nodes. For your ONE tree selection (either (1) or (2)), give pseudo-code for each of the following: a) A definition of the data structure for your tree. b) An algorithm for constructing a tree for a given collection of polygons. c) An algorithm for finding the closest intersection along a ray that makes use of your tree. 2.4 Light Paths Paul Heckbert describes paths of light through an environment using the letters L, S, D and E for a light source, a specular surface, a diffuse surface, and the eye (or camera). The letters LDE refer to light that leaves a light source, reflects off a diffuse surface, and then reaches the eye. An asterisk (*) means zero or more surfaces in a row. Three light paths are given below. For each of these paths, say the name of the phenomena that the path describes (if there is such a name), and briefly describe an algorithm that is capable of rendering a scene that incorporates such light paths. Please describe a DIFFERENT algorithm for each of the three parts. Don’t just give the name of the algorithm, include a brief description of the important aspects of each one! a) LDD*E b) LSDE c) LDS*E d) Can all reflective surfaces neatly be categorized as a diffuse or a specular surface? Why? 8/31/09 2/6 3 ANIMATION (Answer 2 of 4) 3.1 Karen Fell Asleep You and Karen are going to submit a SIGGRAPH paper this year. Unfortunately, Karen passed out the night before the deadline and it doesn't seems to be any way you can wake her up. As the only coauthor, you have no choice but to complete this paper on your own. a. Karen has written most of the "Related Work" section, but you notice that the references are all missing! You have to fix each following question mark by making an educated guess on which paper Karen refers to. "There has been several different approaches in tackling the problem of active control in computer animation. Certain level of human active control can be hand-programmed [?, ?, ?]. However, these highly engineered controllers only apply to limited scenarios in a controlled environment. Many researchers applied optimal control techniques to automatically compute the control variables that produce desired motion for rigid bodies [?, ?], deformable bodies [?, ?], fluids [?, ?], animals [?, ?], or human characters [?, ?]. Physical simulation can also be combined with motion capture data [?, ?, ?]. These hybrid methods can synthesize expressive motion with realistic response to physical perturbations." b. One main component of this paper is to simulate swimming motion. Unfortunately, Karen forgot to write down the equations of motion that describe human body interacting with water. You need to supply the equations and definitions of all the math symbols. c. The key idea of this paper is to represent swimming motion in the low dimensional space since the movement is mostly repetitive and highly coordinated. Based on an expected set of human-water interactions, the fluid simulation equations can also be projected onto a low-dimensional basis, largely reduced the computational time of fluids [Trueille 2006 SIGGRAPH]. Karen showed that that freestyle and breaststroke work very well using a "PCA-ed swimmer" in a "PCA-ed water", but did not mention any failing cases. You need to address the limitations of this method by showing two failing scenarios. 3.2 Gymnastics 2. The gymnastics is one of the most recognized competition in Olympics. However, the scoring system is convoluted and always subject to criticism. Under the current scoring system, a gymnast's total score includes values for both the routine's content and his/her execution. The "Difficulty Score" includes the difficulty, transition value, and required elements, while the "Execution Score" encompasses execution, artistry, and technique. Most people agree that it is hard to reduce the subjectivity in "Execution Score", but the "Difficulty Score" might be evaluated in a more systematic way. Hypothetically, the International Gymnastics Federation (FIG) decided to use vision-based motion capture technology to capture each gymnast's motion in London Olympics 2012. You were hired to design an automatic scoring system that evaluates the "Difficulty Score" for the competition. Your system has to be efficient because the score has to be announced no longer than 30 seconds after the performance. a. How does your system verify whether the gymnast completes all the elements required in a routine? b. How does your system evaluate the transition between elements? c. How would you prove that your system is superior to a panel of human judges? d. How does the system detect the imperfections in a routine, such as imbalance, slipping, sloppy landing, or falling? 3.3 Stability Stability is a very important issue when it comes to numerical integration methods. The standard way to analyze stability of a method is assume the derivative function is linear (dx/dt = Ax) and formulate a test equation from which the condition of stability is derived. For example, the test equation of the first-order explicit (forward) Euler can be expressed as xn+1 = xn + hλxn and the condition of stability is |1 + hλ| ≤ 1, where λ is an eigenvector of A and h is the step size. a. Explain why the stability test based on the eigenvectors guarantees the stability of any arbitrary initial state. b. The symbolic solution of dx/dt = λx is x = eatcos(bt) or x = eatsin(bt), where complex eigenvalue λ = a±ib. What kind of motion does x correspond to if λ is real and negative? What kind of motion does x corresponds to if λ is pure imaginary? Please plot the stability region of the first-order explicit Euler on a complex plane. 8/31/09 3/6 c. Can you propose a higher-order method that better covers the imaginary axis? Please formulate its test equation, derive the stability condition, and plot the stability region on a complex plane. d. In practice, RK4 is the most popular method among Runge Kutta family. What are the advantages that makes RK4 more popular than RK5? 3.4 Motion Tracks You were given three files. A.txt, B.txt, C.txt. All these carry motion tracks of the joints of an arm throwing/pitching a ball. All three of these are of of same time-length and have the same number of frames. You are told that one of these is based on animation using motion capture, 2nd based on animation using keyframing and the 3rd based on animation by dynamic simulation. How would you determine which is which? What analysis methods would you run on these datasets? 8/31/09 4/6 4 PERCEPTION (Answer 2 of 4) 4.1 Pose Estimation You are given a 2ft x 2ft x 1in board of wood and 3 cameras. The goal is to move this board in an environment and determine the POSE of the board as it moves in the environment. a) Do you need 3 cameras to do this Pose Estimation? What method would you use? Specify what else would you need and why? b) If you do use all the three cameras, why? (what would be the advantage?) how would you place them? In a traingle? 2 on one side, 1 on the other side? Justify your reasoning. 4.2 Components Analysis Explain the difference between PCA and ICA. Both are in wide use for classification purposes. Why? Which would be a good method for face recognition? Which one for classification based on Motion? 4.3 Particle Filters Explain how the core algorithm in particle filters is really importance sampling. In particular, 1) Give formulas for the the proposal density and target density, and what are the importance weights? As an example, use target tracking of a spherical 3D object in a 2D image as an example. 2) Explain what happens if we increase the number of objects from one to two or more? How will the quality of the estimated state evolve as a function of the number of particles and the number of targets? Please make sure to explain this in terms of importance sampling. 3) Finally, if we use a 1000 particles, how many targets do you expect to be able to track. Explain your reasoning listing all factors that would go into your answer. 4.4 Nightmare on Elm Street For a video production that you are involved in, one of the crucial scenes requires a group of (elm) trees to exhibit choreographed, controlled, and photo-realistic motion. While models could be produced and animated under computer control in a studio, the director doesn’t have the time or the budget to take that route. She has however read a paper called “Graph Cut Video Textures.” She asks whether you could go out and film a bunch of trees blowing in a strong wind and then generate an appropriately choreographed motion. Particularly important to this scene is the coordination of the movement of the trees in space and time. How is this problem similar to and different from previous work on controllable video sprites? How could you analyze and represent the different movement patterns of the trees that occur naturally, so as to come up with a set of movement primitives? How would you approach the problem of compositing video textures so as to achieve choreography and coordination? How would the problem change if you were choreographing video of human dancers instead of trees? 8/31/09 5/6 5 AR/VR (Answer 2 of 4) 5.1 Interaction Techniques There are two broad classes of interaction techniques for VR: 3D virtual pointers, and image plane techniques. (a) briefly define what each is, including what kinds of interactions they are good and bad for. (b) discuss each of these in the context of mobile AR systems. Use the discussion to discuss the problem of interaction in mobile AR, in general, what kinds of interactions would be common in "representative" mobile AR applications, and what the pros and cons are of possible interaction techniques are. 5.2 Presence (a) Define the concept of "presence," as used by the VR community. There are at least two popular definitions: give them both, and then pick one and say why you prefer it to the other. (b) Is the concept of presence meaningful in AR. Justify your answer, and specifically point out an similarities and differences between what the concept would mean in VR and AR. 5.3 Applications of AR and VR It has been argued that the main thing holding back VR (and soon AR) from popular use is the lack of compelling applications, and that the technology problems would be solved if the applications where there. (a) Argue for or against this viewpoint, in the context of VR. (b) Argue for or against this viewpoint, in the context of AR. 5.4 3D Displays For each of the following display types, describe the state of the art and near-future expected advancements for them. Discuss their advantages and disadvantages, especially relative to other options. (a) Volumetric displays. (b) Head-mounted Projected Displays. 8/31/09 6/6