|
11 سال پیش | |
---|---|---|
.. | ||
101_FileIO | 11 سال پیش | |
103_DrawMesh | 11 سال پیش | |
104_Events | 11 سال پیش | |
105_Colors | 11 سال پیش | |
106_Overlays | 11 سال پیش | |
107_Matlab | 11 سال پیش | |
201_Normals | 11 سال پیش | |
202_GaussianCurvature | 11 سال پیش | |
203_CurvatureDirections | 11 سال پیش | |
501_HarmonicParam | 11 سال پیش | |
502_LSCMParam | 11 سال پیش | |
503_ARAPParam | 11 سال پیش | |
505_MIQ | 11 سال پیش | |
505_NRosyDesign | 11 سال پیش | |
cmake | 11 سال پیش | |
images | 11 سال پیش | |
shared | 11 سال پیش | |
CMakeLists.shared | 11 سال پیش | |
compile_example.sh | 11 سال پیش | |
compile_example_xcode.sh | 11 سال پیش | |
compile_macosx.sh | 11 سال پیش | |
readme.md | 11 سال پیش | |
style.css | 11 سال پیش |
css: style.css html header:
TODO
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
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
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 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;
}