(57)【要約】【課題】高速表面電荷法に使用される入力データ内の重複要素を効率よく検出する方法とそのためのプログラムを提供する。【解決手段】入力データ１１が読み込まれた場合（Ｓ２０１）には、入力データ１１に基づいて各要素の形状を判定する（Ｓ２０２）。形状判定された要素同士を、各要素の形状判定結果に基づいて比較し、重複するか否かを判断する（Ｓ２０３）。重複する要素が検出された場合には、その重複要素の検出結果に関する情報を出力する（Ｓ２０４）。出力された重複要素の検出結果に関する情報に基づき、修正データ１６を作成する（Ｓ２０５）。修正データ１６を用いて、電界計算部２０とＣＰＵ（Ｃ１）等により電界計算を行う（Ｓ２０６）。【選択図】　図２
2004118748.tif 000002
【特許請求の範囲】
【請求項１】
記憶部、出力部、演算処理部を有するコンピュータを利用して高速表面電荷法における重複要素を検出する方法において、
前記記憶部に保存されたデータ中の各要素の形状を前記演算処理部により判定する形状判定ステップと、
前記形状判定された要素同士を、前記演算処理部により各要素の形状判定結果に基づいて比較し、重複するか否かを判断する要素比較ステップと、
前記要素比較により重複する要素が検出された場合に、前記出力部によりその重複要素の検出結果に関する情報を出力する結果出力ステップと、
を含むことを特徴とする高速表面電荷法における重複要素検出方法。
【請求項２】
前記形状判定ステップは、
各要素の形状が線分と円弧のいずれかであるかを判定するステップと、
線分であると判定された要素の形状を、傾き、ｙ切片、端点の座標、により判定するステップと、
円弧であると判定された要素の形状を、中心座標、半径、端点を指定する角度、により判定するステップと、
を含むことを特徴とする請求項１に記載の高速表面電荷法における重複要素検出方法。
【請求項３】
前記要素比較ステップは、
前記形状判定された要素のうち、各線分を、傾きとｙ切片の値が共に等しい線分ごとに同じグループに分類し、各円弧を、中心座標と半径の値が共に等しい円弧ごとに同じグループに分類する分類ステップと、
分類された線分の各グループごとに、そのグループ内の線分同士を、端点の座標を用いて比較し、重複するか否かを判断する線分比較ステップと、
分類された円弧の各グループごとに、そのグループ内の円弧同士を、端点を指定する角度を用いて比較し、重複するか否かを判断する円弧比較ステップを含む、
ことを特徴とする請求項２に記載の高速表面電荷法における重複要素検出方法。
【請求項４】
前記線分比較ステップは、
分類された各グループごとに、そのグループ内の線分の傾きに応じて、ｘ座標とｙ座標のうち、いずれの座標を用いて比較するかを決定する傾き判定ステップと、
傾き判定の結果、ｘ座標を用いて比較を行うと決定した場合に、比較対象となる各２つの線分同士を、端点のｘ座標を比較基準座標として比較し、重複するか否かを判断するｘ座標比較ステップと、
傾き判定の結果、ｙ座標を用いて比較を行うと決定した場合に、比較対象となる各２つの線分同士を、端点のｙ座標を比較基準座標として比較し、重複するか否かを判断するｙ座標比較ステップとを含む、
ことを特徴とする請求項３に記載の高速表面電荷法における重複要素検出方法。
【請求項５】
前記ｘ座標比較ステップと前記ｙ座標比較ステップは、
当該グループ内において、各線分の２つの端点のうち、前記比較基準座標の値が小さい方の端点を始点、他方の端点を終点、と定義する始点・終点定義ステップと、
比較対象となる各２つの線分ｍ、ｎに対して、一方の線分の始点と他方の線分の終点との間で前記比較基準座標を比較し、いずれか一方の線分の始点における比較基準座標の値が他方の線分の終点における比較基準座標の値以上である場合に線分ｍと線分ｎは重複していないと判定する個別の座標比較処理を、当該グループ内における２つの線分ｍ、ｎの全ての組み合わせに対して繰り返す座標比較繰り返しステップとを含む、
ことを特徴とする請求項４に記載の高速表面電荷法における重複要素検出方法。
【請求項６】
前記円弧比較ステップは、
当該グループ内において、各円弧の２つの端点を指定する角度のうち、角度の値が小さい方を始角、大きい方を終角、と定義する始角・終角定義ステップと、
比較対象となる各２つの円弧ｓ、ｔに対して、一方の円弧の始角と他方の円弧の終角とを比較し、いずれか一方の円弧の始角が他方の終角の角度以上である場合に円弧ｓと円弧ｔは重複していないと判定する個別の角度比較処理を、当該グループ内における２つの円弧ｓ、ｔの全ての組み合わせに対して繰り返す角度比較繰り返しステップとを含む、
ことを特徴とする請求項３乃至請求項５のいずれかに記載の高速表面電荷法における重複要素検出方法。
【請求項７】
前記分類ステップは、
各線分の傾きとｙ切片の値および各円弧の中心座標と半径の値に対し、各値を中心とした誤差範囲をそれぞれ設定して、傾きとｙ切片の誤差範囲が共に重なる線分同士を同じグループに分類し、中心座標と半径の誤差範囲が共に重なる円弧同士を同じグループに分類する誤差設定分類ステップを含む、
ことを特徴とする請求項３乃至請求項６のいずれかに記載の高速表面電荷法における重複要素検出方法。
【請求項８】
前記結果出力ステップは、前記要素比較により重複する要素が検出された場合に、その重複要素の形状を視覚的に表現する画像データを出力する画像出力ステップを含む、
ことを特徴とする請求項１乃至請求項７のいずれかに記載の高速表面電荷法における重複要素検出方法。
【請求項９】
前記結果出力ステップは、
前記要素比較により重複する要素が検出された場合に、前記演算処理部によりその重複部分を修正した修正データを作成する修正データ作成ステップと、
前記出力部により前記重複要素の検出結果に関する情報として前記修正データを出力する修正データ出力ステップとを含む、
ことを特徴とする請求項１乃至請求項８のいずれかに記載の高速表面電荷法における重複要素検出方法。
【請求項１０】
記憶部、出力部、演算処理部を有するコンピュータを利用して高速表面電荷法における重複要素を検出するためのプログラムにおいて、
前記記憶部に保存されたデータ中の各要素の形状を前記演算処理部により判定する形状判定機能と、
前記形状判定された要素同士を、前記演算処理部により各要素の形状判定結果に基づいて比較し、重複するか否かを判断する要素比較機能と、
前記要素比較により重複する要素が検出された場合に、前記出力部によりその重複要素の検出結果に関する情報を出力する結果出力機能と、
を前記コンピュータに実現させることを特徴とする高速表面電荷法における重複要素検出用プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は電力機器等の電界計算で用いる高速表面電荷法（ＨＳＳＳＭ）において重複要素を検出する方法とそのためのプログラムに関する。
【０００２】
【従来の技術】
近年、ガス絶縁高電圧機器の地下変電所等への適用の広まりなどに伴い、ガス絶縁高電圧機器のコンパクト化、コストダウン化が要請されている。電界計算はそのようなガス絶縁高電圧機器などの設計を行う際に不可欠である。このような機器の電界計算を行うための方法としては、従来、表面電荷法・境界要素法等の境界分割型の解法を利用した技術が存在している（例えば、特許文献１〜特許文献３参照。）。電界計算を高速表面電荷法（ＨＳＳＳＭ）で行う場合、境界要素は線分と円弧として表現され、データとして入力された後、機器形状の作成に使用される。
【０００３】
ここで、形状が複雑になると、要素として入力されるデータの量も多くなり、そのような場合は形状作成時に複数の要素が重なって作られることが起こりやすい。高速表面電荷法では、データ中に重複要素があると計算できなくなるため、データ中に重複要素がある場合は、検出して取り除かなければならない。そのような場合、従来は、電界計算を行う設計担当者等が、実際にデータを画面上で見ながら重複要素の有無をチェックしたり、仮計算を行ってその結果から重複要素の有無をチェックしたりするなどして重複要素の検索を行い、検出した重複要素を削除するなどにより、入力データを修正していた。
【０００４】
【特許文献１】
特開平１１−２９６５０４号公報
【特許文献２】
特開平１０−０７９０５１号公報
【特許文献３】
特開平０９−２５１４８１号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、上記のような従来の高速表面電荷法には次のような問題点があった。まず、入力データの量が多くなると、画面上でデータを目視でチェックして重複要素を検出することはほとんど不可能である。また、仮計算を行ってその結果をチェックすることは、データが大きな場合には、大変時間がかかり、非効率的である。このように、従来の高速表面電荷法において、重複要素の検出には、大変手間がかかっていた。このような重要要素の検出効率の低さは、今後の機器のコンパクト化、コストダウン化に伴い、複雑な形状の機器の電界計算を行うことが増えるものと予想される現状において、大きな問題である。
【０００６】
本発明は、以上のような従来技術の問題点を解決するために提案されたものであり、その目的は、高速表面電荷法に使用される入力データ内の重複要素を効率よく検出する方法とそのためのプログラムを提供することである。
【０００７】
【課題を解決するための手段】
本発明は、保存された各要素の形状を判定し、その形状判定結果に基づいて要素同士を比較することにより、重複要素を自動的に効率よく検出可能とし、検出した重複要素を用いて入力データを効率よく修正できるようにしたものである。
【０００８】
請求項１の発明は、記憶部、出力部、演算処理部を有するコンピュータを利用して高速表面電荷法における重複要素を検出する方法において、形状判定ステップ、要素比較ステップ、結果出力ステップ、を含むことを特徴としている。ここで、形状判定ステップは、記憶部に保存されたデータ中の各要素の形状を演算処理部により判定するステップであり、要素比較ステップは、形状判定された要素同士を、演算処理部により各要素の形状判定結果に基づいて比較し、重複するか否かを判断するステップである。
【０００９】
また、結果出力ステップは、要素比較により重複する要素が検出された場合に、出力部によりその重複要素の検出結果に関する情報を出力するステップである。なお、「重複要素の検出結果に関する情報」は、検出された重複要素をそのまま表現する情報に限らず、検出された重複要素を用いて修正されたデータ等の派生情報を含む広い概念である。
【００１０】
請求項１０の発明は、請求項１の発明をプログラムの観点から把握したものであり、記憶部、出力部、演算処理部を有するコンピュータを利用して高速表面電荷法における重複要素を検出するためのプログラムにおいて、請求項１の発明における各ステップに対応する機能として、形状判定機能、要素比較機能、結果出力機能、をコンピュータに実現させることを特徴としている。
【００１１】
以上のような発明によれば、各要素の形状を自動的に判定して、その形状判定結果に基づき重複要素を自動的に効率よく検出することができる。そして、検出した重複要素を出力することにより、その出力された重複要素を用いて入力データを効率よく修正することができる。
【００１２】
請求項２の発明は、請求項１の高速表面電荷法における重複要素検出方法において、形状判定ステップが、各要素の形状が線分と円弧のいずれかであるかを判定するステップと、線分であると判定された要素の形状を、傾き、ｙ切片、端点の座標、により判定するステップと、円弧であると判定された要素の形状を、中心座標、半径、端点を指定する角度、により判定するステップと、を含むことを特徴としている。
この発明によれば、形状の特徴の判定に、形状の特徴を示す代表的パラメータの値を用いているため、形状の特徴が正確に判定できる。
【００１３】
請求項３の発明は、請求項２の高速表面電荷法における重複要素検出方法において、要素比較ステップが、分類ステップ、線分比較ステップ、円弧比較ステップ、を含むことを特徴としている。ここで、分類ステップは、形状判定された要素のうち、各線分を、傾きとｙ切片の値が共に等しい線分ごとに同じグループに分類し、各円弧を、中心座標と半径の値が共に等しい円弧ごとに同じグループに分類するステップである。また、線分比較ステップは、分類された線分の各グループごとに、そのグループ内の線分同士を、端点の座標を用いて比較し、重複するか否かを判断するステップである。そして、円弧比較ステップは、分類された円弧の各グループごとに、そのグループ内の円弧同士を、端点を指定する角度を用いて比較し、重複するか否かを判断するステップである。
【００１４】
この発明によれば、同じ形状の特徴を持つ要素ごとのグループに分類して、各グループ内でのみ要素同士の比較を行うことにより、形状の特徴が異なる要素同士を無駄に比較することなく、重複する可能性が高い要素同士の比較のみを効率よく行うことができる。
【００１５】
請求項４の発明は、請求項３の高速表面電荷法における重複要素検出方法において、線分比較ステップが、傾き判定ステップ、ｘ座標比較ステップ、ｙ座標比較ステップ、を含むことを特徴としている。ここで、傾き判定ステップは、分類された各グループごとに、そのグループ内の線分の傾きに応じて、ｘ座標とｙ座標のうち、いずれの座標を用いて比較するかを決定するステップである。そして、ｘ座標比較ステップは、傾き判定の結果、ｘ座標を用いて比較を行うと決定した場合に、比較対象となる各２つの線分同士を、端点のｘ座標を比較基準座標として比較し、重複するか否かを判断するステップである。また、ｙ座標比較ステップは、傾き判定の結果、ｙ座標を用いて比較を行うと決定した場合に、比較対象となる各２つの線分同士を、端点のｙ座標を比較基準座標として比較し、重複するか否かを判断するステップである。
【００１６】
この発明によれば、グループ内の線分の傾きに応じて、ｘ座標とｙ座標のうち、いずれか一方の座標のみを比較基準座標として用いることにより、グループ内の線分同士の比較を、ｘ座標またはｙ座標の大小比較だけで行うことができる。したがって、ｘ座標とｙ座標を使用した座標計算等を行う必要がない分だけ、線分の比較を効率よく行うことができる。
【００１７】
請求項５の発明は、請求項４の高速表面電荷法における重複要素検出方法において、ｘ座標比較ステップとｙ座標比較ステップが、始点・終点定義ステップと座標比較繰り返しステップを含むことを特徴としている。ここで、始点・終点定義ステップは、当該グループ内において、各線分の２つの端点のうち、比較基準座標の値が小さい方の端点を始点、他方の端点を終点、と定義するステップである。また、座標比較繰り返しステップは、比較対象となる各２つの線分ｍ、ｎに対する個別の座標比較を、当該グループ内における２つの線分ｍ、ｎの全ての組み合わせに対して繰り返すステップである。ここで、「２つの線分ｍ、ｎに対する個別の座標比較処理」は、一方の線分の始点と他方の線分の終点との間で比較基準座標を比較し、いずれか一方の線分の始点における比較基準座標の値が他方の線分の終点における比較基準座標の値以上である場合に線分ｍと線分ｎは重複していないと判定する処理である。
この発明によれば、線分形状の正確な比較を効率よく行うことができ、重複要素を高精度に効率よく検出することができる。
【００１８】
請求項６の発明は、請求項３乃至請求項５のいずれかに記載の高速表面電荷法における重複要素検出方法において、円弧比較ステップが、始角・終角定義ステップと角度比較繰り返しステップを含むことを特徴としている。ここで、始角・終角定義ステップは、当該グループ内において、各円弧の２つの端点を指定する角度のうち、角度の値が小さい方を始角、大きい方を終角、と定義するステップである。また、角度比較繰り返しステップは、比較対象となる各２つの円弧ｓ、ｔに対する個別の角度比較処理を、当該グループ内における２つの円弧ｓ、ｔの全ての組み合わせに対して繰り返すステップである。ここで、「２つの円弧ｓ、ｔに対する個別の角度比較処理」は、一方の円弧の始角と他方の円弧の終角とを比較し、いずれか一方の円弧の始角が他方の終角の角度以上である場合に円弧ｓと円弧ｔは重複していないと判定する処理である。
この発明によれば、円弧形状の正確な比較を効率よく行うことができ、重複要素を高精度に効率よく検出することができる。
【００１９】
請求項７の発明は、請求項３乃至請求項６のいずれかの高速表面電荷法における重複要素検出方法において、分類ステップが、誤差設定分類ステップを含むことを特徴としている。ここで、誤差設定分類ステップは、各線分の傾きとｙ切片の値および各円弧の中心座標と半径の値に対し、各値を中心とした誤差範囲をそれぞれ設定して、傾きとｙ切片の誤差範囲が共に重なる線分同士を同じグループに分類し、中心座標と半径の誤差範囲が共に重なる円弧同士を同じグループに分類するステップである。
この発明によれば、形状を分類する際の判定対象となる値に幅を持たせることにより、本来は同じ要素でも誤差などによって生じたわずかな違いも含めて、実質的に重複する要素を確実に検出することができる。
【００２０】
請求項８の発明は、請求項１乃至請求項７のいずれかの高速表面電荷法における重複要素検出方法において、結果出力ステップが画像出力ステップを含むことを特徴としている。ここで、画像出力ステップは、要素比較により重複する要素が検出された場合に、その重複要素の形状を視覚的に表現する画像データを出力するステップである。
この発明によれば、ユーザは、出力された重複要素の画像データを用いて、画面上で入力データを細かくかつ効率的に修正することができる。
【００２１】
請求項９の発明は、請求項１乃至請求項８のいずれかの高速表面電荷法における重複要素検出方法において、結果出力ステップが、修正データ作成ステップと修正データ出力ステップを含むことを特徴としている。ここで、修正データ作成ステップは、要素比較により重複する要素が検出された場合に、演算処理部によりその重複部分を修正した修正データを作成するステップである。また、修正データ出力ステップは、出力部により重複要素の検出結果に関する情報として修正データを出力するステップである。
この発明によれば、検出された重複要素を用いて自動的にデータを修正して修正データを作成できるので、ユーザがデータの修正をする必要なしに、修正データを用いてそのまま電界計算を行うことができる。
【００２２】
【発明の実施の形態】
（システム構成）
図１は、本発明を適用した重複要素検出・電界計算システムの一例を示す機能ブロック図であり、この図１に示すように、本発明の重複要素検出方法は、ハードウェア資源であるコンピュータＣとその上で動作するソフトウェアＳにより実現される。
【００２３】
すなわち、コンピュータＣは、ＣＰＵ（Ｃ１）とＲＡＭなどを使ったメインメモリＣ２と、ハードディスク装置などの補助記憶装置Ｃ３と、キーボードやマウスなどの入力装置Ｃ４と、ＣＲＴディスプレイやプリンタなどの出力装置Ｃ５といったハードウェアを備えている。そして、これらのハードウェア上において、重複要素検出部（重複要素検出用プログラム）１０や電界計算部（電界計算用プログラム）２０を含むソフトウェアＳが実行されるようになっている。
【００２４】
この重複要素検出・電界計算システムにおいて、ソフトウェアＳの重複要素検出部１０は、本発明の重複要素検出方法を実行するために必要な各処理を行うルーチンの組み合わせからなるプログラムであり、コンピュータＣに各機能を実現させるための形状判定部１２、要素比較部１３、結果出力部１４を備えている。各部の特徴は次の通りである。
【００２５】
形状判定部１２は、ＣＰＵ（Ｃ１）等の演算処理部に形状判定機能を実現させる部分である。ここで、形状判定機能は、補助記憶装置Ｃ３やメインメモリＣ２等の記憶部に保存されている入力データ１１中の各要素の形状に関する情報を読み取って判定する機能である。なお、入力データ１１は、設計担当者等のユーザの操作により入力装置Ｃ４から入力されたデータであり、補助記憶装置Ｃ３等に保存されるか、あるいは、メインメモリＣ２の作業領域等に一時的に保存されている。
【００２６】
要素比較部１３は、ＣＰＵ（Ｃ１）等の演算処理部に要素比較機能を実現させる部分である。ここで、要素比較機能は、形状判定部１２により形状判定された要素同士を、各要素の形状判定結果に基づいて比較し、重複するか否かを判断する機能である。
【００２７】
結果出力部１４は、出力装置Ｃ５等の出力部に結果出力機能を実現させる部分である。ここで、結果出力機能は、要素比較部１３により重複する要素が検出された場合に、その重複要素の検出結果に関する情報を結果データ１５として出力する機能である。この結果出力部１４によって得られた結果データ１５を用いて、ＣＰＵ（Ｃ１）等の演算処理部により入力データ１１の重複部分が修正され、修正データ１６が作成されるようになっている。
【００２８】
さらに、修正データ１６は、重複要素検出部１０と同様にコンピュータＣ上で動作する電界計算部（電界計算用プログラム）２０に提供されるようになっている。電界計算部２０は、修正データ１６を用いた電界計算を実行するために必要な各処理を行うルーチンの組み合わせからなるプログラムであり、コンピュータＣに電界計算のための各種の機能を実現させるための複数部分を備えている。
【００２９】
（システム動作の概要）
次に、前記のような構成を有する図１の重複要素検出・電界計算システムの動作の概要を、図２に示すフローチャートに従って説明する。この図２に示すように、ユーザの操作により、補助記憶装置Ｃ３等に保存されているかあるいは入力装置Ｃ４から入力された入力データ１１が、メインメモリＣ２の作業領域に読み込まれた場合（Ｓ２０１）には、形状判定部１２によってＣＰＵ（Ｃ１）等に形状判定機能を実現させることにより、その入力データ１１に基づいて各要素の形状を判定する（Ｓ２０２）。
【００３０】
次に、要素比較部１３によってＣＰＵ（Ｃ１）等に要素比較機能を実現させることにより、形状判定された要素同士を、各要素の形状判定結果に基づいて比較し、重複するか否かを判断する（Ｓ２０３）。この要素比較の結果、重複する要素が検出された場合には、結果出力部１４によって出力装置Ｃ５等に結果出力機能を実現させることにより、その重複要素の検出結果に関する情報を結果データ１５として出力する（Ｓ２０４）。この場合、結果データ１５としては重複要素を示す文字列データを出力するだけでなく、重複要素の形状を視覚的に表現する画像データを出力して、ユーザのデータ修正を支援する。
【００３１】
このように出力された結果データ１５に基づき、ユーザの操作等に応じて入力装置Ｃ４から入力される情報を用いてＣＰＵ（Ｃ１）等により修正データ１６を作成する（Ｓ２０５）。そして、作成された修正データ１６を用いて、電界計算部２０とＣＰＵ（Ｃ１）等により電界計算を行う（Ｓ２０６）。
【００３２】
（形状判定処理）
図３は、図２に示す形状判定処理（Ｓ２０２）のサブルーチンを示すフローチャートである。この図３に示すように、形状判定処理においては、各要素の形状が線分であるか円弧であるかを判定する（Ｓ３０１）。そして、要素の形状が線分である場合（Ｓ３０１のＹＥＳ）には、その線分の傾きａ、ｙ切片ｂ、および２つの端点の座標を算出する（Ｓ３０２）。この場合、傾きａは、ｙ軸に対する傾きを示す値とし、ｙ軸と平行、すなわち、２つの端点のｘ座標が等しい場合には傾きａの値は「空白（ｎｕｌｌ）」とする。
【００３３】
また、要素の形状が円弧である場合（Ｓ３０１のＮＯ）には、その円弧の中心座標、半径、および２つの端点を指定する角度を算出する（Ｓ３０３）。同様に、残りの要素に対して（Ｓ３０４のＮＯ）、Ｓ３０１〜Ｓ３０３の処理を繰り返し、全ての要素の形状判定を終了した時点（Ｓ３０４のＹＥＳ）で、形状判定処理を終了し、図２に示すメインルーチンに戻る。
【００３４】
（要素比較処理）
図４は、図２に示す要素比較処理（Ｓ２０３）のサブルーチンを示すフローチャートである。この図４に示すように、要素比較処理においては、各要素を、形状判定処理による形状判定結果に基づいて、同じ形状の特徴を持つ要素ごとのグループに分類する。すなわち、線分である場合（Ｓ４０１のＹＥＳ）には、各線分を、傾きａの値が等しく、かつ、ｙ切片ｂの値が等しい線分同士のグループに分類する（Ｓ４０２）。また、円弧である場合（Ｓ４０１のＮＯ）には、各円弧を、中心座標の値が等しくかつ半径の値が等しい円弧同士のグループに分類する（Ｓ４０３）。
【００３５】
全ての要素について分類を行った時点（Ｓ４０４のＹＥＳ）で、分類された各グループごとに、要素比較を行う。すなわち、線分のグループである場合（Ｓ４０５のＹＥＳ）には、そのグループ内における線分同士の全ての組み合わせについて、端点での座標を用いて比較し、重複するか否かを判断する（Ｓ４０６）。また、円弧のグループである場合（Ｓ４０５のＮＯ）には、そのグループ内における円弧同士の全ての組み合わせについて、端点を指定する角度を用いて比較し、重複するか否かを判断する（Ｓ４０７）。
【００３６】
そして、グループ内における２つの要素の全ての組み合わせに対する要素比較を終了した時点で、残りのグループに対して（Ｓ４０８のＮＯ）、Ｓ４０５〜Ｓ４０７の処理を繰り返す。全てのグループの要素比較を終了した時点（Ｓ４０８のＹＥＳ）で、要素比較処理を終了し、図２に示すメインルーチンに戻る。
【００３７】
（グループ内線分比較処理）
図５は、図４に示す線分比較処理（Ｓ４０６）のサブルーチンを示すフローチャートである。この図５に示すように、線分比較処理においては、グループ内の各線分に対し、傾きａの値が存在するか否か（Ｓ５０１）に応じて異なる処理を行う。
【００３８】
まず、対象となるグループ内の線分に傾きａの値が存在する場合、すなわち、その線分がｙ軸に対して傾いており、２つの端点のｘ座標が異なる場合（Ｓ５０１のＹＥＳ）には、線分の端点のｘ座標を比較基準座標として比較し、重複するか否かを判断するｘ座標比較処理（Ｓ５１１〜Ｓ５１６）を行う。これに対して、対象となるグループ内の線分に傾きａの値が存在しない（ｎｕｌｌ）場合、すなわち、その線分がｙ軸と平行であり、２つの端点のｘ座標が等しい場合（Ｓ５０１のＮＯ）には、線分の端点のｙ座標を比較基準座標として比較し、重複するか否かを判断するｙ座標比較処理（Ｓ５２１〜Ｓ５２６）を行う。
【００３９】
ｘ座標比較処理においてはまず、グループ内の各線分に対して、その線分ｌの２つの端点のうち、ｘ座標の値が小さい方の端点を始点（ｌｓｘ、ｌｓｙ）、大きい方の端点を終点（ｌｅｘ、ｌｅｙ）と定義する（Ｓ５１１）。
【００４０】
次に、グループ内において対象となる２つの線分ｍ、ｎの始点・終点の座標を（ｍｓｘ、ｍｓｙ）、（ｍｅｘ、ｍｅｙ）、（ｎｓｘ、ｎｓｙ）、（ｎｅｘ、ｎｅｙ）とした場合（Ｓ５１２）に、一方の線分の始点と他方の線分の終点との間でｘ座標を比較基準座標として比較して、「ｍｓｘ≧ｎｅｘまたはｍｅｘ≦ｎｓｘ」という条件式が成立するか否かを判断する（Ｓ５１３）。そして、この条件式が成立する場合（Ｓ５１３のＹＥＳ）には、線分ｍと線分ｎは重複していないと判定し（Ｓ５１４）、条件式が成立しない場合（Ｓ５１３のＮＯ）には線分ｍと線分ｎは重複していると判定する（Ｓ５１５）。
【００４１】
図６は、このような線分ｍ、ｎの具体的な比較例を示す説明図である。なお、この図６に示すような、重複する線分の形状を視覚的に表現する画像データは、重複要素の検出結果に関する情報の出力時（Ｓ２０４）において、ユーザのデータ修正を支援するための画像データとして用いることができる。
【００４２】
同様に、グループ内の残りの線分に対して（Ｓ５１６のＹＥＳ）、Ｓ５１２〜Ｓ５１５の処理を繰り返し、グループ内における２つの線分の全ての組み合わせに対するｘ座標比較処理を終了した時点（Ｓ５１６のＮＯ）で、そのグループの線分比較処理を終了し、図４に示すルーチンに戻る。
【００４３】
ｙ座標比較処理においては、グループ内の各線分に対して、その線分ｌの２つの端点のうち、ｙ座標の値が小さい方の端点を始点（ｌｓｘ、ｌｓｙ）、大きい方の端点を終点（ｌｅｘ、ｌｅｙ）と定義する（Ｓ５２１）。
【００４４】
次に、グループ内において対象となる２つの線分ｍ、ｎの始点・終点の座標を（ｍｓｘ、ｍｓｙ）、（ｍｅｘ、ｍｅｙ）、（ｎｓｘ、ｎｓｙ）、（ｎｅｘ、ｎｅｙ）とした場合（Ｓ５２２）に、一方の線分の始点と他方の線分の終点との間でｙ座標を比較基準座標として比較して、ｍｓｙ≧ｎｅｙまたはｍｅｙ≦ｎｓｙという条件式が成立するか否かを判断する（Ｓ５２３）。そして、この条件式が成立する場合（Ｓ５２３のＹＥＳ）には、線分ｍと線分ｎは重複していないと判定し（Ｓ５２４）、条件式が成立しない場合（Ｓ５２３のＮＯ）には線分ｍと線分ｎは重複していると判定する（Ｓ５２５）。
【００４５】
同様に、グループ内の残りの線分に対して（Ｓ５２６のＹＥＳ）、Ｓ５２２〜Ｓ５２５の処理を繰り返し、グループ内における２つの線分の全ての組み合わせに対するｙ座標比較処理を終了した時点（Ｓ５２６のＮＯ）で、そのグループの線分比較処理を終了し、図４に示すルーチンに戻る。
【００４６】
（グループ内円弧比較処理）
図７は、図４に示す円弧比較処理（Ｓ４０６）のサブルーチンを示すフローチャートである。この図７に示すように、円弧比較処理においてはまず、対象となるグループ内の各円弧に対し、その円弧ｃの２つの端点を指定する角度のうち、角度の値が小さい方を始角θｃｓ、大きい方を終角θｃｅと定義する（Ｓ７０１）。
【００４７】
次に、グループ内において対象となる２つの円弧ｓ、ｔの始角・終角をθｓｓ、θｓｅ、θｔｓ、θｔｅとした場合（Ｓ７０２）に、一方の円弧の始角と他方の円弧の終角とを比較して、「θｓｓ≧θｔｅまたはθｓｅ≦θｔｓ」という条件式が成立するか否かを判断する（Ｓ７０３）。そして、この条件式が成立する場合（Ｓ７０３のＹＥＳ）には、円弧ｓと円弧ｔは重複していないと判定し（Ｓ７０４）、条件式が成立しない場合（Ｓ７０３のＮＯ）には円弧ｓと円弧ｔは重複していると判定する（Ｓ７０５）。
【００４８】
図８は、このような円弧ｓ、ｔの具体的な比較例を示す説明図である。この図８に示すような、重複する円弧の形状を視覚的に表現する画像データは、図６に示した画像データ等と同様に、重複要素の検出結果に関する情報の出力時（Ｓ２０４）において、ユーザのデータ修正を支援するための画像データとして用いることができる。
【００４９】
同様に、グループ内の残りの円弧に対して（Ｓ７０６のＹＥＳ）、Ｓ７０２〜Ｓ７０５の処理を繰り返し、グループ内における２つの円弧の全ての組み合わせに対する角度比較処理を終了した時点（Ｓ７０６のＮＯ）で、そのグループの円弧比較処理を終了し、図４に示すルーチンに戻る。
【００５０】
（実施形態の作用効果）
以上のような本実施形態によれば、入力データ内の各要素の形状を自動的に判定して、その形状判定結果に基づき重複要素を自動的に効率よく検出することができる。そして、検出した重複要素を出力することにより、その出力された重複要素を用いて入力データを効率よく修正することができる。従って、重複要素をユーザ自身が探す手間が省け、入力データを修正する時間が大幅に短縮できる。
【００５１】
また、形状の特徴の判定において、線分については、傾き、ｙ切片、端点の座標、また、円弧については、中心座標、半径、端点を指定する角度、等の、形状の特徴を示す代表的パラメータの値を用いているため、形状の特徴が正確に判定できる。
【００５２】
一方、本実施形態によれば、同じ形状の特徴を持つ要素ごとのグループに分類して、各グループ内でのみ要素同士の比較を行うことにより、形状の特徴が異なる要素同士を無駄に比較することなく、重複する可能性が高い要素同士の比較のみを効率よく行うことができる。
【００５３】
また、線分の比較については、グループ内の線分の傾きに応じて、ｘ座標とｙ座標のうち、いずれか一方の座標のみを比較基準座標として用いることにより、グループ内の線分同士の比較を、ｘ座標またはｙ座標の大小比較だけで行うことができる。したがって、ｘ座標とｙ座標を使用した座標計算等を行う必要がない分だけ、線分の比較を効率よく行うことができる。
【００５４】
さらに、２つの線分ｍ、ｎに対して、一方の線分の始点と他方の線分の終点との間で比較基準座標を大小比較してそれらの線分ｍと線分ｎが重複しているか否かを判定することにより、線分形状の正確な比較を効率よく行うことができ、重複要素を高精度に効率よく検出することができる。
【００５５】
また、２つの円弧円弧ｓ、ｔに対して、一方の円弧の始角と他方の円弧の終角とを大小比較してそれらの円弧ｓと円弧ｔはが重複しているか否かを判定することにより、円弧形状の正確な比較を効率よく行うことができ、重複要素を高精度に効率よく検出することができる。
【００５６】
さらに、要素比較の結果を出力する際には、図６や図８に示すような、重複要素の形状を視覚的に表現する画像データを出力することにより、ユーザは、出力された重複要素の画像データを用いて、画面上で入力データを細かくかつ効率的に修正することができる。
【００５７】
（グループ分類処理の変形例）
前述した要素比較処理（図２のＳ２０３、図４）におけるグループ分類処理（Ｓ４０２、Ｓ４０３）の変形例として、各要素を、同じ形状の特徴を持つ要素ごとのグループに分類する際に、形状を分類する際の判定対象となる値、すなわち、線分の傾きａとｙ切片ｂの値、円弧の中心座標と半径の値、に微小な誤差範囲をそれぞれ持たせ、誤差範囲が重なる要素同士を同じグループに分類することも可能である。
【００５８】
例えば、線分のグループ分類処理（Ｓ４０２）において、ある線分同士の傾きａとｙ切片ｂの値が一致していなくても、それらの傾きａとｙ切片ｂの誤差範囲が少しずつでも重なる場合、すなわち、傾きａとｙ切片ｂがわずかに異なるだけである場合には、同じグループに分類する。図９は、このような傾きａとｙ切片ｂがわずかに異なる線分ｍ、ｎの具体例を示す説明図である。同様に、円弧のグループ分類処理（Ｓ４０３）において、ある円弧同士の中心座標と半径の値が一致していなくても、それらの中心座標と半径の誤差範囲が少しずつでも重なる場合には、同じグループに分類する。
【００５９】
このようなグループ分類処理の変形例によれば、形状を分類する際の判定対象となる値に幅を持たせることにより、本来は同じ要素でも誤差などによって生じた形状のわずかな違いも含めて、実質的に重複する要素を確実に検出することができる。
【００６０】
（結果出力処理の変形例）
前述した結果出力処理（図２のＳ２０４）の変形例として、図２に示す結果出力処理に自動的に修正データを作成する処理を組み込み、結果出力後の修正データ作成処理を省略することも可能である。この変形例では、要素比較処理（Ｓ２０３）により重複する要素が検出された場合に、重複要素検出部１０の結果出力部によってＣＰＵ（Ｃ１）等にその重複部分を修正した修正データを作成する修正データ作成機能を実現させ、作成した修正データを出力装置Ｃ５等から出力させる。
【００６１】
このような結果出力処理の変形例によれば、検出された重複要素を用いて自動的にデータを修正して修正データを作成できるので、ユーザがデータの修正をする必要なしに、修正データを用いてそのまま電界計算を行うことができる。したがって、電界計算のために必要な準備作業を減らし、作業全体の効率を向上することができる。
【００６２】
（他の実施形態）
なお、本発明は、上記の実施形態やその変形例に限定されるものではなく、本発明の範囲内で他にも多種多様な形態が実施可能である。
【００６３】
まず、上記の説明においては、要素比較処理に関し、全ての要素を分類した後に、各グループごとに要素比較を行う場合について説明したが、要素比較処理の手順はこれに限定されるものではない。例えば、１つの要素の分類を行った際に、その分類された要素が新たに追加されたグループ内に別の要素がすでに存在する場合、そのグループ内でその追加された要素と残りの全ての要素との要素比較を行う、といった手順も考えられる。この場合には、要素の分類と円弧比較または線分比較を交互に繰り返すことになる。
【００６４】
すなわち、本発明における重複要素検出方法の具体的な処理手順や、個々の処理手順の詳細等は自由に変更可能である。さらに、図１に示したシステム構成は一例にすぎず、本発明において使用するソフトウェアやハードウェアの具体的な構成は自由に選択可能である。
【００６５】
【発明の効果】
以上説明したように、本発明によれば、保存された各要素の形状を判定し、その形状判定結果に基づいて要素同士を比較して重複要素を検出することにより、高速表面電荷法に使用される入力データ内の重複要素を自動的に効率よく検出する方法とそのためのプログラムを提供することができる。従って、従来、人的作業によって行っていた入力データの重複要素の検出を自動的に行うことができ、手間のかかる入力データのチェックを効率よく行うことができる。
【図面の簡単な説明】
【図１】本発明を適用した重複要素検出・電界計算システムの一例を示す機能ブロック図。
【図２】図１に示す重複要素検出・電界計算システムの動作の概要を示すフローチャート。
【図３】図２に示す形状判定処理のサブルーチンを示すフローチャート。
【図４】図２に示す要素比較処理のサブルーチンを示すフローチャート。
【図５】図４に示す線分比較処理のサブルーチンを示すフローチャート。
【図６】図５に示す線分比較処理による線分の具体的な比較例を示す説明図。
【図７】図４に示す円弧比較処理のサブルーチンを示すフローチャート。
【図８】図７に示す円弧比較処理による円弧の具体的な比較例を示す説明図。
【図９】図４に示すグループ分類処理の変形例により同じグループに分類される線分の具体例を示す説明図。
【符号の説明】
Ｃ…コンピュータ
Ｃ１…ＣＰＵ
Ｃ２…メインメモリ
Ｃ３…補助記憶装置
Ｃ４…入力装置
Ｃ５…出力装置
Ｓ…ソフトウェア
１０…重複要素検出部（重複要素検出用プログラム）
１１…入力データ
１２…形状判定部
１３…要素比較部
１４…結果出力部
１５…結果データ
１６…修正データ
２０…電界計算部（電界計算用プログラム）
【図１】
2004118748.tif 000003
【図２】
2004118748.tif 000004
【図３】
2004118748.tif 000005
【図４】
2004118748.tif 000006
【図５】
2004118748.tif 000007
【図６】
2004118748.tif 000008
【図７】
2004118748.tif 000009
【図８】
2004118748.tif 000010
【図９】
2004118748.tif 000011