In this task, I built a subdivision calculation. This method is widely used to create a smooth curve/object from a limited/discreet control point. The first task is to apply a berzier curve using certain control point. The example below shows an line (blue line) with 8 control points (red vertex) is subdivide using berzier curve (green curve). The first and second image shows the line subdivided once and twice respectively.
The second subdivision task is to subdivide a mesh or usually called mesh smoothing. The example below shows a cow model subdivided/smoothed once. In this subdivision, I also apply an adaptive condition to avoid unnecessary smoothing eg. a near flat surface. This condition is applied simply by calculating the difference of the normal in a face and its neighbor.
In this task, my role is to implement the subdivision algorithm. GUI and basic mesh drawing is already applied in the previous task or given by lecturer.
Details of the course can be found here.
Credits to my team mate Stefan Johansson.