16-825 Assignment 1
1. Practicing with Cameras
1.1. 360-degree Renders
A 360-degree gif showing the cow mesh from many continuous viewpoints:

1.2 Re-creating the Dolly Zoom
The dolly zoom effect showing the unsettling perspective distortion:

2. Practicing with Meshes
2.1 Constructing a Tetrahedron
360-degree gif animation of the tetrahedron:

Vertices and Faces: A tetrahedron has 4 vertices and 4 triangular faces.
2.2 Constructing a Cube
360-degree gif animation of the cube:

Vertices and Faces: A cube has 8 vertices and 12 triangular faces (2 triangles per cube face).
3. Re-texturing a mesh
360-degree gif of the re-textured cow with smooth color gradient:

Color Choice: Used a gradient from blue to red, where blue represents the front of the cow (smallest z-coordinate) and red represents the back of the cow (largest z-coordinate).
Camera transformation analysis and results:

R and T Matrices Used:
First Pose:
- R_relative = Rz(-90°) = [[0, 1, 0], [-1, 0, 0], [0, 0, 1]]
- T_relative = [0, 0, 0]
- Final T = [0, 0, 3] (after adding default camera distance)
Second Pose:
- R_relative = Rx(0°) = [[1, 0, 0], [0, 1, 0], [0, 0, 1]] (identity matrix)
- T_relative = [0, 0, 5]
- Final T = [0, 0, 8] (after adding default camera distance)
Third Pose:
- R_relative = Ry(20°) = [[0.9397, 0, 0.3420], [0, 1, 0], [-0.3420, 0, 0.9397]]
- T_relative = [0.5, 0, 0]
- Final T = [0.5, 0, 3] (after adding default camera distance)
Fourth Pose:
- R_relative = Ry(90°) = [[0, 0, 1], [0, 1, 0], [-1, 0, 0]]
- T_relative = [0, 0, 0]
- Final T = [0, 0, 3] (after adding default camera distance)
5. Rendering Generic 3D Representations (45 Points)
5.1 Rendering Point Clouds from RGB-D Images
Point clouds constructed from RGB-D images:

5.2 Parametric Functions
Torus Point Cloud
360-degree gif of torus point cloud with visible hole:

Additional Object
360-degree gif of Möbius strip:

5.3 Implicit Surfaces
Torus Mesh

Additional Object
360-degree gif of heart mesh:

Trade-offs Discussion
Mesh vs Point Cloud Trade-offs:
Rendering Quality:
- Mesh: Crisp silhouettes, correct shading, great for close-ups
- Point cloud: Can look "holey" unless dense/large point radius
Speed:
- Mesh: Once extracted, renders fast on GPU. But extraction (mcubes on big grid) costs time
- Point cloud: No extraction step; render cost grows with #points
Memory:
- Mesh: mcubes uses O(res³) memory; increasing resolution skyrockets RAM/time
- Point cloud: Scales with #points (often cheaper than dense 3D grid)
Editing/Physics/Operations:
- Mesh: Easier for collision, smoothing, UVs, and physics engines
- Point cloud: Easy to fuse from sensors, but harder to use for physics/texturing
6. Do Something Fun
Creative 3D visualization - tube with confetti point cloud:
