*CMSC848F - Assignment 1* *Submitted By: Akashkumar Parmar* *UID: 118737430* Rendering your first mesh -------------------------------------------------------------------------------- Cow Image Practicing with Cameras =============================================================================== 360-degree Renders -------------------------------------------------------------------------------- Cow 360° Roatation Re-creating the Dolly Zoom -------------------------------------------------------------------------------- Cow Dolly Zoom Practicing with Meshes =============================================================================== Constructing a Tetrahedron -------------------------------------------------------------------------------- Tetrahedron In the .gif file, a tetrahedron has been shown. It consists of 4 vertices and 4 triangular faces. Constructing a Cube -------------------------------------------------------------------------------- Cube In the .gif file, a cube has been shown. It consists of 8 vertices and 12 triangular faces (i.e., 6 square faces). Re-texturing a mesh =============================================================================== textured_cow *color1* = torch.tensor([1, 0, 0]) *color2* = torch.tensor([0, 0, 0]) Here the chosen colors are Red and Black. The .gif shows the smooth transition from Red to Black. Camera Transformations =============================================================================== *R_relative* : - A rotation matrix that represents the rotation of the camera around the mesh object. - By changing its value, we can relatively transform the object's orientation. *T_relative* : - A translation vector that represents the linear translation of the camera with respect to the mesh object. - By changing its value, we can relatively change object's linear distance from the camera. Transformation 1 -------------------------------------------------------------------------------- *R_relative* = + 90° @ z-axis *T_relative* = No translation Transformation1 Transformation 2 -------------------------------------------------------------------------------- *R_relative* = No rotation *T_relative* = Translation of 3 units along z-axis Transformation2 Pose 3 -------------------------------------------------------------------------------- *R_relative* = No rotation *T_relative* = Translation of 0.5 units @ X - Axis, Translation of -0.5 units @ Y - Axis, Translation of 0.5 units @ Z - Axis Transformation3 Pose 4 -------------------------------------------------------------------------------- *R_relative* = 90 degree rotation about y-axis *T_relative* = Translation of 3 units @ X - Axis Translation of 3 units @ Z - Axis Transformation4 Rendering Generic 3D Representations =============================================================================== Rendering Point Clouds from RGB-D Images --------------------------------------------------------------------------------
GIF 1 GIF 2 GIF 3
Parametric Functions -------------------------------------------------------------------------------- Torus Implicit Surfaces -------------------------------------------------------------------------------- Torus Implicit Rendering as a point cloud and mesh have their own advantages and their trade-offs with rendering speed, quality, ease of use and memory usage, etc. The usage depends upon the requirements. *1. Rendering Speed:* - In terms of rendering speed, point clouds are faster than meshes. When meshes are higly densed, it requires more computational resources and time. *2. Rendering Quality:* - In terms of quality, meshes generate triangle meshes even for the complex surfaces and represent more details and have better quality. *3. Ease of Use:* - Point clouds are esier to create and manipulate, while meshes require more complex tasks for mesh generation, which leads to difficulty in uasge from a user's perspective. *4. Memory Usage:* - Point clouds are memory efficient as they only store the coordinates, whereas meshes store edge and face connectivity information, which stores more memory. Besides, based on availability of GPU, CPU and memory, some hardware configurations work better for meshes and others work for point clouds. Also, considering the applications, Point clouds are used in LIDAR, 3D scanning, AR/VR applications, and meshes are used for Computer graphics, FEA, 3D Modelings. Based on the requirements, appropriately point cloud or meshes are chosen considering their own positives and negatives.