Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
yuanming-hu authored Jun 20, 2020
1 parent 803df33 commit 5384381
Showing 1 changed file with 37 additions and 64 deletions.
101 changes: 37 additions & 64 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,88 +2,79 @@

**课程主页**http://games-cn.org/games201/

**课件下载(讲义与代码)**https://github.com/taichi-dev/games201/releases
**课件下载(讲义与代码)**https://forum.taichi.graphics/t/topic/272

**课程回放地址**https://www.bilibili.com/video/BV1ZK411H7Hc

**课程直播地址**: http://webinar.games-cn.org (直播结束后Bilibili有回放,请点上一个链接)

**建议前置课程**: 高等数学、Python或任何一门程序设计语言

**课程安排**: 共10节课,每周一次。2020年6月1日开始,时间为北京时间晚上8:30-9:30
**课程安排**: 共10节课,每周一次。2020年6月1日开始,时间为北京时间晚上8:30-10:00

**课程作业**课程共有五次简单的编码练习和三个开放项目。自愿完成。开放项目可以1-3人组队。
**课程作业**课程共有三个开放项目。自愿完成。开放项目可以1-3人组队。

开放项目以同学们自由发挥为主,同学们可以自己将代码分享到 https://forum.taichi.graphics/ 论坛进行讨论,互相切磋。每次我们会选择有代表性的几个项目会在下次上课展示、点评。课程最后会进行最终点评、线上颁奖。

## 课程大纲(暂定)

第一讲,6月1日 导论
### 第一讲,6月1日 导论
* 基于物理的动画简介
* Taichi(太极)编程语言简介
* 课程与作业安排

(开放作业0:编写你自己的任意Taichi程序)

【第二讲,6月8日】

拉格朗日视角(1)
### 第二讲,6月8日 拉格朗日视角(1)

* 弹簧质点系统(Mass-spring systems):你的第一个物理模拟器
* 显式与隐式时间积分器(Explicit/implicit time integrators)
* 光滑粒子流体动力学(Smoothed particle hydrodynamics)
* 快速邻居搜索(Neighborhood search)

【第三讲,6月15日】

拉格朗日视角(2)
### 第三讲,6月15日 拉格朗日视角(2)

* 弱形式(weak form)与拉格朗日有限元模拟入门
* 基于六面体网格(hexahedral grid)的拉格朗日有限元模拟
* 基于四面体网格(tetrahedral mesh)的拉格朗日有限元模拟
* 边界条件处理
* 可逆(invertible)有限元法
* 共轭梯度法 (Conjugate gradients)
* 隐式有限元求解器(Implicit FEM solvers)
* 拓扑优化(Topology optimization)

(开放作业1:实现任意隐式积分器: implicit mass-spring/FEM, PCI-SPH, MPS, ...)
* 边界条件处理
* Taichi编程语言高级特性

【第四讲,6月22日】
(开放作业1:实现任意隐式积分器: implicit mass-spring/FEM, PCI-SPH, MPS, ..., 并进行显式时间积分器器与隐式时间积分器器对比)

欧拉视角(1)
### 第四讲,6月22日 欧拉视角

* 稳定流体与半拉格朗日输送(Stable fluids and Semi-Lagrangian advection)
* Chorin式压力投影(Chorin-Style projection)
* Staggered网格与零空间(nullspaces)
* Krylov子空间求解器(Krylov-subspace solvers)
* Krylov子空间求解器(Krylov-subspace solvers)与共轭梯度法 (Conjugate gradients)
* 用无矩阵(Matrix-free)Krylov子空间方法求解泊松方程(Poisson equations)
* 预条件(Preconditioning)
* 几何与代数多重网格方法(multigrid methods)

第五讲,6月29日
### 第五讲,6月29日 多体问题与涡方法

欧拉视角(2)与大规模物理效果渲染
**客座讲师: [张心欣](https://zhxx1987.github.io/)**

* 高级输送格式(Advanced advection schemes)
* 有符号距离场与等势面(Signed-distance fields, level sets)
* 用等势面方法实现自由表面(Free-surface)追踪(tracking)
* 自由表面与高阶边界条件处理
* 路径追踪(Path tracing)与球面追踪(Sphere tracing)
* 运动模糊(Motion blur)
* 行军立方体(Marching cubes)表面重建
* 数字微分分析器(Digital differential analyzer,DDA)
* 用数字微分分析器进行光线-粒子求交(DDA ray-particle intersection)
* 体素渲染(Voxel rendering)
* 体积渲染(Volumetric rendering)
* 多体问题以及他们与柏松方程的联系
* 涡方法的乐趣
* 从直观的角度引导同学认识几种不同的快速求和方法

7月6日,空一周,实现开放作业1

7月11日,开放作业1截止,点评

【第六讲,7月13日】
Homework 2 (最终作业)
* 实现一个可交互的物理模拟器(2D),或⽤⾼质量渲染可视化模拟结果(3D),或进⾏性能优化
* 可以基于⾃己的或别人的Homework 1

混合欧拉-拉格朗日视角(1)
### 第六讲,7月13日 线性弹性有限元与拓扑优化

* 弱形式(weak form)与有限元理论入门
* 基于六面体网格(hexahedral grid)的拉格朗日有限元模拟
* 拓扑优化(Topology optimization)


### 第七讲,7月20日 混合欧拉-拉格朗日视角(1)

– 开放作业1点评,公布优秀代码

Expand All @@ -97,11 +88,8 @@

– 用FLIP与APIC进行流体模拟

(开放作业2开始,可以使用开放作业1的代码,自由实现一个物理引擎,并完成渲染)

【第七讲,7月20日】

混合欧拉-拉格朗日视角(2)
### 第八讲,7月27日 混合欧拉-拉格朗日视角(2)

– 物质点法(Material Point Method, MPM)基础

Expand All @@ -111,9 +99,16 @@

– 物质点法中的拉格朗日力(Lagrangian forces in MPM)

– 传统稀疏数据结构:OpenVDB

– 用稀疏数据结构加速物质点法的模拟

– 稀疏数据结构的调优

– MPM中的数值断裂(numeric fracture)与连续介质伤害力学(Continuum Damage Mechanics, CDM)

【第八讲,7月27日】

## 第九讲,8月3日

高性能计算与物理引擎

Expand All @@ -129,33 +124,11 @@

– MPM的性能优化

【第九讲,8月3日】

物理引擎中的稀疏数据结构与可微编程

– 稀疏数据结构简介

– 传统稀疏数据结构:OpenVDB

– 用稀疏数据结构加速物质点法的模拟

– 稀疏数据结构的调优

– 可微编程与可微物理引擎

– 利用可微编程从势能计算受力

– 利用Checkpointing技巧节约内存

– 实例:优化软体机器人控制器

8月10日空一次,大家完善自己的物理引擎(开放作业2)。

8月15日开放作业2 deadline。

【第十讲,8月17日】

总结
### 第十讲,8月17日 总结

– 课程回顾

Expand Down

0 comments on commit 5384381

Please sign in to comment.