G&V QUALIFIER SPRING 2010 GENERAL (Answer 4 of 6) Smoothing

advertisement
G&V QUALIFIER SPRING 2010
GENERAL (Answer 4 of 6)
Smoothing
Consider a polygonal loop P (piecewise linear, closed, manifold curve in 3D). Consider a smoothing
step A which produces a loop A(P) by computing performing two steps: (1) for each point, compute
the average of itself with its two direct neighbors and (2) replace each point by that average.
(a) Let Ak(P) be the result of applying this process k times. Explain in general terms what will happen
if you repeat this process a large number of times: i.e. what happens to Ak(P) as k increases.
(b) Now consider a split process S(P) which inserts a new vertex in the middle of each edge and a
refinement process R(P)=A(S(P)). Explain what happens to Rk(P) as k increases. In particular, will the
curve converge to any known smooth curve?
Locking
You are given two polygonal loops P and Q in three dimensions. Each has exactly 3 edges (it is the
boundary of a triangle). Provide the details (algorithm, geometric constructions) for testing whether P
ad Q are locked, by which we mean that there is no infinite translation that could separate them
without collision. Provide a formal justification that your algorithm works.
Devil’s Ride
You are given a highly refined (nearly smooth) polygonal loop P (piecewise linear, closed, manifold
curve in 3D). You want to produce an animation where the camera continuously slides along P at
constant speed while minimizing tilt. Describe the overall approach and provide the details of the nontrivial geometric constructions. When the camera passes a second time at a particular point on P, will it
necessarily have the same orientation? Justify your answer.
Stabbing Ray
You are given a triangle mesh M represented by a Corner Table of n triangles that bounds a convex
solid. You are also given a ray R that starts at a point Q outside of the solid and has tangent T. You
want to establish whether R hits M and if so report the first triangle of M hit by R. Let C(n) be the
expected cost of doing so. A naïve O(n) algorithm tests each triangle of M, establishes whether it is hit
by R, and reports the one with the closest intersection. We want a faster (sub-linear) algorithm. No
preprocessing of M is allowed. Explain whether it is possible and justify your answer. If so, provide
such an algorithm (describing it at a high level), justify its correctness, and clearly explain what
assumptions you are making on M and what is the expected asymptotic cost.
Molecular Collisions
You have been given the assignment of performing collision detection between two 3D models of
molecules, each of which is represented as collections of solid spheres. The spheres of one molecule
may possibly intersect with each other, but one molecule's spheres must not overlap in 3D with spheres
from the second molecule.
(a) Describe an efficient algorithm for determining whether two molecules are overlapping in space.
This is a static interference detection problem. What is the time complexity of your algorithm?
(b) Assume that both molecules are undergoing translational motion (no rotation). Give an efficient
algorithm for determining whether they will collide, and if they collide, provide an exact time of the
collision. Note that repeated calls to your solution of part (a) is not efficient, nor will such a solution
be exact.
Rotations
(a) Describe how you can determine whether a 4x4 transformation matrix is a pure rotation (no scaling,
translation, or shear).
(b) You are given a point (x,y) on the unit circle in 2D, that is, the point is a distance of one from the
origin. What pure rotation matrix will transform the point (x,y) onto the x-axis? Do not use
trigonometric functions to calculate any part of this matrix.
(c) Given a point (x,y,z) in 3D that is a distance of one from the origin, describe how to calculate a
pure rotation matrix that transforms the point (x,y,z) onto the x-axis. Again, no trig functions.
(d) You are given a point (x,y,z) on a surface, a unit surface normal N and a unit tangent vector T that
are both specified at that surface point. Describe how to calculate a rigid transformation (just
translation and rotation) that will transform this point to a new position (x',y',z') and will rotate the
surface to align N and T with a new unit normal N' and a new unit tangent T'. You may assume that N
and T are perpendicular to each other, and that N' and T' are also mutually perpendicular.
RENDERING (Answer 2 of 4)
Rasterization versus Ray Tracing
You have been given the vertex coordinates V1, V2 and V3 for a triangle that is entirely within the
viewing frustum of your virtual camera. You are going to render this triangle using a perspective
projection. On the screen, the triangle has roughly the same width and height, and it will cover about
200 pixels.
(a) Describe the steps that it would take to render the triangle using ray tracing.
(b) Describe the standard steps that would be used by an efficient rasterization-based renderer for
drawing the triangle. Note that this is not at all the same as performing ray tracing.
(c) Give an estimate of the number of arithmetic operations that it will take to render this triangle for
each of the two methods from (a) and (b).
Path Tracing versus Photon Maps
Jim Kajiya's paper “The Rendering Equation” described how to use path tracing in order to solve the
rendering equations. The images that he generated using this method showed various global
illumination effects. The Photon Mapping approach to rendering can also simulate global effects. For
each of the two phenomena, describe how Path Tracing and Photon Mapping simulate the effect,
discuss the quality of the results, and analyze the computational costs:
(a) Caustics
(b) Indirect illumination between diffuse surfaces
Fuzzy Shadows
There are many ways of generating fuzzy shadows. Describe each of the methods listed below. Be
especially careful to describe any aspect of the method that requires random sampling, and specify how
this random sampling should be done. Also for each method, tell whether it approaches creating true
penumbra in the limit of using many samples.
(a) Distribution ray tracing for shadows with an area light.
(b) Lance Williams' two-pass z-buffer method for shadows.
(c) Using the method of (b) repeatedly using many point lights to mimic an area light.
(d) Percentage closer filtering, as described in [Reeves et al. 1987].
Texture Anti-Aliasing
For each of the following kinds of textures, describe how you would anti-alias them for the case of
texture minification (when the viewer is far from the textured surface).
(a) A standard color texture map, used for diffuse reflectance of the surface.
(b) An environment map, used to simulate reflections.
(c) A bump map, that is, a mapped height field used to simulate bumps.
(d) A normal map, which stores surface normal variations to simulate bumps.
PERCEPTION (Answer 2 of 4)
Segmentation
Formulate the perceptual grouping problem as a graph-partitioning problem. In your formulation also
construct how this makes the problem a global segmentation problem as opposed to being driven by
local regions. Then relate briefly how algorithms like Normalized Cuts, Min Cuts, and Graph Cuts are
(collectively or individually) brought to bear on this problem. Do provide short descriptions of each,
and their relationships to each other. Why do researchers who like these graph-based approaches
believe they are better than other inference algorithms for MRF models, such as mean field
approximation, loopy believe propagation, or MCMC?
Plenoptics
Describe the Plenoptic Function. What is the relationship between the Plenoptic Function (and
Plenoptic modeling) and Image Based Rendering (IBR)? Does this imply any limitations on IMR? Is it
possible to sample the whole space of the Plenoptic function? Explain Why or Why Not?
Action Recognition
The field of action recognition has introduced concepts like “Temporal-Templates” and “Space-Time
Shapes.” as representations. Describe these representations (and their formulations) and compare
them. Is there something common between them? Further work in this area has taken these
representations and then used other information to help with recognition of actions. What are the
limitations of these representations and what additional information can help with action recognition in
real videos (not just jumping jacks!)? What other spatio-temporal information needs to be added to
these representations to really make these approaches work in real domains?
Object Recognition
The recent increase in work on object categorization has been driven by a growth in statistical machine
learning techniques. Such techniques allow for linking annotations, dictionaries, labels, and even
context to aid in object recognition. Describe (and even present a formulation of) how low-level image
features and other appearance metrics can be combined with higher-level information from visual
dictionaries and visual context to aid object categorizations. What is statistical machine learning
techniques really empowering in this work? How do such approaches scale and how can these
techniques work with partial labeling or in unsupervised (or weakly supervised) cases?
VR/AR (Answer 2 of 4)
Color and Reality
(a) What is the relationship between a color specified in the RGB, HSV, LAB and XYZ color spaces?
(b) If I had to use one of these color spaces to represent the color of a real-world object (not a more
complex specification of surface properties), which one should I use? Why?
(c) I am creating a video mixed AR system, with a camera and a display. Describe how the color
gamuts of these two devices limit what can be displayed accurately on the system.
(d) Consider head-worn and handheld video-mixed AR systems. Which is more tolerant to poor color
reproduction, from the viewpoint of a user's perception of the quality of the system, and why?
Registration
When overlaying graphics on a user's view of the world using see-through head-worn displays, there
are a variety of factors that contribute to registration errors. We can roughly consider the registration
errors to come from tracking error, calibration error, and system latency.
(a) Give a specific technical example of each kind of error.
(b) Consider two kinds of tracking, infrastructure-based tracking (e.g., the IS900 used in the Virtual Pit
in the AEL) and through-the-lens vision-based tracking (e.g., where the camera is located using
computer vision on the video that is also displayed on the AR display). Discuss why a vision-based
system might have lower registration error even if the absolute accuracy of the location of the camera
relative to the scene is worse than the infrastructure based system.
Display
All current approaches to AR and VR displays have issues with depth perception.
(a) What is more important to our perception of depth in a typical 3D view of the world, stereo vision
or motion parallax? Justify your answer.
(b) Typical VR displays are focused at a fixed distance from the eye, and thus have issues with
conflicts between the display technology and how our eyes deal with a perceive depth (which can
cause headaches in some people). Discuss.
(c) In an optically transparent display, the fixed focal distance of the display causes different problems
with user perception of the combined scene. Discuss.
Virtual World Architecture
(a) There are two basic approaches to dealing with massive scale in online multiplayer worlds, spatial
subdivision (e.g., Second Life) or world partitioning (e.g., into shards, as in World of
Warcraft). Summarize each architectural approach, highlighting how each of these deals with the
complexity of an MMO (e.g., world size, number of players, etc).
(b) Each of these approaches is suited to certain kinds of virtual world experiences. Using SecondLife
and WoW as examples, why do these architectures work well for the experiences these worlds
provide?
ANIMATION (Answer 2 of 4)
Joints
Both Maya and Poser use three concatenated Euler angles to represent a ball joint. Within the normal
range of motion, such as walking or running, this orientation representation seems to work well.
However, when Karen animated a hand-spring motion of a diver, the shoulder joints always seem to be
problematic no matter how hard she tried. Karen finally concluded that the degrees of freedom on
shoulders are simply not enough to model a hand-spring motion.
(a) What can possibly go wrong with three concatenated Euler angles?
(b) Propose at least two alternative representations of orientation that fix the problem.
(c) Are there any issues associated with the representations you proposed?
(d) If your animation is tied to a specific software package and you have no choice to use different
orientation representation, is there anything you can do to make Euler angles behave better?
Tinkertoys
The problem of constrained dynamics is to make the particles obey Newton’s laws, and at the same
time obey the geometric constraints. Penalty method provides a sloppy, approximate constraint
mechanism that fails to meet the desired accuracy of constraints in many situations. Baraff and Witkin
takes an approach to avoiding the issues with penalty method by directly computing the forces required
to maintain the constraints. The job of these constraint forces is to cancel just those parts of the applied
forces that act against the constraints. They used a tinkertoys example, a particle constrained to a circle
(figure 1), to illustrate how to formulate a geometric constraint and calculate constraint force. Can you
use the same idea to solve the following problem with two 3D rigid bodies (figure 2)? Suppose the ball
is constrained to the inner surface of a fixed bowl but can roll freely under the influence of gravity.
(a) Can you formulate a geometric constraint that enforces the contact between the bowl and the ball?
(b) Can you derive constraint force that applies on the ball?
(c) Can your formulation prevents the ball from slipping? That is, the relative velocity of the two
contacting surfaces at the point of contact is nonzero.
(d) Now, assume the bowl is free to move and also being simulated, how does this complicate your
method? Is the constraint force you compute in b still valid?
Figure1
Figure 2
Spacetime Optimization
Many of the 12 principles of animation defined by John Lasseter in 1987 were developed for
traditional animation, but can be applied to 3D computer animation today. Around the same time,
Witkin and Kass proposed “Spacetime Optimization” to solve for a physically plausible motion
sequence automatically. By specifying different objective functions, “Spacetime Optimization” can
produce a variety of output motions under the same physical constraints and boundary conditions.
Please describe how to formulate a spacetime optimization for the following three animation
principles:
(a) Secondary action
(b) Arcs
(c) Anticipation
Joint Angles
Consider an articulated rigid body (ARB) system. Your goal is to move the color dots on the ARB
system towards their corresponding color circles by changing the joint angles. Assuming you know the
dimension of each body part, position of each color circle in the world coordinates, and the position of
each solid dot from its nearest joint,
(a) Can you come up with an efficient algorithm to determine whether it is possible to reach all three
circles?
(b) If it is possible, can you describe how to compute the exact joint angles that meet all three
constraints?
Download