• Publications
  • Influence
Split Packing: Algorithms for Packing Circles with Optimal Worst-Case Density
TLDR
This paper presents new sufficient conditions for packing circles into square and triangular containers, using only the sum of the circles’ areas, which can be used as a constant-factor approximation algorithm when looking for the smallest container in which a given set of circles can be packed.
Split Packing: Packing Circles into Triangles with Optimal Worst-Case Density
TLDR
This paper presents a new sufficient condition for packing circles into any right or obtuse triangle using only the circles’ combined area: It is possible to pack any circle instance whose combined area does not exceed the triangle’s incircle.
Packing Geometric Objects with Optimal Worst-Case Density (Multimedia Exposition)
TLDR
The critical packing density δ∗ is the largest value A/C for which any set of area A can be packed into a container of area C, and this work describes algorithms that establish the critical density.
Exact Minkowski Sums of Polygons With Holes
TLDR
An efficient algorithm that computes the Minkowski sum of two polygons, which may have holes, based on the convolution approach that can always fill up all the holes of at least onepolygon, transforming it into a simple polygon, and still obtain exactly the same Minkowsky sum.
Master ’ s Thesis Split Packing : An Algorithm for Packing Circles with up to Critical Density
In the classic circle packing problem, one asks whether a given set of circles can be packed into the unit square. This problem is known to be NP-hard. In this thesis, we present a new sufficient
Can You Walk This? Eulerian Tours and IDEA Instructions (Media Exposition)
TLDR
This work illustrates and animate the classic problem of deciding whether a given graph has an Eulerian path, and presents a set of pictorial instructions that have proven to be both entertaining for experts and enlightened for novices.
Esoteric Programming Languages
There is a class of programming languages that are not actually designed to be used for programming. These so-called “esoteric” programming languages have other purposes: To entertain, to be