我在HTML5画布中使用了quadraticCurveTo函数。我的主要问题是,当我只想指定顶点时,它使用线性插值。我已经知道我的起点和终点是什么。据我所知,没有任何功能可以做到这一点,但有没有一个公式我可以用来确定我的控制点?
答案 0 :(得分:0)
给出二次曲线的起点,终点和点。中点,你可以像这样计算它的控制点:
// Given 3 points on a Q-Curve (starting, ending & midpoint)
var p0=startPoint;
var p2=endPoint;
var p1={
x:2*midPoint.x-startPoint.x/2-endPoint.x/2,
y:2*midPoint.y-startPoint.y/2-endPoint.y/2,
};
然后你可以将它正常地绘制到画布上:
ctx.moveTo(p0.x,p0.y);
ctx.quadraticCurveTo( p1.x,p1.y, p2.x,p2.y );