Skip to content

Commit

Permalink
Merge pull request #278 from facebookresearch/website-facebookresearch
Browse files Browse the repository at this point in the history
[website] fairinternal -> facebookresearch
  • Loading branch information
bigfootjon authored Apr 19, 2024
2 parents 9afa8d7 + 63fcad4 commit f32b8c1
Show file tree
Hide file tree
Showing 20 changed files with 18 additions and 18 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Conda's Miniconda is a great choice. Follow [these steps](https://conda.io/proje
conda activate animated_drawings

# clone AnimatedDrawings and use pip to install
git clone git@github.com:fairinternal/AnimatedDrawings.git
git clone git@github.com:facebookresearch/AnimatedDrawings.git
cd AnimatedDrawings
pip install -e .

Expand Down Expand Up @@ -162,4 +162,4 @@ If you want to create your own config files, see the [configuration file documen
## As-Rigid-As-Possible Shape Manipulation

These characters are deformed using [As-Rigid-As-Possible (ARAP) shape manipulation](https://www-ui.is.s.u-tokyo.ac.jp/~takeo/papers/takeo_jgt09_arapFlattening.pdf).
We have a Python implementation of the algorithm, located [here](https://github.com/fairinternal/AnimatedDrawings/blob/main/animated_drawings/model/arap.py), that might be of use to other developers.
We have a Python implementation of the algorithm, located [here](https://github.com/facebookresearch/AnimatedDrawings/blob/main/animated_drawings/model/arap.py), that might be of use to other developers.
2 changes: 1 addition & 1 deletion sections/home.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ python image_to_animation.py drawings/garlic.png garlic_out

<Content spaceTop>
### Try It Out For Yourself
If you want to learn how to do all this and more, see the [GitHub Readme](https://github.com/fairinternal/AnimatedDrawings/) :)
If you want to learn how to do all this and more, see the [GitHub Readme](https://github.com/facebookresearch/AnimatedDrawings/) :)

Alternatively, if you just want to quickly animate your own drawing, try out our browser-based demo, [sketch.metademolab.com](http://sketch.metademolab.com).
</Content>
Expand Down
2 changes: 1 addition & 1 deletion site.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"rightNav": [
{
"title": "Github",
"url": "https://github.com/fairinternal/AnimatedDrawings"
"url": "https://github.com/facebookresearch/AnimatedDrawings"
}
]
}
2 changes: 1 addition & 1 deletion site/404.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/site/_next/static/css/207c2ec39c2ecc97.css" as="style"/><link rel="stylesheet" href="/site/_next/static/css/207c2ec39c2ecc97.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/site/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/site/_next/static/chunks/webpack-26a647337ecaadcb.js" defer=""></script><script src="/site/_next/static/chunks/framework-4556c45dd113b893.js" defer=""></script><script src="/site/_next/static/chunks/main-329d400c5222547c.js" defer=""></script><script src="/site/_next/static/chunks/pages/_app-2836273444460b6a.js" defer=""></script><script src="/site/_next/static/chunks/pages/404-9af1ba239956f015.js" defer=""></script><script src="/site/_next/static/SnwbkhgM7LaNduO1YE0v0/_buildManifest.js" defer=""></script><script src="/site/_next/static/SnwbkhgM7LaNduO1YE0v0/_ssgManifest.js" defer=""></script><script src="/site/_next/static/SnwbkhgM7LaNduO1YE0v0/_middlewareManifest.js" defer=""></script></head><body><div id="__next"><h1>404 - Page Not Found :|</h1></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"SnwbkhgM7LaNduO1YE0v0","assetPrefix":"/site","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/site/_next/static/css/207c2ec39c2ecc97.css" as="style"/><link rel="stylesheet" href="/site/_next/static/css/207c2ec39c2ecc97.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/site/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/site/_next/static/chunks/webpack-26a647337ecaadcb.js" defer=""></script><script src="/site/_next/static/chunks/framework-4556c45dd113b893.js" defer=""></script><script src="/site/_next/static/chunks/main-329d400c5222547c.js" defer=""></script><script src="/site/_next/static/chunks/pages/_app-2836273444460b6a.js" defer=""></script><script src="/site/_next/static/chunks/pages/404-9af1ba239956f015.js" defer=""></script><script src="/site/_next/static/1TXU6qFYO42stpeD3xOWG/_buildManifest.js" defer=""></script><script src="/site/_next/static/1TXU6qFYO42stpeD3xOWG/_ssgManifest.js" defer=""></script><script src="/site/_next/static/1TXU6qFYO42stpeD3xOWG/_middlewareManifest.js" defer=""></script></head><body><div id="__next"><h1>404 - Page Not Found :|</h1></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"1TXU6qFYO42stpeD3xOWG","assetPrefix":"/site","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1 change: 1 addition & 0 deletions site/_next/data/1TXU6qFYO42stpeD3xOWG/home.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"pageProps":{"id":"home","mdxSource":{"compiledSource":"/*@jsxRuntime automatic @jsxImportSource react*/\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n h1: \"h1\",\n h6: \"h6\",\n h2: \"h2\",\n p: \"p\",\n a: \"a\",\n strong: \"strong\",\n pre: \"pre\",\n code: \"code\",\n span: \"span\",\n h3: \"h3\"\n }, _provideComponents(), props.components), {Hero, FeatureSummary, Content, Gallery, Image, Spacer} = _components;\n if (!Content) _missingMdxReference(\"Content\", true);\n if (!FeatureSummary) _missingMdxReference(\"FeatureSummary\", true);\n if (!Gallery) _missingMdxReference(\"Gallery\", true);\n if (!Hero) _missingMdxReference(\"Hero\", true);\n if (!Image) _missingMdxReference(\"Image\", true);\n if (!Spacer) _missingMdxReference(\"Spacer\", true);\n return _jsxs(_Fragment, {\n children: [_jsx(Hero, {\n video: \"/assets/videos/jesse_dance.mp4\",\n layout: \"vertical\",\n children: _jsxs(FeatureSummary, {\n children: [_jsx(_components.h1, {\n children: \"Animated Drawings\"\n }), _jsx(_components.h6, {\n children: \"Create animations starring your own drawn characters. This is an implementation of the algorithm described in the paper, 'A Method for Automatically Animating Children's Drawings of the Human Figure'.\"\n })]\n })\n }), \"\\n\", _jsxs(Content, {\n spaceTop: true,\n spaceBottom: true,\n children: [_jsx(_components.h2, {\n children: \"Animated Drawings\"\n }), _jsx(_components.p, {\n children: \"This repo contains an implementation of the algorithm described in the paper, `A Method for Automatically Animating Children's Drawings of the Human Figure' (currenly under peer review).\"\n }), _jsx(_components.p, {\n children: \"In addition, this repo aims to be a useful creative tool in its own right, allowing you to flexibly create animations starring your own drawn characters.\"\n }), _jsxs(_components.p, {\n children: [\"If you do create something fun with this, let us know! Use hashtag \", _jsx(_components.a, {\n href: \"https://twitter.com/search?q=%23FAIRAnimatedDrawings\",\n children: _jsx(_components.strong, {\n children: \"#FAIRAnimatedDrawings\"\n })\n })]\n })]\n }), \"\\n\", _jsxs(Content, {\n spaceBottom: true,\n children: [_jsx(_components.h2, {\n children: \"Installation\"\n }), _jsx(_components.p, {\n children: \"Installation is quick and easy!\\nYou can install with these simple commands:\"\n }), _jsx(_components.pre, {\n className: \"language-bash\",\n children: _jsxs(_components.code, {\n className: \"language-bash\",\n children: [_jsx(_components.span, {\n className: \"token function\",\n children: \"git\"\n }), \" clone https://github.com/facebookresearch/AnimatedDrawings.git\\n\", _jsx(_components.span, {\n className: \"token builtin class-name\",\n children: \"cd\"\n }), \" AnimatedDrawings\\npip \", _jsx(_components.span, {\n className: \"token function\",\n children: \"install\"\n }), \" -e \", _jsx(_components.span, {\n className: \"token builtin class-name\",\n children: \".\"\n }), \"\\n\"]\n })\n }), _jsxs(_components.p, {\n children: [\"See the \", _jsx(_components.a, {\n href: \"https://github.com/facebookresearch/AnimatedDrawings#readme\",\n children: \"README\"\n }), \" for more details.\"]\n })]\n }), \"\\n\", _jsxs(Content, {\n children: [_jsx(_components.h2, {\n children: \"Using Animated Drawings\"\n }), _jsx(_components.p, {\n children: \"Once you've installed AnimatedDrawings, using it is as simple as importing the package and specifying a configuration file.\\nHere's an example:\"\n }), _jsx(_components.pre, {\n className: \"language-python\",\n children: _jsxs(_components.code, {\n className: \"language-python\",\n children: [_jsx(_components.span, {\n className: \"token keyword\",\n children: \"from\"\n }), \" animated_drawings \", _jsx(_components.span, {\n className: \"token keyword\",\n children: \"import\"\n }), \" render\\nrender\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), \"start\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token string\",\n children: \"'./examples/config/mvc/interactive_window_example.yaml'\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), \"\\n\"]\n })\n }), _jsx(_components.p, {\n children: \"And the resulting window:\"\n })]\n }), \"\\n\", _jsx(Gallery, {\n columns: 1,\n spaceTop: true,\n spaceBottom: true,\n color: \"red-50\",\n children: _jsx(Image, {\n url: \"/assets/images/interactive_window_example.gif\"\n })\n }), \"\\n\", _jsxs(Content, {\n spaceTop: true,\n children: [_jsx(_components.h2, {\n children: \"Options\"\n }), _jsx(_components.p, {\n children: \"By modifying the configuration files, you can switch characters, apply different motions, change output formats, and more!\\nHere are a couple examples:\"\n }), _jsx(Spacer, {\n size: \"xs\"\n }), _jsx(_components.h3, {\n children: \"Transparent GIFs\"\n }), _jsx(_components.pre, {\n className: \"language-python\",\n children: _jsxs(_components.code, {\n className: \"language-python\",\n children: [_jsx(_components.span, {\n className: \"token keyword\",\n children: \"from\"\n }), \" animated_drawings \", _jsx(_components.span, {\n className: \"token keyword\",\n children: \"import\"\n }), \" render\\nrender\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), \"start\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token string\",\n children: \"'./examples/config/mvc/export_gif_example.yaml'\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), \"\\n\"]\n })\n })]\n }), \"\\n\", _jsxs(Gallery, {\n columns: 2,\n color: \"red-50\",\n spaceTop: true,\n spaceBottom: true,\n children: [_jsx(Image, {\n url: \"/assets/images/char3.png\"\n }), _jsx(Image, {\n url: \"/assets/images/gif_export_video.gif\"\n })]\n }), \"\\n\", _jsxs(Content, {\n spaceTop: true,\n children: [_jsx(_components.h3, {\n children: \"Multiple characters in a scene\"\n }), _jsx(_components.pre, {\n className: \"language-python\",\n children: _jsxs(_components.code, {\n className: \"language-python\",\n children: [_jsx(_components.span, {\n className: \"token keyword\",\n children: \"from\"\n }), \" animated_drawings \", _jsx(_components.span, {\n className: \"token keyword\",\n children: \"import\"\n }), \" render\\nrender\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), \"start\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token string\",\n children: \"'./examples/config/mvc/multiple_characters_example.yaml'\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), \"\\n\"]\n })\n })]\n }), \"\\n\", _jsxs(Gallery, {\n columns: 3,\n color: \"red-50\",\n spaceTop: true,\n spaceBottom: true,\n children: [_jsx(Image, {\n url: \"/assets/images/char1.png\"\n }), _jsx(Image, {\n url: \"/assets/images/char2.png\"\n }), _jsx(Image, {\n url: \"/assets/images/multiple_characters_example.gif\"\n })]\n }), \"\\n\", _jsxs(Content, {\n spaceTop: true,\n children: [_jsx(_components.h3, {\n children: \"Adding a background image\"\n }), _jsx(_components.p, {\n children: \"Suppose you'd like to add a background to the animation. You can do so by specifying the image path within the config.\\nRun the following commands from a Python interpreter within the AnimatedDrawings root directory:\"\n }), _jsx(_components.pre, {\n className: \"language-python\",\n children: _jsxs(_components.code, {\n className: \"language-python\",\n children: [_jsx(_components.span, {\n className: \"token keyword\",\n children: \"from\"\n }), \" animated_drawings \", _jsx(_components.span, {\n className: \"token keyword\",\n children: \"import\"\n }), \" render\\nrender\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), \"start\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token string\",\n children: \"'./examples/config/mvc/background_example.yaml'\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), \"\\n\"]\n })\n })]\n }), \"\\n\", _jsxs(Gallery, {\n columns: 2,\n color: \"red-50\",\n spaceTop: true,\n spaceBottom: true,\n children: [_jsx(Image, {\n url: \"/assets/images/char4_original_image.png\"\n }), _jsx(Image, {\n url: \"/assets/images/background_example.gif\"\n })]\n }), \"\\n\", _jsxs(Content, {\n spaceTop: true,\n children: [_jsx(_components.h3, {\n children: \"Animate Your Own Drawing\"\n }), _jsx(_components.p, {\n children: \"We also provide scripts and models so you can animate your own drawings with a single command:\"\n }), _jsx(_components.pre, {\n className: \"language-bash\",\n children: _jsx(_components.code, {\n className: \"language-bash\",\n children: \"python image_to_animation.py drawings/garlic.png garlic_out\\n\"\n })\n })]\n }), \"\\n\", _jsxs(Gallery, {\n columns: 2,\n color: \"red-50\",\n spaceTop: true,\n spaceBottom: true,\n children: [_jsx(Image, {\n url: \"/assets/images/garlic.png\"\n }), _jsx(Image, {\n url: \"/assets/images/garlic.gif\"\n })]\n }), \"\\n\", _jsxs(Content, {\n spaceTop: true,\n children: [_jsx(_components.h3, {\n children: \"Try It Out For Yourself\"\n }), _jsxs(_components.p, {\n children: [\"If you want to learn how to do all this and more, see the \", _jsx(_components.a, {\n href: \"https://github.com/facebookresearch/AnimatedDrawings/\",\n children: \"GitHub Readme\"\n }), \" :)\"]\n }), _jsxs(_components.p, {\n children: [\"Alternatively, if you just want to quickly animate your own drawing, try out our browser-based demo, \", _jsx(_components.a, {\n href: \"http://sketch.metademolab.com\",\n children: \"sketch.metademolab.com\"\n }), \".\"]\n })]\n }), \"\\n\", _jsx(Gallery, {\n columns: 1,\n spaceBottom: true,\n children: _jsx(Image, {\n url: \"/assets/images/sketch_demo.jpg\"\n })\n }), \"\\n\", _jsxs(Content, {\n spaceBottom: true,\n children: [_jsx(_components.h3, {\n children: \"Get In Touch\"\n }), _jsxs(_components.p, {\n children: [\"If you want to contact the project author directly, you can reach me on Twitter: \", _jsx(_components.a, {\n href: \"https://twitter.com/hjessmith\",\n children: \"@hjessmith\"\n }), \".\"]\n })]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? _jsx(MDXLayout, Object.assign({}, props, {\n children: _jsx(_createMdxContent, props)\n })) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\nfunction _missingMdxReference(id, component) {\n throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\n}\n","frontmatter":{},"scope":{}},"currentMetaData":{"title":"Home","order":0,"id":"home"},"allMetaData":[{"id":"home","title":"Home","order":0},{"id":"paper","title":"Paper","order":1},{"id":"dataset","title":"Dataset","order":2}]},"__N_SSG":true}
Loading

0 comments on commit f32b8c1

Please sign in to comment.