利用者:Apinzonf/Gsoc2014/finalreport

提供: wiki
移動先: 案内検索

Final report

This project has a lot of different topics, and had several pieces of method not well defined on the paper.

Process to compute the quad remeshing

  1. (100%) Define a user interaction.
  2. (100%) Compute Scalar Fields
  3. (100%) Compute Gradient Fields
  4. (100%) Compute the Sampling distance functions h1 and h2 using gradient field (gf1 and gf2 that is orthogonal to gf1) for every vertex on mesh.
  5. (100%) Compute the features of the mesh.
  6. (100%) Create a priority queue to store seeds.
  7. (100%) For every seed computes a gradient flow line and adds new valid seeds.
  8. (50%) When add new seeds from gradient flow line verify if has a valid distance with other gradient flow lines in the new mesh.
  9. (0%) When compute all gradient flow lines compute the intersection.
  10. (0%) Compute the new faces


Define a user interaction

The user interaction is based on a modifier, the system use a vertex group weights to define minimum and maximum points to solve the harmonic functions.


Compute Scalar Fields

The scalar field is the solution of harmonic function based on a Laplacian operator.


Compute Gradient Fields

The gradient field is compute with the use of vertex coordinates and scalar field for every face.


Compute the Sampling distance functions

This function define the distance between gradient flow lines, this distance depends on user distance function desired h and alpha parameter. In the paper does not comment how use this values inside a point projected on face, but I use the minimal value of the vertices that composes that face.

Compute the features of the mesh

Features of the mesh are special vertices and edges that we want to conserves. On this project I used vertices with minimal and maximal value marked on the weight painting process. On the paper advise to use dihedral angle. I compute this angle between two adjacent faces, and edges with angles less that 90 grades are mark how a feature.

Create a priority queue to store seeds

The features points of the mesh are put on the priority queue with priority of 0, when new points are inserted I used the inverse of sampling distance functions how a key.

For every seed computes a gradient flow line and adds new valid seeds

The method to compute gradient flow line is explain in User:Apinzonf/Gsoc2014/flowline When new points are computed new seeds are generated, but not all seed are put on queue, depends if is valid or not, and seeds with larger sampling distance functions has more priority that others.

When add new seeds from gradient flow line verify if has a valid distance with other gradient flow lines in the new mesh

This distance is compute with base on orthogonal directions of gradient field and sampling distance functions. To accelerate the process the system store new points and edges of flow lines, per every edges and faces of original mesh that contains this points.

When compute all gradient flow lines compute the intersection of flow lines

The process is simple compute the intersections of new edges for every original face, because the system store the edges that contains every face in original mesh.

Compute the new faces

The process is simple compute the new faces for every original face, because the system store the edges that contains every face in original mesh.