Homework Assignment 3

Homework Assignment 3 (40 points)
Due: 3/10/2015
Note: you have two options here. You can either do #1 and #3-#6, or just #2.
1. Let
𝑞1 and 𝑞2 be two unit quaternions with 𝑞1 = (√2/2, √2/2, 0, 0) and 𝑞2 = (√2/2, 0,
√2/2, 0)
, then what is the value of slerp(𝑞1, 𝑞2, 1/2)? (10 points)
2. Write a C/C++ program to use Shoemake’s second approach to generate a closed,
𝐶1-continuous,
composite cubic Bezier curve to interpolate four given unit quaternions (slides 17-30 of the notes:
Interpolating Values III). The program takes four input unit quaternions from the user and then
generates a closed,
𝐶1-continuous, composite cubic Bezier curve to interpolate the given unit
quaternions on the 3D unit sphere. (40 points)
3. “Cubic interpolation” is a popular path smoothing technique (slides 38-39 of the notes: Interpolating
Values III). The approach is as follows: for each point
Pi, construct a cubic curve P(t) to interpolate
𝑃𝑖-2, Pi1, Pi1 and Pi2 at P(0), P(1/4), P(3/4) and P(1), and then use the value of P(1/2) to adjust
Pi. The new location of Pi is defined as
Why wouldn’t we use
P(1/2) as the new location of Pi directly? (5 points)
4. Using the “Shortest path” approach to find a path from a start point (S) to a destination point (D)
on a polygonal surface mesh, one needs to check that, after unfolding of all the faces, if the line
segment that connects S and D lies completely inside the unfolded faces. Design an algorithm to
do this work. The input to this algorithm is a polygonal surface mesh (polyhedron) and two points
on the polygonal surface mesh. Use the data structure introduced in CS535 to represent the input
polygonal surface mesh. (10 points)
5.
A (x, y, z) and B (a, b, c) are two points of a bicubic Bezier surface patch S(u, v), 0 u, v 1.
A path along the surface
S(u, v) from A to B can be constructed as follows: find the points (s, t) and
(
p, q) in the parameter space of S(u, v) such that A S(s, t) and B S( p, q), then map the line
segment that connects (
s, t) and ( p, q) to the surface. The resulting curve is a good path from A to
B. How would you find (s, t) and ( p, q)? (10 points)
6. In 3D free-form deformation, after the manipulation of the 3D coordinate grid, the deformed
position of a vertex of the object is determined through a
trivariate Bezier interpolation process.
What is the reason in doing so (in your opinion)? (5 points)