├── README.md └── photos ├── 2018-4-7 ├── .DS_Store ├── WX20180407-163500.png ├── WX20180407-163626.png ├── WX20180407-163725.png ├── WX20180407-163802.png ├── WX20180407-163916.png ├── WX20180407-163953.png ├── WX20180407-172215.png ├── WX20180407-172237.png ├── WX20180407-172403.png ├── WX20180407-172641.png ├── WX20180407-172746.png ├── WX20180407-172902.png ├── WX20180407-173115.png ├── WX20180407-173147.png ├── WX20180407-181933.png └── WX20180407-182647.png ├── 2019-11-19 ├── 1.jpg ├── 2.jpg ├── 3.jpg ├── 4.jpg ├── 5.jpg ├── 6.jpg ├── 7.jpg └── 8.jpg ├── 2019-5-19 ├── bbox.png ├── bbox2.png ├── cd.png ├── poly1.png ├── poly2.png ├── s&p.png ├── sat1.jpg ├── sat2.jpg ├── sat3.jpg └── 穿透.png ├── 2019-5-29 ├── 2018121410462466.png ├── 20181214112339595.png ├── 20181214112636330.png ├── 2018121414201566.png ├── 20181214143232125.png └── 微信截图_20190530002222.png ├── 2019-6-1 ├── 20161104233245523.png ├── GIF.gif ├── 微信截图_20190601161718.png ├── 微信截图_20190601162406.png └── 微信截图_20190601162429.png ├── 2019-6-17 ├── 20150623225525008.png ├── 20150623225921049.png ├── 20150623230149494.png ├── 20150623230500257.png └── GIF.gif ├── 2019-6-24 ├── GIF.gif ├── add.gif ├── del.gif ├── 图片1.png ├── 微信截图_20190624181946.png ├── 微信截图_20190624190322.png ├── 微信截图_20190624220954.png ├── 微信截图_20190624221122.png ├── 微信截图_20190624222144.png ├── 微信截图_20190624224228.png └── 微信截图_20190624225928.png ├── 2019-6-9 ├── 20161104233304006.png ├── 微信截图_20190609181209.png └── 微信截图_20190609181253.png ├── 2019-7-11 ├── 4af4f21982da0376074b444730c30717.png ├── 6d3955125f674f84a6f723282888adbd.png ├── 微信截图_20190711144004.png ├── 微信截图_20190711150057.png ├── 微信截图_20190711162919.png ├── 微信截图_20190711163215.png └── 微信截图_20190711163349.png ├── 2019-7-18 ├── 20190218191923306.png ├── 201902181919233061.png ├── 201902182023072018.png ├── 20190218202307208.png ├── GIF.gif ├── 微信截图_20190717154200.png ├── 微信截图_20190717154343.png ├── 微信截图_20190717193901.png └── 微信截图_20190718173904.png ├── 2019-7-3 ├── GIF.gif ├── 微信截图_20190703223746.png ├── 微信截图_20190703230935.png ├── 微信截图_20190704144741.png ├── 微信截图_20190704232000.png ├── 微信截图_20190704232343.png └── 微信截图_20190704233339.png ├── 2019-7-9 ├── 0fb723f86dda24d03356b5aa65ab25e4.png ├── 4af4f21982da0376074b444730c30717.png ├── 680b97a4e48ce206f363cefcfbc9d778.png ├── 微信截图_20190709194331.png └── 微信截图_20190709224313.png ├── 2019-8-16 ├── 4444.png ├── 微信截图_20190816110317.png ├── 微信截图_20190816111033.png ├── 微信截图_20190816170122.png ├── 微信截图_20190816170153.png ├── 微信截图_20190816170222.png ├── 微信截图_20190816172249.png ├── 微信截图_20190816172537.png ├── 微信截图_20190816172601.png ├── 微信截图_20190816172646.png ├── 微信截图_20190816172703.png ├── 微信截图_20190816173615.png ├── 微信截图_20190816173642.png ├── 微信截图_20190816174248.png ├── 微信截图_20190816174439.png ├── 微信截图_20190816181020.png ├── 微信截图_20190816181705.png ├── 微信截图_20190817175858.png └── 微信截图_20190817175921.png ├── 2019-8-7 ├── 微信截图_20190807111411.png ├── 微信截图_20190807111450.png ├── 微信截图_20190807111508.png ├── 微信截图_20190807111521.png ├── 微信截图_20190807111531.png ├── 微信截图_20190807111546.png ├── 微信截图_20190807114953.png ├── 微信截图_20190807115820.png └── 微信截图_20190807120146.png ├── 2020-1-9 └── 1.png ├── 2020-2-14 ├── v2-5a5efc0e3ffc0b9e8102e6ef4a78c382_b.png ├── v2-c26834a14286aeb188fd1bf421a8f826_b.png ├── 微信截图_20200214225829.png ├── 微信截图_20200214225941.png ├── 微信截图_20200214232934.png ├── 微信截图_20200214233459.png ├── 微信截图_20200214235242.png ├── 微信截图_20200214235428.png ├── 微信截图_20200214235729.png ├── 微信截图_20200215010829.png ├── 微信截图_20200215174128.png ├── 微信截图_20200215181843.png ├── 微信截图_20200215182108.png └── 微信截图_20200215182858.png ├── 2020-4-13 ├── 微信截图_20200413155836.png ├── 微信截图_20200413160533.png ├── 微信截图_20200413161838.png ├── 微信截图_20200413162921.png ├── 微信截图_20200413163202.png ├── 微信截图_20200413164732.png ├── 微信截图_20200413164941.png ├── 微信截图_20200413170916.png ├── 微信截图_20200413171824.png ├── 微信截图_20200413171835.png ├── 物理引擎.png └── 现实.png ├── 2020-4-15 ├── 041615462529_0幻灯片18.png ├── 微信截图_20200415232037.png ├── 微信截图_20200415233009.png ├── 微信截图_20200415234557.png ├── 微信截图_20200416000902.png ├── 微信截图_20200416155557.png └── 微信截图_20200416160915.png ├── 2020-4-16 ├── 微信截图_20190522170309.png ├── 微信截图_20190522170439.png ├── 微信截图_20200415234557.png ├── 微信截图_20200416165905.png ├── 微信截图_20200416170628.png ├── 微信截图_20200416171025.png ├── 微信截图_20200416171057.png └── 微信截图_20200416171127.png ├── 2020-4-17 ├── 幻灯片36.PNG ├── 幻灯片37.PNG ├── 幻灯片38.PNG ├── 幻灯片39.PNG ├── 幻灯片40.PNG ├── 幻灯片41.PNG ├── 幻灯片42.PNG ├── 幻灯片43.PNG ├── 幻灯片44.PNG ├── 幻灯片45.PNG ├── 幻灯片46.PNG ├── 微信截图_20200417172124.png └── 演示文稿1.png ├── 2020-6-25 ├── 微信截图_20200625211929.png ├── 微信截图_20200625211953.png ├── 微信截图_20200625212010.png ├── 微信截图_20200625213907.png ├── 微信截图_20200625233707.png ├── 微信截图_20200625233725.png ├── 微信截图_20200626230304.png └── 欧拉方法详解.md ├── 2020-8-21 ├── 1.png ├── 2.png ├── 3.png ├── 4.png ├── 5.png ├── 6.png ├── 微信截图_20200824152518.png └── 微信截图_20200824205308.png ├── QQ20180215-232321-HD.gif ├── QQ20180216-150758-HD.gif ├── WX20170921-174437.png ├── WX20170921-181442.png ├── WX20170921-181753.png ├── WX20170921-183411.png ├── WX20170921-185537.png ├── WX20170921-190451.png ├── WX20170922-005153.png ├── WX20170922-005212.png ├── WX20170922-005222.png ├── WX20170922-191359.png ├── WX20170922-201509.png ├── WX20170922-201718.png ├── WX20170922-203921.png ├── WX20170927-164552.png ├── WX20171004-163706.png ├── WX20171004-163720.png ├── WX20171004-163737.png ├── WX20171007-162105.png ├── WX20171007-162201.png ├── WX20171027-145452.png ├── WX20171027-150804.png ├── WX20171118-174023.png ├── WX20171118-174054.png ├── WX20171118-174146.png ├── WX20171118-180403.png ├── WX20171217-144424.png ├── WX20171217-164740.png ├── WX20171217-172907.png ├── WX20180123-171737.png ├── WX20180123-172138.png ├── WX20180126-204943.png ├── WX20180126-221306.png ├── WX20180126-222821.png ├── WX20180216-153600.png ├── WX20180301-155602.png ├── WX20180301-170653.png ├── WX20180301-181418.png ├── WX20180301-184956.png ├── WX20180301-185009.png ├── WX20180301-185025.png ├── WX20180301-185728.png ├── WX20180407-171606.png ├── WX20180407-171726.png ├── WX20180407-171751.png ├── v2-cd7ea6b5b6a25d949014f5215cc31315_hd.jpg ├── vdom-diff.png ├── 微信截图_20171118191326.png ├── 微信截图_20171223132238.png └── 微信截图_20171223135321.png /README.md: -------------------------------------------------------------------------------- 1 | # Phenom🐤写字的地方📝📝 2 | 3 | ### 2022-10 4 | **[为什么WebGL比Canvas 2d更快?](https://www.yuque.com/phenom/apaq0q/wro6qg)** 5 | 6 |
7 | 8 | ### 2022-09 9 | **[实现一个高性能JS向量/矩阵库](https://www.yuque.com/phenom/apaq0q/yipteo)** 10 | 11 | **[浏览器进程梳理](https://www.yuque.com/phenom/apaq0q/klhliu)** 12 | 13 |
14 | 15 | ### 2022-08 16 | **[暴力防隐藏水印方案](https://www.yuque.com/phenom/apaq0q/vpy9mo)** 17 | 18 | **[实现一个高性能的Canvas图形库](https://www.yuque.com/phenom/apaq0q/adivu9)** 19 | 20 | **[当forwardRef遇到泛型组件](https://www.yuque.com/phenom/apaq0q/oixowk)** 21 | 22 |
23 | 24 | ### 2020-08 25 | **[利用包围盒的交集筛选分离轴](https://www.yuque.com/phenom/apaq0q/ww2k5d)** 26 | 27 |
28 | 29 | ### 2020-06 30 | **[数组积分:欧拉方法详解](https://www.yuque.com/phenom/apaq0q/ffgbwo)** 31 | 32 |
33 | 34 | ### 2020-04 35 | **[StructV教程(二):实现哈希无向图可视化](https://github.com/phenomLi/myBlog/issues/40)** 36 | 37 | **[碰撞点求解(一):最近内部顶点法](https://github.com/phenomLi/myBlog/issues/41)** 38 | 39 | **[碰撞点求解(二):V-clip 算法](https://github.com/phenomLi/myBlog/issues/42)** 40 | 41 |
42 | 43 | ### 2020-03 44 | **[StructV教程(一):实现二叉树可视化](https://github.com/phenomLi/myBlog/issues/39)** 45 | 46 |
47 | 48 | ### 2020-02 49 | **[Typescript踩坑两则](https://github.com/phenomLi/myBlog/issues/38)** 50 | 51 |
52 | 53 | ### 2020-01 54 | **[一些思考:项目的实现到重构](https://github.com/phenomLi/myBlog/issues/37)** 55 | 56 |
57 | 58 | ### 2019-11 59 | **[二叉树线性差异识别算法](https://github.com/phenomLi/myBlog/issues/36)** 60 | 61 |
62 | 63 | ### 2019-08 64 | **[碰撞求解(一):使用向量](https://github.com/phenomLi/myBlog/issues/34)** 65 | 66 | **[碰撞求解(二):使用冲量](https://github.com/phenomLi/myBlog/issues/35)** 67 | 68 |
69 | 70 | ### 2019-07 71 | **[多边形裁剪:Sutherland Hodgman算法](https://github.com/phenomLi/myBlog/issues/30)** 72 | 73 | **[更精确的模拟:verlet积分详解](https://github.com/phenomLi/myBlog/issues/31)** 74 | 75 | **[Timestepping](https://github.com/phenomLi/myBlog/issues/32)** 76 | 77 | **[利用多边形切割进行分离轴算法优化](https://github.com/phenomLi/myBlog/issues/33)** 78 | 79 |
80 | 81 | ### 2019-06 82 | **[N体受力问题(一):四叉树](https://github.com/phenomLi/myBlog/issues/25)** 83 | 84 | **[凹多边形判别与分割](https://github.com/phenomLi/myBlog/issues/26)** 85 | 86 | **[N体受力问题(二):计算物体作用力](https://github.com/phenomLi/myBlog/issues/27)** 87 | 88 | **[GJK碰撞检测算法的另一种实现](https://github.com/phenomLi/myBlog/issues/28)** 89 | 90 | **[一种紧凑树形布局算法的实现](https://github.com/phenomLi/myBlog/issues/29)** 91 | 92 |
93 | 94 | ### 2019-05 95 | 96 | **[AABB - 轴对齐包围盒](https://github.com/phenomLi/myBlog/issues/21)** 97 | 98 | **[粗检测阶段(一):Sweep and Prune 算法](https://github.com/phenomLi/myBlog/issues/22)** 99 | 100 | **[SAT 分离轴算法](https://github.com/phenomLi/myBlog/issues/23)** 101 | 102 | **[React列表diff原理](https://github.com/phenomLi/myBlog/issues/24)** 103 | 104 |
105 | 106 | ### 2018-04 107 | 108 | **[SQLite调试教程](https://github.com/phenomLi/myBlog/issues/18)** 109 | 110 | **[记一个小技巧:一个Activity调用另一个Activity中的非静态方法](https://github.com/phenomLi/myBlog/issues/19)** 111 | 112 |
113 | 114 | ### 2018-02 115 | 116 | **[Math.round()的妙用](https://github.com/phenomLi/myBlog/issues/16)** 117 | 118 | **[Sticky Footer !](https://github.com/phenomLi/myBlog/issues/17)** 119 | 120 |
121 | 122 | ### 2018-01 123 | 124 | **[XMLHttpRequest的五个阶段](https://github.com/phenomLi/myBlog/issues/14)** 125 | 126 | **[JS的继承的总结](https://github.com/phenomLi/myBlog/issues/15)** 127 | 128 |
129 | 130 | ### 2017-12 131 | 132 | **[JS中的深拷贝](https://github.com/phenomLi/myBlog/issues/12)** 133 | 134 | **[理解虚拟DOM](https://github.com/phenomLi/myBlog/issues/13)** 135 | 136 |
137 | 138 | ### 2017-11 139 | 140 | **[随便聊聊事件委托](https://github.com/phenomLi/myBlog/issues/11)** 141 | 142 |
143 | 144 | ### 2017-10 145 | 146 | **[Vue数据绑定揭秘:Object.defineProperty](https://github.com/phenomLi/myBlog/issues/8)** 147 | 148 | **[实现一个乞丐版的Promise](https://github.com/phenomLi/myBlog/issues/9)** 149 | 150 | **[Js循环事件绑定的坑与作用域](https://github.com/phenomLi/myBlog/issues/10)** 151 | 152 |
153 | 154 | ### 2017-09 155 | 156 | **[ES6箭头函数的坑](https://github.com/phenomLi/myBlog/issues/2)** 157 | 158 | **[说说js中的异步](https://github.com/phenomLi/myBlog/issues/3)** 159 | 160 | **[node自定义模块:一个壁纸下载小工具](https://github.com/phenomLi/myBlog/issues/4)** 161 | 162 | **[微信h5手机适配探索](https://github.com/phenomLi/myBlog/issues/5)** 163 | 164 | **[React开发环境搭建教程](https://github.com/phenomLi/myBlog/issues/6)** 165 | 166 | **[利用css伪类作屏幕断点判断](https://github.com/phenomLi/myBlog/issues/7)** 167 | 168 | **[原来github还能这样玩](https://github.com/phenomLi/myBlog/issues/1)** 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | -------------------------------------------------------------------------------- /photos/2018-4-7/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/.DS_Store -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-163500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-163500.png -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-163626.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-163626.png -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-163725.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-163725.png -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-163802.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-163802.png -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-163916.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-163916.png -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-163953.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-163953.png -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-172215.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-172215.png -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-172237.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-172237.png -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-172403.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-172403.png -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-172641.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-172641.png -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-172746.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-172746.png -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-172902.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-172902.png -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-173115.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-173115.png -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-173147.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-173147.png -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-181933.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-181933.png -------------------------------------------------------------------------------- /photos/2018-4-7/WX20180407-182647.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2018-4-7/WX20180407-182647.png -------------------------------------------------------------------------------- /photos/2019-11-19/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-11-19/1.jpg -------------------------------------------------------------------------------- /photos/2019-11-19/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-11-19/2.jpg -------------------------------------------------------------------------------- /photos/2019-11-19/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-11-19/3.jpg -------------------------------------------------------------------------------- /photos/2019-11-19/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-11-19/4.jpg -------------------------------------------------------------------------------- /photos/2019-11-19/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-11-19/5.jpg -------------------------------------------------------------------------------- /photos/2019-11-19/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-11-19/6.jpg -------------------------------------------------------------------------------- /photos/2019-11-19/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-11-19/7.jpg -------------------------------------------------------------------------------- /photos/2019-11-19/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-11-19/8.jpg -------------------------------------------------------------------------------- /photos/2019-5-19/bbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-19/bbox.png -------------------------------------------------------------------------------- /photos/2019-5-19/bbox2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-19/bbox2.png -------------------------------------------------------------------------------- /photos/2019-5-19/cd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-19/cd.png -------------------------------------------------------------------------------- /photos/2019-5-19/poly1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-19/poly1.png -------------------------------------------------------------------------------- /photos/2019-5-19/poly2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-19/poly2.png -------------------------------------------------------------------------------- /photos/2019-5-19/s&p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-19/s&p.png -------------------------------------------------------------------------------- /photos/2019-5-19/sat1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-19/sat1.jpg -------------------------------------------------------------------------------- /photos/2019-5-19/sat2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-19/sat2.jpg -------------------------------------------------------------------------------- /photos/2019-5-19/sat3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-19/sat3.jpg -------------------------------------------------------------------------------- /photos/2019-5-19/穿透.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-19/穿透.png -------------------------------------------------------------------------------- /photos/2019-5-29/2018121410462466.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-29/2018121410462466.png -------------------------------------------------------------------------------- /photos/2019-5-29/20181214112339595.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-29/20181214112339595.png -------------------------------------------------------------------------------- /photos/2019-5-29/20181214112636330.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-29/20181214112636330.png -------------------------------------------------------------------------------- /photos/2019-5-29/2018121414201566.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-29/2018121414201566.png -------------------------------------------------------------------------------- /photos/2019-5-29/20181214143232125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-29/20181214143232125.png -------------------------------------------------------------------------------- /photos/2019-5-29/微信截图_20190530002222.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-5-29/微信截图_20190530002222.png -------------------------------------------------------------------------------- /photos/2019-6-1/20161104233245523.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-1/20161104233245523.png -------------------------------------------------------------------------------- /photos/2019-6-1/GIF.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-1/GIF.gif -------------------------------------------------------------------------------- /photos/2019-6-1/微信截图_20190601161718.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-1/微信截图_20190601161718.png -------------------------------------------------------------------------------- /photos/2019-6-1/微信截图_20190601162406.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-1/微信截图_20190601162406.png -------------------------------------------------------------------------------- /photos/2019-6-1/微信截图_20190601162429.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-1/微信截图_20190601162429.png -------------------------------------------------------------------------------- /photos/2019-6-17/20150623225525008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-17/20150623225525008.png -------------------------------------------------------------------------------- /photos/2019-6-17/20150623225921049.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-17/20150623225921049.png -------------------------------------------------------------------------------- /photos/2019-6-17/20150623230149494.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-17/20150623230149494.png -------------------------------------------------------------------------------- /photos/2019-6-17/20150623230500257.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-17/20150623230500257.png -------------------------------------------------------------------------------- /photos/2019-6-17/GIF.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-17/GIF.gif -------------------------------------------------------------------------------- /photos/2019-6-24/GIF.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-24/GIF.gif -------------------------------------------------------------------------------- /photos/2019-6-24/add.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-24/add.gif -------------------------------------------------------------------------------- /photos/2019-6-24/del.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-24/del.gif -------------------------------------------------------------------------------- /photos/2019-6-24/图片1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-24/图片1.png -------------------------------------------------------------------------------- /photos/2019-6-24/微信截图_20190624181946.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-24/微信截图_20190624181946.png -------------------------------------------------------------------------------- /photos/2019-6-24/微信截图_20190624190322.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-24/微信截图_20190624190322.png -------------------------------------------------------------------------------- /photos/2019-6-24/微信截图_20190624220954.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-24/微信截图_20190624220954.png -------------------------------------------------------------------------------- /photos/2019-6-24/微信截图_20190624221122.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-24/微信截图_20190624221122.png -------------------------------------------------------------------------------- /photos/2019-6-24/微信截图_20190624222144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-24/微信截图_20190624222144.png -------------------------------------------------------------------------------- /photos/2019-6-24/微信截图_20190624224228.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-24/微信截图_20190624224228.png -------------------------------------------------------------------------------- /photos/2019-6-24/微信截图_20190624225928.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-24/微信截图_20190624225928.png -------------------------------------------------------------------------------- /photos/2019-6-9/20161104233304006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-9/20161104233304006.png -------------------------------------------------------------------------------- /photos/2019-6-9/微信截图_20190609181209.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-9/微信截图_20190609181209.png -------------------------------------------------------------------------------- /photos/2019-6-9/微信截图_20190609181253.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-6-9/微信截图_20190609181253.png -------------------------------------------------------------------------------- /photos/2019-7-11/4af4f21982da0376074b444730c30717.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-11/4af4f21982da0376074b444730c30717.png -------------------------------------------------------------------------------- /photos/2019-7-11/6d3955125f674f84a6f723282888adbd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-11/6d3955125f674f84a6f723282888adbd.png -------------------------------------------------------------------------------- /photos/2019-7-11/微信截图_20190711144004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-11/微信截图_20190711144004.png -------------------------------------------------------------------------------- /photos/2019-7-11/微信截图_20190711150057.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-11/微信截图_20190711150057.png -------------------------------------------------------------------------------- /photos/2019-7-11/微信截图_20190711162919.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-11/微信截图_20190711162919.png -------------------------------------------------------------------------------- /photos/2019-7-11/微信截图_20190711163215.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-11/微信截图_20190711163215.png -------------------------------------------------------------------------------- /photos/2019-7-11/微信截图_20190711163349.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-11/微信截图_20190711163349.png -------------------------------------------------------------------------------- /photos/2019-7-18/20190218191923306.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-18/20190218191923306.png -------------------------------------------------------------------------------- /photos/2019-7-18/201902181919233061.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-18/201902181919233061.png -------------------------------------------------------------------------------- /photos/2019-7-18/201902182023072018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-18/201902182023072018.png -------------------------------------------------------------------------------- /photos/2019-7-18/20190218202307208.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-18/20190218202307208.png -------------------------------------------------------------------------------- /photos/2019-7-18/GIF.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-18/GIF.gif -------------------------------------------------------------------------------- /photos/2019-7-18/微信截图_20190717154200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-18/微信截图_20190717154200.png -------------------------------------------------------------------------------- /photos/2019-7-18/微信截图_20190717154343.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-18/微信截图_20190717154343.png -------------------------------------------------------------------------------- /photos/2019-7-18/微信截图_20190717193901.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-18/微信截图_20190717193901.png -------------------------------------------------------------------------------- /photos/2019-7-18/微信截图_20190718173904.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-18/微信截图_20190718173904.png -------------------------------------------------------------------------------- /photos/2019-7-3/GIF.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-3/GIF.gif -------------------------------------------------------------------------------- /photos/2019-7-3/微信截图_20190703223746.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-3/微信截图_20190703223746.png -------------------------------------------------------------------------------- /photos/2019-7-3/微信截图_20190703230935.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-3/微信截图_20190703230935.png -------------------------------------------------------------------------------- /photos/2019-7-3/微信截图_20190704144741.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-3/微信截图_20190704144741.png -------------------------------------------------------------------------------- /photos/2019-7-3/微信截图_20190704232000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-3/微信截图_20190704232000.png -------------------------------------------------------------------------------- /photos/2019-7-3/微信截图_20190704232343.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-3/微信截图_20190704232343.png -------------------------------------------------------------------------------- /photos/2019-7-3/微信截图_20190704233339.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-3/微信截图_20190704233339.png -------------------------------------------------------------------------------- /photos/2019-7-9/0fb723f86dda24d03356b5aa65ab25e4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-9/0fb723f86dda24d03356b5aa65ab25e4.png -------------------------------------------------------------------------------- /photos/2019-7-9/4af4f21982da0376074b444730c30717.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-9/4af4f21982da0376074b444730c30717.png -------------------------------------------------------------------------------- /photos/2019-7-9/680b97a4e48ce206f363cefcfbc9d778.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-9/680b97a4e48ce206f363cefcfbc9d778.png -------------------------------------------------------------------------------- /photos/2019-7-9/微信截图_20190709194331.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-9/微信截图_20190709194331.png -------------------------------------------------------------------------------- /photos/2019-7-9/微信截图_20190709224313.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-7-9/微信截图_20190709224313.png -------------------------------------------------------------------------------- /photos/2019-8-16/4444.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/4444.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816110317.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816110317.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816111033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816111033.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816170122.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816170122.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816170153.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816170153.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816170222.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816170222.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816172249.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816172249.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816172537.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816172537.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816172601.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816172601.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816172646.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816172646.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816172703.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816172703.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816173615.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816173615.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816173642.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816173642.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816174248.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816174248.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816174439.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816174439.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816181020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816181020.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190816181705.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190816181705.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190817175858.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190817175858.png -------------------------------------------------------------------------------- /photos/2019-8-16/微信截图_20190817175921.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-16/微信截图_20190817175921.png -------------------------------------------------------------------------------- /photos/2019-8-7/微信截图_20190807111411.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-7/微信截图_20190807111411.png -------------------------------------------------------------------------------- /photos/2019-8-7/微信截图_20190807111450.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-7/微信截图_20190807111450.png -------------------------------------------------------------------------------- /photos/2019-8-7/微信截图_20190807111508.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-7/微信截图_20190807111508.png -------------------------------------------------------------------------------- /photos/2019-8-7/微信截图_20190807111521.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-7/微信截图_20190807111521.png -------------------------------------------------------------------------------- /photos/2019-8-7/微信截图_20190807111531.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-7/微信截图_20190807111531.png -------------------------------------------------------------------------------- /photos/2019-8-7/微信截图_20190807111546.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-7/微信截图_20190807111546.png -------------------------------------------------------------------------------- /photos/2019-8-7/微信截图_20190807114953.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-7/微信截图_20190807114953.png -------------------------------------------------------------------------------- /photos/2019-8-7/微信截图_20190807115820.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-7/微信截图_20190807115820.png -------------------------------------------------------------------------------- /photos/2019-8-7/微信截图_20190807120146.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2019-8-7/微信截图_20190807120146.png -------------------------------------------------------------------------------- /photos/2020-1-9/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-1-9/1.png -------------------------------------------------------------------------------- /photos/2020-2-14/v2-5a5efc0e3ffc0b9e8102e6ef4a78c382_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-2-14/v2-5a5efc0e3ffc0b9e8102e6ef4a78c382_b.png -------------------------------------------------------------------------------- /photos/2020-2-14/v2-c26834a14286aeb188fd1bf421a8f826_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-2-14/v2-c26834a14286aeb188fd1bf421a8f826_b.png -------------------------------------------------------------------------------- /photos/2020-2-14/微信截图_20200214225829.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-2-14/微信截图_20200214225829.png -------------------------------------------------------------------------------- /photos/2020-2-14/微信截图_20200214225941.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-2-14/微信截图_20200214225941.png -------------------------------------------------------------------------------- /photos/2020-2-14/微信截图_20200214232934.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-2-14/微信截图_20200214232934.png -------------------------------------------------------------------------------- /photos/2020-2-14/微信截图_20200214233459.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-2-14/微信截图_20200214233459.png -------------------------------------------------------------------------------- /photos/2020-2-14/微信截图_20200214235242.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-2-14/微信截图_20200214235242.png -------------------------------------------------------------------------------- /photos/2020-2-14/微信截图_20200214235428.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-2-14/微信截图_20200214235428.png -------------------------------------------------------------------------------- /photos/2020-2-14/微信截图_20200214235729.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-2-14/微信截图_20200214235729.png -------------------------------------------------------------------------------- /photos/2020-2-14/微信截图_20200215010829.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-2-14/微信截图_20200215010829.png -------------------------------------------------------------------------------- /photos/2020-2-14/微信截图_20200215174128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-2-14/微信截图_20200215174128.png -------------------------------------------------------------------------------- /photos/2020-2-14/微信截图_20200215181843.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-2-14/微信截图_20200215181843.png -------------------------------------------------------------------------------- /photos/2020-2-14/微信截图_20200215182108.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-2-14/微信截图_20200215182108.png -------------------------------------------------------------------------------- /photos/2020-2-14/微信截图_20200215182858.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-2-14/微信截图_20200215182858.png -------------------------------------------------------------------------------- /photos/2020-4-13/微信截图_20200413155836.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-13/微信截图_20200413155836.png -------------------------------------------------------------------------------- /photos/2020-4-13/微信截图_20200413160533.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-13/微信截图_20200413160533.png -------------------------------------------------------------------------------- /photos/2020-4-13/微信截图_20200413161838.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-13/微信截图_20200413161838.png -------------------------------------------------------------------------------- /photos/2020-4-13/微信截图_20200413162921.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-13/微信截图_20200413162921.png -------------------------------------------------------------------------------- /photos/2020-4-13/微信截图_20200413163202.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-13/微信截图_20200413163202.png -------------------------------------------------------------------------------- /photos/2020-4-13/微信截图_20200413164732.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-13/微信截图_20200413164732.png -------------------------------------------------------------------------------- /photos/2020-4-13/微信截图_20200413164941.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-13/微信截图_20200413164941.png -------------------------------------------------------------------------------- /photos/2020-4-13/微信截图_20200413170916.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-13/微信截图_20200413170916.png -------------------------------------------------------------------------------- /photos/2020-4-13/微信截图_20200413171824.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-13/微信截图_20200413171824.png -------------------------------------------------------------------------------- /photos/2020-4-13/微信截图_20200413171835.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-13/微信截图_20200413171835.png -------------------------------------------------------------------------------- /photos/2020-4-13/物理引擎.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-13/物理引擎.png -------------------------------------------------------------------------------- /photos/2020-4-13/现实.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-13/现实.png -------------------------------------------------------------------------------- /photos/2020-4-15/041615462529_0幻灯片18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-15/041615462529_0幻灯片18.png -------------------------------------------------------------------------------- /photos/2020-4-15/微信截图_20200415232037.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-15/微信截图_20200415232037.png -------------------------------------------------------------------------------- /photos/2020-4-15/微信截图_20200415233009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-15/微信截图_20200415233009.png -------------------------------------------------------------------------------- /photos/2020-4-15/微信截图_20200415234557.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-15/微信截图_20200415234557.png -------------------------------------------------------------------------------- /photos/2020-4-15/微信截图_20200416000902.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-15/微信截图_20200416000902.png -------------------------------------------------------------------------------- /photos/2020-4-15/微信截图_20200416155557.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-15/微信截图_20200416155557.png -------------------------------------------------------------------------------- /photos/2020-4-15/微信截图_20200416160915.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-15/微信截图_20200416160915.png -------------------------------------------------------------------------------- /photos/2020-4-16/微信截图_20190522170309.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-16/微信截图_20190522170309.png -------------------------------------------------------------------------------- /photos/2020-4-16/微信截图_20190522170439.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-16/微信截图_20190522170439.png -------------------------------------------------------------------------------- /photos/2020-4-16/微信截图_20200415234557.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-16/微信截图_20200415234557.png -------------------------------------------------------------------------------- /photos/2020-4-16/微信截图_20200416165905.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-16/微信截图_20200416165905.png -------------------------------------------------------------------------------- /photos/2020-4-16/微信截图_20200416170628.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-16/微信截图_20200416170628.png -------------------------------------------------------------------------------- /photos/2020-4-16/微信截图_20200416171025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-16/微信截图_20200416171025.png -------------------------------------------------------------------------------- /photos/2020-4-16/微信截图_20200416171057.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-16/微信截图_20200416171057.png -------------------------------------------------------------------------------- /photos/2020-4-16/微信截图_20200416171127.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-16/微信截图_20200416171127.png -------------------------------------------------------------------------------- /photos/2020-4-17/幻灯片36.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-17/幻灯片36.PNG -------------------------------------------------------------------------------- /photos/2020-4-17/幻灯片37.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-17/幻灯片37.PNG -------------------------------------------------------------------------------- /photos/2020-4-17/幻灯片38.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-17/幻灯片38.PNG -------------------------------------------------------------------------------- /photos/2020-4-17/幻灯片39.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-17/幻灯片39.PNG -------------------------------------------------------------------------------- /photos/2020-4-17/幻灯片40.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-17/幻灯片40.PNG -------------------------------------------------------------------------------- /photos/2020-4-17/幻灯片41.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-17/幻灯片41.PNG -------------------------------------------------------------------------------- /photos/2020-4-17/幻灯片42.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-17/幻灯片42.PNG -------------------------------------------------------------------------------- /photos/2020-4-17/幻灯片43.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-17/幻灯片43.PNG -------------------------------------------------------------------------------- /photos/2020-4-17/幻灯片44.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-17/幻灯片44.PNG -------------------------------------------------------------------------------- /photos/2020-4-17/幻灯片45.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-17/幻灯片45.PNG -------------------------------------------------------------------------------- /photos/2020-4-17/幻灯片46.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-17/幻灯片46.PNG -------------------------------------------------------------------------------- /photos/2020-4-17/微信截图_20200417172124.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-17/微信截图_20200417172124.png -------------------------------------------------------------------------------- /photos/2020-4-17/演示文稿1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-4-17/演示文稿1.png -------------------------------------------------------------------------------- /photos/2020-6-25/微信截图_20200625211929.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-6-25/微信截图_20200625211929.png -------------------------------------------------------------------------------- /photos/2020-6-25/微信截图_20200625211953.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-6-25/微信截图_20200625211953.png -------------------------------------------------------------------------------- /photos/2020-6-25/微信截图_20200625212010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-6-25/微信截图_20200625212010.png -------------------------------------------------------------------------------- /photos/2020-6-25/微信截图_20200625213907.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-6-25/微信截图_20200625213907.png -------------------------------------------------------------------------------- /photos/2020-6-25/微信截图_20200625233707.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-6-25/微信截图_20200625233707.png -------------------------------------------------------------------------------- /photos/2020-6-25/微信截图_20200625233725.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-6-25/微信截图_20200625233725.png -------------------------------------------------------------------------------- /photos/2020-6-25/微信截图_20200626230304.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-6-25/微信截图_20200626230304.png -------------------------------------------------------------------------------- /photos/2020-6-25/欧拉方法详解.md: -------------------------------------------------------------------------------- 1 | ## 高中牛顿力学回顾 2 | 有一个具有一定速度在运动的物体: 3 | ![](https://github.com/phenomLi/Blog/raw/master/photos/2020-6-25/微信截图_20200625211929.png) 4 | 当我们需要对其进行模拟时,自然会想起高中的 `位移 = 速度 * 时间`,即: 5 | $$s = v * t$$ 6 | 而当该物体具有恒定加速度(恒力)时: 7 | ![](https://github.com/phenomLi/Blog/raw/master/photos/2020-6-25/微信截图_20200625211953.png) 8 | 我们可以应用牛顿第二定律,求出物体在 $t$ 时间的速度: 9 | $$v_t = v_0 + \frac Fm * t$$ 10 | 因此,我们想获得物体在 $t$ 时间的位置,就可以使用以下公式: 11 | $$s = v_0 * t + \frac 12 * \frac Fm * t^2$$ 12 | 13 | 该公式在**理想**情况下,十分合理且正确,比如模拟一个斜方向向上抛出的小球,重力作用下(无空气摩擦),我们必定能得到一个对称的抛物线: 14 | ![](https://github.com/phenomLi/Blog/raw/master/photos/2020-6-25/微信截图_20200625212010.png) 15 | 16 | 这都是高中物理课上我们学到的知识,对于简单的模拟已经够用了。 17 | 18 | ## 使用数值方法 19 | 然而,我们要模拟的现实世界往往比较复杂,几乎不可能有受力恒定的情况出现,考虑以下情况: 20 | ![](https://github.com/phenomLi/Blog/raw/master/photos/2020-6-25/微信截图_20200625213907.png) 21 | 你能写出红色盒子在之后的每一个时间 $t$ 的位置方程吗?显然这是无比困难的,因为该盒子**受到的外力 $f$ 跟其位置 $p$ 有关**,即 $f$ 与 $p$ 存在某种函数关系,因此,我们可以抽象出物体加速度 $a$ 与 $p$ 的关系: 22 | $$a = \frac {f(t, p)} m$$ 23 | 而又因 $a$ 为 速度 $v$ 的一阶阶导数,$v$ 为 $p$ 的一阶导数,因此我们最终得到: 24 | $$\ddot p = \dot v = \frac {f(t, p)} m$$ 25 | 这是一个标准的**微分方程**($p$ 上面有一点表示导数),我们从该方程中直接求出 $p$ 基本上是不可能的,因 $f$ 往往很复杂(包含了各种碰撞和约束) 。但是我们可以使用**数值方法**。**数值方法的本质上是用某种方法来近似求出我们需要的解**。使用数值方法我们得不到精确解,但是没所谓,在精度要求不是十分严格的模拟下一般都够用了。 26 | 27 |
28 | 29 | 而又物体的速度 $v$ 为 $p$ 的一阶导数,我们得到: 30 | $$\dot p = v$$ 31 | 我们可以将两条微分方程组合起来,使用矩阵表示: 32 | $$\begin{bmatrix}\dot v \\ \dot p\\ \end{bmatrix} = \begin{bmatrix}\frac {f(t, p)} m \\ v\\ \end{bmatrix}$$ 33 | 用 $\dot X$ 表示左边的矩阵,$F(t, X)$ 表示右边的矩阵,有: 34 | $$\dot X = F(t, X)$$ 35 | 36 | 啰嗦了这么多,就是为了得到这个方程,我们的目标就是要使用数值方法求解出这个方程的 $X$。为什么要求 $X$?因为模拟的本质就是**求某个物体在某一时候应该正确出现的位置(和旋转)**。 37 | 38 |
39 | 40 | 求解微分方程的数值方法有许多,如 **Runge Kutta**,**Mid-point**,还有我之前介绍过的 [Verlet](https://github.com/phenomLi/Blog/issues/31),但我今天介绍最常用也是最基础的三种方法,分别为: 41 | - **显式(向前)欧拉方法:Explicit Euler** 42 | - **隐式(向后)欧拉方法:Implicit Euler** 43 | - **半隐式欧拉方法:Semi-implicit Euler** 44 | 45 | ## 显式(向前)欧拉方法 46 | #### 1. 介绍 47 | 观察我们的方程: 48 | $$\dot X = F(t, X)$$ 49 | 求解 $X$ 不容易,但是我们可以从 $\dot X$ 入手。 50 | 51 | 回忆高中数学,若有函数 $f(x)$,那么其导数的定义为: 52 | $$\dot f(x) = \frac {df}{dx} = \lim_{h\to 0}\frac {f(x + h) - f(x)}{h}$$ 53 | 但是计算机模拟是离散的,因此步长 $h$ 取不了无限小,只能是一个有一定大小的数,但是我们可以利用这种思想,对 $\dot f(x)$ 进行近似: 54 | $$\dot f(x) \approx\ \frac {f(x + h) - f(x)}{h}$$ 55 | **按照这种思路我们可以求出近似的 $\dot X$。** 56 | 57 | 比如,我们要求 $t_1$ 时刻的 $\dot X$,我们可以: 58 | $$\dot X_{1} = F(t_1, X_1) = \frac {X_2 - X_1}{t_2 - t_1}$$ 59 | 其中 ${t_2 - t_1}$ 即模拟步长 $h$。那么现在我们可以求 $t_2$ 时刻的 $X$,即 $X_2$ 为: 60 | $$X_2 = X_1 + h * F(t_1, X_1)$$ 61 | 62 |
63 | 64 | 这种对于每一个时刻($t_2$),都使用上一时刻($t_1$)的解进行求解的方法即为**显式欧拉方法**,又叫向前欧拉方法。下图显示了显式欧拉方法的细节: 65 | ![](https://github.com/phenomLi/Blog/raw/master/photos/2020-6-25/微信截图_20200625233707.png) 66 | 绿线为 $\dot X_{1}$ 的真实值,黑线为显式欧拉的得到的近似值,可以看到是有一定误差存在的,同时也能发现,缩短步长 $h$ 能提高精度。 67 | 68 | 显式欧拉简单高效且容易实现,但是缺点明显。 69 | 70 | #### 2. 稳定性分析 71 | 显式欧拉方法不是**无条件稳定**的方法。这句话我们要理解两个词,首先是**稳定**,第二是**无条件**。稳定指的是在长时间模拟下,得到的数值不会指数级爆炸;无条件指的是在任何微分方程下都能稳定。 72 | 73 | 因此显式欧拉方法在某些方程下能稳定,某些方程下不稳定。我们可以用以下方程来测试: 74 | $$\dot y(t) = -\lambda y(t) \\ y(0) = \hat y$$ 75 | 该线性微分方程称为**测试方程**,其中有初始值 $\hat y$,且 **$\lambda > 0$**。 76 | 77 | 该方程的解为 $y = \hat y e^{-\lambda t}$,**显然在 $t \to +\infty$ 时,$y \to 0$**。 78 | 79 | 我们将该测试方程代入到显式欧拉方法的公式里,有: 80 | $$y_{t + 1} = y_t - h\lambda y_t = (1 - h\lambda)y_t $$ 81 | 运用数学归纳法,我们可以得到 $y_t$ 与 $\hat y$ 的关系为: 82 | $$y_t = {(1 - h\lambda)}^ty_t$$ 83 | 84 | 显然,这是一个指数函数,因此想要在 $t \to +\infty$ 时不发生数值爆炸,我们只能限制: 85 | $$\vert {1 - h\lambda} \vert < 1$$ 86 | 也就是只有当 $h\lambda > 0$ 时或 $h\lambda < 2$ 时,不等式才能成立。 87 | 88 | ## 隐式(向后)欧拉方法 89 | #### 1. 介绍 90 | 显式欧拉方法的思路是使用上一时刻的导数($F(t - 1, X_{t - 1})$)去近似当前时刻的结果($X_{t}$)。而隐式欧拉对齐进行了改进:**使用当前时刻的导数($F(t, X_{t})$)近似当前时刻的结果($X_t$)**。这是隐式欧拉和显式欧拉的唯一区别。用公式表示就是: 91 | $$\dot X_{1} = F(t_1, X_1) = \frac {X_1 - X_0}{t_1 - t_0} \\ \Rightarrow X_1 = X_0 + h * F(t_1, X_1)$$ 92 | 93 | ![](https://github.com/phenomLi/Blog/raw/master/photos/2020-6-25/微信截图_20200625233725.png) 94 | 95 | 绿线为 $\dot X_{1}$ 的真实值,黑线为隐式欧拉的得到的近似值,隐式欧拉同样也会产生误差。 96 | 97 | 也许你会发现一些问题:在 $X_1$ 未求出前,我们怎么能先计算 $F(t_1, X_1)$ 呢?没错这就是隐式欧拉方法最大的缺陷,它**计算困难复杂**,通常需要求解方程组,但是隐式欧拉最大的优点是数值稳定。 98 | 99 | #### 2. 稳定性分析 100 | **隐式欧拉方法是无条件稳定的方法**。使用上面的测试方程,我们对隐式欧拉方法进行同样的操作: 101 | $$y_{t + 1} = y_t - h\lambda y_{t + 1} $$ 102 | 整理得: 103 | $$y_{t + 1}(1 + h\lambda) = y_t$$ 104 | 对初始值 $\hat y$ 归纳得: 105 | $$y_t = {(\frac {1}{1 + h\lambda})}^t \hat y$$ 106 | 我们又得到了一个指数函数,同样想要不发生数值爆炸,只有: 107 | $$\vert \frac {1}{1 + h\lambda} \vert < 1$$ 108 | 也就是需要 $\vert 1 + h\lambda \vert > 1$。步长 $h$ 必定是一个正数,又有 $\lambda > 0$(上面有写),因此不等式恒成立。 109 | 110 | 111 | ## 半隐式欧拉方法 112 | 显式欧拉和隐式欧拉都有各种的缺点,因此后人想出了一种新方法,将两者结合了起来。 113 | 114 | 现在让我们忘记 $\dot X = F(t, X)$,回到: 115 | $$\dot v = \frac {f(t, p)} m \\ \dot p = v$$ 116 | 117 | 对其使用显式欧拉积分,有: 118 | $$v_{t + 1} = v_t + h * \frac {f(t, p_t)} m \\ p_{t + 1} = p_t + h * v_t$$ 119 | 120 | 既然对两条方程都使用隐式欧拉比较难求解,那么我们就仅对较简单的那条方程使用隐式欧拉: 121 | ![](https://github.com/phenomLi/Blog/raw/master/photos/2020-6-25/微信截图_20200626230304.png) 122 | 123 | 红框显式了该方法与显式欧拉的唯一不同之处,我们使用显式欧拉求解速度,用隐式欧拉求解位置,这种混合的方法就叫**半隐式欧拉方法**。 124 | 125 | 半隐式欧拉方法相比于隐式欧拉方法更容易实现,速度更快,相比显式欧拉要更稳定些,**但并不是无条件稳定**。在大部分情况下半隐式欧拉方法都能稳定,除了某些极端条件(比如非常大的参数)。所以半隐式欧拉在刚体模拟下是最常用,也是首推的。 126 | 127 | ## 总结 128 | - **显式欧拉:简单,快,不稳定** 129 | - **隐式欧拉:复杂,慢,稳定** 130 | - **半隐式欧拉:简单,快,大部分情况稳定(刚体模拟首推)** 131 | 132 | -------------------------------------------------------------------------------- /photos/2020-8-21/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-8-21/1.png -------------------------------------------------------------------------------- /photos/2020-8-21/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-8-21/2.png -------------------------------------------------------------------------------- /photos/2020-8-21/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-8-21/3.png -------------------------------------------------------------------------------- /photos/2020-8-21/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-8-21/4.png -------------------------------------------------------------------------------- /photos/2020-8-21/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-8-21/5.png -------------------------------------------------------------------------------- /photos/2020-8-21/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-8-21/6.png -------------------------------------------------------------------------------- /photos/2020-8-21/微信截图_20200824152518.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-8-21/微信截图_20200824152518.png -------------------------------------------------------------------------------- /photos/2020-8-21/微信截图_20200824205308.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/2020-8-21/微信截图_20200824205308.png -------------------------------------------------------------------------------- /photos/QQ20180215-232321-HD.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/QQ20180215-232321-HD.gif -------------------------------------------------------------------------------- /photos/QQ20180216-150758-HD.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/QQ20180216-150758-HD.gif -------------------------------------------------------------------------------- /photos/WX20170921-174437.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20170921-174437.png -------------------------------------------------------------------------------- /photos/WX20170921-181442.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20170921-181442.png -------------------------------------------------------------------------------- /photos/WX20170921-181753.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20170921-181753.png -------------------------------------------------------------------------------- /photos/WX20170921-183411.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20170921-183411.png -------------------------------------------------------------------------------- /photos/WX20170921-185537.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20170921-185537.png -------------------------------------------------------------------------------- /photos/WX20170921-190451.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20170921-190451.png -------------------------------------------------------------------------------- /photos/WX20170922-005153.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20170922-005153.png -------------------------------------------------------------------------------- /photos/WX20170922-005212.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20170922-005212.png -------------------------------------------------------------------------------- /photos/WX20170922-005222.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20170922-005222.png -------------------------------------------------------------------------------- /photos/WX20170922-191359.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20170922-191359.png -------------------------------------------------------------------------------- /photos/WX20170922-201509.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20170922-201509.png -------------------------------------------------------------------------------- /photos/WX20170922-201718.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20170922-201718.png -------------------------------------------------------------------------------- /photos/WX20170922-203921.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20170922-203921.png -------------------------------------------------------------------------------- /photos/WX20170927-164552.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20170927-164552.png -------------------------------------------------------------------------------- /photos/WX20171004-163706.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20171004-163706.png -------------------------------------------------------------------------------- /photos/WX20171004-163720.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20171004-163720.png -------------------------------------------------------------------------------- /photos/WX20171004-163737.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20171004-163737.png -------------------------------------------------------------------------------- /photos/WX20171007-162105.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20171007-162105.png -------------------------------------------------------------------------------- /photos/WX20171007-162201.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20171007-162201.png -------------------------------------------------------------------------------- /photos/WX20171027-145452.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20171027-145452.png -------------------------------------------------------------------------------- /photos/WX20171027-150804.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20171027-150804.png -------------------------------------------------------------------------------- /photos/WX20171118-174023.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20171118-174023.png -------------------------------------------------------------------------------- /photos/WX20171118-174054.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20171118-174054.png -------------------------------------------------------------------------------- /photos/WX20171118-174146.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20171118-174146.png -------------------------------------------------------------------------------- /photos/WX20171118-180403.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20171118-180403.png -------------------------------------------------------------------------------- /photos/WX20171217-144424.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20171217-144424.png -------------------------------------------------------------------------------- /photos/WX20171217-164740.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20171217-164740.png -------------------------------------------------------------------------------- /photos/WX20171217-172907.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20171217-172907.png -------------------------------------------------------------------------------- /photos/WX20180123-171737.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180123-171737.png -------------------------------------------------------------------------------- /photos/WX20180123-172138.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180123-172138.png -------------------------------------------------------------------------------- /photos/WX20180126-204943.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180126-204943.png -------------------------------------------------------------------------------- /photos/WX20180126-221306.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180126-221306.png -------------------------------------------------------------------------------- /photos/WX20180126-222821.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180126-222821.png -------------------------------------------------------------------------------- /photos/WX20180216-153600.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180216-153600.png -------------------------------------------------------------------------------- /photos/WX20180301-155602.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180301-155602.png -------------------------------------------------------------------------------- /photos/WX20180301-170653.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180301-170653.png -------------------------------------------------------------------------------- /photos/WX20180301-181418.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180301-181418.png -------------------------------------------------------------------------------- /photos/WX20180301-184956.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180301-184956.png -------------------------------------------------------------------------------- /photos/WX20180301-185009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180301-185009.png -------------------------------------------------------------------------------- /photos/WX20180301-185025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180301-185025.png -------------------------------------------------------------------------------- /photos/WX20180301-185728.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180301-185728.png -------------------------------------------------------------------------------- /photos/WX20180407-171606.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180407-171606.png -------------------------------------------------------------------------------- /photos/WX20180407-171726.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180407-171726.png -------------------------------------------------------------------------------- /photos/WX20180407-171751.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/WX20180407-171751.png -------------------------------------------------------------------------------- /photos/v2-cd7ea6b5b6a25d949014f5215cc31315_hd.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/v2-cd7ea6b5b6a25d949014f5215cc31315_hd.jpg -------------------------------------------------------------------------------- /photos/vdom-diff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/vdom-diff.png -------------------------------------------------------------------------------- /photos/微信截图_20171118191326.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/微信截图_20171118191326.png -------------------------------------------------------------------------------- /photos/微信截图_20171223132238.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/微信截图_20171223132238.png -------------------------------------------------------------------------------- /photos/微信截图_20171223135321.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phenomLi/Blog/938066b77dee894cb7fb6c4c75d3d50e1681f943/photos/微信截图_20171223135321.png --------------------------------------------------------------------------------