Native Python implementation of conformal mapping methods CETM and BFF (the only dependencies are NumPy and SciPy).
Based on papers Conformal Equivalence of Triangle Meshes, B. Springborn, P. Schröder, U. Pinkall, ACM Transactions on Graphics (2008) and Boundary First Flattening, R. Sawhney, K. Crane, ACM Transactions on Graphics (2018).
Bumpcap mesh with UV checkerboard.
Application of different tools with the resulting log-scale factors (left) and quasi-conformal errors (right).
pip install git+https://github.com/russelmann/confmap.git
- Clone this repository.
- Go to root folder and install development version.
pip install -e .
Read an OBJ file from data folder, generate a minimum distortion conformal map using BFF method, and output the original mesh with the UV conformal map as a new OBJ file.
from confmap.confmap import BFF
from confmap.io_utils import read_obj, write_obj
vertices, faces = read_obj('../data/bumpcap.obj')
cm = BFF(vertices, faces)
image = cm.layout()
write_obj('bumpcap_with_uv.obj', cm.vertices, cm.faces, image.vertices, image.faces)