ベジェ‐きょくせん【ベジェ曲線】
ベジェ曲線
(ベジエ曲線 から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/11/11 00:10 UTC 版)
定義
以下の要素を所与とする:
- 次数:
10次のバーンスタイン基底関数。0≦t≦1 ベジェ曲線は制御点座標の加重平均と見做せる。
バーンスタイン基底関数は常に和が1であり(⇒バーンスタイン多項式#1の分割)[6]、かつ

2次ベジェ曲線の基底関数
ド・カステリョのアルゴリズムによる2次ベジェ曲線の描画 2次ベジェ曲線 (、英: quadratic Bézier curve)は3つの制御点で構成されるベジェ曲線である。2次ベジェ曲線は次の式で定義される[15]:

3次ベジェ曲線の基底関数
ド・カステリョのアルゴリズムによる3次ベジェ曲線の描画 3次ベジェ曲線 (、英: cubic Bézier curve)は4つの制御点で構成されるベジェ曲線である[19]。3次ベジェ曲線は次の式で定義される:

3次ベジェ曲線の類型[24] 類型のどれにあてはまるかを判別するためには、まず、各制御点をアフィン写像して、

各類型を正準形式に変換[25] 次に、正準形式に変換した

正準形式の判別図[26] 変曲点は、曲率の定義より

3次ベジェ曲線の面積の例 3次ベジェ曲線の連続性
→詳細は「複合ベジェ曲線 § 3次ベジェ曲線の滑らかな接続」を参照3次ベジェ曲線の分割
ド・カステリョのアルゴリズムを用いて任意の

端点 P0, P3 および制御点 P1, P2 からなる3次ベジェ曲線 前節の数式を適宜変形するなどして、コンピュータプログラムに実装すれば描画はできるわけだが、以下では3次のベジェ曲線(4個の制御点で示される曲線)を例として、手作業を念頭に置いた作図法を示す。この手順を基にした描画プログラムにも有用性があり、また人によってはベジェ曲線の性質を直観的に把握するにも有効かもしれない。
右図の P0, P1, P2, P3 が与えられた制御点である。今、ベジェ曲線の P0 から t (0 < t < 1) の比率の位置の点の座標を求めるためには、次のように計算すればよい。
- まず、制御点を順に結んで得られる3つの線分 P0P1, P1P2, P2P3(水色の折れ線)をそれぞれ t : 1 − t の比率で分割する点、P4, P5, P6 を求める。
- 次に、これらの点を順に結んで得られる2つの線分 P4P5, P5P6(橙色の折れ線)を再びそれぞれ t : 1 − t の比率で分割する点 P7, P8 を求める。
- 最後に、この2点を結ぶ線分 P7P8(緑色の線分)をさらに t : 1 − t の比率で分割する点 P9 を求めると、この点がベジェ曲線上の点となる。
- この作業を 0 < t < 1 の範囲で繰り返し行うことにより、P0, P1, P2, P3 を制御点とする3次ベジェ曲線(赤色の曲線)が得られる。
交点の算出
図形分割による方法
ベジェ曲線は制御点から成る凸包に内包される性質を利用して、交点が存在する範囲を限定し曲線を切り出すことを反復するBezier clipping[30]がある。
代数方程式による方法(Implicitization)[31]
直線とベジェ曲線の交点は、直線の式の

複合ベジェ曲線の作図ツール画面例 方向ハンドルは、アンカーポイントに設定された連続性に応じて他のハンドルと連動する 複合ベジェ曲線(英: composite Bézier curve)はベジェ曲線を1つのセグメントとして複数セグメントを直列に接続した曲線である[注 1]。ベジェスプライン(英: Bézier spline)[36]、ポリベジェ曲線(英: polybezier)とも。
N次ベジェ曲線は次数を変えずに延長できない。なぜなら延長のために制御点を追加することで次数も増加するからである。またN次ベジェ曲線は既存区間に影響を与えずに延長できない。なぜなら全制御点の反映という特性により新しい制御点座標が既存の区間にも反映されるからである。
これに対する方策にはスプライン曲線をはじめとした区分多項式がある。区分多項式ではある区間を1つの多項式で表現し、その続きの区間を別の多項式で表現し、曲線全体を複数の多項式で構成する。新しい区間の多項式は既存区間と独立しているため、上記の次数増や既存区間影響の問題を回避できる[36]。これを採用し、ベジェ曲線で各区分を表現した区分多項式が複合ベジェ曲線である。
利用
用途
ベジェ曲線は様々な目的・用途に利用されている。
具体的には、ベジェ曲線は視覚芸術(絵画・アニメ・3DCGなど)に利用され、輪郭線の直接表現(参考: ドローソフト)、手書き線の補正[注 2](参考: ペイントソフト)、物体配置の補助線などとして用いられる。またフォント・カリグラフィー・タイポグラフィに利用される。工業デザインでも利用され、設計図中の物体を表現する曲線として直接表現される。GUIではグラフ型設定値の表現として用いられる。
ベジェ曲線のなかでも2次ベジェ曲線と3次ベジェ曲線は広く利用されている。特に3次ベジェ曲線は、始点と第1制御点を結ぶ線分が始点における曲線の接線になり、第2制御点と終点を結ぶ線分が終点における曲線の接線になるため、直感的に理解しやすく多用される。
サポート
ベジェ曲線は様々なプラットフォームでサポートされている。
PostScriptやそのフォント (Type1フォント)、SVGやHTML5のcanvasで3次ベジェ曲線を利用できる。Microsoft WindowsのGDI/GDI+、Direct2D、.NET Frameworkの
System.Drawing.Drawing2D.GraphicsPath、WPFのSystem.Windows.Media.BezierSegmentでは3次ベジェをサポートする[37][38][39][40][41]。AWT(Java 1.2以降で追加されたQuadCurve2D,CubicCurve2Dの派生クラス)、SkiaのSkPathおよびAndroidのandroid.graphics.Pathは2次と3次のベジェ両方をサポートする[42][43][44]。歴史
ベジェ曲線はフランスの自動車メーカー、シトロエン社のド・カステリョ とルノー社のピエール・ベジェにより独立に考案された。ド・カステリョの方が先んじていたが、その論文が公知とならなかったためベジェの名が冠されている[45]。
名称
原語(フランス語)における Bézier の発音はベズィエに近く、「ベジェ曲線」より「ベジエ曲線」の方がこれに忠実と言えるが、いずれの呼称も用いられている。
ベジェ曲面
→詳細は「ベジェ曲面」を参照ベジェ曲面(曲面パッチなどとも)と呼ばれるような、3次元空間内の曲面への拡張にはいくつか手法がある。たとえば、目的の曲面においてパッチの端点となる3点とその3点における接平面を指定するという方法や、4点を指定し2方向のクロスハッチングのようにして面を構成するという方法がある。
脚注
注釈
出典
- ^ "N 次ベジェ曲線 ...

ウィキメディア・コモンズには、ベジェ曲線に関連するカテゴリがあります。
外部リンク
ベジエ曲線と同じ種類の言葉
- ベジエ曲線のページへのリンク