Computational Design and Fabrication for Interactive Barrier-Grid Animations
Published at ACM UIST 2025
FabObscura introduces a computational system for designing and fabricating interactive barrier-grid animations. It extends beyond traditional straight-line barriers to support curved, radial, and multi-directional patterns. FabObscura supports sliding, rotational, and view-dependent barrier-grid animations.
This repository contains:
fabobscura_server.py— the Python server that generates barrier-grid patterns and composites.- A Processing front-end for authoring, parameter tuning, and visualization.
git clone https://github.com/<yourusername>/FabObscura.git
cd FabObscuraEnsure you are using Python 3.8+ and install the required packages:
pip install numpy opencv-python imutils matplotlib pillow sympy flaskThe Processing code requires the following libraries:
You can install them via Processing → Sketch → Import Library → Add Library...
Run the Flask backend:
python fabobscura_server.pyBy default, it runs on http://127.0.0.1:3000/.
After starting the server, open the Processing sketch (e.g., fabobscura_ui.pde) and run it.
The Processing interface communicates with the Python server to generate barrier patterns and animations.
To use your own animation sequence:
- Export your animation as individual image frames (e.g., PNG or JPG).
- Place all frames for one animation into a single folder inside
fabobscura_ui/data/. - Each folder should contain only the frames for a single animation.
- You can refer to the existing folders in
fabobscura_ui/data/as examples.
The system will automatically read and interlace all images in the selected folder to generate the barrier-grid composite.
If you use this software or build upon this work, please cite:
Ticha Sethapakdi, Maxine Perroni-Scharf, Mingming Li, Jiaji Li, Justin Solomon, Arvind Satyanarayan, and Stefanie Mueller.
FabObscura: Computational Design and Fabrication for Interactive Barrier-Grid Animations.
In Proceedings of the ACM Symposium on User Interface Software and Technology (UIST ’25). ACM, 2025.
@inproceedings{sethapakdi2025fabobscura,
title={FabObscura: Computational Design and Fabrication for Interactive Barrier-Grid Animations},
author={Sethapakdi, Ticha and Perroni-Scharf, Maxine and Li, Mingming and Li, Jiaji and Solomon, Justin and Satyanarayan, Arvind and Mueller, Stefanie},
booktitle={Proceedings of the ACM Symposium on User Interface Software and Technology (UIST ’25)},
year={2025},
publisher={ACM}
}

