ベジエ曲線の中心を見つけて回転させる必要があります。すべてのポイント(制御ポイント、開始と終了、カーブ自体のすべてのポイント)のリストがあります。それを中心に見つけるにはどうすればいいですか?
t=0.5
ポイントです。2つは、線に沿った移動デカルト距離に関する幾何学的中点です。
ベジエ曲線の中心を見つけて回転させる必要があります。すべてのポイント(制御ポイント、開始と終了、カーブ自体のすべてのポイント)のリストがあります。それを中心に見つけるにはどうすればいいですか?
t=0.5
ポイントです。2つは、線に沿った移動デカルト距離に関する幾何学的中点です。
回答:
ベジエ曲線は数学的実体であり、明確に定義された中心はありません。実際、ベジエ曲線の中心としてさまざまなものを定義できます。画像1で考えられる中心のいくつかを描こうとしましたが、これ以外にも存在します。
画像1:単一スパンのベジエ曲線の可能な中心のいくつか
実際には、描画用のほとんどすべてのグラフィックスアプリケーションは、ローカルバウンディングボックス(BB)の中心を中心として使用します。アニメーションソフトウェアには通常、ピボットの追加概念があるため、ユーザーに質問するアプローチを使用します。入力がない場合、BB中心または単にローカル座標中心に戻ることがよくあります。これはおそらく、BBを計算する必要があり、中心を取得するのが非常に簡単であるためです(ベジェ曲線の入門書を参照)。
重心のメトリックは、特にアニメーションのコンテキストではやや自然ですが、計算が面倒です。データを離散化し、離散入力で計算を行うのが最も簡単です。これは、いくつかの閉じた形の解が曲線の重心に対して可能であると言いましたが、定式化して単純化するのはあまり良い方程式ではありません。
次に、曲線上のポイントがあります。弧の長さによる中点と、パラメータが0.5 であるポイントです。私の考えでは、パラメータは計算が簡単ですが問題が多いことが多く、ポリベジエに対して複数のベジエを次々にチェーニングすると意味がなくなります。もちろん、カーブが閉じていない限り、長さの中心は自然です。
他の可能な中心も定義します。中心は、船体のカーブ重心、コントロールポイントの平均、またはコントロールケージのBBセンターになります。実際にはこれらはうまくいかないようですが。
注意:図1のカーブは、BBの中心をいくつかの自然な中心に非常に近く示していますが、これは、より複雑なカーブ、特にポリベジエの場合には常に当てはまるとは限りません。