Section: New Results
Usercentered Models for Shapes and Shape Assemblies
Our goal, is to develop responsive shape models, i.e. 3D models that respond in the expected way under any user action, by maintaining specific applicationdependent constraints (such as a volumetric objects keeping their volume when bent, or clothlike surfaces remaining developable during deformation, etc). We are extending this approach to composite objects made of distributions and/or combination of subshapes of various dimensions.
Deformation Grammars: Hierarchical Constraint Preservation Under Deformation

Deformation grammars are a novel procedural framework enabling to sculpt hierarchical 3D models in an objectdependent manner [25]. They process object deformations as symbols thanks to userdefined interpretation rules. We use them to define hierarchical deformation behaviors tailored for each model, and enabling any sculpting gesture to be interpreted as some adapted constraintpreserving deformation. This is illustrated in Figure 1. A variety of objectspecific constraints can be enforced using this framework, such as maintaining distributions of subparts, avoiding selfpenetrations, or meeting semanticbased userdefined rules. The operations used to maintain constraints are kept transparent to the user, enabling them to focus on their design. We demonstrate the feasibility and the versatility of this approach on a variety of examples, implemented within an interactive sculpting system.
Patterns from Photograph: ReverseEngineering Developable Products

Developable materials are ubiquitous in design and manufacturing. Unfortunately, generalpurpose modeling tools are not suited to modeling 3D objects composed of developable parts. We propose an interactive tool to model such objects from a photograph [17]. This is illustrated in Figure 2. Users of our system load a single picture of the object they wish to model, which they annotate to indicate silhouettes and part boundaries. Assuming that the object is symmetric, we also ask users to provide a few annotations of symmetric correspondences. The object is then automatically reconstructed in 3D. At the core of our method is an algorithm to infer the 2D projection of rulings of a developable surface from the traced silhouettes and boundaries. We impose that the surface normal is constant along each ruling, which is a necessary property for the surface to be developable. We complement these developability constraints with symmetry constraints to lift the curve network in 3D. In addition to a 3D model, we output 2D patterns enabling to fabricate real prototypes of the object on the photo. This makes our method well suited for reverse engineering products made of leather, bent cardboard or metal sheets.
Defining the Pose of any 3D Rigid Object and an Associated Distance

The pose of a rigid object is usually regarded as a rigid transformation, described by a translation and a rotation. However, equating the pose space with the space of rigid transformations is in general abusive, as it does not account for objects with proper symmetries – which are common among manmade objects. In our recent work [13], we define pose as a distinguishable static state of an object, and equate a pose with a set of rigid transformations. This is illustrated in Figure 3. Based solely on geometric considerations, we propose a frameinvariant metric on the space of possible poses, valid for any physical rigid object, and requiring no arbitrary tuning. This distance can be evaluated efficiently using a representation of poses within an Euclidean space of at most 12 dimensions depending on the object's symmetries. This makes it possible to efficiently perform neighborhood queries such as radius searches or knearest neighbor searches within a large set of poses using offtheshelf methods. Pose averaging considering this metric can similarly be performed easily, using a projection function from the Euclidean space onto the pose space. The practical value of those theoretical developments is illustrated with an application of pose estimation of instances of a 3D rigid object given an input depth map, via a Mean Shift procedure.