16-825 Assignment 1: Rendering Basics with PyTorch3D

Chia Hui Yen (huiyenc) | Fall 2025

1. Practicing with Cameras (15 Points)

1.1. 360-degree Renders (5 points)

360-degree continuous view of the cow mesh from multiple viewpoints:

360 obj render

1.2 Re-creating the Dolly Zoom (10 points)

Recreated the famous dolly zoom effect by changing focal length while moving camera to keep subject size constant:

Dolly Zoom

2. Practicing with Meshes (10 Points)

2.1 Constructing a Tetrahedron (5 points)

Manually constructed tetrahedron mesh with 4 vertices and 4 triangle faces:

tetrahedron

2.2 Constructing a Cube (5 points)

Manually constructed cube mesh using triangle faces (8 vertices, 12 triangle faces):

cube

3. Re-texturing a mesh (10 points)

Re-textured cow mesh with smooth color transition from front to back using linear interpolation:

Color choices: color1 = [0, 0, 1] (blue, front) → color2 = [1, 0, 0] (red, back)

Cow render

4. Camera Transformations (10 points)

Found relative camera transformations (R_relative, T_relative) to produce specific target views:

Transformations applied:

Transform 1 Transform 2 Transform 3 Transform 4

90° Rotation Side View

5. Rendering Generic 3D Representations (45 Points)

Sample point cloud rendering of bridge: bridge

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

Constructed point clouds from 2 RGB-D images using camera intrinsics/extrinsics and depth information:

Individual point clouds and combined result:

Point Cloud 1 Point Cloud 2

Combined RGB-D Final Combined

5.2 Parametric Functions (10 + 5 points)

Generated 3D point clouds by sampling parametric functions:

1. Parametric sphere (reference): Sphere

2. Torus point cloud (sampling torus parametric equations): Torus point cloud

3. Helicoid point cloud (custom parametric surface): Helicoid point cloud

5.3 Implicit Surfaces (15 + 5 points)

Generated meshes from implicit functions using marching cubes algorithm:

1. Torus mesh (from implicit function F(x,y,z) = 0): Torus mesh

2. Helicoid mesh (custom implicit surface): Helicoid mesh

3. Mesh vs Point Cloud Tradeoffs:

6. Do Something Fun (10 points)

DNA Double Helix Morphing Animation: Created a morphing animation from sphere to DNA double helix structure using custom parametric functions and point cloud interpolation. Features color transitions and 360° rotation.

DNA Morphing

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

Implemented stratified sampling to uniformly sample points from triangle mesh surfaces using:

  1. Face selection proportional to face area
  2. Uniform barycentric coordinate sampling
  3. Point computation via barycentric interpolation

Cow mesh vs sampled point clouds (10, 100, 1000, 10000 points):

10 points 100 points 1000 points 10000 points