次の方法で共有


GDI+ のベジエ スプライン

ベジエ スプラインは、2 つの終点 (p1 と p2) と 2 つの制御点 (c1 と c2) の 4 つの点で指定された曲線です。 曲線は p1 から始まり、p2 で終わります。 曲線は制御点を通過しませんが、制御点は磁石として機能し、曲線を特定の方向に引っ張り、曲線の曲げ方に影響を与えます。 次の図は、ベジエ曲線とその端点とコントロール ポイントを示しています。

端点と制御点を示すベジエ スプラインのスクリーンショット。

曲線は p1 から始まり、制御点 c1 に向かって移動します。 p1 の曲線への接線は、p1 から c1 に描画される直線です。 終点 p2 の接線は、c2 から p2 に描画される直線です。

ベジエ スプラインの描画

ベジエ スプラインを描画するには、Graphics クラスのインスタンスと Penが必要です。 Graphics クラスのインスタンスは DrawBezier メソッドを提供し、Pen には曲線のレンダリングに使用される線の幅や色などの属性が格納されます。 Pen は、引数の 1 つとして DrawBezier メソッドに渡されます。 DrawBezier メソッドに渡される残りの引数は、エンドポイントとコントロール ポイントです。 次の例では、開始点 (0、0)、制御点 (40、20)、および (80,150)、終了点 (100、10) を使用してベジエ スプラインを描画します。

myGraphics.DrawBezier(myPen, 0, 0, 40, 20, 80, 150, 100, 10);
myGraphics.DrawBezier(myPen, 0, 0, 40, 20, 80, 150, 100, 10)

次の図は、曲線、制御点、および 2 つの接線を示しています。

カーブ、コントロール ポイント、および 2 つの接線を示すベジエ スプラインのスクリーンショット。

ベジエスプラインは、もともと自動車業界の設計のためにピエール・ベジエによって開発されました。 それ以来、多くの種類のコンピューター支援設計に役立つことが証明されており、フォントのアウトラインを定義するためにも使用されています。 ベジエ スプラインは、さまざまな図形を生成できます。その一部を次の図に示します。

パス

こちらも参照ください