ベクタ形式

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ベクター形式から転送)
移動: 案内検索

ベクタ形式(ベクタけいしき、vector graphics)は、2次元コンピュータグラフィックスをコンピュータ内部で表現するデータ形式の代表的な2つのうち1つ。しばしば、走査線の集まりで表現するラスタ形式ビットマップはその代表例)と対比される。

「vector(ベクトル)」は方向と大きさを持つ量だが、図形処理では「方向と距離」がそれに当たる。線の起終点の座標(位置)、曲線であればその曲がり方、太さ、色、それら線に囲まれた面の色、それらの変化のしかたなどを、数値で表す。

ベクタ形式による図形をベクタグラフィックス(ベクターグラフィックス、: Vector graphics)あるいはベクタイメージ(ベクターイメージ、: Vector image)、そのデータベクタデータ(ベクターデータ、: Vector data)と呼ぶ。vector imageを「ベクトル画像」あるいは「ベクタ画像」と訳することがあるが、日本語としては図形という概念に近いので、あまり適切でない[要出典]。内部表現をベクタ形式とし、アプリケーションによってはドロー形式、ドローグラフィックなどとも呼ばれる。

座標[編集]

ラスタ形式がデータの順序によって座標を間接的に示すのと異なり、ベクタ形式はオブジェクトごとに座標を明示的に指定する。

直交座標と円座標[編集]

座標を縦横の位置で表す「直交座標方式」と、方向と距離で表す「円座標方式」とがある。

絶対座標と相対座標[編集]

オブジェクトの座標を、グラフィックデバイス上にひいた座標系で表す「絶対座標方式」と、他オブジェクトからの位置関係で表す「相対座標方式」がある。

LOGO言語で使われるタートルグラフィックスでは、タートルと呼ばれるオブジェクトに、直前のオブジェクトの描画を終了した位置からの方向と距離を与える「相対座標方式」で図形を描く。そのため常にオブジェクトの独立性[疑問点 ]が保たれるという特徴がある。

「絶対座標方式」は、オブジェクトごとに座標系を設定する。この座標系を「局所座標系」と呼ぶ。局所座標は円座標でもよく、直交座標であっても全体座標系と同じスケールでなくてもよい。そのことによってオブジェクトの独立性が保持される。

オブジェクト[編集]

基本図形[編集]

基本的な幾何学図形はプリミティブと呼ばれる。ライン(線分)やポリゴン(多角形)、サークル(円)、カーブ(円弧、円の一部)などがある。プリミティブ図形の大きさは、所属する親オブジェクトの座標スケールに依存するのが普通である。またデフォルトの座標は図形が描かれる最初の位置に設定されることが多い。高機能なアプリケーションにおいてはベジェ曲線を自由に操作できる。その代表的な製品にAdobe IllustratorCorelDRAWがある。

  • 線(line)や折れ線(polyline)
  • 多角形
  • 楕円
  • ベジェ曲線
  • ベジェ曲線によって囲まれた図形
  • テキスト(特にアウトラインフォントを用いる場合は、それぞれの文字はベジェ曲線によって形作られる。)

これ以外にもスプライン曲線などの図形が基本図形として使えるアプリケーションもある。また、ビットマップもオブジェクトとして扱えるようになっている場合が多い。

線と面[編集]

図形を、点で結ばれた線で表す。結ばれた線の終点が始点と重なった、四角や円、多角形などの閉じた図形の内部の領域を「面」と呼ぶ。点の座標と、線の属性(線の太さ、色、破線、実線など)、線で囲まれた面の属性(色や、パターンなど)、を記録するのがベクタイメージの基本である。すなわち、ベクタイメージとは、点、線、面のそれぞれのさまざまな性質、つまり、線の起終点の位置、曲線であればその曲がり方、太さ、色、それら線に囲まれた面の色、それらの変化のしかたなどを数値で表す。

文字[編集]

ベクタ形式においては文字もひとつのオブジェクトとして扱われる。文字オブジェクトのプロパティには、描かれる座標に加えてフォント名、文字コード、文字サイズ、文字カラー、変形方法などがある。文字サイズは親オブジェクトの座標スケールに依存するが、ポイントなど扱いやすい単位で設定できることが多い。

ビットマップ[編集]

ベクタ形式においては多くの場合、ビットマップ画像データもひとつのオブジェクトとして扱うことができる。画像オブジェクトには、ビットマップ画像データに加えて、描かれる座標と縦横の表示上のサイズ(または縦横の解像度や拡大率)を持つ。場合によっては、描画方向(回転角度や反転軸)、アフィン変換などの変形の情報を持つこともある。しばしば、大きな画像データは外部ファイルにリンクするという方法がとられる。

基本図形の変換[編集]

多くのドローソフトでは、これらの図形やグループ化した図形などをアフィン変換することにより、拡大縮小・回転などの変形を施すことができる。また、図形どうしの共通部分や差分を取り出す論理演算の機能も付いているのが多い。また面領域のグラデーション、最近では半透明などを扱えるドローソフトやグラフィックフォーマットもある。

ベクタイメージは、デバイス非依存の図形・画像を記述するのに優れている。ラスタライズや印刷の処理プログラム等を各デバイス向けに作ることができ、それぞれの描画指示のもととなる図形情報だけをデータとして扱うことができるからである。このような考え方からPostScriptPDFといったページ記述言語の内部表現はベクタ形式になっている。

3次元コンピュータグラフィックスでは3次元空間上の多角形(ポリゴン)や曲面等として形状を作成する。これは2次元図形であるベクタイメージを作成するとき、基本図形を組み合わせて複雑な図形イメージを作ることと非常に似ている。この3次元の図形イメージを透視図法などで2次元のビットマップに変換する作業をレンダリングと呼ぶが、これは、形状や位置のほかに、光のあたり具合なども計算しなければならないので、2次元のラスタライズの処理に比べはるかに複雑である。そのためゲームなどの速度を要するレンダリングでは、曲面を用いずに平面であるポリゴンの集まりで物体を表現するのが普通である。

実装[編集]

ベクタ形式によるグラフィックスをシステムに実装する方法として、Macintoshで使われるQuickDrawDTPで使われるPostScriptCADで使われるHP-GLなどがある。PostScrptとHP-GLは図形処理言語と呼ばれ、その内部表現をテキストファイルとして出力することができる。アプリケーションだけでなく、プリンタ内部にもそれらのインタプリタが用意され、スピーディにラスタライズできる機種がある。

アプリケーション[編集]

ドローソフトと呼ばれる。以下には、ドローソフトの機能も備える汎用のグラフィックソフトを含む。

画像フォーマット[編集]

ラスタ形式との変換[編集]

ベクタ形式のラスタ化[編集]

ベクタ形式のイメージデータは容易にラスタ形式に変換できる。多くの場合、OSにその機能のAPIがあるので、アプリケーションはその機能を呼び出すだけでよい。ディスプレイの何倍もの画素数であっても、内部に仮想フレームバッファを設定すれば可能となるが、そのためには大きなメモリが必要である。

ラスタ形式のベクタ化[編集]

ラスタ形式からベクタ形式に変換出来る機能はOSには搭載されておらず、それができるソフトはかなり限られてくる。代表的なソフトとしてCorelDRAWに付属している Corel PowerTrace がある。ベクタ形式に変換すると描画密度が若干アバウトになるため、クリップアートの感覚で使える[疑問点 ]

パフォーマンス[編集]

ベクタイメージ ビットマップ
ベクタイメージ ビットマップ
ベクタイメージ ビットマップ
ベクタイメージ ビットマップ
ベクタイメージは品質の劣化なくサイズを変更可能

画像をピクセルの集合で表現しようとするビットマップと比べ、拡大、縮小、その他の変形を施しても図形イメージが基本的に劣化しないという特性を持つ。単純な図形で構成されている場合、ラスタ形式よりもデータサイズは小さい。

しかしながら、写真のような画像から線や面を抽出して数値化することは現在の技術では困難であり、実際には、はじめからグラフィックソフトウェアを使用してベクタイメージを作成する場合を除いては、画像アプリケーションには使われない。すなわち、ロゴや非リアリスティックなイラストには向くが、そのほかの一般画像には不向きである。逆に文字のフォントデザインにおいては、拡大や縮小その他の変形が容易なことから、多用される。このようなベクタイメージの手法を用いた文字フォントを「アウトラインフォント」と呼ぶ。

出力[編集]

ディスプレイ[編集]

ベクタイメージは、各図形の情報をもとにラスタイメージに展開することができ、これをラスタライズという。ベクタイメージを直接表示するベクタスキャンディスプレイもある。しかし、塗り潰しが苦手なことを筆頭として難点があり、今日の一般的なコンピュータではラスタイメージのみが表示可能なラスタスキャン・ディスプレイが用いられ、ベクタイメージを表示する際は、ラスタライズしてから表示している。

1950〜1980年代のコンピュータでは、ラスタスキャンでの高精細な表示は高価につき難しいことから、図形の表示目的に、ベクタスキャン・ディスプレイが用いられていた。CADなどで使われた。ベクタスキャン・ディスプレイでは、スキャンの速さを変えることでも輝度を変えることができる。これに対しラスタスキャン・ディスプレイでは、ブラウン管電子銃は表示面を均等に走査するのであって、輝度は電子銃からの電子線の強さを変調することで表現している。

紙への出力[編集]

プリンターの多くもディスプレイ同様、ラスタスキャンを行っている。それゆえアウトラインフォントのテキストやベクタイメージを印刷するときは、OS上もしくはプリンターの内部で、高解像度にラスタライズされてから印刷している。

プロッタ(plotter)は、ベクタ形式のデータを直接印刷する。これはペンなどを移動させて作図しており、図形処理言語が座標を指定して作図することからX-Yプロッタとも呼ばれる。プロッターは設計図面の印刷などに用いられた。

参考資料[編集]

関連項目[編集]