Assigment 1

Q1 Practicing with Cameras
360-degree renders

Recreating the dolly zoom

Q2 Practicing with Meshes
Constructing a tetrahedron
| Attribute | Count |
|---|---|
| Vertices | 4 |
| Faces | 4 |

Constructing a cube
| Attribute | Count |
|---|---|
| Vertices | 8 |
| Faces | 12 |

Q3 Re-texturing a mesh
I chose color1 = [1, 0, 0] and color2 = [0, 0, 1] to invert the cow’s color from the example image provided.

Q4 Camera Transformations
Pure Rotation
Rotated by Z (pointing opposite to object, hence 90 clockwise)
R = [
[0, -1, 0],
[-1, 0, 0],
[0, 0, 1]
]
T = [0, 0, 0]

Far
Moved by Z (pointing opposite to object, thus positive)
R = [
[1, 0, 0],
[0, 1, 0],
[0, 0, 1]
]
T = [0, 0, 3]

Left
Moved by X (pointing right, thus positive)
R = [
[1, 0, 0],
[0, 1, 0],
[0, 0, 1]
]
T = [0.5, 0, 0]

Side
Rotated by Y (pointing down, thus 90 Degrees), move by X and Z.
R = [
[0, 0, 1],
[0, 1, 0],
[-1, 0, 0]
]
T = [-3, 0, 3]

Q5 Rendering Generic 3D Representations
Rendering Point Clouds from RGB-D Images

Parametric Functions
Number of Samples: 100

Number of Samples: 200

Number of Samples: 500

Implicit Surfaces
Voxel Size: 32

Voxel Size: 64

Voxel Size: 128

Tradeoffs between Parametric Functions and Implicit Surfaces
| Parametric Function | ||||
|---|---|---|---|---|
| Num Samples | 100 | 200 | 500 | 1000 |
| Time | 11.29s | 27.98s | 97.02s | 161.96s |
| Memory | 595 MB | 599 MB | 665 MB | 1099 MB |
| Implicit Surface | ||||
| Voxel Size | 32 | 64 | 128 | 256 |
| Time | 15.80s | 19.23s | 34.05s | 111.23s |
| Memory | 710 MB | 712 MB | 712 MB | 774 MB |
Quality of Parametric Torus at number of sampled points = 500 feels better to me than 100 or 200. Implicit Torus looks nice even at small voxel sizes, at 32 or 64. Thus, for a similar level of quality, the Implicit Surfaces are faster however, they consume more memory than Parametric functions.
Q6 Do Something Fun
Is it really a mesh or a point cloud? Take a closer look.

Q7 Sampling Points on Meshes



