课程名称︰计算机图形
课程性质︰选修
课程教师:欧阳明
开课学院:电资学院
开课系所︰资工所、网媒所
考试日期(年月日)︰2013.11.18
考试时限(分钟):
试题 :
Interactive Computer Graphics Mid-term Exam, 18 Nov. ,2013
1. (5%) Suppose that we render Bezier patches by adaptive subdivision so that
each patch can be subdivided a different number of times. Do we maintain
geometric continuity along the edges of the patches? Draw a picture and
explain your answer.
Ans: If we have two patches that share an edge and subdivide only the patch
on one side of this edge, we can create a crack. The middle shared
endpoint on the subdivided patch does not have to lie on original edge.
We can either create an extra triangle from the original endpoints
and this middle point to fill the crack or we can triangulate the
unsubdivided patch to meet the new subdivided edge, i.e. we replace
the unsubdivided patch by a set of triangles that use three of the
edges of the patch and the subdivided edge.
2. (10%) Clipping
Clip the line segment from (-1, 4) to (2, -1) to the rectangle defined by
(0, 1) and (1, 0). Use a parametric technique to find line intersections.
You can give the parameter values for the starting and ending points of
the clipped lines (instead of the actual coordinates) if you want to. You
do not need to follow any particular algorithm - just show that you can
find where the line should be clipped.
3. (15%) Frustum Clipping
Define the frustum of vision to be centered on the z-axis with the
viewpoint (eye) at (0, 0, -d) and with the window on the x, y-plane having
its center at (wex, wey, 0), width=2*wsx and height=2*wsy. The far clipping
plane is to be parallel to the window and intersect the z-axis at (0, 0, f).
(a) (6%) Give the equations (in the window coordinate system) of the six
clipping planes. Adjust the signs in your equations (if necessary) so
that a positive value denotes "visible" and a negative value denotes
"invisible".
(b) (9%) How to derive the perspective matrix appropriate for this
formulation of the problem. Explain your answer in steps, for example,
step 1, step 2, etc.
4. (15%) BSP tree
Figure 1: http://i.imgur.com/O7w1j5h.png
i. (8%) Construct the Binary Space Partitioning (BSP) tree of the model
in Fig 1. Please use the right part of node 3 as the root. Split any
line segment as you wish, and mark them as a, b, c, d, etc., then
choose the smallest polygon as the next sub-root (children) when you
have multiple candidates.
ii. (7%) From the BSP tree in (a), derive the display sequence in terms of
the viewing position "the eye", where the eye is at the back-side of
(behind) polygon 3.
5. (10%) Transformation
Let M denote the matrix to transform object space to world space, V denote
the matrix to transform world space to camera space. There is a normal
vector N but is described in object space. Please derive a matrix in terms
of M and V that transforms N to camera coordinate N'. You can define other
variables to make the derivation more understandable.
6. (10%) Curves and Surfaces
Figure: http://i.imgur.com/vw3dTjk.png
(1) (5%) Please give a brief comparison (advantages) between Bezier curve
and B-spline.
(2) (5%) If we have control points, P1, P2, …, P5, how to draw a curve
through start point P1 and end point P5 using B-spline (that is let the
curve pass through P1 and P5)? Write down the shortest control points
sets to draw. (just like (P1, P2, P2, P3, P4, P5))
Ans: (2) (P1, P1, P1, P1, P2, P3, P4, P5, P5, P5, P5, P5)
7. (15%) Ray tracing
(1) (5%) What is the shadow ray in Ray Tracing, why is it needed?
(2) (5%) Which part is the most computational expensive in Ray Tracing? Why?
(3) (5%) Consider a ray passing through a sphere. Find the point on this
ray closest to the center of the sphere. For example, a ray through
(0, 0, 0) and (1, 1, 1) passing through a sphere with a center of
(3, 4, 5) with a radius of 10, find the point on this ray closest to
the center of the sphere
Ans: (3) The line from the center of the circle to the closest point on the
ray must be perpendicular to the ray. Thus, if the ray is written
as p = p_0 + td and the circle has radius r and center p_c, we can
solve
d · (p_0 + td - p_c) = 0
for t. We can then check the distance between this point and the
center. If it is greater than r, the ray misses the sphere.
8. (5%) What is your term project for this semester? What are the
technical difficulties involved in the project? (You can refer to
the project listing).
9. (15%) Illumination Models
A popular illumination model is called Phong model, which is developed in
1975. The formula of this model for each color channel is (please refer to
textbook):
_ _ _ _ n
I = I_a k_a O_d + f_(att) I_P [k_d O_d (N · L) + k_s (R · V) ]
(1) (5%) Could you give two examples of materials that definitely can not
be approximated by the Phong model? And simply explain why.
(2) (5%) A general depiction of illumination model is called bidirectional
reflectance distribution function (BRDF) (please refer to textbook,
bidirectional reflectivity):
I = f_(BRDF)(L, V)
The idea of this function is that given a viewing and lighting (single
light source) direction, the BRDF function returns its reflectance
(or precisely, the ratio between the incident flux and reflected
intensity). Please design a platform to capture BRDF of materials. You
will have the following equipments:
1. Spheres of different materials
2. A digital camera
3. A light source with a 1DOF rotational arm that allows you to move
the light direction horizontally.
(3) (5%) The function I, if stored as a database, can be quite big
(much larger than 1 Giga bytes). This can be a problem for ordinary
PC graphics card in real-time graphics. Can you think of a way to
compress the data of function I? (Assume viewing and lighting
direction is in division of one degree, say in spherical coordinate
system, per sample in theta and phi direction.).