1.1

360 degree cow

1.2

dolly zoom

2.1

tetrahedron

Number of vertices: 4, Number of faces: 4

2.2

cube

Number of vertices: 8, Number of faces: 6

3

textured cow

color1: [1.0, 0.0, 0.0]

color2: [0.0, 0.0, 1.0]

4

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

T_relative=[0, 0, 0]

If we imagine the cow in 3D coordinates to be rotated so that it turns into the expected result, then the new x axis would be along y axis of view coordinate system, the new y axis would be along the x axis of view coordinate system and z axis would remain unchanged. Also we do not need to translate the cow.

textured cow

R_relative=[[1, 0, 0], [0, 1, 0], [0, 0, 1]],

T_relative=[0, 0, 3]

The cow needs to be moved away from the camera, so we translate it by 3 units along z axis w.r.t. view coordinate system ((with the understanding that actually the camera shifted by 3 units away form camera)

textured cow

R_relative=[[1, 0, 0], [0, 1, 0], [0, 0, 1]],

T_relative=[0.5, -0.5, 0]

The cow is shifted 0.5 along the positive x dimension and -0.5 along the negative y dimension wrt view coordinate system. (with the understanding that actually the camera shifted and not the cow)

textured cow

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

T_relative=[-3, 0, 3]

First, we can imagine the cow be rotated such that its new x axis align with z axis of camera, and z axis of cow aligns with negative x axis of camera, y remains the same which explains the R_relative specifying rotation wrt view coordinate system. In the new coordinate system, the origin needs to be shifted by 3 coordinates along negative x axis and 3 units along the positive z axis (specyfying where the world coordinate origin is wrt new rotated coordinate frame.)

textured cow

5.1

Left to right: Camera 1; Camera 2; Combined

5.2

torus point cloud

5.3

torus mesh

Rendering speed of mesh is faster than point cloud (with comparable vertices). Rendering quality of mesh is better. Ease of use depends on application: mesh has more information about connectivity and structure which could be very useful, but in some other applications like merging two shapes without caring about connectivity (like for q6), pointcloud is much easier representation. Memory usage of pointcloud is lower than mesh (since it doesn't store connectivity information)

6

The idea is to create a figure something like national emblem of India like shown below:

emblem

We started with cow mesh, and sampled 1000 points pointcloud from it using code from Q7. We get the following:

front

Then we applied a rotation to the cow pointcloud to have one cow facing left and other facing right.

Then we simply aggregated the pointcloud to obtain the final result

combined

7

Left to right: Original Mesh, 10 points Point cloud, 100 Points Point Cloud, 1000 Points Point Cloud, 10000 Points Point Cloud