Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

https://github.com/lijieumn/argus-distribution
02 July 2024, 10:46:16 UTC
  • Code
  • Branches (1)
  • Releases (0)
  • Visits
    • Branches
    • Releases
    • HEAD
    • refs/heads/master
    No releases to show
  • b163a44
  • /
  • README.md
Raw File Download Save again
Take a new snapshot of a software origin

If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.

Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.
swh spinner

Processing "take a new snapshot" request ...

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
  • revision
  • snapshot
origin badgecontent badge
swh:1:cnt:339b1184ffd8bb161b6290e40fa19423f64c0b3d
origin badgedirectory badge
swh:1:dir:b163a447e3e644d81f84b3baf4699dd05cb677b8
origin badgerevision badge
swh:1:rev:866bd38a0b1caa7560e66ecae5e19b65b49558a5
origin badgesnapshot badge
swh:1:snp:1829571332419ea704f2da46799cce2de3d5f081

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
  • directory
  • revision
  • snapshot
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
Tip revision: 866bd38a0b1caa7560e66ecae5e19b65b49558a5 authored by Jie Li on 04 August 2019, 17:48:21 UTC
Merge pull request #4 from AymericFerreira/master
Tip revision: 866bd38
README.md
# Argus


---
Argus v0.1.0: 

**Corresponding authors**: Jie Li (lixx4611@umn.edu), Gilles Daviet (gdaviet@gmail.com), Rahul Narain (narain@umn.edu), Florence Bertails-Descoubes (florence.descoubes@inria.fr)

**[Project page](http://www-users.cselabs.umn.edu/~lixx4611/contact_friction.html)**

---

## Introduction

Argus is an adaptive cloth simulator with implicit frictional contact. It uses the open-source [So-Bogus](http://gdaviet.fr/code/bogus/) library for solving the Coulomb friction problem, and a modified version of [ARCSim](http://graphics.berkeley.edu/resources/ARCSim/index.html) for the adaptive cloth model with anisotropic remeshing.


If you use Argus for research, please cite the following paper:

* Jie Li, Gilles Daviet, Rahul Narain, Florence Bertails-Descoubes, Matthew Overby, George Brown, Laurence Boissieux. "An Implicit Frictional Contact Solver for Adaptive Cloth Simulation". *ACM Transactions on Graphics (Proc. SIGGRAPH)*, 2018.

Other earlier papers may also be cited:

**Reference paper for So-Bogus**:

* Gilles Daviet, Florence Bertails-Descoubes, and Laurence Boissieux. "A Hybrid Iterative Solver for Robustly Capturing Coulomb Friction in Hair Dynamics". *ACM Transactions on Graphics (Proc. SIGGRAPH Asia)*, 2011. 

**Reference papers for ARCSim**:

* Rahul Narain, Armin Samii, and James F. O'Brien. "Adaptive Anisotropic Remeshing for Cloth Simulation". *ACM Transactions on Graphics (Proc. SIGGRAPH Asia)*, 2012.
* Rahul Narain, Tobias Pfaff, and James F. O'Brien. "Folding and Crumpling Adaptive Sheets". *ACM Transactions on Graphics (Proc. SIGGRAPH)*, 2013.

The ARCSim license requires that any publication that uses code based on it should cite the above two papers.


To install the Argus code, please see the [compilation instructions](INSTALL.md).

## Run

To run the simulation, the easiest way is to execute the Python scripts under the `examples` folder. The examples include the validation examples and characther animations with full garments:

### Validation examples (5 files):

Each file corresponds to one validation example shown in the paper. For instance, you can try running the following command to test if everything is correct so far.

```bash
python examples/box_and_cone.py
```

If all went well, you should be able to see a square cloth sheet above two obstacles. Once you hit the `Space` key, it should begin to simulate. Pressing `Space` again will pause the simulation.

> Note that this can only succeed if you compiled the project under `build` folder at the root of the project. If you compiled it somewhere else, you need to modify the following line in file `examples/argus.py` to the right path of the executable:
> ```python
> ARGUS = 'build/apps/argus-cloth'
> ```

You can also run the script `examples/argus_interface.py` directly. This allows you to save the simulated meshes (as OBJ files), and replay the generated sequence to save the images (as PNG files) for making videos. You can also choose to run an online (with display) or offline (headless) simulation. Run the following command to get detailed usage information:

```bash
python examples/argus_interface.py -h
```

Note that the generated sequence of OBJ files (or PNG files) contains as many files as frames simulated. By default, each frame lasts 32ms so the generated results are 31.25 FPS. The actual running timestep dt is the frame time divided by the number of timesteps per frame. If you want to generate a result with a different FPS or use another timestep, just tune the `frame_time` and `frame_step` in the json configuration files ([mentioned below](#others-not-in-the-paper)).

### Character examples (5 examples in total, under 5 repositories 'Arabesque', 'Clubbing', 'HipHop', 'Shawl', and 'Twist'):

Each repository contains between 2 and 4 files corresponding to variations of friction coefficients. **IMPORTANT:** To run the character examples, you need to have access to the corresponding character meshes (garment mesh + character motion mesh sequence), which are under private Inria license. Please contact [laurence.boissieux@inria.fr](mailto:laurence.boissieux@inria.fr) and [florence.descoubes@inria.fr](mailto:florence.descoubes@inria.fr) to obtain a license.

Once you've downloaded the archive `data_private_license.tar.gz`, please place it in the Argus root directory and follow these commands (under the Argus root directory as well):

```bash
bash extract_character_files.sh
```

Then you'll be able to run the character examples. For instance, using the command line below will run the Arabesque example with friction coefficient = 0.3:

```bash
python examples/character/Arabesque-0-3.py
```

### Others (not in the paper):

To create your own simulation, you can create the `json` files following those in folder `conf` and execute `build/apps/argus-cloth` directly. See the following section for more details.

## More about commands

**Simulation.** You can run the following commands to run a full simulation either online or offline. The config files are placed in `conf` folder. The output directory indicates the location you want to save the intermediate object files, which is optional.

```
build/apps/argus-cloth simulate <config file> [output dir]
build/apps/argus-cloth simulateoffline <config file> [output dir]
```

**Resume.** If you saved the object files in simulation, you can rerun the simulation from any frame you want by the command `resume` or `resumeoffline` if you want to run it offline.

```
build/apps/argus-cloth resume <output dir> <frame>
build/apps/argus-cloth resumeoffline <output dir> <frame>
```

**Replay.** You can replay the simulated results if you saved the object files and save the screenshots of the simulation using the command `replay`. Image directory indicates the location you want to save the screenshots. These screenshots can be used to create the final videos.

```
build/apps/argus-cloth replay <output dir> [image dir]
```

**Control the view by mouse:**

* Drag with left mouse button down: rotate the camera.
* Drag with the middle mouse button down: translate the camera.
* Scroll the mouse wheel: zoom in/out.
* Press the key 'm' to show/hide the wireframes.

## Showcases

### Validation Test

<img width="400" src="showcases/box_pin.gif"> <img width="400" src="showcases/belt.gif">
<br />

<img width="400" src="showcases/cards_0.2.gif"> <img width="400" src="showcases/cards_0.6.gif">
<br />

<img width="400" src="showcases/drag_cloth.gif">

### Character Animations with Full Garment

#### Arabesque
mu = 0|mu = 0.3
------|--------
<img width="400" src="showcases/arabesque-0-0.gif"> | <img width="400" src="showcases/arabesque-0-3.gif">

#### Clubbing

mu = 0|mu = 0.1|mu = 0.3
------|--------|--------
<img width="400" src="showcases/clubbing-0-0.gif"> | <img width="400" src="showcases/clubbing-0-1.gif"> | <img width="400" src="showcases/clubbing-0-3.gif">

#### HipHop
mu = 0 | mu = 0.3
-------|---------
<img width="400" src="showcases/hiphop-0-0.gif"> | <img width="400" src="showcases/hiphop-0-3.gif">

#### Shawl
mu = 0.3 | mu = 0.6
---------|---------
<img width="400" src="showcases/shawl-0-3.gif"> | <img width="400" src="showcases/shawl-0-6.gif">

#### Twist
mu = 0 |mu = 0.1
-------|--------
<img width="400" src="showcases/twist-0-0.gif"> | <img width="400" src="showcases/twist-0-1.gif">

mu = 0.3 | mu = 0.6
---------|---------
<img width="400" src="showcases/twist-0-3.gif"> | <img width="400" src="showcases/twist-0-6.gif">

back to top

Software Heritage — Copyright (C) 2015–2026, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API