Alec Jacobson 643bb356eb gaussian curvature example in tutorial 11 jaren geleden
..
100_FileIO 0aaef7e68f fix in cmake file for glew 11 jaren geleden
102_DrawMesh 4fbf0da74b more fixes to Viewer.cpp 11 jaren geleden
103_Events 0aaef7e68f fix in cmake file for glew 11 jaren geleden
104_Overlays 0aaef7e68f fix in cmake file for glew 11 jaren geleden
105_Colors 0aaef7e68f fix in cmake file for glew 11 jaren geleden
202_GaussianCurvature 643bb356eb gaussian curvature example in tutorial 11 jaren geleden
cmake 4fbf0da74b more fixes to Viewer.cpp 11 jaren geleden
images 643bb356eb gaussian curvature example in tutorial 11 jaren geleden
shared 643bb356eb gaussian curvature example in tutorial 11 jaren geleden
CMakeLists.shared 0daa5ce93b cmake/examples working on alecs mac 11 jaren geleden
compile_example.sh 0daa5ce93b cmake/examples working on alecs mac 11 jaren geleden
compile_macosx.sh 0daa5ce93b cmake/examples working on alecs mac 11 jaren geleden
readme.md 643bb356eb gaussian curvature example in tutorial 11 jaren geleden
style.css 643bb356eb gaussian curvature example in tutorial 11 jaren geleden

readme.md

xhtml header: css: style.css

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:

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

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.