(57)【要約】【課題】外形線を高速に抽出する外形線抽出装置，方法およびプログラムを提供する。【解決手段】データ処理装置２は、メッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを入力データとして入力データ格納装置１から読み込み、各要素毎に要素の線分と比較対象要素（自以外の要素）の線分とを要素番号ｎの要素について比較対象要素番号をｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順序に比較する。要素と比較対象要素との間で、共有と判定された共有線分を要素共有線分一時記憶部３１に記憶し、非共有と判定された非共有線分を要素非共有線分記憶部３２に記憶する。全ての要素について比較が終了すると要素非共有線分記憶部３２に記憶されている非共有線分を外形線を成す線分として出力データ格納装置４に出力する。【選択図】　　　図１
2004021277.tif 000002
【特許請求の範囲】
【請求項１】
メッシュ状に定義された領域の外形線を抽出する外形線抽出装置であって、
メッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを含む入力データ格納装置と、
前記入力データ格納装置からメッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを入力データとして読み込む手段と、
要素番号ｎの要素について前記要素の線分と比較対象要素（前記要素以外の要素）の線分とを比較対象要素番号をｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順序に比較する手段と、
前記要素と前記比較対象要素との間で共有と判定された線分を共有線分として要素共有線分記憶部に記憶する手段と、
前記要素の全ての線分が共有線分として記憶された場合に前記要素と前記比較対象要素との残りの比較を止め次の要素の比較処理に移る手段と、
前記要素と全ての比較対象要素との比較が終了したときに共有線分と判定されなかった線分を非共有線分として要素非共有線分記憶部に記憶し次の要素の比較処理に移る手段と、
全ての要素について比較対象要素との比較が終了したときに要素非共有線分記憶部に記憶されている非共有線分を外形線を成す線分として出力データ格納装置に出力する手段と、を有するデータ処理装置と、
前記データ処理装置が共有線分を記憶する要素共有線分記憶部と、
前記データ処理装置が非共有線分を記憶する要素非共有線分記憶部と、を有する記憶装置部と、
前記データ処理装置が外形線を成す線分を出力する出力データ格納装置と、
を備える外形線抽出装置。
【請求項２】
メッシュ状に定義された領域の外形線を抽出する外形線抽出装置であって、
メッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを含む入力データ格納装置と、
前記入力データ格納装置からメッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを入力データとして読み込みバッファに格納する手段と、要素番号ｎの要素について前記要素の線分と比較対象要素（前記要素以外の要素）の線分とを比較対象要素番号をｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順序に比較する手段と、
前記要素と前記比較対象要素との間で共有と判定された線分を前記バッファ上から消去する手段、
前記要素の全ての線分が前記バッファ上から消去された場合に前記要素と前記比較対象要素との残りの比較を止め次の要素の比較処理に移る手段、
前記要素と全ての比較対象要素との比較が終了したときに次の要素の比較処理に移る手段、
全ての要素について比較対象要素との比較が終了したときに前記バッファ上に残っている線分を非共有線分と判定し外形線を成す線分として出力データ格納装置に出力する手段と、を有するデータ処理装置と、
前記データ処理装置が外形線を成す線分を出力する出力データ格納装置と、
を備える外形線抽出装置。
【請求項３】
メッシュ状に定義された領域の外形線を抽出する外形線抽出方法であって、
メッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを入力データ格納装置から入力データとして読み込み、
要素番号ｎの要素について前記要素の線分と比較対象要素（前記要素以外の要素）の線分とを比較対象要素番号をｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順序に比較し、
前記要素と前記比較対象要素との線分比較で共有と判定された場合に前記線分を共有線分として要素共有線分記憶部に記憶し、
前記要素の全ての線分が共有線分として記憶された場合に前記要素と前記比較対象要素との残りの比較を止め次の要素の比較処理に移り、
前記要素と全ての比較対象要素との比較が終了したときに共有線分と判定されなかった線分を非共有線分として要素非共有線分記憶部に記憶し次の要素の比較処理に移り、
全ての要素について比較対象要素との比較が終了したときに要素非共有線分記憶部に記憶されている非共有線分を外形線を成す線分として出力データ格納装置に出力する、
ことを特徴とする外形線抽出方法。
【請求項４】
メッシュ状に定義された領域の外形線を抽出する外形線抽出方法であって、
メッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを入力データ格納装置から入力データとして読み込みバッファに格納し、
ある要素（要素番号ｎ）について前記要素の線分と比較対象要素（前記要素以外の要素）の線分とを比較対象要素番号をｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順序に比較し、
前記要素と前記比較対象要素との間で共有と判定された線分を前記バッファ上から消去し、
前記要素の全ての線分が前記バッファ上から消去された場合に前記要素と前記比較対象要素との残りの比較を止め次の要素の比較処理に移り、
前記要素と全ての比較対象要素との比較が終了したときに次の要素の比較処理に移り、
全ての要素について比較対象要素との比較が終了したときに前記バッファ上に残っている線分を非共有線分と判定し外形線を成す線分として出力データ格納装置に出力する、
ことを特徴とする外形線抽出方法。
【請求項５】
メッシュ状に定義された領域の外形線を抽出する外形線抽出プログラムであって、
コンピュータに、
メッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを入力データ格納装置から入力データとして読み込む機能、
ある要素（要素番号ｎ）について前記要素の線分と比較対象要素（前記要素以外の要素）の線分とを比較対象要素番号をｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順序に比較する機能、
前記要素と前記比較対象要素との間で共有と判定された線分を共有線分として要素共有線分記憶部に記憶する機能、
前記要素の全ての線分が共有線分として記憶された場合に前記要素と前記比較対象要素との残りの比較を止め次の要素の比較処理に移る機能、
前記要素と全ての比較対象要素との比較が終了したときに共有線分と判定されなかった線分を非共有線分として要素非共有線分記憶部に記憶し次の要素の比較処理に移る機能、
全ての要素について比較対象要素との比較が終了したときに要素非共有線分記憶部に記憶されている非共有線分を外形線を成す線分として出力データ格納装置に出力する機能、
を実現させるための外形線抽出プログラム。
【請求項６】
メッシュ状に定義された領域の外形線を抽出する外形線抽出プログラムであって、
コンピュータに、
メッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを入力データ格納装置から入力データとして読み込みバッファに格納する機能、
ある要素（要素番号ｎ）について前記要素の線分と比較対象要素（前記要素以外の要素）の線分とを比較対象要素番号をｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順序に比較する機能、
前記要素と前記比較対象要素との間で共有と判定された線分を前記バッファ上から消去する機能、
前記要素の全ての線分が前記バッファ上から消去された場合に前記要素と前記比較対象要素との残りの比較を止め次の要素の比較処理に移る機能、
前記要素と全ての比較対象要素との比較が終了したときに次の要素の比較処理に移る機能、
全ての要素について比較対象要素との比較が終了したときに前記バッファ上に残っている線分を非共有線分と判定し外形線を成す線分として出力データ格納装置に出力する機能、
を実現させるための外形線抽出プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外形線を抽出する外形線抽出装置，方法およびプログラムに関し、特にメッシュ状に定義された領域の要素と線分のデータから外形線を抽出する外形線抽出装置，方法およびプログラムに関する。
【０００２】
【従来の技術】
図１５に示すように、ある閉領域モデルを有限要素法による数値計算に利用するために、メッシュ分割を行っている。メッシュ分割後のモデルは数値計算に利用するため、通常元の閉領域モデルを簡略化するのでメッシュ分割前のモデルとは異なる。そのため、閉領域の外形線を取得するには、分割後のメッシュデータから外形線の抽出を行っている。
【０００３】
また、図１６に示すように、数値計算結果から散在する接触点のデータが出力される。それらの点同士を結びつけ線分データを作成し、線分データから構成されるメッシュデータを作成する。作成したメッシュは接触領域を構成することになる。接触領域の形状を確認するために、作成したメッシュから外形線の抽出を行っている。
【０００４】
従来、このようなメッシュ状に定義された領域の外形線を抽出するには、各要素毎に要素を構成する線分が非共有線分であるか全ての要素を番号順に検索して判定していた。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した従来技術には、次のような問題点があった。
【０００６】
第１の問題点は、ｎ個の要素があれば、最大でｎ２回程度の検索が必要となっていたことである。
【０００７】
その理由は、要素番号順に要素を検索すると一要素あたりの平均検索回数はｎ／２以上になるためである。
【０００８】
第２の問題点は、各要素について非共有線分を検索するため、非共有線分が存在しない要素の処理に多くの時間を要していたことである。
【０００９】
その理由は、共有線分の存在比率の高い、非共有線分が存在しない要素に関して、多くの検索が処理をしていたためである。
【００１０】
本発明の目的は、上記の問題点を解決し、外形線を高速に抽出する外形線抽出装置，方法およびプログラムを提供することにある。
【００１１】
【課題を解決するための手段】
本願第１の発明の外形線抽出装置は、メッシュ状に定義された領域の外形線を抽出する外形線抽出装置であって、メッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを含む入力データ格納装置と、前記入力データ格納装置からメッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを入力データとして読み込む手段と、要素番号ｎの要素について前記要素の線分と比較対象要素（前記要素以外の要素）の線分とを比較対象要素番号をｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順序に比較する手段と、前記要素と前記比較対象要素との間で共有と判定された線分を共有線分として要素共有線分記憶部に記憶する手段と、前記要素の全ての線分が共有線分として記憶された場合に前記要素と前記比較対象要素との残りの比較を止め次の要素の比較処理に移る手段と、前記要素と全ての比較対象要素との比較が終了したときに共有線分と判定されなかった線分を非共有線分として要素非共有線分記憶部に記憶し次の要素の比較処理に移る手段と、全ての要素について比較対象要素との比較が終了したときに要素非共有線分記憶部に記憶されている非共有線分を外形線を成す線分として出力データ格納装置に出力する手段と、を有するデータ処理装置と、前記データ処理装置が共有線分を記憶する要素共有線分記憶部と、前記データ処理装置が非共有線分を記憶する要素非共有線分記憶部と、を有する記憶装置部と、前記データ処理装置が外形線を成す線分を出力する出力データ格納装置と、を備える。
【００１２】
本願第２の発明の外形線抽出装置は、メッシュ状に定義された領域の外形線を抽出する外形線抽出装置であって、メッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを含む入力データ格納装置と、前記入力データ格納装置からメッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを入力データとして読み込みバッファに格納する手段と、要素番号ｎの要素について前記要素の線分と比較対象要素（前記要素以外の要素）の線分とを比較対象要素番号をｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順序に比較する手段と、前記要素と前記比較対象要素との間で共有と判定された線分を前記バッファ上から消去する手段、前記要素の全ての線分が前記バッファ上から消去された場合に前記要素と前記比較対象要素との残りの比較を止め次の要素の比較処理に移る手段、前記要素と全ての比較対象要素との比較が終了したときに次の要素の比較処理に移る手段、全ての要素について比較対象要素との比較が終了したときに前記バッファ上に残っている線分を非共有線分と判定し外形線を成す線分として出力データ格納装置に出力する手段と、を有するデータ処理装置と、前記データ処理装置が外形線を成す線分を出力する出力データ格納装置と、を備える。
【００１３】
本願第３の発明の外形線抽出方法は、メッシュ状に定義された領域の外形線を抽出する外形線抽出方法であって、メッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを入力データ格納装置から入力データとして読み込み、要素番号ｎの要素について前記要素の線分と比較対象要素（前記要素以外の要素）の線分とを比較対象要素番号をｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順序に比較し、前記要素と前記比較対象要素との線分比較で共有と判定された場合に前記線分を共有線分として要素共有線分記憶部に記憶し、前記要素の全ての線分が共有線分として記憶された場合に前記要素と前記比較対象要素との残りの比較を止め次の要素の比較処理に移り、前記要素と全ての比較対象要素との比較が終了したときに共有線分と判定されなかった線分を非共有線分として要素非共有線分記憶部に記憶し次の要素の比較処理に移り、全ての要素について比較対象要素との比較が終了したときに要素非共有線分記憶部に記憶されている非共有線分を外形線を成す線分として出力データ格納装置に出力する、ことを特徴とする。
【００１４】
本願第４の発明の外形線抽出方法は、メッシュ状に定義された領域の外形線を抽出する外形線抽出方法であって、メッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを入力データ格納装置から入力データとして読み込みバッファに格納し、ある要素（要素番号ｎ）について前記要素の線分と比較対象要素（前記要素以外の要素）の線分とを比較対象要素番号をｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順序に比較し、前記要素と前記比較対象要素との間で共有と判定された線分を前記バッファ上から消去し、前記要素の全ての線分が前記バッファ上から消去された場合に前記要素と前記比較対象要素との残りの比較を止め次の要素の比較処理に移り、前記要素と全ての比較対象要素との比較が終了したときに次の要素の比較処理に移り、全ての要素について比較対象要素との比較が終了したときに前記バッファ上に残っている線分を非共有線分と判定し外形線を成す線分として出力データ格納装置に出力する、ことを特徴とする。
【００１５】
本願第５の発明の外形線抽出プログラムは、メッシュ状に定義された領域の外形線を抽出する外形線抽出プログラムであって、コンピュータに、メッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを入力データ格納装置から入力データとして読み込む機能、ある要素（要素番号ｎ）について前記要素の線分と比較対象要素（前記要素以外の要素）の線分とを比較対象要素番号をｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順序に比較する機能、前記要素と前記比較対象要素との間で共有と判定された線分を共有線分として要素共有線分記憶部に記憶する機能、前記要素の全ての線分が共有線分として記憶された場合に前記要素と前記比較対象要素との残りの比較を止め次の要素の比較処理に移る機能、前記要素と全ての比較対象要素との比較が終了したときに共有線分と判定されなかった線分を非共有線分として要素非共有線分記憶部に記憶し次の要素の比較処理に移る機能、全ての要素について比較対象要素との比較が終了したときに要素非共有線分記憶部に記憶されている非共有線分を外形線を成す線分として出力データ格納装置に出力する機能、を実現させる。
【００１６】
本願第６の発明の外形線抽出プログラムは、メッシュ状に定義された領域の外形線を抽出する外形線抽出プログラムであって、コンピュータに、メッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを入力データ格納装置から入力データとして読み込みバッファに格納する機能、ある要素（要素番号ｎ）について前記要素の線分と比較対象要素（前記要素以外の要素）の線分とを比較対象要素番号をｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順序に比較する機能、前記要素と前記比較対象要素との間で共有と判定された線分を前記バッファ上から消去する機能、前記要素の全ての線分が前記バッファ上から消去された場合に前記要素と前記比較対象要素との残りの比較を止め次の要素の比較処理に移る機能、前記要素と全ての比較対象要素との比較が終了したときに次の要素の比較処理に移る機能、全ての要素について比較対象要素との比較が終了したときに前記バッファ上に残っている線分を非共有線分と判定し外形線を成す線分として出力データ格納装置に出力する機能、を実現させる。
【００１７】
【発明の実施の形態】
本発明の特徴について、図２〜図３を用いて説明する。
図２〜図３は、メッシュ状に定義された領域を説明する図である。
【００１８】
本発明の外形線抽出装置および方法は、図２のように全体形状がメッシュ状で複数の要素で構成される閉領域の外形線の検索を高速に行う構成を提供するものである。
【００１９】
各要素は複数の線分で構成され、閉領域を構成する要素と各要素を構成する線分の情報が、入力データとなる。
【００２０】
各要素毎に、自要素以外の要素（比較対象要素）を検索して共有線分が存在した場合は共有線分を記憶する。要素に共有線分でない線分がなくなるまでこの処理を繰り返す。この処理で、共有線分が存在しない線分は非共有線分と判定し、非共有線分を記憶する。
【００２１】
記憶された非共有線分が出力データとなり、抽出された外形線である。
【００２２】
比較対象要素の検索では、要素番号に隣合う番号、例えば要素番号ｎの場合はｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順に比較を行うことを特徴としている。これは、隣合う番号や値の近い番号の比較対象要素は、図３のように線分を共有している確率が高いため、少ない比較回数で共有線分の発見が可能となるためである。
【００２３】
本発明の実施の形態の構成について、図面を参照して詳細に説明する。
図１は、本発明の実施の形態の構成を示す図である。
図４は、入力データの格納例を示す図である。
【００２４】
図１を参照すると、本発明の実施の形態は、入力データ格納装置１と、データ処理装置２と、記憶装置３と、出力データ格納装置４と、を備えている。
【００２５】
入力データ格納装置１は、入力データが格納されている装置である。入力データは、メッシュ状に定義された閉領域を表すデータで、メッシュ状に定義された領域に関する要素と線分について所定のフォーマットで格納されている。入力データの格納例を図４に示す。図４を参照すると、例えば、要素番号ｎの要素が線分ｎ−１，線分ｎ−２，…の線分を含むことを示している。図４のＮは要素の総数、ｎは１〜Ｎの整数である。
【００２６】
データ処理装置２は、プログラム制御で動作するコンピュータであり、入力データを入力データ格納装置１から読み込み、各要素毎に要素の線分と比較対象要素（自以外の要素）の線分とを比較し、要素と比較対象要素との間で非共有と判定された非共有線分を要素非共有線分記憶部３２に記憶し、各要素毎の比較が終了すると要素非共有線分記憶部３２に記憶されている非共有線分を外形線を成す線分として出力データ格納装置４に出力する。データ処理装置２は、入力データを入力データ格納装置１から読み込みバッファに格納する入力手段と、バッファ上の要素を指すための要素ポインタをセットする要素ポイント手段と、バッファ上の比較対象要素を指すための比較対象要素ポインタをセットする比較対象要素ポイント手段と、各要素毎に要素の線分と比較対象要素の線分とを比較する比較手段と、要素と比較対象要素との間で共有と判定された共有線分を要素共有線分一時記憶部３１に記憶する共有線分記憶手段と、要素と比較対象要素との間で非共有と判定された非共有線分を要素非共有線分記憶部３２に記憶する非共有線分記憶手段と、要素の全線分が共有線分として記憶されたかを判定する全共有線分判定手段と、要素と比較対象要素との比較が最終比較対象要素まで比較が行われたかを判定する最終比較対象要素判定手段と、各要素毎の要素と比較対象要素との比較が最終要素まで比較が行われたかを判定する最終要素判定手段と、要素非共有線分記憶部３２に記憶されている非共有線分を出力データとして出力データ格納装置４に出力する出力手段と、を含む。なお、要素ポインタは要素を指す番号であり、１から１づつＮ（要素数）までインクリメントされる。比較対象要素ポインタは要素と比較される比較対象要素を指す番号であり、ｎ−１，ｎ＋１，ｎ−２，ｎ＋２，ｎ−３，ｎ＋３，…のようにインクリメントされる。ｎは要素ポインタ値である。比較対象要素ポインタの値が１〜Ｎ（要素数）以外の値を示す場合には次の値にインクリメントされる。例えば、ｎ＝１の場合、比較対象要素ポインタ値がｎ−１＝０となるので、比較対象要素ポインタ値はｎ＋１＝２からとなる。
【００２７】
記憶装置３は、共有線分および非共有線分を記憶する装置で、要素と比較対象要素との間で共有と判定された共有線分を記憶する要素共有線分一時記憶部３１と、要素と比較対象要素との間で非共有と判定された非共有線分を記憶する要素非共有線分記憶部３２と、を含む。
【００２８】
出力データ格納装置４は、出力データを格納する装置である。出力データは、メッシュ状に定義された閉領域の外形線を表すデータで、外形線に該当する線分のみ、つまり入力データから外形線以外の線分を省略したものが図４に示す入力データと同様のフォーマットで格納される。
【００２９】
本発明の実施の形態の動作について、図面を参照して詳細に説明する。
図５は、本発明の実施の形態の動作の流れを示す図である。
図６は、本発明の実施の形態の動作を説明する図（中央部にある要素の場合）である。
図７は、本発明の実施の形態の動作を説明する図（端部にある要素の場合）である。
【００３０】
最初に、図５を参照して、データ処理装置２の動作について説明する。
【００３１】
入力データ格納装置１からメッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを入力データとして読み込む（ステップ１）。
【００３２】
要素ポインタに初期値をセットする（ステップ２）。
【００３３】
比較対象要素ポインタに初期値をセットする（ステップ３）。
【００３４】
要素をポイントする（ステップ４）。
【００３５】
比較対象要素をポイントする（ステップ５）。
【００３６】
要素の線分と比較対象要素の線分とを比較する（ステップ６）。
【００３７】
要素と比較対象要素との間で共有する線分があるかを判定し、共有する線分がなければステップ９に進み、共有する線分があれば共有線分として要素共有線分一時記憶部３１に記憶してステップ９に進む（ステップ７〜８）。
【００３８】
要素の全ての線分が共有線分として要素共有線分一時記憶部３１に記憶されているかを判定し、全ての線分が共有線分として記憶されていればステップ１３に進み、全ての線分が共有線分として記憶されていなければステップ１０に進む（ステップ９）。
【００３９】
比較対象要素が最後の比較対象要素であるかを判定し、最後の比較対象要素でなければ比較対象要素ポインタをインクリメントしてステップ５に戻り、最後の比較対象要素であれば共有線分と判定されずに残っている線分を非共有線分として要素非共有線分記憶部３２に記憶してステップ１３に進む（ステップ１０〜１２）。
【００４０】
要素が最後の要素であるかを判定し、最後の要素でなければ要素ポインタをインクリメントしてステップ３に戻り、最後の要素であれば要素非共有線分記憶部３２に記憶されている非共有線分を出力データとして出力データ装置４に出力して終了する（ステップ１３〜１５）。この出力データが外形線のデータとなる。
【００４１】
次に、閉領域の中央部にある要素について、図５を参照し、図６の閉領域１１内の要素１２を例に比較対象要素との比較について説明する。
【００４２】
図６の要素１２について、比較対象要素との比較は、図５のステップ４〜ステップ１１の流れの中で、図６の▲１▼、▲２▼、…、▲３▼、▲４▼の順に実施される。▲１▼、▲２▼、▲３▼、▲４▼については要素１２との間で共有の線分が存在するため、図５のステップ７の判定によりそれぞれ線分１２４、線分１２２、線分１２３、線分１２１を共有線分として記憶装置３の要素共有線分一時記憶部３１に記憶する。▲４▼との比較が終了した後のステップ９で、要素１２を構成する線分１２１〜１２４の全てが要素共有線分一時記憶部３１に記憶されたと判定され、要素１２に非共有線分が存在しないことが判明するので、これ以上、要素１２に関する比較をする必要がないので、ステップ１４とステップ４で次の要素をポイントして処理を続行する。
【００４３】
続いて、閉領域の端部にある要素について、図５を参照し、図７の閉領域１１内の要素１３を例に比較対象要素との比較について説明する。
【００４４】
図７の要素１３について、比較対象要素との比較は、図５のステップ４〜ステップ１１の流れの中で、図７の▲１▼、▲２▼、…、▲３▼、▲４▼、…の順に実施される。▲２▼、▲３▼、▲４▼については要素１３との間で共有の線分が存在するため、図５のステップ７の判定によりそれぞれ線分１３２、線分１３３、線分１３１を共有線分として記憶装置３の要素共有線分一時記憶部３１に記憶する。▲４▼との比較が終了した後のステップ９で、要素１３を構成する線分１３１〜１３４の全てが要素共有線分一時記憶部３１に記憶されていないと判定され、この後も比較対象要素との比較を行う。全ての比較対象要素との比較が終了した時点で、共有線分と判定されずに残った線分１３４を非共有線分と判定し、記憶装置３の要素非共有線分記憶部３２に記憶する。
【００４５】
更に、図８〜図１１を用いて、より具体的に説明する。
図８は、メッシュ状に定義された領域の例を示す図である。
図９は、入力データの例を示す図である。
図１０は、本発明の実施の形態の動作を説明する図である。
図１１は、出力データの例を示す図である。
【００４６】
図８を参照すると、本例の領域は１５の領域に区切られ、１〜１５の要素番号が付与されている。
【００４７】
図９は、本例の領域の外形線を求めるための入力データであり、１〜１５の要素毎に、それぞれの要素を構成する線分を示している。例えば、要素番号２の要素は線分１−３，２−２，２−３，２−４から構成され、要素番号６の要素は線分５−３，２−４，６−３，６−４から構成されることを表している。
【００４８】
図１０は、図９に示す入力データを入力して図５に示すフローに従って各要素毎に行う比較の状況を表形式にまとめたものである。図１０から、領域の端の要素の場合には全ての比較対象要素と比較を行うが、領域の端以外の要素の場合には要素の線分が全て共有線分であると判定できた時点で比較対象要素との比較を止めるので、比較対象要素との比較回数が少ないことが判る。
【００４９】
図１１は、処理の結果として出力された非共有線分で、外形線を成す。
【００５０】
このように、比較対象要素の検索では、要素番号に隣合う番号、例えば要素番号ｎの場合はｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順に比較を行うので、少ない比較回数で共有線分の発見が可能となる。また、要素を構成する線分は全て共有線分である比率が大きいため、検索の早い段階で要素が非共有線分を持たないことが判明し不要な比較処理を省略できる。その結果、処理全体の比較回数を減少させ、高速に外形線の抽出処理を行うことを可能にする。
【００５１】
次に、本発明の他の実施の形態について、図１１〜図１２を参照して詳細に説明する。
図１２は、他の実施の形態における入力データの格納例を示す図である。
図１３は、他の実施の形態におけるメッシュ状に定義された領域の例を示す図である。
【００５２】
本発明の他の実施の形態では、入力データが、図１２に示すように、要素種別と要素番号と線分とから成る点で上述した実施の形態と異なる。
【００５３】
図１２に示す入力データを読み込み、要素種別毎に、上述した実施の形態の図５の動作を繰返し、要素種別毎に非共有線分（外形線）を出力する。
【００５４】
このような処理を行うことで、図１３に示すような要素種別毎の境界線を高速に抽出することが可能となる。
【００５５】
また、データ処理装置に要素種別指定手段を設け、要素種別指定手段から要素種別を指定し、指定した要素種別に関して上述した実施の形態の図５の動作を行い、指定した要素種別の非共有線分（外形線）を出力する。こうすることにより、指定した要素種別と他の要素種別との境界線を高速に抽出することが可能となる。
【００５６】
更に、本発明の他の実施の形態について、説明する。
【００５７】
本発明の他の実施の形態は、記憶装置上の要素共有線分一時記憶部と要素非共有線分記憶部とを必要とせず非共有線分を抽出する点で上述した実施の形態と異なる。
【００５８】
本発明の他の実施の形態は、入力データ格納装置とデータ処理装置と出力データ格納装置とを備えている。データ処理装置が上述した実施の形態のデータ処理装置２と異なる。
【００５９】
データ処理装置の構成について説明する。
【００６０】
データ処理装置は、入力データを入力データ格納装置から読み込みバッファに格納し、各要素毎に要素の線分と比較対象要素（自以外の要素）の線分とを比較し、要素と比較対象要素との間で共有と判定された共有線分（要素の線分と比較対象要素の線分の両方）をバッファ上から消去し、各要素毎の比較が終了するとバッファ上に残っている線分を非共有線分として出力データ格納装置４に出力する。データ処理装置は、入力データを入力データ格納装置から読み込みバッファに格納する入力手段と、バッファ上の要素を指すための要素ポインタをセットする要素ポイント手段と、バッファ上の比較対象要素を指すための比較対象要素ポインタをセットする比較対象要素ポイント手段と、各要素毎に要素の線分と比較対象要素の線分とを比較する比較手段と、要素と比較対象要素との間で共有と判定された共有線分をバッファ上から消去する共有線分消去手段と、要素の全線分が共有線分としてバッファ上から消去されたかを判定する全共有線分判定手段と、要素と比較対象要素との比較が最終比較対象要素まで比較が行われたかを判定する最終比較対象要素判定手段と、各要素毎の要素と比較対象要素との比較が最終要素まで比較が行われたかを判定する最終要素判定手段と、バッファ上に残っている線分を非共有線分と判定し外形線を成す線分として出力データ格納装置４に出力する出力手段と、を含む。なお、要素ポインタは要素を指す番号であり、１から１づつＮ（要素数）までインクリメントされる。比較対象要素ポインタは要素と比較される比較対象要素を指す番号であり、ｎ−１，ｎ＋１，ｎ−２，ｎ＋２，ｎ−３，ｎ＋３，…のようにインクリメントされる。ｎは要素ポインタ値である。
【００６１】
図１４を参照して、データ処理装置の動作について説明する。図１４は、本発明の他の実施の形態の動作の流れを示す図である。
【００６２】
入力データ格納装置からメッシュ状に定義された領域の要素と各要素を構成する線分を示すデータを入力データとして読み込みバッファに格納する（ステップ２１）。
【００６３】
要素ポインタに初期値をセットする（ステップ２２）。
【００６４】
比較対象要素ポインタに初期値をセットする（ステップ２３）。
【００６５】
要素をポイントする（ステップ２４）。
【００６６】
比較対象要素をポイントする（ステップ２５）。
【００６７】
要素の線分と比較対象要素の線分とを比較する（ステップ２６）。
【００６８】
要素と比較対象要素との間で共有する線分があるかを判定し、共有する線分がなければステップ２９に進み、共有する線分があれば共有線分としてバッファ上から消去してステップ２９に進む（ステップ２７〜２８）。
【００６９】
要素の全ての線分が共有線分としてバッファ上から消去されているかを判定し、全ての線分が共有線分として消去されていればステップ３２に進み、全ての線分が共有線分として消去されていなければステップ３０に進む（ステップ２９）。
【００７０】
比較対象要素が最後の比較対象要素であるかを判定し、最後の比較対象要素でなければ比較対象要素ポインタをインクリメントしてステップ２５に戻り、最後の比較対象要素であればステップ３２に進む（ステップ３０〜３１）。
【００７１】
要素が最後の要素であるかを判定し、最後の要素でなければ要素ポインタをインクリメントしてステップ２３に戻り、最後の要素であればバッファ上に残っている線分を非共有線分として出力データとして出力データ装置４に出力し終了する（ステップ３２〜３４）。この出力データが外形線のデータとなる。
【００７２】
図９で示す入力データを読み込みバッファに格納し、上述した動作を行うと、図１１に示す線分がバッファ上に残り、出力データとして出力される。
【００７３】
こうすることにより、記憶装置を使用することなく、なお且つより少ない比較回数で外形線を抽出することができる。
【００７４】
本発明による上述した実施の形態において、外形線抽出装置の処理動作を実行するためのプログラム等を、データとしてコンピュータの磁気ディスクや光ディスク等の記録媒体（図示せず）に記録するようにし、記録されたデータを読み出して外形線抽出装置を動作させるために用いる。このように、本発明による外形線抽出装置を動作させるデータを記録媒体に記録させ、この記録媒体をインストールすることにより外形線抽出装置の機能が実現できるようになる。
【００７５】
【発明の効果】
第１の効果は、外形線の抽出を高速に行うことが出来ることである。
【００７６】
その理由は、比較対象要素の検索において、要素番号ｎに対して比較対象要素との比較をｎ−１，ｎ＋１，ｎ−２，ｎ＋２，…の順に行うことにより、隣合う番号や値の近い番号、即ち共有線分が存在する確率の高い要素から比較を行うことにより、全ての線分に共有線分が存在する要素を検索の早い段階で判定でき、検索が省略できるためである。また、全ての線分に共有線分が存在する要素は非共有線分が存在する要素に比べると、一般的に存在比率が大きく、省略できる検索処理の割合も大きいからである。
【図面の簡単な説明】
【図１】本発明の実施の形態の構成を示す図
【図２】メッシュ状に定義された領域を説明する図
【図３】メッシュ状に定義された領域を説明する図
【図４】入力データの格納例を示す図
【図５】本発明の実施の形態の動作の流れを示す図
【図６】本発明の実施の形態の動作を説明する図（中央部にある要素の場合）
【図７】本発明の実施の形態の動作を説明する図（端部にある要素の場合）
【図８】メッシュ状に定義された領域の例を示す図
【図９】入力データの例を示す図
【図１０】本発明の実施の形態の動作を説明する図
【図１１】出力データの例を示す図
【図１２】他の実施の形態における入力データの格納例を示す図
【図１３】他の実施の形態におけるメッシュ状に定義された領域の例を示す図
【図１４】本発明の他の実施の形態の動作の流れを示す図
【図１５】従来例を説明する図
【図１６】従来例を説明する図
【符号の説明】
１　　入力データ格納装置
２　　データ処理装置
３　　記憶装置
４　　出力データ格納装置
１１　　閉領域
１２　　要素
１３　　要素
３１　　要素共有線分一時記憶部
３２　　要素非共有線分記憶部
１２１　　線分
１２２　　線分
１２３　　線分
１２４　　線分
１３１　　線分
１３２　　線分
１３３　　線分
１３４　　線分
【図１】
2004021277.tif 000003
【図２】
2004021277.tif 000004
【図３】
2004021277.tif 000005
【図４】
2004021277.tif 000006
【図５】
2004021277.tif 000007
【図６】
2004021277.tif 000008
【図７】
2004021277.tif 000009
【図８】
2004021277.tif 000010
【図９】
2004021277.tif 000011
【図１０】
2004021277.tif 000012
【図１１】
2004021277.tif 000013
【図１２】
2004021277.tif 000014
【図１３】
2004021277.tif 000015
【図１４】
2004021277.tif 000016
【図１５】
2004021277.tif 000017
【図１６】
2004021277.tif 000018