Bezier与BSpline三角
三角形区域上的 Bezier 和 BSpline,还挺有意思的。不是常规那种曲线绘制,而是直接把控制点放到三角形里搞插值。嗯,挺适合图形算法、可视化、甚至游戏开发里用来做自然过渡的。你要是平时折腾 WebGL、Canvas,或者搞数学可视化的,这东西值得瞧一眼。
Bézier 在三角形区域上表现还蛮丝滑,曲线平滑、响应快;而 BSpline 嘛,灵活性更强,适合控制点比较多的场景。对,控制点放哪儿,效果就差蛮多,建议你多试几个布局。
实现思路其实不复杂,关键在插值算法和重心坐标的。像 Canvas 2D、SVG 都能搞定,你要更硬核,也可以上WebGL或Three.js。
想深入研究的可以参考这些资源,像matlab 三角形开发那篇,里面思路挺清楚的,对理解三角区域挺有。还有其他三角形相关的小项目,像Java 实现、CSS 画三角这些,也可以借鉴下。
如果你正好做图形可视化、想优化界面动态表现,不妨玩玩这个。用对地方,效果蛮惊艳的。
下载地址
用户评论