利用者:Apinzonf/Gsoc2012 Mesh Smoothing

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

GSOC 2012 Mesh smoothing

Mesh smoothing method based upon a curvature flow operator inside a diffusion equation

Short description: Computer graphics objects reconstructed from real world used to contain undesirable noise. A mesh smoothing tool removes that undesirable noise while still preserves desirable geometry and shape of the original model. This project improves the mesh smoothing tools in blender, based upon a curvature flow operator inside a diffusion equation.


Name

Alexander Pinzon Fernandez


Email / IRC / WWW

apinzonf@gmail.com / apinzonf / http://apinzonf.wordpress.com

Synopsis

Computer graphics objects reconstructed from real world used to contain undesirable noise. A mesh smoothing tool removes undesirable noise while still preserves desirable geometry and shape of the original model.

This project improves the mesh smoothing tools in Blender, based upon a curvature flow operator inside a diffusion equation.

Referenced Docs: Desbrun, M.; Meyer, M.; Schröder, P. & Barr, A. H. Implicit fairing of irregular meshes using diffusion and curvature flow SIGGRAPH '99: Proceedings of the 26th annual conference on Computer graphics and interactive techniques, ACM Press/Addison-Wesley Publishing Co., 1999, 317-324

Benefits for Blender

This project proposes a new and robust mesh smoothing tool for those Blender users who need to improve the surface appearance of their models.

Also has new methods to 3d scan computer graphics objects using Kinect's ZCam within Blender. As a result of such procedure, captured objects appear noisy.

This Mesh Smoothing Method produces higher quality results on reducing that noise without any shrinkage on the mesh. Currently, the smoothing tool will collapse the mesh after being applied several times.

The mesh smoothing method allows to have both hard and soft constraints at positions of its points on the mesh; this helps to keep much control over the shape.

Also can be helpful to remove noise from meshes during sculpting without touching the model's desirable details.

Targets

  1. A new and robust mesh smoothing tool for Blender.
  2. Documentation to be included in the manual
  3. Technical documentation for developers, to improve the method in the future.
  4. A tutorial to explain the tool.

Project Details

There are four segments to be covered:

Implementation of the mesh smoothing algorithm for all blender geometric structures.

  1. Initialize data and necessary structures.
  2. Compute the Laplacian Matrix.
  3. Define the sparse linear system
  4. Solving the sparse linear system, we can use a preconditioned bi-combined gradient numerical library.

Integration or usage of the numerical library currently in Blender to solve sparse linear system.

Development of documentats and tutorials.

Project Schedule

  • 3 weeks Apr 23- May 11: Understanding the Blender source code and identifying the entry key points for the project.
  • 1 week May 14 – May 18: Defining the data structures needed to work with Blender's architecture.
  • 1 week May 21 – May 25: Implementing methods to set the starting configuration needed for the smoothing algorithm. Implementing the method used to calculate the Laplacian matrix.
  • 2 week May 28 – Jun 8: Integrating numerical library or invoking Blender's one.
  • 2 week Jun 11 – Jun 22: Defining the sparse linear system. Implementing the method to solve sparse linear system.
  • 3 weeks Jun 25 – Jul 13: Defining and implementing graphical user integration.
  • 2 weeks Jul 16 - Jul 27: Testing the tool.
  • 3 weeks Jul 30 – Aug 17: Developing documents and tutorials

Bio

I graduated as systems engineer in Colombia in 2007.

I am a MSc computer science student at National University of Colombia.

Skeleton extraction and mesh smoothing are the research topics of my MSc. I use CGAL, Graphite and Qt libraries.

Since 2007 I became a member of the Bioingenium Research Group of National University of Colombia.

I have been using Blender for about 10 years. I wrote a simulator for robots and made several games with blender and Python. I also builded an Architectural Walkthrough demo.

I found an inconvenient with Blender: Has no winbuildinfo.h file: Building Software, CMake

I have successfully compiled Blender for Windows with cmake.

Jobs

2010 - Scire Foundation, Software Architect: Design and development of web services data, hibernate and oracle. GUI Programming with RichFaces. Generic handling of trees Library, based upon Java reflection techniques.

2005 - 2007 Sigtech, LTDA, Development Engineer: SIGC System Development for the "Departamento Administrativo de Catastro Distrital DACD". Software used: Oracle 9i, Visual Basic 6, PL / SQL Developer.

2004 - 2005 IIE and Colciencias, Student Monitor research: Project: "Theater of Memory in Virtual Worlds:" Architecture for handling streaming video coming from a digital camcorder, to use as a texture for a 3D plane in a virtual setting, using Java, J3D, JMF, VRML and X3D software.

Software Developed:

Nukak3D http://sourceforge.net/projects/nukak3d 3D Medical Viewer Platform to visualize and process images. Nukak3d is a flexible architecture that integrates general-purpose graphics libraries such as VTK, ITK, VTKInria3D, OpenGL, under a graphical user interface (wxWidgets) for three-dimensional visualization and processing of medical images. Made with C++.

JNukak3D http://sourceforge.net/projects/jnukak3d Software for three-dimensional visualization of DICOM images based on java.

JVC1394 http://sourceforge.net/projects/jvc1394/ Wrapper for the library Libdc1394 to enable communication with the Java programming language. Java Video Capture for IEEE 1394 cameras. On C, C++, Java, Swig.

Articles Published

Pinzón, A., Leon, J.C., Romero E., Diseño y desarrollo de una aplicación web para la visualización eficiente de imágenes medicas, con procesamiento 3D por software o por hardware. En Seminario Internacional de Procesamiento y Análisis de Imágenes Médicas SIPAIM 2009, (Noviembre 27-27, 2009), Bogotá Colombia.

Pinzón A., Romero E., Visualización 3D de imágenes médicas: una herramienta Open Source, En Seminario Internacional de Procesamiento y Análisis de Imágenes Médicas SIPAIM 2008, (Noviembre 24-27, 2008), Bogotá – Colombia.

Mendoza, B. U., Ramos, G. A., Mendez, L. M., Santamaria, W., and Pinzón, A. 2006. Camera Motion Control from a Java 3D Environment: Virtual Studio Application in Decorative Arts Museum Collections. In Proceedings of the 2006 international Conference on Cyberworlds (November 28 - 29, 2006). CW. IEEE Computer Society, Washington, DC, 58-64.