Skip to content

Latest commit

Β 

History

History

3-smooth

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Homework 3: Laplacian Smoothing

Task 1. Use your halfedge mesh structure from Homework 1, further extend the geometry/halfedge.ts and geometry/primitive.ts file and implement the Laplacian smoothing algorithm for the uniform and the cotan Laplace-Beltrami operator.

The initial setup is a black screen, and the smoothed version of the original bunny mesh:

Laplacian t=0.500 t=2.000 t=5.000 t=10.000
Uniform
Cotan
Uniform
Cotan

where t is the time step and all reference results are performed for 1 smooth step.

Task 2. Answer questions regarding the implementation.

Implementation complexity: Which code snippet (report in line numbers) in the geometry/primitive.ts or geometry/halfedge.ts is the most time consuming for you to implement? Explain your coding experience and encountered challenges briefly.

TODO: your answer goes here

Debugging complexity: Describe an impressive bug that you wrote while implementing this project, and briefly explain how you fixed it.

TODO: your answer goes here

Runtime performance: Which part of your code could be a bottleneck and how the computation performance could be improved?

TODO: your answer goes here

Submission Instruction

In short: Send a pull request.

To submit a solution, one should create a folder named by the corresponding GitHub username in the homeworks folder and that folder will serve for all future submissions.

For example, in the homeworks folder, there is an existing folder changkun that demonstrates how to organize submissions:

gp
β”œβ”€β”€ README.md               <-- Top level README
β”œβ”€β”€ 3-smooth                <-- Project skeleton
└── homeworks
    └── changkun            <-- GitHub username
        └── 3-smooth        <-- Actual submission