厉害了!99行代码实现《冰雪奇缘》
只用99行代码,你也可以像《冰雪奇缘》里的艾莎公主一样拥有冰雪魔法。虽然你不能在现实世界中肆意变出魔法,但却能在计算机的虚拟世界挥洒特效。
或许你不知道,电影和动画中特效有时仅仅短短的一秒,却可能需要高性能计算机演算一周,花费惊人。
《冰雪奇缘》没有真人出演,预算却高达1.5亿美元,每一秒的镜头都是经费在燃烧。一般人想用电脑做出CG特效简直不可想象。
然而,最近一位来自中国的MIT博士,开发了一种新的CG特效编程语言Taichi(太极),大大降低了门槛。
一个简单的物理场景,普通PC仅需几分钟即可渲染完成,相比TensorFlow提速了188倍、比PyTorch快13.4倍,代码长度只有其他底层方法的十分之一。
甚至,Taichi的发明者胡渊鸣同学还为此编写了完整使用教程,网友们在围观之后也纷纷表示:渊鸣大神太强了。
88行代码模拟真实物理环境,正如胡同学本人所说,99行代码很短,背后的技术故事却很长,MPM是一种在影视特效领域广受青睐的模拟连续介质方法,迪士尼的《冰雪奇缘》就用到了这项技术。
但在早期,MPM的运行速度非常慢,比如《冰雪奇缘》里安娜过雪地的镜头,据说要在集群上跑整整一个星期。
用Taichi语言编写的模拟器大大简化了代码,可微分弹性对象模拟器只用了110行代码,而直接用CUDA编写则需要490行。同时,Taichi的速度还很快,相比CUDA版本几乎没有什么损失,比TensorFlow快了188倍,比PyTorch快13.4倍。
最后,如果想了解这99行代码背后更多的研究历程,不妨读一读胡渊鸣本人的知乎专栏文章。大神不仅代码写得好,码字和蒸鸡蛋也是好手呢~
传送门
胡渊鸣知乎原文:
https://zhuanlan.zhihu.com/p/97700605
论文地址:
https://arxiv.org/abs/1910.00935
太极项目地址:
https://github.com/yuanming-hu/taichi
taichi_mpm项目地址:
https://github.com/yuanming-hu/taichi_mpm
厉害了!99行代码实现《冰雪奇缘》相关推荐
- 【Python】胡渊鸣的99行代码——冰雪奇缘
14万个水,果冻,和雪"粒子" QQ录屏20210710185902 import taichi as ti import numpy as np ti.init(arch=ti. ...
- 清华姚班毕业生开发新特效编程语言,99 行代码实现《冰雪奇缘》,网友:大神碉堡!创世的快乐...
公众号关注 "GitHubDaily" 设为 "星标",每天带你逛 GitHub! 转自量子位,作者边策.鱼羊 只用 99 行代码,你也可以像<冰雪奇缘& ...
- MIT博士99 行代码就能实现《冰雪奇缘》的特效引擎入门-用Taichi画太极
可能最近不少读者也像我一样被某公号的那篇<清华毕业生开发新特效编程语言,99行代码实现<冰雪奇缘>,网友:大神碉堡!创世的快乐>吓了一大跳, 尤其是开篇就引用了冰雪奇缘的动画C ...
- 清华毕业生开发新特效编程语言:99 行代码背后 20 多年的故事...
不知道大家看没看<冰雪奇缘2>,反正我看完之后的感觉,就是看两个公主玩了一百分钟的塞尔达...没有任何别的想法... 但有一位清华姚班毕业的大佬 -- 胡渊鸣,在看完之后,试着用 99 行 ...
- 大神碉堡!99 行代码实现的神奇效果
code小生 一个专注大前端领域的技术平台公众号回复Android加入安卓技术群 边策 鱼羊 发自 凹非寺量子位 报道 | 公众号 QbitAI 只用99行代码,你也可以像<冰雪奇缘>里的 ...
- 标准oc算法的推导与99行代码详解
文章目录 标准oc算法的推导与代码详解 问题描述 OC算法的数学描述 结果展示 OC算法的matlab代码及注释 参考文献 标准oc算法的推导与代码详解 对于变密度的参数化方法,设计变量x为材料相对密 ...
- (中文详解篇)smallpt: 99行代码完成全局光照Path Tracing
目录 0. 什么是SmallPT Features 1. 光线追踪需要了解知识 1.1 什么是全局光照? 1.2 渲染方程 2. SmallPT代码分析 2.1 代码块1 2.2 代码块2 2.2.1 ...
- 99行代码实现go IOC容器
Configuration(args...): 代码会自动调用结构中"方法名与返回值类型名称一致的方法,进行初始化beanMap"Set(args...): 该注入方式支持使用结构 ...
- python冰雪奇缘使用教程_99 行代码的《冰雪奇缘》
目录 序 Material Point Method(物质点法) Moving Least Squares Material Point Method(移动最小二乘物质点法) Differentiab ...
最新文章
- 生命的脆弱——悼念朋友
- BigData/Cloud Computing:购买并登录Windows弹性云服务器之详细攻略(图文教程)—更优惠、更贴心!
- 使用netty搭建一个简单的聊天室
- viewpager默认界面_使用默认方法的界面演变–第一部分:方法
- java 并发测试main方法_Java并发测试
- 如何导出已安装的安卓app为apk包
- Java for 语句简化写法_Java 8 Lambda 写法与简化
- 设计类网站|超实用的工具型网站!
- css奇数、偶数样式
- 苹果Mac专业的字体管理应用:​​​​RightFont
- MPU6050六轴传感器的原理及编程说明
- .NET-3.Xamarin学习与总结
- 炸了炸了~翻译器中的王者,科大讯飞翻译器2.0横空出世!| 钛空智慧星球推荐...
- 树莓派4B(bullseye),傻瓜式配置镜像源和QT,cmake等环境
- 公司来了阿里人,然后......
- 京东 API ,按图搜索京东商品(拍立淘)
- 【unity】几个常用脚本
- 微信小程序外卖cps和cpa系统
- 三国志战略版S1初始赛季攻略合集 s1赛季秘籍三国志战略版新手攻略
- 主成分分析——PCA降维Python实现及碎石图