Skip to main content

ARAP regularization for implicit surfaces

Project description

ARAP-Regularization-for-Implicit-Surfaces

This is the source code for the paper As-Rigid-As-Possible Regularization for Implicit Surfaces, SGP 2026.

Installation

The only dependency is pytorch (tested with torch 2.11.0 with CUDA 12.8). For the demos that generate results similar to those in the paper (implict surface modeling and Gauss Stylization) further dependencies are required (see demos/requirements.txt).

python -m venv .env
.\.venv\Scripts\Activate.ps1 # depends on your os
pip install git+https://gitlab.com/tobidju/arap-regularization-for-implicit-surfaces.git

Usage (iarap.arap_energy)

iarap.arap_energy computes the batch-averaged ARAP regularization energy ($\mathcal{L}_{ARAP}$) for a deformation model $\boldsymbol f$.

  • Input:

    f: deformation function as torch.nn.Module $(B, d) \rightarrow (B, d)$

    samples: points of shape $(B, d)$ (tested with $d=2$ and $d=3$)

    l_bend: bending weight ($\lambda_{bend}$)

  • Output: scalar tensor (mean ARAP energy)

Minimal example:

import torch
import iarap

class Identity(torch.nn.Module):
    def forward(self, x: torch.Tensor) -> torch.Tensor:
        return x

f = Identity()
samples = torch.randn(1024, 3, device="cuda" if torch.cuda.is_available() else "cpu")
loss = iarap.arap_energy(f, samples, l_bend=0.1)
print(loss.item())

Demos

Please see ./demos/surface_modeling.ipynb to see how ARAP regularization can be used to model implicit surfaces with user defined handles. In ./demos/gauss_stylization.ipynb you will find the implict variant of Gauss Stylization as described in the paper.

There are multiple pretrained signed distance functions in ./demos/sdfs. Please note that some sdfs are based on meshes that are under CC-BY.

Citation

If you use the repository, please cite

@article{10.1111:cgf.70519,
  journal = {Computer Graphics Forum},
  title = {{As-Rigid-As-Possible Regularization for Implicit Surfaces}},
  author = {Djuren, Tobias and 
    Worchel, Markus and 
    Finnendahl, Ugo and 
    Alexa, Marc},
  year = {2026},
  publisher = {The Eurographics Association and John Wiley & Sons Ltd.},
  ISSN = {1467-8659},
  DOI = {10.1111/cgf.70519}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iarap-1.0.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iarap-1.0.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file iarap-1.0.0.tar.gz.

File metadata

  • Download URL: iarap-1.0.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for iarap-1.0.0.tar.gz
Algorithm Hash digest
SHA256 11e14fd9438b87e0345acce2fe6e0c8bf8457d272da5ced1c52649a3327e6e92
MD5 2dbf4d7d6112696a2ef0890591b5d8d2
BLAKE2b-256 99bc8c1ae280de7636edf115946f01686f5d74c9bf2952c535f94acc79cfee7f

See more details on using hashes here.

File details

Details for the file iarap-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: iarap-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for iarap-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 69d553f901c9f7cfb7acf6e6241fdf831b015dc270c600460fc93b628e980865
MD5 8a372ac363d1491e85ec3e25106c20b5
BLAKE2b-256 246b17b63bc3ddfa9fc443278a3323432f456ba87dfb1ad41c20754a1405bb0d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page