16-825: Learning for 3D Vision — Assignment 1

Manyung Emma Hon · mehon · Fall 2025

1.1. 360-degree Renders (5 points)

1.1

1.2 Re-creating the Dolly Zoom (10 points)

1.2

2.1 Constructing a Tetrahedron (5 points)

2.1
Vertices: 4, Triangle faces: 4 (faces: [0,1,2], [0,1,3], [0,2,3], [1,2,3])

2.2 Constructing a Cube (5 points)

2.2
Vertices: 8, Triangle faces: 12 (a cube has 6 square faces × 2 triangles each)

3. Re-texturing a mesh (10 points)

3
I chose color1=[0.0, 0.7, 1], color2=[1, 0.7, 0.7]

4. Camera Transformations

R_relative is the turn you need to apply to go from the first camera’s orientation to the second camera’s orientation. T_relative is the move you need to get from the first camera’s position to the second camera’s position.

4.1
R_relative=[[0, 1, 0], [-1, 0, 0], [0, 0, 1]], T_relative=[0, 0, 0],
4.2
R_relative=[[1, 0, 0], [0, 1, 0], [0, 0, 1]], T_relative=[0, 0, 2]
4.3
theta = math.radians(-5) R_relative=[[math.cos(theta), 0, -math.sin(theta)], [0, 1, 0], [math.sin(theta), 0, math.cos(theta)]], T_relative=[0, 0, 0]
4.4
theta = math.radians(-5) R_relative=[[math.cos(theta), 0, -math.sin(theta)], [0, 1, 0], [math.sin(theta), 0, math.cos(theta)]], T_relative=[-3, 0, 3],

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

5.1

5.2 Parametric Functions (10 + 5 points)

5.2.1 5.2.2

5.3 Implicit Surfaces (15 + 5 points)

5.3.1 5.3.2
Mesh and point clouds trade polish for simplicity. Mesh deliver a continuous surface with proper normals and material, but need a high processing cost for meshing and cleanup. The performance scales with triangle count and shader complexity. Point clouds render raw samples fast with little pipeline overhead. It's good for quick LiDAR/RGB-D previews and debugging, but lack connectivity, so quality depends on point density and splat size, often showing holes or blue. Memory also differs. Meshes can be compact via indexed triangles and shared vertices, whereas dense point clouds store full per-point attributes and can balloon. For noisy data, point clouds avoid meshing artifacts, while meshes may need smoothing/remashing. Therefore, we should choose mesh when we need high quality shading and simulation, and choose point clouds for rapid visualization, iterative development, orwhen meshing is too expensive.

6. Do Something Fun (10 points)

6
I created a helicoid using Parametric functions.

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

7