Olga Diamanti 0d1f0ccefb reorganizing il y a 11 ans
..
101_FileIO 073be51f91 tutorials index starts from 1 il y a 11 ans
103_DrawMesh 0d1f0ccefb reorganizing il y a 11 ans
104_Events abd3989efb - new tutorial example for harmonic parametrization il y a 11 ans
105_Colors 0aaef7e68f fix in cmake file for glew il y a 11 ans
106_Overlays f692781ff9 - added tutorial for principal curvature directions il y a 11 ans
107_Matlab ae03f73648 * added tutorial for ARAP parametrization (broken) il y a 11 ans
201_Normals 4529821552 - added support for per corner normals il y a 11 ans
202_GaussianCurvature 643bb356eb gaussian curvature example in tutorial il y a 11 ans
203_CurvatureDirections f692781ff9 - added tutorial for principal curvature directions il y a 11 ans
501_HarmonicParam ae03f73648 * added tutorial for ARAP parametrization (broken) il y a 11 ans
502_LSCMParam 6ccca30cba clean up lscm and areamatrix il y a 11 ans
503_ARAPParam 49dadb340c arap parameterization working, really il y a 11 ans
505_MIQ 0d1f0ccefb reorganizing il y a 11 ans
505_NRosyDesign c398c05994 added nrosy field interpolation nrosy.h il y a 11 ans
cmake c398c05994 added nrosy field interpolation nrosy.h il y a 11 ans
images 643bb356eb gaussian curvature example in tutorial il y a 11 ans
shared 0d1f0ccefb reorganizing il y a 11 ans
CMakeLists.shared 49dadb340c arap parameterization working, really il y a 11 ans
compile_example.sh 49dadb340c arap parameterization working, really il y a 11 ans
compile_example_xcode.sh ae03f73648 * added tutorial for ARAP parametrization (broken) il y a 11 ans
compile_macosx.sh 0daa5ce93b cmake/examples working on alecs mac il y a 11 ans
readme.md 1de0c75000 arap parameterization no longer allowing reflections, using ref triangles il y a 11 ans
style.css 643bb356eb gaussian curvature example in tutorial il y a 11 ans

readme.md

css: style.css html header:

Introduction

TODO

Index

  • 100_FileIO: Example of reading/writing mesh files
  • 101_Serialization: Example of using the XML serialization framework
  • 102_DrawMesh: Example of plotting a mesh
  • 202 Gaussian Curvature

Compilation Instructions

All examples depends on glfw, glew and anttweakbar. A copy of the sourcecode of each library is provided together with libigl and they can be precompiled using:

Alec: Is this just compiling the dependencies? Then perhaps rename compile_dependencies_*

sh compile_macosx.sh (MACOSX)
sh compile_linux.sh (LINUX)
compile_windows.bat (Visual Studio 2012)

Every example can be compiled by using the cmake file provided in its folder. On Linux and MacOSX, you can use the provided bash script:

sh ../compile_example.sh

(Optional: compilation with libigl as static library)

By default, libigl is a headers only library, thus it does not require compilation. However, one can precompile libigl as a statically linked library. See ../README.md in the main directory for compilations instructions to produce libigl.a and other libraries. Once compiled, these examples can be compiled using the CMAKE flag -DLIBIGL_USE_STATIC_LIBRARY=ON:

../compile_example.sh -DLIBIGL_USE_STATIC_LIBRARY=ON

Chapter 2: Discrete Geometric Quantities and Operators

This chapter illustrates a few discrete quantities that libigl can compute on a mesh. This also provides an introduction to basic drawing and coloring routines in our example viewer. Finally, we construct popular discrete differential geometry operators.

Gaussian Curvature

Gaussian curvature on a continuous surface is defined as the product of the principal curvatures:

$k_G = k_1 k_2.$

As an intrinsic measure, it depends on the metric and not the surface's embedding.

Intuitively, Gaussian curvature tells how locally spherical or elliptic the surface is ( $k_G>0$ ), how locally saddle-shaped or hyperbolic the surface is ( $k_G<0$ ), or how locally cylindrical or parabolic ( $k_G=0$ ) the surface is.

In the discrete setting, one definition for a ``discrete Gaussian curvature'' on a triangle mesh is via a vertex's angular deficit:

$k_G(vi) = 2π - \sum\limits{j\in N(i)}θ_{ij},$

where $N(i)$ are the triangles incident on vertex $i$ and $θ_{ij}$ is the angle at vertex $i$ in triangle $j$.

Just like the continuous analog, our discrete Gaussian curvature reveals elliptic, hyperbolic and parabolic vertices on the domain.

This is an example of syntax highlighted code:

#include <foo.html>
int main(int argc, char * argv[])
{
  return 0;
}