[16-889] Assignment 1 Submission: Aarush Gupta (aarushg3)

Late days used: 1

1 late day image


1. Practicing with Cameras


1.1. 360-degree Renders (5 points)


Alt Text


1.2 Re-creating the Dolly Zoom (10 points)


Alt Text


2. Practicing with Meshes

2.1 Constructing a Tetrahedron (5 points)


Alt Text


The rendered tetrahedron has 4 vertices and 4 faces (with triangle vertices as each of the 4 triplets of points obtained from the 4 vertices of the tetrahedron)

2.2 Constructing a Cube (5 points)


Alt Text

The rendered cube has 8 vertices and 12 triangular mesh faces (two triangles for each of the six sides of the cube).


3. Re-texturing a mesh (10 points)


Alt Text

color1 and color2 have been chosen as [0, 0, 1] and [1, 0, 0]. They correspond to RGB values and hence correspond to blue and red colors respectively.

4. Camera Transformations (20 points)


  1. For the first image, R_relative rotates points on the object by 90 degrees in the clockwise sense along the z-axis. T_relative doesn't do anything.

R_relative=[[0, 1, 0], [-1, 0, 0], [0, 0, 1]] T_relative=[0, 0, 0]


Q4 Image 1


  1. For the second image, R_relative doesn't have any effect, whereas T_relative moves the points on the object farther away from the camera (along the positive z axis) in the camera frame.

R_relative=[[1, 0, 0], [0, 1, 0], [0, 0, 1]] T_relative=[0, 0, 2]


Q4 Image 2


  1. For the third image, R_relative doesn't have any effect, whereas T_relative moves points on the object along the positive x and negative y axis in the camera frame.

R_relative=[[1, 0, 0], [0, 1, 0], [0, 0, 1]] T_relative=[0.5, -0.5, 0]


Q4 Image 3


  1. For the fourth image, R_relative first rotates the points on the object by 90 degrees in the anti-clockwise sense along the y-axis in the camera frame. And then the T_relative matrix places those points in the normalized image frame (at the same position where the object originally was).

R_relative=[[0, 0, 1], [0, 1, 0], [-1, 0, 0]] T_relative=[-3, 0, 3]


Q4 Image 4


5. Rendering Generic 3D Representations

5.1 Rendering Point Clouds from RGB-D Images (10 points)


Q5 PC-combined Gif


5.2 Parametric Functions (10 points)


Q4 Image 4


5.3 Implicit Surfaces (15 points)


Q5 Gif solution


Both point clouds and meshes have their own advantages and disadvantages. Given the same number of points, a point cloud representation would be more memory efficient as compared to a mesh representation, where we would have to store the face information as well. Also, a point cloud is much easier to modify which is not as simple in the case of meshes (because of the connectivity of the vertices). That said, point clouds are a more efficient representation in terms of rendering quality (since they show better connectivity of the structure with the same number of vertices as a point cloud). Also, we can easily convert a mesh representation to a point cloud representation by stratified sampling which is also a pro.


6. Do Something Fun (10 points)

The gif below shows a rendering of Daft Punk helmets using mesh obtained from Free3D. The meshes have been coloured using a rainbow colour scheme as in some of the questions above.


Q6 Gif solution


(Extra Credit) 7. Sampling Points on Meshes (10 points)

Q7 Gif solution