Skip to content

Latest commit

Β 

History

History
Β 
Β 

4-param

Folders and files

NameName
Last commit message
Last commit date

parent directory

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

Homework 4: Tutte's Barycentric Embedding

Task 1. Use your halfedge mesh structure from Homework 1, further extend the geometry/mesh_param.ts file and implement Tutte's barycentric embedding algorithm for mesh parameterization using for uniform and the cotan Laplacian weights.

The original bunny mesh and parameterization:

The computed Tutte's parameterization:

Laplacian Disk Rectangle
Uniform
Cotan

*Note that a mesh must contain at least one boundary.

Task 2. Answer questions regarding the implementation.

Implementation complexity: Which code snippet (report in line numbers) in the geometry/mesh_param.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
β”œβ”€β”€ 4-param                   <-- Project skeleton
└── homeworks
    └── changkun              <-- GitHub username
        └── 4-param           <-- Actual submission