Git Product home page Git Product logo

arap's Introduction

This is a direct implementation of Igarashi's Siggraph 05 paper[1]. Just to understand how to calculate Eq(5)-(8), so I just implement the first step of the algorithm, i.e., I just do the scale free construction. There are some derivations on how to express the matrix G in Eq(5) in my source code.

The libraries I used in this code include: (1) Jonathan Richard Shewchuk's Triangle[3], the code is contained in my source code; (2) Freeglut library [4]; and (3) Eigen [5]. If you want to use this code, please download these library accordingly.

Operations: Left click - add mesh vertices

"A" or "a" - build mesh

Right click - add control points

Left drag - mesh deformation

"C" or "c" - clear the mesh

"V" or "v" - clear the control points

If you want to know how to implement the whole paper, please refer to Ryan Schmidt's implementation [2].

Reference

[1] Takeo Igarashi, Tomer Moscovich, John F. Hughes, "As-Rigid-As-Possible Shape Manipulation", ACM Transactions on Computer Graphics, Vol.24, No.3, ACM SIGGRAPH 2005, Los Angels, USA, 2005.

[2] http://www.dgp.toronto.edu/~rms/software/Deform2D/

[3] https://www.cs.cmu.edu/~quake/triangle.html

[4] http://freeglut.sourceforge.net/

[5] http://eigen.tuxfamily.org/

arap's People

Contributors

zhangzhensong avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.