这些年我做过的项目

安卓Canvas渲染引擎——hEngine

教程收集

欢迎访问hanyeah的blog

12
2019
03

动态规划

动态规划(dynamic programming)与分治方法相似,都是通过组合子问题的解来求解原问题(在这里,“programming”指的是一种表格法,并非编写计算机程序)。分治方法将问题划分为互不相交的子问题,递归的求解子问题,再将它们的解组合起来,求出原问题的解。动态规划应用于子问题的解重叠的情况,即不同的子问题具有公共的子子问题。在这种情况下,分治算法会做许多不必要的工作,它会反复地求解那些公共子问题。而动态规划算法对每个子子问题只求解一次,将其保存在一个表格中,从而无需每次求解一个子子问题的解时都重新计算,避免了不必要的计算工作。

20
2019
02

反演变换

画一个圆,与已知的三个圆相切。

20
2019
02

磁铁

在磁铁周围撒一些小铁屑,敲击桌面,会慢慢显示出磁感线的轮廓来。用程序模拟这一过程。

15
2019
02

风扇

问题:浏览器1秒钟刷60帧,电风扇的扇叶旋转速度为n转/秒,怎么用程序模拟出风扇扇叶旋转的效果。

15
2019
02

javascript中的btoa和atob方法

看别人的代码时发现window.atob('abc'),之前不知道还有atob方法,于是学习了一下。

15
2019
02

js的parseInt方法

用webstorm写代码,在parseInt的地方报错:Missing radix parameter。 

06
2018
11

超有爱的并查集(转)

11
2018
10

线段裁剪算法

在绘制2D线段时,线段的一个端点或者两个端点可能位于屏幕外面,而其中的一部分仍然是可见的。在这种情况下,需要一个有效的算法来查找可见部分的两个新端点,只绘制基于新端点的线段,所有在屏幕外的部分被裁剪掉,从而提高程序的效率。

11
2018
10

吴小林直线算法

吴小林直线算法:https://zh.wikipedia.org/wiki/%E5%90%B4%E5%B0%8F%E6%9E%97%E7%9B%B4%E7%BA%BF%E7%AE%97%E6%B3%95

10
2018
10

Bresenham算法

Bresenham算法是计算机图形学领域使用最广泛的直线扫描转换方法。