前言
本章介绍一下不使用任何第三方库,纯JavaScript实现自定义多边形平滑曲线算法。
在此之前我们先了解一下几种多边形平滑算法。
在上一章中《常用的多边形平滑曲线算法介绍和JavaScript的多边形平滑曲线算法库chaikin-smooth的实现原理》,我们通过第三方库chaikin-smooth非常简单的实现了我们想要的平滑算法,但是因为一个算法就引入一个库,非常不值得,所以本章研究下如何自行实现多边形平滑曲线算法来替代这个第三方库。
多边形平滑算法
多边形平滑算法通常用于图形处理或计算机图形学中,以使线条或曲线在连接处平滑过渡,而不出现明显的棱角或断裂。多边形平滑算法有多种实现方法,其中一些常见的有下面几种:
- 贝塞尔曲线插值(Bezier Curve Interpolation):使用贝塞尔曲线来插值原始线条的控制点,以获得平滑的转角效果。这种方法可以通过调整贝塞尔曲线的控制点来控制曲线的形状和平滑度。
贝塞尔曲线插值算法实际案例参考博主文章:《GIS入门,根据起止点和一个控制点计算二阶贝塞尔曲线(共三个控制点组成的线段转曲线)》
-
样条曲线(Sp