Computational Design of Transformables
Abstract
We present a computational approach to designing transformables, physical characters that can shape-shift to take on vastly different forms. The design process begins with a morphological description of an input character and a target object that it should transform into. Guided by a set of objectives that model the core attributes of desirable transformable designs, optimized embeddings are interactively generated. Intuitively, embeddings represent tightly folded character configurations that fit within the target object. From any feasible embedding, skin meshes are then generated for each body part of the character. The process for generating these 3D models is based on a segmentation of the target object, which is achieved through a growth-based model applied to a multiple level set representation of the transformable. A set of transformation-aware post-processing algorithms ensure the feasibility of the final designs. Building on this technical core, our computational design system provides many opportunities for users to inject their intuition and personal preferences into the process of creating transformables, while shielding them from tasks that are challenging and tedious. As a result, they can intuitively explore the vast space of design possibilities. We demonstrated the effectiveness of our computational approach by creating a variety of transformable designs, three of which we fabricate.
BibTeX
@article {10.1111:cgf.13516,
journal = {Computer Graphics Forum},
title = {{Computational Design of Transformables}},
author = {Yuan, Ye and Zheng, Changxi and Coros, Stelian},
year = {2018},
publisher = {The Eurographics Association and John Wiley & Sons Ltd.},
ISSN = {1467-8659},
DOI = {10.1111/cgf.13516}
}
journal = {Computer Graphics Forum},
title = {{Computational Design of Transformables}},
author = {Yuan, Ye and Zheng, Changxi and Coros, Stelian},
year = {2018},
publisher = {The Eurographics Association and John Wiley & Sons Ltd.},
ISSN = {1467-8659},
DOI = {10.1111/cgf.13516}
}