|
@@ -0,0 +1,58 @@
|
|
|
+<!DOCTYPE html>
|
|
|
+<html>
|
|
|
+<head>
|
|
|
+ <meta charset="utf-8"/>
|
|
|
+ <title>Google Summer of Code 2015 Project Ideas</title>
|
|
|
+ <link type="text/css" rel="stylesheet" href="tutorial/style.css"/>
|
|
|
+<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
|
|
+<link rel="stylesheet" href="http://yandex.st/highlightjs/7.3/styles/default.min.css">
|
|
|
+<script src="http://yandex.st/highlightjs/7.3/highlight.min.js"></script>
|
|
|
+<script>hljs.initHighlightingOnLoad();</script>
|
|
|
+</head>
|
|
|
+<body>
|
|
|
+
|
|
|
+<h1 id="libigl-googlesummerofcode2015projectideas"><a href="./index.html">libigl</a> - Google Summer of Code 2015 Project Ideas</h1>
|
|
|
+
|
|
|
+<h2 id="automaticgenerationofpythonmatlabbindings">Automatic Generation of Python/MATLAB bindings</h2>
|
|
|
+
|
|
|
+<figure>
|
|
|
+<img src="./libigl-logo-python-matlab.jpg" alt="" />
|
|
|
+<figcaption></figcaption></figure>
|
|
|
+
|
|
|
+<p>Libigl is a C++ library, but its functional interface make it very friendly to
|
|
|
+wrapping individual functions for popular scripting languages like Python or
|
|
|
+MATLAB. Since many libigl functions have the form “mesh in” –> “mesh out” or
|
|
|
+“mesh with scalar field in” –> “scalar field out”, we would like to develop an
|
|
|
+<em>automatic</em> routine for generating Python and MATLAB bindings for libigl
|
|
|
+functions. This project has three parts: 1) determining the necessary mark up
|
|
|
+(e.g. comments) inside libigl header files to determine the Python interface,
|
|
|
+2) writing a program to parse this mark up and generate valid Python bindings
|
|
|
+and compilation instructions, and 3) validating and testing these results on a
|
|
|
+variety of functions in the library.</p>
|
|
|
+
|
|
|
+<p>Student: <a href="https://www.google-melange.com/gsoc/homepage/google/gsoc2015">apply</a></p>
|
|
|
+
|
|
|
+<p>Mentors: Alec Jacobson & Daniele Panozzo</p>
|
|
|
+
|
|
|
+<h2 id="topologicalmeshoperations">Topological Mesh Operations</h2>
|
|
|
+
|
|
|
+<figure>
|
|
|
+<img src="./collapse-split-flip.jpg" alt="" />
|
|
|
+<figcaption></figcaption></figure>
|
|
|
+
|
|
|
+<p>Libigl avoids complicated mesh data-structures to ensure that its interface is
|
|
|
+clean and easy to port into users’ existing projects. Our mesh format is a
|
|
|
+simple list of vertices and list of face indices to those vertices: <code>V</code> and
|
|
|
+<code>F</code>. We have a number of functions for <em>deforming</em> a mesh: that is, modifying
|
|
|
+the entries in <code>V</code>, but currently lack functions for <em>modifying</em> the mesh’s
|
|
|
+topology: that is, modifying <code>F</code> and/or modifying the <em>size</em> of <code>V</code>. This
|
|
|
+project entails implementing <em>efficient</em> routines for: edge collapse, edge
|
|
|
+splitting, and edge flipping. The project will culminate in a routine combining
|
|
|
+these core functions for surface remeshing.</p>
|
|
|
+
|
|
|
+<p>Student: <a href="https://www.google-melange.com/gsoc/homepage/google/gsoc2015">apply</a></p>
|
|
|
+
|
|
|
+<p>Mentors: Alec Jacobson & Daniele Panozzo</p>
|
|
|
+
|
|
|
+</body>
|
|
|
+</html>
|