-
Notifications
You must be signed in to change notification settings - Fork 108
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
170 changed files
with
3,529,277 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
default: | ||
make clean; make all | ||
|
||
all: | ||
cd modelviz; make; make clean | ||
cd corrstool; make; make clean | ||
# cd adjtool; make; make clean | ||
cd corres_resolve; make; make clean | ||
cd dtrans; make; make clean | ||
|
||
cp ./modelviz/run ./bin/modelviz | ||
cp ./corrstool/run ./bin/corrstool | ||
# cp ./adjtool/run ./bin/adjtool | ||
cp ./corres_resolve/run ./bin/corres_resolve | ||
cp ./dtrans/run ./bin/dtrans | ||
|
||
clean: | ||
rm \ | ||
./bin/modelviz \ | ||
./bin/corrstool \ | ||
./bin/corres_resolve \ | ||
./bin/dtrans |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
This is an implementation of Deformation Transfer algorithm in ANSI C, which | ||
could transfer the deformation of one triangle mesh to another. Check this | ||
paper (people.csail.mit.edu/.../deftransfer/Sumner2004DTF.pdf) for detailed | ||
explaination of this algorithm and here | ||
(http://people.csail.mit.edu/sumner/research/deftransfer/) for demonstrations | ||
and mesh data. | ||
|
||
|
||
*COMPILE | ||
|
||
You need CHOLMOD (http://www.cise.ufl.edu/research/sparse/cholmod/) and UMFPACK | ||
(http://www.cise.ufl.edu/research/sparse/umfpack/) to compile it, throw the | ||
header files and libs to the ./external folder if you've compiled them on your | ||
own, or just try the precompiled version in this repository. | ||
|
||
After these libs has been set properly, type `make` to build them all. | ||
|
||
|
||
*TRY A SHAKEDOWN RUN: | ||
|
||
Run sample_run.sh in bin directory, the resulting deformed target model would | ||
be shown by our corrstool. The calculation takes about one minutes or so | ||
(resolving corresponence and deforming 10 models). | ||
|
||
You can read the comments in sample_run.sh to see how to apply these tools to | ||
your own .OBJ models. | ||
|
||
|
||
*USAGE OF CORRSTOOL: | ||
|
||
Correspondence phase: You need to pick up a small set of marker points to | ||
specify the semantic correspondence between the source model and the target | ||
model, we provided a tool here (corrstool), you can launch it using | ||
|
||
./corrstool source_model target_model | ||
|
||
for example, running this command in bin directory | ||
|
||
./corrstool horse_ref.obj camel_ref.obj | ||
|
||
which would open a window showing the source model at the left panel and target | ||
model at the right panel, drag your mouse with left mouse button pressed to | ||
view the model in a different angle (it would change the view angle of the two | ||
panels simutanously), and drag with right mouse button pressed to zoom the view. | ||
|
||
You can move the cursor to somewhere in the model you want to mark and press | ||
"P" to mark this point, after having specifed marker points on both models, | ||
press "A" to "commit" this point pair to correspondence list, if you hit "A" by | ||
mistake, just hit "U" (undo) to recover from that. | ||
|
||
The points you picked up may not right on where your cursor pointed to, this is | ||
because of marker points can ONLY appear on vertices of the mesh model, you can | ||
view models in wired mode by pressing "M", and press it again to get back to | ||
solid mode. If you want to switch to another point on the same piece of triangle, | ||
just hit "C" many times until you get what you want. | ||
|
||
After all marker points has been specified, press "W" to write the | ||
correspondence to a .cons file (default.cons by default). |
Oops, something went wrong.