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-0.1.0.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

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

iarap-0.1.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for iarap-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6fcdeb94b7af8ec62e840d981d807a9240d51855939bbffb21d69771f2a0307b
MD5 cdcc977293c12a718814115d6435239f
BLAKE2b-256 61facd4550bed9a27d7717344620cf87957e4de163fd403c6580300456593b8f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for iarap-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b854910801fb31143791e2166bd220794ce2c108d067c1ff28e7349e456fe7da
MD5 4af2dadd1ba5ce571bb9ea6f5d5540e2
BLAKE2b-256 4901a6cc364d22d7e9fd9b271526c0f29751d0ff4d4d39684af08f6194dc4fb6

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