私は、キャンバスに矢印を描くことができるプロジェクトを作成しようとしています。そのためには曲線が必要です。均一な2次曲線を描く
あなたは1次曲線はそのような何かによって表される知っているように: M 65 100 Q 300、100、300、20
最初の2つの数字(65、100)始点座標を表し、最後の2つ(300,20)は終点座標(矢印終点)を表す。 最初のポイントと2番目のポイントに基づいて真ん中の2つの数字を計算し、見栄えの良い曲線にする必要があります。
最初のポイントの座標はmousedown
で、2番目のポイントはmouseup
です。
今のところ私はこのように使っています。
function addCurve(Ax, Ay, Bx, By){
canvas.add(new fabric.Path('M '+ Ax +' '+ Ay +' Q 100, 100, '+ Bx +', '+ By +'', { fill: '', stroke: 'red' }));
}
addCurve(100,0,200,0);
したがって、均一な曲線を得るために中点座標を計算する方法はありますか? このプロジェクトではfabric.jsも使用しています。 2つのエンドポイント
x1 = ? // start point
y1 = ?
x2 = ? // end point
y2 = ?
と
[Fabric.js - Quadratic Curve Demo](http://fabricjs.com/quadratic-curve)をチェックしましたか? –
どのようにして2つの点から曲線を作成できますか? –
@RoryMcCrossan私はあなたができることを100%確信しています。例えば、二等辺三角形を作ることができ、三角形の高さを底辺の半分にすることができます。私は方法を知っていますが、私はそれらを数式に入れることはできません。 –