> ## Content Index
> Fetch the complete content index at: https://cms.yufeiran.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Paper Reproduction: Guaranteed Globally Injective 3D Deformation Processing
- URL: https://cms.yufeiran.com/en-lun-wen-fu-xian/
- Published: 2022-05-11T06:18:33.000Z
- Updated: 2026-09-27T12:37:56.000Z
- Author: Feiran Yu
- Tags: #lang-en, #legacy-import

## Background

This is my first attempt at reproducing a paper. I planned to first compile and run the provided program, and then try to understand the paper as much as possible.

Paper reproduction: I try to run the provided program on my own computer and reproduce the results shown in the paper.

Compiling and running the program: I clone the provided code, solve possible compilation problems, run the provided test cases, and observe whether the behavior matches the paper.

Understanding the paper: I first try to read the whole paper, then grasp its main idea and fill in missing prerequisite knowledge.

This paper should belong to the geometry and simulation direction of computer graphics.

Paper homepage: [Guaranteed Globally Injective 3D Deformation Processing](https://ipc-sim.github.io/IDP/?ref=cms.yufeiran.com)

Paper code: [ipc-sim/IDP](https://github.com/ipc-sim/IDP?ref=cms.yufeiran.com)

![QQ–20220511222610](https://yufeiran.com/content/images/2022/07/QQ--20220511222610.png)

## Environment Setup

This paper needs to run under Linux or macOS.

I first tried an Ubuntu virtual machine in VirtualBox, but it was very laggy.

So I decided to install a physical Ubuntu system directly on my old ThinkPad.

First attempt: Ubuntu 22.04\. It was too new, and many components could not be installed, so I prepared to switch back to Ubuntu 20.04.

Ubuntu 20.04 image download: [Ubuntu 20.04.4 LTS (Focal Fossa)](https://releases.ubuntu.com/20.04/?ref=cms.yufeiran.com)

Bootable USB creation software: [rufus](https://rufus.ie/zh/?ref=cms.yufeiran.com)

Mouse and keyboard synchronization: considering [synergy](https://symless.com/synergy?ref=cms.yufeiran.com)

Install a Shadowsocks client and GUI.

### Installing v2ray

[Successfully configuring Qv2ray on Ubuntu 20.04](https://bella722.github.io/post/a231f91f.html?ref=cms.yufeiran.com)

## Compilation and Running

After installing Ubuntu 20.04, I only needed to configure the libraries required by the paper. I installed the missing libraries and programs according to system prompts. Then I compiled according to the README in the paper’s code repository. The compilation took about half an hour.

![Compilation process](https://yufeiran.com/content/images/2022/05/IMG_20220517_220922.jpg)

Running the provided Python script took a little over an hour, and all test cases on the main branch finished.

![Run result](https://yufeiran.com/content/images/2022/05/IMG_20220518_103714.jpg)

![Run result 1](https://yufeiran.com/content/images/2022/05/QQ--20220518142540.png)

## Paper Analysis

This is a TOG paper in computer graphics. It introduces IPC, a finite-element collision-simulation framework for graphics, and uses that framework to implement the IPD modeling tool.

It can perform collision deformation on models, avoid mesh penetration, avoid locking to obtain more accurate and stable deformation, and achieve better performance.

Because I lacked much of the prerequisite knowledge, I basically could not understand the formulas. After guidance from Teacher Li, I learned that understanding those formulas requires knowledge of physically based modeling, digital geometry processing, computational methods, and optimization.