16-825 Assignment 1: Rendering Basics with PyTorch3D (Total: 100 Points + 10 Bonus)

This page includes text, an image, and GIFs using my own media.

Task 1.1 — 360

Result:

GIF 1
Source: from render_mesh
GIF 2
Source: from render_mesh

Task 1.2 — 3D Shape Image

Result:

dolly zoom
dolly the cow.

Task 2.1 — tetrahedron

Result:

tetrahedron
tetrahedron with 4 vertices and 4 faces

Task 2.2 — cube

Result:

cube
cube with 12 faces and 8 vertices

Task 3 — retexture the cow!

Result:

cotton candy cow
colorful cow colored magenta and cyan because of CMYK without YK

Task 4 — transform the cow!

cow
original cow
cow
transform 1 cow

transform1:
R_relative = [[0, 1, 0], [-1, 0, 0], [0, 0, 1]]
T_relative = [0, 0, 0]

cow
transform 2 cow

transform2:
R_relative = [ [0.0, 0.0, 1.0], [0.0, 1.0, 0.0], [-1.0, 0.0, 0.0]]
T_relative = [-3, 0, 3]

cow
transform 3 cow

transform3:
R_relative = [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
T_relative = [0, 0, 3]

cow
transform 4 cow

transform4:
R_relative = [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
T_relative = [0.5, -0.5, -0.2]

R_relative and T_relative should be rotating and translating the camera, with the rotation applied first and the translation applied wrt to the camera post rotation.

Task 5.1 — plants plants plants

Result:

The point cloud corresponding to the first image
The point cloud corresponding to the first image.
The point cloud corresponding to the second image
The point cloud corresponding to the second image.
The point cloud formed by the union of the first 2 point clouds
The point cloud formed by the union of the first 2 point clouds.
TThe point clouds side by side
The point cloud from above side by side.

Task 5.2 — parametric

Result:

torus
a torus.
trianguloid
a trianguloid math from https://paulbourke.net/geometry/tranguloid/

Task 5.3 — implicit

Result:

torus implicit
Torus.
a nose
A nose. from https://paulbourke.net/geometry/nose/

Tradeoffs:

Rendering as a mesh is faster but certain details like reflectance/sphecular hightlights might be lost.
However, generating proper clean manifold meshes can be quite difficult as connectivity can be hard to keep track of.

Rendering as a point cloud might be able to get more details, with certain shapes easier to compute than its mesh counterpart,
you need a lot of points to create a similar shape to a mesh.

Task 6 — funfunfun

Result:

fun
from paul bourke, a barth decic