From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

Design

Project: Sketch Mesh Editing.

Language: C, C++.

This new tool go into the specials menu, because the tool do not working in real time.

Mode: Edit Mode (Mesh)

Hotkey: W

Menu: Specials → Laplacian Deform


Introduction

This project allows the editing of a mesh by posing with the use of sketching sessions

The project uses differential coordinates corresponding to the difference between a vector and the weighted average of its neighbors to represent the local detail of the mesh.

Differential Coordinate

For each vertex we store the information of its differential coordinate, when a change is made on the mesh and you want to reconstruct the original shape. The vertices are modified for new differential coordinates are as similar as possible to the original.

For system operation requires:

  1. Creating a modeling session, because the process takes several steps.
  2. Calculating the differential coordinates of the original mesh unchanged.
  3. Selecting and marking of a set of vertices that remain invariant during the modeling session (static anchors).
  4. The selection, marking and editing a set of vertices with the desired changes (handlers anchors).
  5. Create the system of equations with constraints (Static and handlers anchors).
  6. Factorize the main matrix.
  7. Solve the system of equations.

The selection and editing to modify the mesh vertices can be combined with sketching sessions in which the simple drawing curves on the screen changes the mesh vertices.

Blender3D FreeTip.gif
Question about user interaction
How should be the interaction with the user to create the modeling session, mark the vertices static and handlers?


Description of my development computer

  • OS: Windows 7
  • Builder System CMake 2.8.8, MS VS2008
  • SVN tools: TortoiseSVN 1.7