(57)【要約】【課題】複数線から１本のポリラインを生成するポリライン生成方法及びポリライン生成システムを提供する。【解決手段】ポリライン生成方法は、二次元平面上の複数線の入力を受け付け、受け付けた複数線の各々に対応し二次元座標で表される入力線データを入力受付順に入力線記憶部２２に記憶し、記憶した複数の入力線データの各々に対して入力線データに対応する線上の位置に第１の間隔より小さい間隔で点を補完して点群を生成し、最初に記憶された入力線データの始点を検索基準点にしてその直近に位置する入力線データの点の方向に第１の間隔より大きい第２の間隔の範囲を指定して範囲内の点群の重心を算出し、その重心を記憶し、その重心を除く第２の間隔の範囲内の点群を削除し、その重心を検索基準点にして第２の間隔の範囲内の点群がなくなるまで重心算出から点群削除までの処理を繰り返し、記憶された重心の点列をつないで１つのポリラインを生成する。【選択図】図１
2010271821.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって、二次元平面上の複数の入力線に基づいて近似する１つのポリラインを生成するポリライン生成方法であって、
複数の線の入力を受け付ける入力受付ステップと、
前記入力受付ステップにて受け付けた前記複数の線の各々に対応し二次元の座標で表される入力線データを、入力受付順に記憶する入力線記憶ステップと、
前記入力線記憶ステップにて記憶した前記複数の入力線データの各々に対して、前記入力線データに対応する線上の位置に第１の間隔より小さい間隔で点を補完して点群を生成する点群生成ステップと、
最初に入力を受け付けて記憶された前記入力線データの始点を検索基準点にし、その検索基準点の直近に位置する前記入力線データの点の方向に前記第１の間隔より大きい第２の間隔の範囲を指定して、その範囲に含む前記点群の重心を算出する重心算出ステップと、
前記重心算出ステップにて算出した前記重心を記憶する重心記憶ステップと、
前記重心算出ステップにて算出した前記重心を除く前記第２の間隔の範囲に含む前記点群を削除する点群削除ステップと、
前記重心記憶ステップにて記憶した前記重心を前記検索基準点にして、前記第２の間隔の範囲に含む前記点群がなくなるまで前記重心算出ステップと前記重心記憶ステップと前記点群削除ステップとを繰り返す第１繰返しステップと、
前記重心記憶ステップにて記憶した前記重心の点列をつないで１つのポリラインを生成するポリライン生成ステップと、
を含むポリライン生成方法。
【請求項２】
請求項１に記載のポリライン生成方法であって、
前記入力線記憶ステップに最初に入力を受け付けて記憶された前記入力線データの始点を検索基準点にして、前記第１繰返しステップを実行する第２繰返しステップを含むこと、
を特徴とするポリライン生成方法。
【請求項３】
請求項１又は請求項２に記載のポリライン生成方法であって、
前記入力受付ステップは、デジタイザを用いたユーザの手描き動作によって前記複数の線の入力を受け付けること、
を特徴とするポリライン生成方法。
【請求項４】
請求項３に記載のポリライン生成方法であって、
前記入力受付ステップは、入力途中の前記線に対して所定の時間間隔で点を補完して、その点を含む前記複数の線の入力を受け付けること、
を特徴とするポリライン生成方法。
【請求項５】
二次元平面上の複数の入力線に基づいて近似する１つのポリラインを生成するポリライン生成システムであって、
複数の線の入力を受け付ける入力受付手段と、
前記入力受付手段によって受け付けた前記複数の線の各々に対応し二次元の座標で表される入力線データを、入力受付順に記憶する入力線記憶手段と、
前記入力線記憶手段に記憶された前記複数の入力線データの各々に対して、前記入力線データに対応する線上の位置に第１の間隔より小さい間隔で点を補完して点群を生成する点群生成手段と、
最初に入力を受け付けて記憶された前記入力線データの始点を検索基準点にし、その検索基準点の直近に位置する前記入力線データの点の方向に前記第１の間隔より大きい第２の間隔の範囲を指定して、その範囲に含む前記点群の重心を算出する重心算出手段と、
前記重心算出手段によって算出した前記重心を記憶する重心記憶手段と、
前記重心算出手段によって算出した前記重心を除く前記第２の間隔の範囲に含む前記点群を削除する点群削除手段と、
前記重心記憶手段に記憶された前記重心を前記検索基準点にして、前記第２の間隔の範囲に含む前記点群がなくなるまで前記重心算出手段と前記重心記憶手段と前記点群削除手段とを繰り返す第１繰返し手段と、
前記重心記憶手段に記憶された前記重心の点列をつないで１つのポリラインを生成するポリライン生成手段と、
を備えるポリライン生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元座標上の複数の入力線から１つのポリラインを生成するポリライン生成方法及びポリライン生成システムに関する。
【背景技術】
【０００２】
従来、デザイナは、紙に鉛筆やその他の筆記用具を用いて絵（デッサン）を描いて、工業製品の外観を表していた。また、デザイナ等は、その絵のデータを元に具体的にイメージするためにＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）を用いて三次元立体図を作成することが行われていた。しかし、ＣＡＤは、その操作等に関する知識を必要とするものであり、デザイナの感性をそのまま活かしにくいものであった。
【０００３】
他方、デザイナの感性をそのまま活かすために、デザイナが紙へのスケッチと同様に手描きした線をコンピュータに入力して、工業製品の外観を表すことが考えられる。例えば、人間の手書きした線画像図面を入力して、人間の見た目に整った図面を出力する手書き線画像浄書処理方法が開示されている（例えば、特許文献１）。また、ある画像から直線及び曲線で構成される線画を抽出描画する画像処理装置が開示されている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６３−２１３０８３号公報
【特許文献２】特開平３−１０５５７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１及び特許文献２に記載のものは、描かれた１本の線分を対象としたものであった。デザイナは、１本の線を描くときに、その線を直接描くことは多くない。一般に、デザイナは、複数の短い線を描いていき、自分の想像するラインを決めていく方法でスケッチを行う。そこで、デザイナの手書き入力線を処理するためには、複数で構成される線を１本のラインとして認識しなければならず、特許文献１及び特許文献２を用いることで解決されるものではなかった。
【０００６】
本発明は、複数の入力線から１本のポリラインを生成するポリライン生成方法及びポリライン生成システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明者らは、入力された線を点の集合（点群）として捉え、所定の範囲内にある点の重心を計算し、その重心同士を接続することで１本のラインとして認識する方法を見出し、本発明を完成するに至った。
【０００８】
（１）  コンピュータによって、二次元平面上の複数の入力線に基づいて近似する１つのポリラインを生成するポリライン生成方法であって、複数の線の入力を受け付ける入力受付ステップと、前記入力受付ステップにて受け付けた前記複数の線の各々に対応し二次元の座標で表される入力線データを、入力受付順に記憶する入力線記憶ステップと、前記入力線記憶ステップにて記憶した前記複数の入力線データの各々に対して、前記入力線データに対応する線上の位置に第１の間隔より小さい間隔で点を補完して点群を生成する点群生成ステップと、最初に入力を受け付けて記憶された前記入力線データの始点を検索基準点にし、その検索基準点の直近に位置する前記入力線データの点の方向に前記第１の間隔より大きい第２の間隔の範囲を指定して、その範囲に含む前記点群の重心を算出する重心算出ステップと、前記重心算出ステップにて算出した前記重心を記憶する重心記憶ステップと、前記重心算出ステップにて算出した前記重心を除く前記第２の間隔の範囲に含む前記点群を削除する点群削除ステップと、前記重心記憶ステップにて記憶した前記重心を前記検索基準点にして、前記第２の間隔の範囲に含む前記点群がなくなるまで前記重心算出ステップと前記重心記憶ステップと前記点群削除ステップとを繰り返す第１繰返しステップと、前記重心記憶ステップにて記憶した前記重心の点列をつないで１つのポリラインを生成するポリライン生成ステップと、を含むポリライン生成方法。
【０００９】
本発明のこのような構成によれば、複数の入力線に基づいて二次元の座標で表される入力線データを記憶して、その入力線データ上の位置に点を補完して入力線の点群を生成し、所定の範囲内の点群の重心を順次算出してその重心の点列をつなぐことで、１本のポリラインを生成できる。よって、点群の重心を算出してつなぐことで、複数の入力線に近似する１つのポリラインを生成できる。
【００１０】
（２）  （１）に記載のポリライン生成方法であって、前記入力線記憶ステップに最初に入力を受け付けて記憶された前記入力線データの始点を検索基準点にして、前記第１繰返しステップを実行する第２繰返しステップを含むこと、を特徴とするポリライン生成方法。
【００１１】
本発明のこのような構成によれば、最初の入力線データの向きとは異なる方向に入力線を有する場合であっても、所定の範囲内の点群の重心を順次算出することができる。よって、最初の入力線データの向きとは異なる方向に描かれた入力線を含んで、複数の入力線に近似する１つのポリラインを生成できる。
【００１２】
（３）  （１）又は（２）に記載のポリライン生成方法であって、前記入力受付ステップは、デジタイザを用いたユーザの手描き動作によって前記複数の線の入力を受け付けること、を特徴とするポリライン生成方法。
【００１３】
本発明のこのような構成によれば、デジタイザから複数の線の入力を受け付けるので、ユーザが紙にデザインするのと同じような感覚で描いた複数の線を、処理対象にすることができる。よって、ユーザが紙にデザインするのと同じような感覚で描いた複数の線から、それらの線に近似する１つのポリラインを生成できる。
【００１４】
（４）  （３）に記載のポリライン生成方法であって、前記入力受付ステップは、入力途中の前記線に対して所定の時間間隔で点を補完して、その点を含む前記複数の線の入力を受け付けること、を特徴とするポリライン生成方法。
【００１５】
本発明のこのような構成によれば、入力線の入力速度に応じて、入力線上に点を補完することができる。そして、補完された点を用いて点群に関するポリライン生成処理を行うことができる。よって、入力線に近似したポリラインを生成することができる。
【００１６】
（５）  二次元平面上の複数の入力線に基づいて近似する１つのポリラインを生成するポリライン生成システムであって、複数の線の入力を受け付ける入力受付手段と、前記入力受付手段によって受け付けた前記複数の線の各々に対応し二次元の座標で表される入力線データを、入力受付順に記憶する入力線記憶手段と、前記入力線記憶手段に記憶された前記複数の入力線データの各々に対して、前記入力線データに対応する線上の位置に第１の間隔より小さい間隔で点を補完して点群を生成する点群生成手段と、最初に入力を受け付けて記憶された前記入力線データの始点を検索基準点にし、その検索基準点の直近に位置する前記入力線データの点の方向に前記第１の間隔より大きい第２の間隔の範囲を指定して、その範囲に含む前記点群の重心を算出する重心算出手段と、前記重心算出手段によって算出した前記重心を記憶する重心記憶手段と、前記重心算出手段によって算出した前記重心を除く前記第２の間隔の範囲に含む前記点群を削除する点群削除手段と、前記重心記憶手段に記憶された前記重心を前記検索基準点にして、前記第２の間隔の範囲に含む前記点群がなくなるまで前記重心算出手段と前記重心記憶手段と前記点群削除手段とを繰り返す第１繰返し手段と、前記重心記憶手段に記憶された前記重心の点列をつないで１つのポリラインを生成するポリライン生成手段と、を備えるポリライン生成システム。
【００１７】
本発明のこのような構成によれば、当該システムを用いることにより、（１）と同様の効果が期待できる。
【発明の効果】
【００１８】
本発明によれば、入力された複数の入力線を１本のポリラインとして認識するので、紙にデザインスケッチを描く感覚で三次元立体形状（３Ｄ）の立体製品図形をデザインすることができ、デザインの精度や多様性、反復性を向上させることができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係るポリライン生成システム１００の全体構成及び機能構成を示す図である。
【図２】本実施形態に係るメイン処理のフローチャートである。
【図３】本実施形態に係る入力線処理のフローチャートである。
【図４】本実施形態に係る入力線処理の具体例を示す図である。
【図５】本実施形態に係るポリライン生成処理のフローチャートである。
【図６】本実施形態に係るポリライン生成処理の具体例を示す図である。
【図７】本実施形態に係る繰返し処理のフローチャートである。
【図８】本実施形態に係るポリライン生成処理の具体例を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明を実施するための形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【００２１】
（実施形態）
［ポリライン生成システム１００の全体構成及び機能構成］
図１は、本実施形態に係るポリライン生成システム１００の全体構成及び機能構成を示す図である。本実施形態は、デザイナが、デジタイザから紙にデザインスケッチを描く感覚で複数の線を入力して、入力された複数の線に基づいて、手描き線を清書するように入力線に近似する１本のポリラインを生成するものである。
【００２２】
ポリライン生成システム１００は、デジタイザ１と、モニタ５と、制御部１０と、記憶部２０とから構成され、それぞれ図示しないバスラインを介して接続されている。
【００２３】
デジタイザ１は、入力装置であり、板状部材２と、ペン部材３とを組み合わせた構造である。板状部材２は、モニタ５の中での位置を検出するための板状の装置である。ペン部材３は、モニタ５に対する位置を指示するためのペン型の装置である。デジタイザ１は、モニタ５に対応する板状部材２の上でペン部材３により絶対位置を指定するため、細かい作業に向いている。デジタイザ１は、従来、鉛筆等の筆記用具を使用して紙にデザインしていたデザイナが、従来のデザイン作業と同等の感覚でデザイン作業ができることから選択された。デジタイザ１は、ペン部材３の進化に伴って、より紙に描く感じでデザイナに作業を行わせることができる。
【００２４】
モニタ５は、例えば、デジタイザ１から入力された複数の線や、その複数の線から生成されたポリラインを表示するブラウン管表示装置（ＣＲＴ）、液晶表示装置（ＬＣＤ）等のディスプレイ装置である。
【００２５】
制御部１０は、情報の演算及び処理を行う情報演算処理装置（ＣＰＵ）であり、当該ポリライン生成システム１００の全体を制御するものである。制御部１０は、記憶部２０に記憶された各種プログラムを適宜読み出して実行することにより、ポリライン生成システム１００のハードウェアと協働し、本発明に係る各種機能を実現している。
【００２６】
制御部１０は、入力受付手段１１と、点群生成手段１２と、始点繰返し手段１３と、重心繰返し手段１４と、重心算出手段１５と、点群削除手段１６と、ポリライン生成手段１７とを備える。
【００２７】
入力受付手段１１は、デジタイザ１からデザイナであるユーザにより描かれた線の入力を受け付ける制御部である。点群生成手段１２は、線上に中点を補完することで点群を生成する制御部である。
【００２８】
始点繰返し手段１３は、デジタイザ１から最初に入力した線の始点に対して、重心繰返し手段１４による処理を繰り返す制御部である。重心繰返し手段１４は、重心算出手段１５及び点群削除手段１６による処理を繰り返す制御部である。重心算出手段１５は、処理対象範囲内の点群の重心を算出する制御部である。点群削除手段１６は、算出した重心を除く処理対象範囲内の点群を削除する制御部である。
【００２９】
ポリライン生成手段１７は、算出して記憶した重心の点列をつないで１本のポリラインを生成する制御部である。
【００３０】
記憶部２０は、本発明の処理に必要なコンピュータプログラム２１ａ等を記憶する記憶装置である。記憶部２０は、制御部１０と組み合わせてプログラムの実行に使用するメモリを含んでよい。
【００３１】
記憶部２０を実現するものとして、電気的、磁気的、光学的、電磁的に実現するものを含んでよい。より具体的には、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリー・メモリ（ＲＯＭ）等を含む半導体記憶装置、磁気ディスク等が含まれる。
【００３２】
記憶部２０は、プログラム記憶部２１と、入力線記憶部２２と、点群リスト記憶部２３と、重心位置リスト記憶部２４と、一時記憶領域２９とを備える。プログラム記憶部２１は、本発明の処理を実行するコンピュータプログラム２１ａを記憶する領域である。入力線記憶部２２は、デジタイザ１から受け付けた複数の線を受付順に記憶する。点群リスト記憶部２３は、入力線データから生成された点群を記憶する。重心位置リスト記憶部２４は、重心算出手段１５により算出された重心を記憶する。一時記憶領域２９は、一時的なデータの記憶領域である。
【００３３】
ここで、本発明でいうコンピュータとは、記憶装置、制御装置等を備えた情報処理装置をいい、ポリライン生成システム１００は、記憶部２０、制御部１０等を備えた情報処理装置であり、本発明のコンピュータの概念に含まれる。
【００３４】
なお、ポリライン生成システム１００を構成するハードウェアの数に制限はなく、必要に応じて１又は複数のハードウェアで構成してよい。また、複数のハードウェアで構成する場合には、通信回線（図示せず）を介して各ハードウェアを接続してもよい。さらに、ポリライン生成システム１００を、例えば、クライアント・サーバ形式にして、入出力のインタフェースをクライアント側で行い、処理をサーバ側で行う構成にしてもよい。
【００３５】
［メイン処理の処理フロー］
次に、処理の流れについて説明する。車両のデザインに関して、ユーザは、構造上又はデザイン上において特徴のあるラインを示すキャラクタラインを描く。このキャラクタラインは、長いラインが一本の線で描かれることはあまり多くない。一般に、ユーザは、複数の短い線を描いて、自分で想像するラインを決めていくことが多い。このときの線の入力方法を、マルチストローク入力という。ここでは、このマルチストローク入力による複数の線から、キャラクタラインになる線を決定してポリライン化する例を説明する。図２は、本実施形態に係るメイン処理のフローチャートである。
【００３６】
まず、ステップＳ（以下、単にＳという。）１では、制御部１０は、初期化処理として、記憶部２０のプログラム記憶部２１を除く記憶部内のクリア処理を行う。
【００３７】
Ｓ２において、制御部１０は、入力線処理を行う。入力線処理は、デジタイザ１を用いてユーザにより描かれた入力線を、制御部１０が入力線データとして入力線記憶部２２に記憶する処理である。詳細については、後述する。
【００３８】
Ｓ３において、制御部１０は、入力線記憶部２２に記憶された入力線データの数が０であるか否かを判断する。入力線記憶部２２に記憶された入力線データが０である場合、つまり、記憶された線がない場合（Ｓ３：ＹＥＳ）には、制御部１０は、本処理を終了する。他方、入力線記憶部２２に記憶された入力線データが０ではない場合（Ｓ３：ＮＯ）には、制御部１０は、処理をＳ４に移す。
【００３９】
Ｓ４において、制御部１０は、ポリライン生成処理を行う。ポリライン生成処理は、制御部１０が、入力線記憶部２２に記憶された入力線データに基づいて、１本のポリラインを生成する処理である。詳細については、後述する。その後、制御部１０は、本処理を終了する。
【００４０】
［入力線処理の処理フロー］
次に、図２のＳ２に示す入力線処理について説明する。図３は、本実施形態に係る入力線処理のフローチャートである。図４は、本実施形態に係る入力線処理の具体例を示す図である。
【００４１】
図３のＳ２１において、制御部１０は、入力線のクリア処理を行う。この例では、記憶部２０の一時記憶領域２９に入力線を一時的に記憶するものとし、クリア処理は、一時記憶領域２９をクリアする。
【００４２】
Ｓ２２において、制御部１０（入力受付手段１１）は、入力を検出したか否かを判断する。デジタイザ１の板状部材２にペン部材３が接触することで、入力を検出した場合（Ｓ２２：ＹＥＳ）には、制御部１０は、処理をＳ２３に移す。入力を検出しない場合（Ｓ２２：ＮＯ）には、制御部１０は、Ｓ２２の処理を繰り返す。
【００４３】
Ｓ２３において、制御部１０（入力受付手段１１）は、始点を追加する。始点は、デジタイザ１の板状部材２にペン部材３が初めて接触した位置に対応する二次元座標の位置である。始点の座標は、一時記憶領域２９に追加される。
【００４４】
Ｓ２４において、制御部１０（入力受付手段１１）は、所定の時間間隔（例えば、５０分の１秒）に達したか否かを判断する。所定の時間間隔に達した場合（Ｓ２３：ＹＥＳ）には、制御部１０は、処理をＳ２５に移す。所定の時間間隔に達していない場合（Ｓ２３：ＮＯ）には、制御部１０は、処理をＳ２６に移す。
【００４５】
Ｓ２５において、制御部１０（入力受付手段１１）は、中点を追加する。中点は、所定の時間間隔に達した時点でのペン部材３の位置に対応する二次元座標の位置である。中点の座標は、一時記憶領域２９に追加される。
【００４６】
Ｓ２６において、制御部１０（入力受付手段１１）は、入力の検出が終了したか否かを判断する。入力の検出が終了した場合とは、板状部材２に接触していたペン部材３が、板状部材２から離れることをいう。入力の検出が終了した場合（Ｓ２６：ＹＥＳ）には、制御部１０は、処理をＳ２７に移す。他方、入力の検出が終了していない場合（Ｓ２６：ＮＯ）には、制御部１０は、処理をＳ２４に移す。
【００４７】
Ｓ２７において、制御部１０（入力受付手段１１）は、終点を追加する。終点は、入力の検出が終了した位置に対応する二次元座標の位置である。終点の座標は、一時記憶領域２９に追加される。
【００４８】
図４（１）は、デジタイザ１を用いて、ユーザが入力線３１を描いた態様を示す。デジタイザ１を用いて図４（１）に示す入力線３１を描いた場合に、図４（２）に示すように、入力線データ４０が一時記憶領域２９に記憶される。一時記憶領域２９は、例えば、ＸＺ座標の二次元座標で表されるデジタイザ１の入力位置を含めて、デジタイザ１の入力に対応して入力線データ４０を一時的に記憶する領域である。ペン部材３が板状部材２に接触した位置が始点Ｓであり（図３のＳ２３）、その後、ペン部材３を移動させて５０分の１ずつ時間が経過したごとに、中点Ｍ（Ｍ１〜Ｍ３）が追加される（図３のＳ２５）。そして、ペン部材３が板状部材２から離れた位置に、終点Ｔが追加される（図３のＳ２７）。
【００４９】
図３に戻り、Ｓ２８において、制御部１０は、連続重複点の削除処理を行う。具体的には、同位置に複数の点が付されている場合に、制御部１０が、複数の点を削除して１つの点にする。ユーザの描画の作業がゆっくりである場合には、同一箇所に中点が複数追加される場合がある。また、ユーザが、ペン部材３を板状部材２に接触させたが、動かすことなくペン部材３を板状部材２から離した場合には、同一箇所に始点と終点とが重なる場合がある。連続重複点の削除処理は、これらの場合を考慮して、余分な点を削除するためのものである。
【００５０】
Ｓ２９において、制御部１０は、入力線の点の数が１であるか否かを判断する。入力線の点の数が１である場合（Ｓ２９：ＹＥＳ）には、制御部１０は、処理をＳ３１に移す。入力線の点の数が１である場合とは、始点と中点と終点とが一致する場合、つまり、板状部材２にペン部材３が接触して、その後、ペン部材３を動かすことなく板状部材２からペン部材３が離れた場合をいい、一時記憶領域２９には１つの点が付されている。他方、入力線の点の数が１ではない場合（Ｓ２９：ＮＯ）には、制御部１０は、処理をＳ３０に移す。入力線の点の数が１ではない場合とは、線が付された場合をいう。
【００５１】
Ｓ３０において、制御部１０は、一時記憶領域２９に記憶した入力線データを、入力線記憶部２２に記憶させる。
【００５２】
Ｓ３１において、制御部１０は、入力線の入力が終了であるか否かを判断する。入力線の入力が終了である場合（Ｓ３１：ＹＥＳ）には、制御部１０は、本処理を終了する。入力線の入力が終了ではない場合（Ｓ３１：ＮＯ）には、制御部１０は、処理をＳ２１に移す。
【００５３】
図４（３）は、デジタイザ１を用いて、ユーザにより３本の入力線３１，３２，３３がこの順番に描かれた態様を示す。図４（４）は、入力線３１，３２，３３が描かれることで、制御部１０が入力線記憶部２２に記憶した入力線データ４０，５０，６０を示す。入力線記憶部２２は、ＸＺ座標の二次元座標で表されるデジタイザ１の入力位置を含めて、デジタイザ１の入力に対応して入力線データ４０，５０，６０を記憶する。入力線記憶部２２には、入力線を受け付けた順番に入力線データが記憶される。この例では、入力線データ４０に対応する入力線３１が最初に描かれており、入力線データ４０が最初に記憶される。以降、入力線が描かれた順番、ここでは、入力線データ５０，６０の順番で、入力線記憶部２２に入力線データ５０，６０が記憶される。また、図４（４）の例の入力線データ４０，５０，６０のうち、入力線データ５０は、始点と中点との間隔及び中点と終点との間隔が他の入力線データ４０，６０よりも長い。よって、入力線データ５０から、ユーザにより入力線３２が描かれる速度が、他の入力線３１，３３が描かれる速度よりも速かったことを表している。
【００５４】
このように、ポリライン生成システム１００は、デジタイザ１を用いてユーザが複数の線を描いた場合に、それらの複数の線を処理対象にして、入力線データとして入力線記憶部２２に記憶することができる。よって、ポリライン生成システム１００は、ユーザが紙にデザインするのと同じような感覚で描いた複数の線を用いることができる。
【００５５】
［ポリライン生成処理の処理フロー］
次に、図２のＳ４に示すポリライン生成処理について説明する。図５は、本実施形態に係るポリライン生成処理のフローチャートである。図６及び図８は、本実施形態に係るポリライン生成処理の具体例を示す図である。図７は、本実施形態に係る繰返し処理のフローチャートである。
【００５６】
図５のＳ４１において、制御部１０は、入力線記憶部２２に記憶された入力線データの数が１であるか否かを判断する。入力線記憶部２２に記憶された入力線データが１である場合（Ｓ４１：ＹＥＳ）には、１本だけのその入力線データからポリラインを生成すれば足りることから、制御部１０は、処理をＳ４８に移す。他方、入力線記憶部２２に記憶された入力線データの数が１ではない場合（Ｓ４１：ＮＯ）、つまり、複数の線に関する入力線データが記憶されている場合には、制御部１０は、処理をＳ４２に移す。
【００５７】
Ｓ４２において、制御部１０は、入力線記憶部２２に最初に記憶された入力線データを基準線に設定する。図６（１）は、図４（４）と同じ入力線記憶部２２に記憶された入力線データ４０，５０，６０を示す。入力線データ４０は、始点４０Ｓと終点４０Ｔとの間に中点４１，４２，４３を有する。入力線データ５０は、始点５０Ｓと終点５０Ｔとの間に、中点５１を有する。入力線データ６０は、始点６０Ｓと終点６０Ｔとの間に、中点６１，６２を有する。図６（１）の例では、入力線データ４０を基準線に設定する。
【００５８】
図５に戻り、Ｓ４３において、制御部１０は、基準線の１点目と２点目の座標値を取得する。ここで、１点目は、入力線データ４０の始点４０Ｓであり、２点目は、入力線データ４０の最初の中点４１である（図６（１）参照）。
【００５９】
Ｓ４４において、制御部１０は、１点目から２点目の方向を検索基準方向ｖに設定する。図６（１）は、始点４０Ｓから中点４１に向かって検索基準方向ｖを設定した態様を示す。
【００６０】
Ｓ４５において、制御部１０は、１点目を検索基準点に設定する。図６（１）では、入力線データ４０の始点４０Ｓが、検索基準点に設定される。
【００６１】
Ｓ４６において、制御部１０（点群生成手段１２）は、各入力線データの点間隔が間隔ｄ１以内になるように点を補完して点群リストを生成する。図６（２）は、図６（１）に示す入力線データ４０，５０，６０に関して、点を補完した態様を示す。例えば、入力線データ５０は、始点５０Ｓと中点５１との間隔が間隔ｄ１より大きい。この場合、点群生成手段１２は、始点５０Ｓと中点５１との間隔が間隔ｄ１以内になるように、中点５２を追加する。同様に、入力線データ５０の中点５１と終点５０Ｔとの間に、中点５３が追加される。また、入力線データ６０の中点６２と終点６０Ｔとの間に、中点６３が追加される。このようにして、点群生成手段１２により生成された点群リストは、図６（３）に示すように、点群リスト記憶部２３に記憶される。
【００６２】
Ｓ４７において、制御部１０は、繰返し処理を行う。ここで、繰返し処理について、図７に基づいて説明する。
【００６３】
Ｓ５１において、制御部１０は、検索基準点を重心位置リスト記憶部２４に追加する。図６に示す例では、制御部１０は、入力線データ４０の始点４０Ｓを、重心位置リスト記憶部２４に追加する。
【００６４】
Ｓ５２において、制御部１０は、検索基準点から検索基準方向に間隔ｄ２で形成される四角形の範囲内の点群を検出する。ここで、間隔ｄ２は、上述の間隔ｄ１より長い（大きい）範囲である。そして、間隔ｄ１はなるべく小さく、間隔ｄ２は、なるべく大きな値にすることが望ましい。
【００６５】
Ｓ５３において、制御部１０（重心繰返し手段１４）は、間隔ｄ２の範囲内に点群が存在するか否かを判断する。点群が存在する場合（Ｓ５３：ＹＥＳ）には、制御部１０は、処理をＳ５４に移す。他方、点群が存在しない場合、つまり、間隔ｄ２の範囲内が空である場合（Ｓ５３：ＮＯ）には、制御部１０は、処理をＳ６０に移す。
【００６６】
Ｓ５４において、制御部１０（重心算出手段１５）は、間隔ｄ２の範囲内の点群の重心位置を算出する。ここで、図８（１）は、最初の検索基準点である入力線データ４０の始点４０Ｓから、始点４０Ｓに直近の点である中点４１の方向である検索基準方向ｖに向かって間隔ｄ２の範囲７０を示す。範囲７０には、中点４１の他に、入力線データ５０の始点５０Ｓを含む。そして、制御部１０は、この中点４１と始点５０Ｓとの２つの点から重心８０を算出する。
【００６７】
図７に戻り、Ｓ５５において、制御部１０（点群削除手段１６）は、間隔ｄ２の範囲内の点群を削除する。
【００６８】
Ｓ５６において、制御部１０は、Ｓ５４にて算出した重心位置を、検索基準点に設定する。
【００６９】
Ｓ５７において、制御部１０は、設定した検索基準点を、重心位置リスト記憶部２４に追加する。
【００７０】
Ｓ５８において、制御部１０は、検索基準点から間隔ｄ２内の点群を検出する。その後、制御部１０は、処理をＳ５３に移す。
【００７１】
ここで、図８（２）は、重心８０を検索基準点にした態様を示す。図８（２）では、図８（１）で重心８０の左右に存在した中点４１と始点５０Ｓとが削除されている（図７のＳ５５）。また、図８（２）には、重心８０を検索基準点にして、間隔ｄ２の範囲７１が示されている（図７のＳ５８）。範囲７１には、中点４２，５２と始点６０Ｓとを含む。制御部１０は、この範囲７１に含まれる３つの点の重心８１を算出し（図７のＳ５４）、以降、間隔ｄ２の範囲に点群が含まれなくなるまで、制御部１０は、図７のＳ５３〜Ｓ５８の処理を繰り返す。
【００７２】
図７に戻り、Ｓ６０において、制御部１０は、基準線の１点目を、検索基準点に設定する。
【００７３】
Ｓ６１において、制御部１０は、間隔ｄ２の範囲内に点群が存在するか否かを判断する。点群が存在する場合（Ｓ６１：ＹＥＳ）には、制御部１０は、処理をＳ５４に移す。他方、点群が存在しない場合（Ｓ６１：ＮＯ）には、制御部１０は、本処理を終了する。
【００７４】
このように、制御部１０は、基準線の１点目を検索基準点にして、検索基準方向ｖとは異なる方向に入力線を有するような場合であっても、検索基準方向ｖに関わらずに間隔ｄ２の範囲内の点群の重心を算出することができる。よって、ポリライン生成システム１００は、最初の入力線データの向きとは異なる方向に描かれた入力線を含んで、複数の入力線に近似する１つのポリラインを生成できる。
【００７５】
図８（３）は、重心位置リスト記憶部２４に記憶された重心の点列を示す。重心位置リスト記憶部２４には、繰返し処理で算出された重心位置が記憶される。
【００７６】
図５に戻り、Ｓ４８において、制御部１０（ポリライン生成手段１７）は、重心位置リスト記憶部２４に記憶された重心位置をつないで、１本のポリラインを生成する。その後、制御部１０は、本処理を終了する。
【００７７】
このように、ポリライン生成システム１００は、二次元の座標で表される入力線データ上の位置に間隔ｄ１内の点を補完して入力線の点群を生成し、間隔ｄ２の範囲内の点群の重心を順次算出してその重心の点列をつなぐことで、１本のポリラインを生成できる。よって、ポリライン生成システム１００は、点群の重心を算出して重心の点列をつなぐことで、複数の入力線に近似する１つのポリラインを生成できる。
【符号の説明】
【００７８】
１      デジタイザ
２      板状部材
３      ペン部材
５      モニタ
１０    制御部
１１    入力受付手段
１２    点群生成手段
１３    始点繰返し手段
１４    重心繰返し手段
１５    重心算出手段
１６    点群削除手段
１７    ポリライン生成手段
２０    記憶部
２１ａ  コンピュータプログラム
２２    入力線記憶部
２３    点群リスト記憶部
２４    重心位置リスト記憶部
２９    一時記憶領域
３１，３２，３３  入力線
４０，５０，６０  入力線データ
４０Ｓ，５０Ｓ，６０Ｓ，Ｓ  始点
４１〜４３，５１〜５３，６１〜６３，Ｍ  中点
４０Ｔ，５０Ｔ，６０Ｔ，Ｔ  終点
７０，７１  範囲
８０，８１  重心
１００  ポリライン生成システム
【図１】
2010271821.tif 000003
【図２】
2010271821.tif 000004
【図３】
2010271821.tif 000005
【図４】
2010271821.tif 000006
【図５】
2010271821.tif 000007
【図６】
2010271821.tif 000008
【図７】
2010271821.tif 000009
【図８】
2010271821.tif 000010