ユーザーが開始点と終点を定義できる html キャンバスを作成しようとしています。始点と終点の間に波線を描きたいのですが、bezierCurveTo を描画してこれを行っています。
サンプル:
これを描画するために使用するコードは次のとおりです。
var wave = new Kinetic.Shape({
drawFunc: function (canvas) {
var ctx = canvas.getContext();
ctx.beginPath();
ctx.moveTo(50, 50);
var waveCount = 0;
var controlPoint1X = 55;
var controlPoint2X = 60;
var endPointX = 65;
while(waveCount < 10) {
ctx.bezierCurveTo(controlPoint1X, 35, controlPoint2X, 65, endPointX, 50);
controlPoint1X += 20;
controlPoint2X += 20;
endPointX += 20;
waveCount++;
}
ctx.stroke(_this);
},
stroke: '#000000',
strokeWidth: 2
});
x 座標または y 座標のみが変更される限り、これを機能させることができます。今、私は上記のような波線を作成できるようにしたいと考えていますが、x、y 座標は異なります。たとえば、始点 x: 50 y: 50 および終点 x: 100 y: 100 です。コントロールポイントを計算する必要があることはわかっていますが、どの式を使用する必要があるかわかりません。誰かが私を助けることができますか?