01
2021
07

使用GPU实现快速傅里叶变换

光经过一个物体(可以是小孔,也可以是任意),成的像是物的傅里叶变换。

所以想要显示夫琅禾费衍射的效果,就是求物的傅里叶变换。

二维傅里叶变换的复杂度是n*n*n*n

一个256*256的图像,傅里叶变换需要计算256*256*256*256=4294967296次,4亿次。

计算机CPU计算需要“秒”的量级。

24
2021
06

自己实现缓动库

做动效经常会用到缓动,市面上的缓动库也有好多,不同的语言,引擎都有自己的缓动库,比如比较出名的Tweenlite。

网上也有好多讲缓动的文章。但是大多数是讲怎么应用的,很少有讲缓动函数是怎么实现的。

24
2021
06

canvas窗口自适应

问题描述

我们基于canvas做互动课件开发,本质上更接近游戏开发,而非前端(指DOM)开发。由于当前设备的分辨率种类太多,而且用户可以任意改变浏览器窗口尺寸,所以我们必须要做自适应。为了显示不变形,我们一定是进行等比缩放。

23
2021
06

并查集在电路计算中的应用

问题描述

之前我们已经讨论过用循环双向链表来记录元件端点之间的连接关系,在进行计算求解之前,我们还要做一些处理,把连接到一起的端点看做是一个点,如果元件的电阻是0的话,元件的两个端点也要看做是一个点,最后还要找到所有的连通子图,每一个连通子图单独进行计算。

26
2021
05

曲线拟合

以前写的一系列最小二乘法曲线拟合的demo。

正弦函数拟合不太好,需要改进,其它效果还好。

31
2020
12

小学奥数题ABCD加BCDE等于CEFG

小学奥数题,已知ABCD+BCDE=CEFG,每一个字母代表一个数字,不同字母代表不同数字,求ABCDEFG。

31
2020
12

全组合

之前学习过生成全排列的算法。

14
2020
12

spritesheet生成算法-装箱问题

想要自己实现生成spritesheet,自己生成可以加入一些特有的信息,市面上的工具都存在一些弊端,不能很好地满足需求。

04
2020
11

场景缩放窗口自适应的问题

设备分辨率太多了,基于canvas的开发中,经常要做屏幕自适应。

04
2020
11

ieee754浮点数编码

用texture给GUP传参数,好多GPU不支持浮点数纹理,所以要自己实现浮点数的编码解码。