首页 > > 详细

COMP4033辅导 、讲解 c/c++,Python编程

COMP4033 Computer graphics
Assignment 2– Writing and Code Assignment
(Due on 13:00pm April 7th)
Part I: Questions ()
1. (12 marks)
Give a sequence of 4x4 matrices that transforms the parallelogram in the left figure to the unit square in the right. Write down the name of the transformation for each matrix. Also write down the transformation matrix of each step.

2. (10 marks)
The following converts an oblique frustum into an orthogonal one where the z-axis coincides with the frustum’s central line. Note that xa = (xr-xl)/2 and ya = (yt-yb)/2. Give the matrix of the transformation.

3. (8 marks)
Consider the figure below. i is the direction of the incident light, n is the normal of the surface at S and r is the direction of the reflection. All of them are unit vectors. Derive a formula for r in terms of i and n.

4. (12 points)
(a) Derive the 4x4 homogenous matrix representation of a rotation transformation in 3D space of 30 degree about the directed line through the origin with direction vector (0, 1,1).
(b) What is the image of point under the transformation in (a)?

5. (15 points)
(a) Given a triangle △ABC in 2D plane, show that any point P in the plane can be represented uniquely as show that
, with .
(b) P is inside △ABC or on one of its sides if and only if ,,are all nonnegative.
(c) Given a triangle △ABC in 2D plane with , , and , determine if the point is inside △ABC by computing the barycentric coordinates of P with respect to △ABC.
6. (4 marks)
The following code is written to draw the outer surface of a cylinder as a quad-strip but nothing is seen on the screen. Assuming that lighting parameters and reflectance are properly set, explain why and suggest a remedy.

7. (15 points)
Consider the function sphere() that draws the outer surface of a unit sphere. Assume that a cylindrical map of the earth has been set up as the current texture and lighting is enabled. Suggest modifications on the function for supporting lighting calculation and the mapping of the texture on the sphere.

Part II: Code and implementation (170 marks in total)
Phase I:
Reuse the updated Assign0 to generate a robot. You are expected to
Use spheres (5 marks), cylinders (5 marks), cubes to draw your robot. It is composed of 2 arms, 2 legs, 1 head, 1 body. Note: when you use the formulas shown on ppt and below to implement the spheres (25 marks) and cylinders (25 marks), you can get more marks as indicated in brackets.
And you can animate and move the robot. You can make your robot both walk (10 marks) and run (10 marks). Note: you are expected to set the rotation angles between joint of arm or legs.
An additional point light source is expected to be added which moves together with the robot (10 marks) . Therefore, there are two light sources. One is the one implemented with the code from the ppt (10 marks). Another is your new light source.
Please make sure that the correct normal (10 marks) are to be calculated in your code. This is to ensure the lighting calculation.

Note: The parametric function to implement a sphere can be founded in ppt. The parametric function to implement a cylinder can be shown as
x = r*cos(2pi*u),
y = r*sin(2pi*u),
z = v/h,
which maps rectangle in u,v space to cylinder of radius r and height h in world coordinates.
For texture mapping, the following formula
s = u,
t = v,
helps to map from u, v space to texture space. Note that in the GLSL implementation, you need to convert a quadrilateral into two triangles (10 marks) as follows


Phase II:
By reusing the code of implementing robot, you are now trying to add texture mapping on the surface of your object. You are expected to
Add two ball whose surfaces are composed of triangles (10 marks).
Apply football_texture.jpg as the texture image on the surface of one ball (20 marks). Apply earth_texture.jpg as the texture image on the surface of another ball (20 marks).


联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!