CurveTo (c)
CurveTo演算子(PDF構文では`c`と表記)は、PDFコンテンツストリーム内で現在のパスに3次ベジェ曲線セグメントを追加するパス構築コマンドです。
CurveTo演算子(PDF構文ではcと表記)は、PDFコンテンツストリーム内で現在のパスに3次ベジェ曲線セグメントを追加するパス構築コマンドです。
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
で定義されているように、この演算子は3つの制御点を使用して、現在の点から新しい終点までの滑らかな曲線を定義します。これは、複雑なベクトル図形を作成するためにPDFグラフィックスストリームで利用可能な複数の曲線描画演算子の1つです。
CurveTo(c)演算子は、PDFパスオブジェクト内で3次ベジェ曲線を構築する低レベルのグラフィックスコマンドです。この演算子は、3つの座標ペア(x₁, y₁, x₂, y₂, x₃, y₃)を表す6つの数値パラメータを取ります。最初の2つの点は曲線の形状に影響を与える制御点として機能し、3番目の点は曲線の終点となり、新しい現在の点となります。単純な直線描画演算子とは異なり、CurveToは、タイポグラフィのアウトラインから複雑なイラストレーションまで、あらゆるものを表現できる滑らかで数学的に正確な曲線の作成を可能にします。
この演算子は、v(最初の制御点を省略)やy(2番目の制御点を省略)などの類似の曲線演算子とは異なり、3つの制御点すべてを明示的に指定する必要があります。これにより、cはPDFの3次ベジェ曲線演算子の中で最も柔軟性が高い反面、最も冗長なものとなっています。
PDF生成や操作を行う開発者にとって、CurveTo演算子の理解はベクトルグラフィックスコンテンツの作成や解釈に不可欠です。チャートのレンダリング、CAD図面、フォントレンダリング、グラフィックデザインツールなど、PDFグラフィックスを生成するあらゆるライブラリは、CurveToを含むパス構築演算子を実装する必要があります。既存のPDFを解析する際には、この演算子を認識して正しく解釈することが、正確なレンダリング、コンテンツ抽出、またはフォーマット変換にとって重要です。
この演算子は、PDFアクセシビリティツールを構築する開発者にとって特に重要です。適切なパスの解釈は、 ( Citation: N.A., 2014 (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html ) で規定されているTagged PDF構造において、ベクトルグラフィックスがどのようにレンダリングされ、場合によっては記述されるかに影響を与えるためです。
CurveTo演算子は、PDFコンテンツストリーム内で次の構文に従います:
x1 y1 x2 y2 x3 y3 c
この演算子が実行されると、現在の点(前のパスセグメントの終点)から点(x₃, y₃)まで、(x₁, y₁)と(x₂, y₂)を制御点として使用する3次ベジェ曲線が作成されます。数学的な曲線は、tが0から1の範囲をとるパラメトリック方程式によって定義され、現在の点、2つの制御点、終点を3次ベジェの数式に従って混合します。
制御点は曲線の形状を決定します。曲線は現在の点から(x₁, y₁)に向かう方向で始まり、(x₂, y₂)の方向から(x₃, y₃)に到達します。これらの制御点は通常、曲線上には位置しませんが、その方向に曲線を「引き寄せ」ます。すべての座標は現在のユーザー空間座標系で解釈されます。つまり、グラフィックス状態行列からの変換がこれらの値に適用されます。
実行後、現在の点は(x₃, y₃)に更新され、後続のパス演算子がこの位置からパスの構築を続けることができます。
- Path Object(パスオブジェクト) – CurveToなどのパス構築演算子によって構築される、接続された直線と曲線の集合
- MoveTo (m) – 描画せずに新しい現在の点を確立することで新しいサブパスを開始する演算子
- LineTo (l) – 現在の点から指定された終点まで直線セグメントを追加する演算子
- Graphics State(グラフィックス状態) – CurveToなどの演算子がどのように解釈されるかに影響を与える、変換行列を含むパラメータの集合
- Content Stream(コンテンツストリーム) – ページコンテンツを記述する演算子とオペランドのシーケンス。CurveToコマンドが出現する場所
- (N.A.) (2020)
- (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html
- (N.A.) (2014)
- (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html
