科赫雪花分形曲线动画

科赫曲线的动画小项目,结构清爽、逻辑简单,用来理解分形递归再合适不过了。只需要输入一个整数阶数 N,就能画出 N 阶的科赫雪花曲线。每次点击运行,效果都不一样,看着还挺解压的。

用的还是经典的canvas API,没有引入任何重型库,纯原生,页面也挺干净。代码结构也比较直白,drawKochCurve函数是关键,里面通过不断细分线段来生成雪花边缘。

如果你刚学完递归或者在研究图形分形相关的东西,这个代码包蛮适合练手。可以尝试把雪花画成三角形、正方形等变形玩法,拓展性也挺好。运行响应也快,嵌入自己页面里做个小彩蛋都没问题。

代码补全部分其实也不复杂,这样写就行:

const N = parseInt(prompt("输入阶数 N"));
drawKochCurve(startX, startY, endX, endY, N);

对分形图形感兴趣的可以顺手看看这些:

如果你想让孩子或学生理解什么叫“无限细分”,就用这个小项目讲一讲吧,效果还蛮直观的~

py 文件大小:596B