0

私はいくつかのベジェ曲線で構築されたJavascriptでベジェ曲線を持っています。ハンドルを動かすことができ、対称性を保ちます。最初にハンドルとベジエ上のポイントの間の距離を計算することでそれを行っています。次に、2 つのハンドルの距離を比較し、乗数を計算して、ドラッグされていないハンドルに適用します。これは、対称性を維持するために機能します。

しかし、ドラッグされていないハンドルの長さが同じであることを達成したいと考えています。

http://cl.ly/image/0c1z00131m2y (私の言いたいことを説明する小さな写真)。

動きを計算するために現在使用しているコードは次のとおりです。

    dx = Math.abs(drag.x - point.p[(draggedItemIndex)/2].x);
    dy = Math.abs(drag.y - point.p[(draggedItemIndex)/2].y);
    dx2 = Math.abs(point.cp[draggedItemIndex-1].x - point.p[draggedItemIndex/2].x);
    dy2 = Math.abs(point.cp[draggedItemIndex-1].y - point.p[draggedItemIndex/2].y);

    dxdx = dx2/dx;
    dydy = dy2/dy;

    point.cp[draggedItemIndex-1].x -= dragX*dxdx;
    point.cp[draggedItemIndex-1].y -= dragY*dydy;

ご回答ありがとうございます。

4

1 に答える 1