Assignment 1 - Rendering Basics
Nanaki Singh
1.1 - 360 degree renders Cow mesh with 360*

2.1 - Constructing a Tetrahedron
Number of vertices: 4 Number of faces: 4

2.2 - Constructing a Cube
Number of vertices: 6 Number of faces: 12

3 - Re-texturing a mesh
Color 1: [0, 0, 1] = pure blue Color 2: [1, 0, 0] = pure red

4 - Camera Transformations
R_relative is a rotation matrix (3x3) that is applied ontop of the original rotation (nothing - [[1, 0, 0], [0, 1, 0], [0, 0, 1]]). Changing its paramaters effectively act to rotate the image along the x, y, and z-axis as defined by generic rotation matrices. T_relative is a translation matric that simply shifts the camera in the x,y, and z-coordinate frame. The old T is first rotated by R_relative and then the T_relative change is applied on top.
- R_relative: [[0, -0.866, 0.5], [-1, 0, 0], [0, 0.5, 0.866]]
- T_relative: [-0.2, 0, 1.2]

5.1 - Rendering Point Clouds from RGB-D Images

5.2 - Parametric Functions
Both points clouds were down sampled to reduce computation time
Torus

Mobius strip half (my choice)

5.3 - Implicit Surfaces
Trade off of rendering a mesh vs a point cloud:
- Rendering speed: faster for point cloud because it only involves plotting points in 3D space. Meshes are composed on vertices and faces and requires rasterizing each triangular mesh which is time consuming and computational more expensive.
- Rendering quality: Meshes are of higher quality because theire faces are smoother surfaces and are typically rendered with some definable texture and lighting conditions (with a surface that is able to capture shadows and bright spots). Points are lower quality and depending on the number of sampled points/resolution, you could see holes in the data.
- Ease of use: Point clouds - preferable for model training tasks because their raw data is easy to process/is structured. Meshes - benefitilal if you are hoping to analyze/visualize a 3D object because you can extract surface normal and depth information, augment texture and gain a better understanding of how the 3D object interacts with its surroundings.
- Memory usage: Mesh storage is significantly greater because we store vertex points, face coordinates and texture information per vertex. Storage consumption is also based on resolution of object.
Both Mesh and Point Cloud representations serve different purposes. For high resolution, detailed representations where there is little concern for storage and computation costs, meshes are preferred. To understand the general structure and store minimal, uncorrelated information about point information that can be easily processed by a machine learning model, a point cloud is preferred.
Torus Mesh

Mobius strip (my choice)

6 - Something fun
I manually outlined the vertices and faces for an octahedron shape and used interpolation with 2 base colors to create a two-toned texture. The colors changed from red to blue based on the y-axis value of the 3D object.

7 - Sampling points on a mesh



