1. Practicing with Cameras (15 Points)
1.1. 360-degree Renders (5 points)

1.2 Re-creating the Dolly Zoom (10 points)

2. Practicing with Meshes (10 Points)
2.1 Constructing a Tetrahedron (5 points)
Tetrahedron mesh: 4 vertices, 4 faces

2.2 Constructing a Cube (5 points)
Tetrahedron mesh: 8 vertices, 12 faces

3. Re-texturing a mesh (10 points)
Color1: tensor([0, 0, 1]), Color2: tensor([1, 0, 0])

4. Camera Transformations (10 points)


R_relative controls the direction the camera is looking (orientation), and T_relative controls where the camera is located (position), both expressed relative to the default setup.
5. Rendering Generic 3D Representations (45 Points)
5.1 Rendering Point Clouds from RGB-D Images (10 points)

5.2 Parametric Surfaces (15 points)

5.3 Implicit Surfaces (15 + 5 points)

Discussion: Mesh vs Point Cloud Tradeoffs
Rendering Speed
- Point Clouds: Generally faster to render, especially with many points, as each point is rendered independently
- Meshes: Slower due to triangle rasterization.
Rendering Quality
- Point Clouds: Can appear sparse or noisy, especially at low resolutions. No surface continuity
- Meshes: Smooth, continuous surfaces with proper lighting and shading. Better visual quality
Memory Usage
- Point Clouds: Store only vertex positions and colors
- Meshes: Store vertices, faces, and potentially normals/textures (more memory per surface area)
Ease of Use
- Point Clouds: Simple to generate from sensors (RGB-D, LiDAR), easy to manipulate
- Meshes: Require surface reconstruction, but provide better geometric understanding
Applications
- Point Clouds: 3D scanning, robotics, real-time applications where speed matters
- Meshes: Computer graphics, CAD, applications requiring smooth surfaces and lighting
6. Do Something Fun (10 points)

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

