Meschers: Geometry Processing of Impossible Objects
Ana Dodik, Isabella Yu, Kartik Chandra, Jonathan Ragan-Kelley, Joshua Tenenbaum, Vincent Sitzmann, Justin Solomon

TL;DR
Meschers introduces a novel mesh representation based on discrete exterior calculus that accurately models impossible objects like those in M.C. Escher's art, enabling geometry processing and inverse rendering without altering local geometry.
Contribution
The paper presents a new mesh-based approach for representing impossible objects, overcoming limitations of previous methods by preserving geometry and supporting advanced processing.
Findings
Meschers accurately represent impossible objects without cutting or bending.
The approach supports geometry processing tasks like smoothing and relighting.
Inverse rendering of impossible objects is demonstrated using Meschers.
Abstract
Impossible objects, geometric constructions that humans can perceive but that cannot exist in real life, have been a topic of intrigue in visual arts, perception, and graphics, yet no satisfying computer representation of such objects exists. Previous work embeds impossible objects in 3D, cutting them or twisting/bending them in the depth axis. Cutting an impossible object changes its local geometry at the cut, which can hamper downstream graphics applications, such as smoothing, while bending makes it difficult to relight the object. Both of these can invalidate geometry operations, such as distance computation. As an alternative, we introduce Meschers, meshes capable of representing impossible constructions akin to those found in M.C. Escher's woodcuts. Our representation has a theoretical foundation in discrete exterior calculus and supports the use-cases above, as we demonstrate in…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
