欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

贝塞尔曲线

程序员文章站 2023-12-27 08:28:51
...

获取贝塞尔控制点 

function getCtrlPoint(ps, i, a, b) {
					if (!a || !b) {
						a = 0.25;
						b = 0.25;
					}
					//处理两种极端情形
					if (i < 1) {
						var pAx = ps[0].x + (ps[1].x - ps[0].x) * a;
						var pAy = ps[0].y + (ps[1].y - ps[0].y) * a;
					} else {
						var pAx = ps[i].x + (ps[i + 1].x - ps[i - 1].x) * a;
						var pAy = ps[i].y + (ps[i + 1].y - ps[i - 1].y) * a;
					}
					if (i > ps.length - 3) {
						var last = ps.length - 1
						var pBx = ps[last].x - (ps[last].x - ps[last - 1].x) * b;
						var pBy = ps[last].y - (ps[last].y - ps[last - 1].y) * b;
					} else {
						var pBx = ps[i + 1].x - (ps[i + 2].x - ps[i].x) * b;
						var pBy = ps[i + 1].y - (ps[i + 2].y - ps[i].y) * b;
					}
					return {
						pA: {
							x: pAx,
							y: pAy
						},
						pB: {
							x: pBx,
							y: pBy
						},
						now: {
							x: ps[i].x,
							y: ps[i].y
						},
						t: 0
					}

				}

连接:贝塞尔曲线控制点确定的方法

https://wenku.baidu.com/view/c790f8d46bec0975f565e211.html

贝塞尔曲线

贝塞尔曲线

贝塞尔曲线

相关标签: 前端

上一篇:

下一篇: