4

いくつかの点の配列として保存されたベジェパスがあります。各点は、[cp1x、cp1y、cp2x、cp2y、x、y]の形式の座標の配列です。

このパスを上下に拡大してサイズを調整できるようにしたいのですが、そのための計算がわかりません。それぞれの座標値に係数を適用してみましたが、うまくいかなかったようです。

誰かがこれを達成する方法を知っていますか?

4

1 に答える 1

2

標準の表現では、点Pは空間内の実際の点を表すため、他の点と同じように移動します。つまり、それらをスケーリングします。スケーリング係数によってすべてを乗算します。たとえばa、そうなるように[a*cp1x,a*cp1y,a*cp2x,a*cp2y,a*x,a*y]、またはx、個別にスケーリングする場合は、およびコンポーネントyに異なる係数を使用できます。xy

また、これは原点を基準にして物事をスケーリングするため、原点(x=0, y=0)に曲線がない場合は、シフトのように見える可能性があることにも注意してください。このシフトの効果を無効にしたい場合は、との値からそれぞれ減算と値を減算できます。ここで Px、とは、スケーリングを実行する前に、スケーリング時に移動したくないポイントです。をしたい)。ただし、5x5インチから7x7に変更するなど、キャンバス全体をスケーリングする場合は、シフトなしで(この場合は7./5で)乗算を実行する必要があります。PyxyPxPy

于 2012-07-04T22:24:44.630 に答える