第3章


3.線図形作成と手がき入力法

3.1 緒言

 本章では線図形の作画について述べる.線分の入力・作画はレンダリングシステムの基本的技術といえる.ここでは本研究で利用する線分のデータ構造,およびユーザフレンドリなシステムを実現するために開発した手描き入力による線図形の作画について説明する.  計算機を利用する以前より,デザイナは筆や絵の具などの基本的道具を利用して,イメージを自分の表現技術を用いて,作画してきた.この従来の方法では,描こうとする形や図の表現は,デザイナの手の動きに,直接影響を受けていた.従って,よいアイデアがあっても,それを具体的に表現することが難しい場合もあった.このように,計算機を利用した新しい作画方式は,デザイナの各種の要求に十分に対応できない場合がみられる.

 線図形の作画において2次元上で直接その形状を指示することは感覚的にあったものであり,これを実現するためにそれらのデータを保存し,必要に応じて容易に修正したり,取り出したりできなければいけない.また,図形のなかには一つの種類で構成されるだけでなく,複数の場合も多くみられる.これらを一度に扱うことができれば,作画を容易に行うことが可能となる.

 また,質の高い絵を早く作成するためには,デザイナのアイデアの段階から最終作品までの全過程を,計算機化することが望ましい.このためには,1)人と計算機との自然なインタラクションの実現,2)絵のデータの表現と取り扱い方の基本的考え方を前節で述べた.これに従って,本節では具体的な手法を提案する.

 従って,デザイナの手の動きに対応する作画が可能となるようなマンマシンインタフェースを実現するために,手描き入力による線図の入力,修正,編集機能の充実が重要である.これらの課題に共通する問題は,手で描いた図形データをどのように認識するかである.本研究では任意図形の認識のために,節点に着目し,節点の情報から数種の図形の認識を行い,作画データを作成できるようにした.節点とは入力した線分の特徴をよく表わしている点で,描かれた点列を始めから終わりまで,直線で近似したときの折れ点のことである.この節点法によって,より一層の融通性をデザイナに与え,さらに,入力法の拡充が可能となった.フリーハンドやブラシ機能の単純な手描き入力は,多くのレンダリングシステムに用いられているが,入力図形の認識を有効に利用している方法は少ない.

 以下,3.2節では線分の作画とデータ構造,3.3節では2次元図形を作成するために適した手描き入力法を用いた図形作画方法,3.4節では入力線分の修正法について述べる.

3.2 線分の作画

3.2.1 線分のデータ構造

 2章で線分作画のための入力データについて述べた.この入力データは図3.1に示すような構造の線分データとして保存される.各線分の種類に応じてデータ数は異なる.これらの内部データを変えることによって図が変化する.これらのデータをグループごとに指定することにより,複合線分は作成できる.また,線分の太さを変えることはその属性の値を変化させることで実現できる.これらのデータは保存され,番号を呼び出すことにより再利用できる.このため,この線図データを用いて,図形変換やマスク処理が可能となった.

3.2.2 線分の入力

 本研究では図形入力装置としてタブレットを用いた.タブレットを用いて線分を入力する方法は,ストローク法とピック法がある.本研究では両者とも利用した.手描きの線分をそのまま利用するためにはストローク法が有効であり,円や長方形を入力するためにはピック法が便利である.

1)複合線分の入力
 複合線分は,人手の場合に三角定規やコンパスを用いて描く複雑な線分と同等である.従って,直線,円,自由曲線などを人がメニューから選択して,複合曲線を描くことは道具を変えながら描くことと同じである.このとき,各線分の接続は入力した線分の終点と次に入力する線分の始点が一致するならば,複合線分としてデータ構造が構成される.これによって,複数の線分を一つの線分として処理することが可能となる.

2)線分の修正
 入力線分に対して変更を行うことができれば,試行錯誤によって,よりよい図形を描くことができる.修正の方法として,次の三つの方法がある.1)入力した線分を描き直す方法:これは入力線分の消去といえる.2)部分的に修正する方法:これは一線分が複雑な場合,および自由曲線のときに必要となる.この解決方法は次節で述べる.3)一つの頂点だけを修正する方法:ここでは頂点を作画面上で指示して修正することにした.このために,指示した頂点のデータを変更可能にし,作画面上で移動させる.それによって,図は描き直され,人はその図を見ながら,自分の望む形状を作り出すことができる.この修正方法は頂点座標の数値を変更することに比べ,形状を取り扱うことが容易であり,人の感覚にあったものである.このような3つの修正機能を持つことにより,作画の容易さが実現できる.

3.3 手描き操作による入力方法

3.3.1 手描き入力の利用

 線分の作画のためには線幅,色や形状を示すパラメータ,座標が必要である.このなかで,とくに形状を示すためには手描き入力は有効である.形状は,1)テンプレートのような定規を用いるもの,2)自在定規による自由曲線,3)フリーハンドによるものに分けられる.1)では,パラメータ入力のために,画面上の座標を入力することによって大きさを決めることが可能である.2)の場合は,制御点を入力する方法,自由曲線をフリーハンドで描きそれを清書する方法がある.3)では,手の動作を直接表示すればよい.これらの方法では入力,表示された図形を修正する場合に,直接図に対して指示できるようにすることは重要である.本研究では手描き入力によって得られたデータを自動認識する線分の形状を,1)テンプレートのかわりとなる円や矩形,2)自由形状を表わせる自由曲線とする.

 次に,手描き入力方法を実現するための節点の求め方とそれを利用した自動的な線分の自動認識について述べる.

3.3.2 節点の抽出

 フリーハンドの線はペンの動き,手のズレによって,常に人のイメージどおりのものがかけるとは限らない.この問題を解決するために,節点による認識方法は有効であり,この節点の数や方向によって,文字が区別できるという利点がある[天畠82].ここでは,入力したフリーハンドの線分を人が意図する曲線に変換するための方法について述べる.

 節点の検出方法を図3.2に示す.まず,始点と終点をもとに,これを結ぶ直線と距離が最大になる点を選ぶ.この距離をhとし,始点と終点の距離との比をとる.この値がしきい値εより大きければ,フリーハンドの揺らぎでなく,人がその部分を曲げようとしたと判定し,この点を節点とする.この節点と始点・終点を結ぶ直線に節点が存在するかどうかを調べ,新たに節点を定める.さらに節点間においても同様の処理を行い,すべての直線部分でしきい値以下になるまで繰り返すことによって,折れ線を作成する.本研究では,しきい値は直線を描くときの手の揺らぎを基準とし,作画実験をもとにしきい値を0.13とした.

3.3.3 輪郭作成の方法

 このようにして求められた節点を用いて,数種の線図形を自動認識できるようにした.図3.3に線の認識方法を示す.認識できる図形は折れ線,正方形,長方形,円,だ円,円弧,自由曲線,水平,垂直線である.これらは,1)始点と終点の関係,2)節点間の長さの比,3)節点を共有する2辺のつくる角度および角度の差により分類できる.開,閉の線分の区別は始点,終点の一致具合により,与えられたしきい値によって判定される.また,節点間の長さの比は,正方形,長方形,および,円,だ円を認識するために用いる.角度および,それらの角度差は,線分のなめらかな変化,急激な変化,90度前後のしきい値を設定しておくことによって,曲線,直線,水平,垂直を分類する.自由曲線は大きな変化を持つ場合に有効であり,しきい値より小さな変化は認識されない.

3.4 線分の修正

 節点法を用いて作画された線分を修正する方法について説明する.人が自分の要求する図を得るために,フリーハンドで何本もの線を描きながら,それらをもとにして,イメージに近いものを決定していく.これは図を用いて,図に直接指示を行うという図形作成と処理の操作であり,人が目の前の図を用い,判断しながら,その図に働きかける.このようなことを計算機を用いて行うための手順と説明図を図3.4に示す.まず始めに,線分の修正部分に対して,変更したい線分を前述の手描き入力法に従って作画する.入力された線分に近い節点が計算され,それらに接続される2点間の節点データは消去される.そして,修正部分の節点が計算され,一本の線分として登録される.この方法の利点は修正が何度でも可能であり,下図作成において,人のイメージを表現するための試行錯誤が容易なことである. 

 図3.5に下図の作成の例と修正例を示す.これらは,長方形,だ円,自由曲線を手描きで入力したものと,その線をもとに清書されたものである.

3.5 結言

 本章では,質の高いレンダリングを行うための線分の入力,修正方法および,アイデアの段階から計算機を利用して,絵を作成していくための手描き入力方法を実現した.この結果,次のような成果が得られた.

1)さまざまな線分の表現に利用できるデータ構造を確立した.これにより,表現能力の拡充が実現でき,操作が容易になった.

2)節点法による認識によって,手描き入力された各種図形の清書が可能となった.

3)従来のメニュー方式と手描き入力を併用することによって,アイデアスケッチの段階から計算機を利用でき,作画時間の短縮が実現できた.