1. Practicing with Cameras¶
1.1. 360-degree Renders¶

1.2. Dolly Zoom¶

2. Practicing with Meshes¶
2.1. Constructing a Tetrahedron¶

There should be 4 vertices and 4 triangle faces in the tetrahedron mesh
2.2. Constructing a Cube¶

There should be 8 vertices and 12 triangle faces in the cube mesh
3. Re-texturing a mesh¶

My first color was green ([0.0, 1.0, 0.0]) and my second color was yellow ([1.0, 1.0, 0.0])
4. Camera Transformations¶

R_relative = [[0, 1, 0], [-1, 0, 0], [0, 0, 1]], (rotates the camera 90 degrees clockwise around the z-axis)
T_relative = [0, 0, 0] (keeps the camera in the same position)

R_relative=[[1, 0, 0], [0, 1, 0], [0, 0, 1]], (no rotation to the camera)
T_relative=[0, 0, 2] (moves the camera 2 units away from the cow along the z-axis)

R_relative=[[1, 0, 0], [0, 1, 0], [0, 0, 1]], (no rotation to the camera)
T_relative=[0.5, -0.5, 0] (moves the camera 0.5 units to the right and 0.5 units above the cow)

R_relative=[[0, 0, 1], [0, 1, 0], [-1, 0, 0]], (rotates the camera 90 degrees counterclockwise around the y-axis)
T_relative=[-3, 0, 3] (moves the camera 3 units to the left of the cow on the x-axis and 3 units further away from the cow)
5. Rendering Generic 3D Representations¶
5.1. Rendering Point Clouds from RGB-D Images¶

5.2. Parametric Functions¶
5.3. Implicit Surfaces¶
Torus:¶

Tradeoffs:¶
Rendering quality:
- When rendering a mesh, you have to include things like vertices and faces, which makes the mesh look smoother and more refined.
- Rendering a point cloud, however, means that surfaces could be more visually implied and could be noisy, as seen in the 3D rendering in 5.1
Rendering speed:
- Rendering a mesh was slower since you have to use the marching cubes algorithm to generate the faces.
- Rendering a point cloud was faster since you don't have to define faces, you just need to render each point in the gif.
Memory usage:
- Rendering a mesh required less memory usage because you have faces that can explain the entire patch of space with only a few vertices.
- Rendering a point cloud is memory-heavy because you have a large number of points that you need to render in 3D space to represent the same space that a single face (with multiple vertices) can describe.
Ease of use:
- Meshes were harder to use for me because they had more moving parts, so to speak, and required using marching cubes to render.
- Point clouds, on the other hand, were easier because you just had to define the points in 3D space and render them.
Hourglass (my choice):¶

6. Creative/Fun¶

For this one, I chose to create Steiner's Roman Surface using it's implicit function.

