12 月 14 日晚 7 点 | 如何成为 Taichi 贡献者?
时间:2022-10-02 20:08:30 阅读:84
本周二,太极图形课完成了流体仿真02讲——欧拉视角,天添老师讲解了使用网格法来模拟流体。在课上,我们了解了欧拉视角和拉格朗日视角的区别,还着重理解了物质导数的概念和欧拉视角下的流体传输及压力投影求解无散流场的方法。本周的助教答疑讲解了stable fluid代码,优秀作业分享则非常详细地提供了《WCSPH踩坑指南》。
下周二,太极图形编译器架构师张爱玲将与同学们分享《如何成为Taichi的贡献者》,内容包括:如何参与到Taichi语言的开发,开发的流程和常见问题,相信大家在听完这节课之后就可以参与到Taichi语言新特性的开发中来。
作业展示(一)使用隐式积分的mass spring game Vineyo
动图封面
作业描述
作者修改了mass_spring_game 4的代码,使用了隐式积分更新。
要用隐式积分确实挺难的,要理解公式里的符号跟implicit_mass_spring_system 2里的数据和运算对应起来挺难的,尤其是这里用了一些奇妙的操作进行矩阵运算,还有些变量名是课上没讲的(比如Jacobians)。而且这两个程序的粒子和边的数据结构不同,还是要先理解数学才能写出来,作者看了几遍视频才理解是怎么回事。
教师点评
少见的挑战隐式积分的作业!关于Jacobians是上课忽略了实在是抱歉。一般我们会把一个向量函数对另一个向量的导数叫做这个向量函数的Jacobian矩阵。由于弹性力是负的弹性势能对位置的导数,那么弹性力对位置求导的Jacobian矩阵就是负的弹性势能对位置的二阶导数了,也就是负的上课讲过的海森矩阵。可以自己从代码上理解数学公式并加以改写真的非常厉害!
作业展示(二)物理小球2D niushuqing123
动图封面
作业描述
用处理弹簧的方式,处理一个带有半径圆。这个点子是作者挺早之前想到的,然后用c++实现的,现在用Taichi重写一下,效果还可以,但是坐标的比例就没来得及处理,在写入GUI之前强行缩放了一下,之后有空再改。里面有一些交互按钮可以查看一下,更多运行效果可以在作者的GitHub看到。
教师点评
很好玩的作业。这个作业其实完成的是一个由临时生成的零原长弹簧进行碰撞处理的刚体小球仿真。这种处理碰撞的方式是非常简单,常见并有效的,同时也非常容易写成隐式的。在很多实时仿真中都有使用。也欢迎大家把这种碰撞检测方式放到自己的弹性物体仿真中去。回过头来看效果,这个作业是真·海洋球模拟!做出来的效果是不是也和流体很相似了呢?Bazinga!
作业展示(三)流体练习:一叶扁舟 niushuqing123
动图封面
动图封面
作业描述
基于自带例子mpm88.py、mpm128.py修改得到。课程学习的是基于粒子的流体仿真,但是例程在笔记本上跑起来比较慢,所以换成了运行效率更高的自带例子(站在巨人的肩膀上)。在新的例子上,实现增加一叶质量非常棒的小木船,其特征在于随波逐流、飘摇沉浮……和mpm128一样,鼠标左右键可以吸引和排斥。
教师点评
上课的时候讲到SPH非常容易和固体做双向耦合(two-way coupling),直接捏一个由particle组成的固体扔到SPH流体里面去就好了。结果这位同学就直接在MPM里面捏了一个流固耦合。活学活用非常迅速,令人赞叹。大作业想做粒子法流体固体双向耦合的同学想找找灵感?不如就看看 niushuqing123同学的这份作业是怎么做的吧!
第三次作业收集截止时间:12月13日24点
第三次的纪念品派送将在12月14日的课程直播后进行现场抽奖,以对近几周认真听课、交出精彩图形课作业的同学予以鼓励(记得使用课程主页的模版哦)!
另外,第一季的太极图形课已经渐入尾声,我们一起从夏末走到了深冬。来自各行各业的同学们使用taichi现魔法,做出了酷炫的作业,给予了宝贵的用户反馈。于是……12月21日,下下周二19点,老时间老地方,由天添老师领衔的图形课制作小组来与大家见!面!啦!届时,我们将与大家回顾第一季,展望第二季,并聊一聊当助教是什么样的体验?如何在一个周末完成ray tracing in one weekend?同时,让大家等待了一季的片头解密终于要来了!我们邀请了图形课片头、片尾制作者(B站某不那么知名的Up主)与大家分享这样动感十足的视频是如何用Taichi实现的。还有天添老师排练已久的精彩节目独家奉上……taichi https://taichi-lang.cn/
下周二,太极图形编译器架构师张爱玲将与同学们分享《如何成为Taichi的贡献者》,内容包括:如何参与到Taichi语言的开发,开发的流程和常见问题,相信大家在听完这节课之后就可以参与到Taichi语言新特性的开发中来。
作业展示(一)使用隐式积分的mass spring game Vineyo
动图封面
作业描述
作者修改了mass_spring_game 4的代码,使用了隐式积分更新。
要用隐式积分确实挺难的,要理解公式里的符号跟implicit_mass_spring_system 2里的数据和运算对应起来挺难的,尤其是这里用了一些奇妙的操作进行矩阵运算,还有些变量名是课上没讲的(比如Jacobians)。而且这两个程序的粒子和边的数据结构不同,还是要先理解数学才能写出来,作者看了几遍视频才理解是怎么回事。
教师点评
少见的挑战隐式积分的作业!关于Jacobians是上课忽略了实在是抱歉。一般我们会把一个向量函数对另一个向量的导数叫做这个向量函数的Jacobian矩阵。由于弹性力是负的弹性势能对位置的导数,那么弹性力对位置求导的Jacobian矩阵就是负的弹性势能对位置的二阶导数了,也就是负的上课讲过的海森矩阵。可以自己从代码上理解数学公式并加以改写真的非常厉害!
作业展示(二)物理小球2D niushuqing123
动图封面
作业描述
用处理弹簧的方式,处理一个带有半径圆。这个点子是作者挺早之前想到的,然后用c++实现的,现在用Taichi重写一下,效果还可以,但是坐标的比例就没来得及处理,在写入GUI之前强行缩放了一下,之后有空再改。里面有一些交互按钮可以查看一下,更多运行效果可以在作者的GitHub看到。
教师点评
很好玩的作业。这个作业其实完成的是一个由临时生成的零原长弹簧进行碰撞处理的刚体小球仿真。这种处理碰撞的方式是非常简单,常见并有效的,同时也非常容易写成隐式的。在很多实时仿真中都有使用。也欢迎大家把这种碰撞检测方式放到自己的弹性物体仿真中去。回过头来看效果,这个作业是真·海洋球模拟!做出来的效果是不是也和流体很相似了呢?Bazinga!
作业展示(三)流体练习:一叶扁舟 niushuqing123
动图封面
动图封面
作业描述
基于自带例子mpm88.py、mpm128.py修改得到。课程学习的是基于粒子的流体仿真,但是例程在笔记本上跑起来比较慢,所以换成了运行效率更高的自带例子(站在巨人的肩膀上)。在新的例子上,实现增加一叶质量非常棒的小木船,其特征在于随波逐流、飘摇沉浮……和mpm128一样,鼠标左右键可以吸引和排斥。
教师点评
上课的时候讲到SPH非常容易和固体做双向耦合(two-way coupling),直接捏一个由particle组成的固体扔到SPH流体里面去就好了。结果这位同学就直接在MPM里面捏了一个流固耦合。活学活用非常迅速,令人赞叹。大作业想做粒子法流体固体双向耦合的同学想找找灵感?不如就看看 niushuqing123同学的这份作业是怎么做的吧!
第三次作业收集截止时间:12月13日24点
第三次的纪念品派送将在12月14日的课程直播后进行现场抽奖,以对近几周认真听课、交出精彩图形课作业的同学予以鼓励(记得使用课程主页的模版哦)!
另外,第一季的太极图形课已经渐入尾声,我们一起从夏末走到了深冬。来自各行各业的同学们使用taichi现魔法,做出了酷炫的作业,给予了宝贵的用户反馈。于是……12月21日,下下周二19点,老时间老地方,由天添老师领衔的图形课制作小组来与大家见!面!啦!届时,我们将与大家回顾第一季,展望第二季,并聊一聊当助教是什么样的体验?如何在一个周末完成ray tracing in one weekend?同时,让大家等待了一季的片头解密终于要来了!我们邀请了图形课片头、片尾制作者(B站某不那么知名的Up主)与大家分享这样动感十足的视频是如何用Taichi实现的。还有天添老师排练已久的精彩节目独家奉上……taichi https://taichi-lang.cn/
郑重声明:文章内容来自互联网,纯属作者个人观点,仅供参考,并不代表本站立场 ,版权归原作者所有!
相关推荐