CGAL Projects page for the Google Summer of Code 2015Since 2010, the CGAL Project was a mentoring organization of the Google Summer of Code. On this page we present some project ideas as well the information applicants have to provide us. GSoC applicants are welcome to propose other ideas and check if a mentor is interested in supervising it. This year our application has been rejected.Previous project ideas of the CGAL project for the Google Summer of Code can be found on the following pages: 2010, 2011, 2012, 2013 2014. Summary:First section to read: Information Candidates Should Supply
Use Embree for Ray ShootingMentor(s): from GeometryFactory Project description:The Embree project has a low level API for ray shooting queries. First benchmarks show that Embree is faster than the CGAL AABB Tree. This is partially due to the use of vector operations. The goal of this GSoC project is twofold. First, we want to allow to use Embree, for example in the mesh generator. Second the student should introduce vector operations in the AABB Tree. Required Skills: parallel vector operations, C++ templates Adding Better I/O for the CGAL LibraryMentor(s): from GeometryFactory Project description:The goal of this project is to add some wrapper to allow CGAL to read/write different classical input files. The obvious things we see that is missing are:
The goal is not necessarily to re-implement these readers/writers but rely on existing software with a license compatible with CGAL Required Skills: vtk, C++ templates, cmake Adding a Parallel Version of the Edge Simplification AlgorithmMentor(s): from GeometryFactory and from Inria Sophia-Antipolis Project description:
CGAL has a triangulated surface mesh edge simplification package
based on the paper Peter Lindstrom and Greg Turk. Fast and memory efficient polygonal simplification. In IEEE Visualization, pages 279-286, 1998.
Required Skills: C++, Intel TBB Finalizing a Package for 2D Triangulations on the SphereMentor(s): from INRIA Nancy - Grand Est - LORIA and from GeometryFactory Project description:The sphere can model atoms (biology) as well as the earth (geography) and the celestial vault (astrophysics), which shows a strong need for computations on the sphere. A method was proposed, a few years ago, to compute triangulations of points on or close to a sphere [1], and a prototype software has been written. The prototype is very efficient, but it duplicates some parts of the CGAL 2D triangulation classes. The project will consist in proposing a new design for those classes in order to avoid duplications, and implementing it. Some work is in progress in CGAL on re-designing the CGAL 3D triangulation packages, which will provide an example for a potential solution.
Required Skills: C++, design patterns Enhancing the 2D Arrangements PackageMentor(s): from the Applied Computational Geometry Lab, Tel Aviv University Project description:Fix and enhance various small features in the 2D Arrangements package:
Required Skills: C++, templates, Boost Improving the Polyhedron DemoMentor(s): from GeometryFactory and from GeometryFactory Project description:CGAL provides many 3D algorithms and most of have a corresponding plugin for the Polyhedron demo. The demo frameworks need a few improvements:
Required Skills: OpenGL, C++, QT Dynamic Attributes for Combinatorial MapsMentor(s): from CNRS/Université de Lyon Project description:Add the dynamic attributes functionality in the combinatorial maps package. The principle of this functionality is to allow users to add/remove attributes associated with cells of a combinatorial map dynamically. The idea is to use boost property maps, similarly to the existing code in the new Surface mesh package. Required Skills: C++, Boost Implementation of a Generic Bounding Volume Hierarchy (BVH)Mentor(s): from TU Braunschweig Project description:CGAL currently provides a package for Axis Aligned Bounding Box trees in 3D. However, this package is not generic in the sense that it fixes the dimension and the type of the bounding volume. Moreover, the package does not provide intersection or distance computation of two Hierarchies. Based on a prototype implementation developed in Braunschweig the goal is to provide a new package that provides similar features while leaving the dimension and the bounding volume type unspecified. Required Skills: C++, templates, Boost Visibility Computation in 2.5D TerrainsMentor(s): from TU Braunschweig Project description:The upcoming CGAL package for visibility provides visibility computation within 2D polygons and in 1.5D Terrains. The goal of this project is to provide visibility computation in a 2.5D Terrain, that is, a 2D Triangulation where every vertex is annotated with a height value. A point ''p'' sees another point ''q'' iff the segment ''pq'' is nowhere below the given terrain. The goal is to compute the visible area for a given point ''p''. Required Skills: C++, templates, Boost Update Packages to Use the BGL APIMentor(s): from GeometryFactory Project description:The release 4.5 of CGAL introduces extensions of the BGL graph concepts for meshes represented as halfedge data structures (http://doc.cgal.org/latest/Property_map/index.html). Some packages of CGAL needs to be updated to use this API:
Required Skills: C++, templates, Boost graph library Tool to Compare the Output of Two Runs of DoxygenMentor(s): from GeometryFactory Project description:The documentation of CGAL is generated using a patched version of doxygen. In order to easily upgrade the version of doxygen used to generate the documentation, we need to check that all the functions, classes and methods are correctly documented, and all elements are correctly linked.
Required Skills: C++, html, doxygen Intersection of a Power diagram with a triangulation in 2DMentor(s): from CNRS at Ceremade, Université Paris-Dauphine and from GeometryFactory Project description:In several applications, it is necessary to compute exactly the intersection of a power diagram (a generalization of a Voronoi diagram) with a triangulation of the plane, e.g. implementation of Lloyd's algorithm for meshing, resolution of quadratic optimal transport problems in the plane, etc. The problem we consider is the following: our input is a set of weighted points (x_i,w_i) and a (completely unrelated) triangulation T of a domain of the plane. Denoting P_i the power cells of the ith point and t_j the jth triangles of the triangulation T, the goal is to compute the collection of non-empty intersections (P_i \cap t_j). The goals of the GSoC student are the following:
[1] http://arxiv.org/pdf/1409.1279v1.pdf, Section 2.1 [2] https://github.com/mrgt/MongeAmpere, see include/MA/voronoi_triangulation_intersection.cpp
Required Skills: C++, templates, some basic maths Fixing and Enhancing 2D Regularized Boolean OperationsMentor(s): and Oren Zalsman from the Applied Computational Geometry Lab, Tel Aviv University Project description:Fix and enhance various small features in the 2D Regularized Boolean Operation package:
Required Skills: C++, templates, and some computational geometry. Reworking Intersection FunctionsMentor(s): from GeometryFactory Project description:
The goal of this project is to rewrite all the intersection predicates ( Required Skills: C++, generic programming, basic geometry Parallel Implementation of a Point Set Reconstruction AlgorithmMentor(s): from GeometryFactory and Raphaëlle Chaine from CNRS/Université de Lyon Project description:Starting from the code of the author of A geometric convection approach of 3D reconstruction, Raphaëlle Chaine, ACM International Conference Proceeding Series, Proceedings of the Eurographics/ACM SIGGRAPH Symposium on Geometry processing, SGP2003, pp. 218-229, June 2003 The student will need to propose a way to parallelize this point set reconstruction algorithm following the CGAL's guidelines. Required Skills: C++, parallel programming, Intel TBB Create a bridge between the available Github "webhooks", and the usual Git hook scriptsMentor(s): and Sébastien Loriot from GeometryFactory Project description:The CGAL project is willing to move from a dedicated Git repository, to the Github service. One of the issue is that Github no-longer support the server Git hooks, but only its own instance named webhook. The student will implement a bridge between Github webhooks and usual Git hook scripts, so that one can for example use [https://github.com/mhagger/git-multimail git-multimail] with Github. Required Skills: shell programming, web services 3D Mesh Generation - Detect and handle small geometric featuresMentor(s): from GeometryFactory and Clément Jamin from Inria Sophia-Antipolis Project description:In this project, the student would have to:
Required Skills: C++, geometry Statistical mechanics of hard spheresMentor(s): from ESPCI and from INRIA Nancy - Grand Est - LORIA Project description:
This project spans the bridge from statistical physics to CGAL. In
experiments on colloids, one challenge of our days is to measure, or
at least estimate thermodynamic properties such as pressure and
chemical potential (to finally get the free energy). There is one
special system, the hard-sphere liquid, where theoretical physics can
help to develop algorithms that allow to do that: The thermodynamics
of hard-sphere gases can indeed be measured from snapshots ("photos")
which contain only the positions and radii of the spheres. In the
algorithm, one needs an efficient and robust triangulation of space
that is adapted to the individual radii of the spheres. In order to
validate the algorithm, one wants to avoid the effect of boundaries. The project will comprise the following steps:
Required Skills: C++ Information Candidates Should SupplyThe application process has several steps. Before contacting anybody verify that you are eligible, that is that you are enrolled as student, don't get a tuition fee, etc. The next step is to contact the mentor of the project you are interested in. You have to convince him that you are the right person to get the job done. The next step is to work out more details and to contact the mentoring organization by providing the following information by email to gsoc-cgal@lists-sop.inria.fr Project
Personal data
A mailto:This anchor is a mailto: with a mail body containing the above items.
Last modified on Monday, 02-Mar-2015 21:21:52 CET.
contact information
|