(57)【特許請求の範囲】
【請求項１】
主記憶部に記憶された図形データを演算部により読み出して間引き判定に用いる曲率に関する基準値を取得する基準値取得ステップと、
前記図形データから所定の図形の輪郭を表現する交わりのない点列を前記演算部で演算させることにより取得する点列取得ステップと、
前記点列取得ステップにより取得された点列のうち処理を始めるべき開始点を選択する開始点選択ステップと、
前記開始点選択ステップにより選択された開始点を中間点とし、その１つ前の点を前方点、前記中間点の１つ後ろの点を後方点としたときに、連続する前方点、中間点、後方点の３点を前記演算部の演算により取得する連続点取得ステップと、
前記前方点から前記中間点へのベクトル方向の第１の単位ベクトルを構成し、前記中間点から前記後方点へのベクトル方向の第２の単位ベクトルを構成し、前記第２の単位ベクトルから前記第１の単位ベクトルを減算して差分ベクトルを構成し、前記第１の単位ベクトルを２倍した値に前記差分ベクトルを加算して中間点対辺ベクトルを構成し、前記連続点が近似する曲線の前記中間点での曲率に相当する近似値を、前記差分ベクトルの大きさを前記中間点対辺ベクトルの大きさで除算することにより距離基準でないただ１つのパラメータとして算出する曲率相当近似値算出ステップと、
前記演算部により前記基準値と前記近似値とを比較し、前記中間点を削除するか否かを判定する中間点削除判定ステップと、
前記演算部により前記中間点削除判定ステップにより前記中間点が削除されるものと判定されたときに、前記演算部の演算により前記中間点を削除する中間点削除ステップと、
前記演算部の演算により前記輪郭を構成する前記点列のうちから次の中間点を選択することにより中間点を更新する中間点更新ステップと、
を備え、前記中間点更新ステップにより更新された新たな中間点に対して、前記連続点取得ステップから前記中間点削除ステップまでの処理を前記演算部の演算により繰り返させて、前記中間点更新処理が最後の点に到達するまで処理を行なうことを特徴とする図形輪郭点列間引き方法。
【請求項２】
主記憶部に記憶された図形データを演算部により読み出して間引き判定に用いる曲率に関する基準値を取得する基準値取得ステップと、
前記図形データから所定の図形の輪郭を表現する交わりのない点列を前記演算部で演算させることにより取得する点列取得ステップと、
前記点列取得ステップにより取得された点列のうち処理を始めるべき開始点を選択する開始点選択ステップと、
前記開始点選択ステップにより選択された開始点を中間点とし、その１つ前の点を前方点、前記中間点の１つ後ろの点を後方点としたときに、連続する前方点、中間点、後方点の３点を前記演算部の演算により取得する連続点取得ステップと、
前記前方点から前記中間点へのベクトル方向の第１の単位ベクトルを構成し、前記中間点から前記後方点へのベクトル方向の第２の単位ベクトルを構成し、前記第２の単位ベクトルから前記第１の単位ベクトルを減算して差分ベクトルを構成し、前記第１の単位ベクトルを２倍した値に前記差分ベクトルを加算して中間点対辺ベクトルを構成し、前記連続点が近似する曲線の前記中間点での曲率に相当する近似値を、前記差分ベクトルの大きさを前記中間点対辺ベクトルの大きさで除算することにより距離基準でないただ１つのパラメータとして算出する曲率相当近似値算出ステップと、
前記演算部により前記基準値と前記近似値とを比較し、前記中間点を削除するか否かを判定する中間点削除判定ステップと、
前記演算部により前記中間点削除判定ステップにより前記中間点が削除されるものと判定されたときに、前記演算部の演算によりその中間点に削除ラベルを付加する中間点削除ラベル付加ステップと、
前記演算部の演算により前記輪郭を構成する前記点列のうちから次の中間点を選択することにより中間点を更新する中間点更新ステップと、
前記中間点更新ステップにより更新された新たな中間点に対して、前記連続点取得ステップから前記中間点削除ラベル付加ステップまでの処理を前記演算部の演算により繰り返す削除ラベル反復設定ステップと、
前記削除ラベル反復設定ステップにより削除ラベルが設定された全ての点を前記演算部の演算により削除する中間点削除ステップと、
を備えることを特徴とする図形輪郭点列間引き方法。
【請求項３】
主記憶部に記憶された図形データを演算部により読み出して間引き判定に用いる曲率に関する基準値を取得する基準値取得ステップと、
前記図形データから所定の図形の輪郭を表現する交わりのない点列を前記演算部で演算させることにより取得する点列取得ステップと、
前記点列取得ステップにより取得された点列のうち処理を始めるべき開始点を選択する開始点選択ステップと、
前記開始点選択ステップにより選択された開始点を中間点とし、その１つ前の点を前方点、前記中間点の１つ後ろの点を後方点としたときに、連続する前方点、中間点、後方点の３点を前記演算部の演算により取得する連続点取得ステップと、
前記前方点から前記中間点へのベクトル方向の第１の単位ベクトルを構成し、前記中間点から前記後方点へのベクトル方向の第２の単位ベクトルを構成し、前記第２の単位ベクトルから前記第１の単位ベクトルを減算して差分ベクトルを構成し、前記第１の単位ベクトルを２倍した値に前記差分ベクトルを加算して中間点対辺ベクトルを構成し、前記連続点が近似する曲線の前記中間点での曲率に相当する近似値を、前記差分ベクトルの大きさを前記中間点対辺ベクトルの大きさで除算することにより距離基準でないただ１つのパラメータとして算出する曲率相当近似値算出ステップと、
前記演算部により前記基準値と前記近似値とを比較し、前記中間点を削除するか否かを判定する中間点削除判定ステップと、
前記演算部により前記中間点削除判定ステップにより削除されるべき中間点が判定されたときに、前記演算部の演算により削除してはいけない中間点に対して削除禁止ラベルを付加する中間点削除禁止ラベル付加ステップと、
前記演算部の演算により前記輪郭を構成する前記点列のうちから次の中間点を選択することにより中間点を更新する中間点更新ステップと、
前記中間点更新ステップにより更新された新たな中間点に対して、前記連続点取得ステップから前記中間点削除禁止ラベル付加ステップまでの処理を前記演算部の演算により繰り返す削除禁止ラベル反復設定ステップと、
前記削除禁止ラベル反復設定ステップにより削除禁止ラベルが設定された点を除く全ての点を前記演算部の演算により削除する中間点削除ステップと、
を備えることを特徴とする図形輪郭点列間引き方法。
【請求項４】
半導体素子の構造や不純物分布の計算を含む半導体素子の製造工程をシミュレートして計算するプロセスシミュレータと、前記プロセスシミュレータにより計算されて出力された素子構造データを記憶する記憶部と、この記憶部より供給された素子構造や不純物分布を入力する入力部および入力された素子構造や不純物分布に基づいて素子の電気特性を計算する計算部を含むデバイスシミュレータと、計算された素子の電気特性を記憶する電気特性記憶手段と、を備える電気特性評価装置において、
前記デバイスシミュレータの入力部が、間引き判定に用いる曲率に関する基準値を取得する基準値取得手段と、所定の図形の輪郭を表現する交わりのない点列を取得する点列取得手段と、前記点列取得手段により取得された点列のうち処理を始めるべき開始点を中間点としてその１つ前の点である前方点と前記中間点の１つ後ろの点である後方点との連続する３点を取得する連続点取得手段と、前記前方点から前記中間点へのベクトル方向の第１の単位ベクトルを構成し、前記中間点から前記後方点へのベクトル方向の第２の単位ベクトルを構成し、前記第２の単位ベクトルから前記第１の単位ベクトルを減算して差分ベクトルを構成し、前記第１の単位ベクトルを２倍した値に前記差分ベクトルを加算して中間点対辺ベクトルを構成し、前記連続点が近似する曲線の前記中間点での曲率に相当する近似値を、前記差分ベクトルの大きさを前記中間点対辺ベクトルの大きさで除算することにより距離基準でないただ１つのパラメータとして算出する曲率相当近似値算出手段と、前記基準値と前記近似値とを比較して前記中間点を削除するか否かを判定する中間点削除判定手段と、前記中間点削除判定手段により前記中間点が削除されるものと判定されたときに前記中間点を削除する中間点削除手段と、前記輪郭を構成する前記点列に対して順次に中間点を選択して削除可能な中間点を削除して最後の点に到達するまで中間点の選択と削除を反復処理する反復処理手段と、を備えることを特徴とする図形輪郭点列間引き方法を用いた電気特性評価装置。
【請求項５】
主記憶部に記憶された図形データを演算部により読み出して間引き判定に用いる曲率に関する基準値を取得する基準値取得手順と、前記図形データから所定の図形の輪郭を表現する交わりのない点列を前記演算部で演算させることにより取得する点列取得手順と、前記点列取得手順により取得された点列のうち処理を始めるべき開始点を中間点としてその１つ前の点である前方点と前記中間点の１つ後ろの点である後方点との連続する３点を前記演算部の演算により取得する連続点取得手順と、前記前方点から前記中間点へのベクトル方向の第１の単位ベクトルを構成し、前記中間点から前記後方点へのベクトル方向の第２の単位ベクトルを構成し、前記第２の単位ベクトルから前記第１の単位ベクトルを減算して差分ベクトルを構成し、前記第１の単位ベクトルを２倍した値に前記差分ベクトルを加算して中間点対辺ベクトルを構成し、前記連続点が近似する曲線の前記中間点での曲率に相当する近似値を、前記差分ベクトルの大きさを前記中間点対辺ベクトルの大きさで除算することにより距離基準でないただ１つのパラメータとして算出する曲率相当近似値算出手順と、前記演算部により前記基準値と前記近似値とを比較して前記中間点を削除するか否かを判定する中間点削除判定手順と、前記演算部により前記中間点削除判定手順において前記中間点が削除されるものと判定されたときに前記演算部の演算により前記中間点を削除する中間点削除手順と、前記輪郭を構成する前記点列に対して順次に中間点を選択して削除可能な中間点を削除して最後の点に到達するまで中間点の選択と削除を前記演算部の演算により反復処理する反復処理手順と、を備えることを特徴とする図形輪郭点列間引き手順を記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、図形輪郭点列間引き方法に関し、特にデバイスシミュレータ、プロセスシミュレータ、形状シミュレータ等の電気特性評価装置で取り扱うデバイスの形状や一部領域を表現するための図形輪郭点列間引き方法に関する。
【０００２】
【従来の技術】
半導体素子等のデバイスを評価する際に、半導体素子の断面形状やその一部領域の形状等の輪郭を点列により表現している。この輪郭線の点列は、一定の法則性をもって連続しているので、その法則性さえ推定できれば連続する点列のうちの基準となる幾つかの点のみを残し、それらの中間にあるあまり重要でない点を省略することができる。このような図形の輪郭線における点列を間引く方法として従来より幾つかの方法が提案されているが、ここでは２つの間引き方法について説明する。
【０００３】
第１の図形輪郭点列の間引き方法は、最少点近似法（杉原厚吉著：「“グラフィックスの数理」、共立出版株式会社発行）である。ある点列（Ｐ１  ，Ｐ２  ，…，Ｐｎ    ）をグラフの頂点とみなし、条件式“１＜  Ｊ  ＜  Ｋ  ＜  ｎ”を満たすＪ，Ｋに対し、折れ線［ＰＪ  ，ＰＪ＋１，…，ＰＫ  ］を線分ＰＪＫに置き換えた場合、図１３（ａ）に示すような距離基準εを与えて、その基準を満足するならば  ＰＪ  からＰＫ  への有向グラフの辺を生成する。生成された有向グラフの集合に対し、すべての辺の長さを１として  Ｐ１  から  Ｐｎ  への最短路をグラフの幅優先探索を行なって求める。この方法は折れ線の近似をグラフの最短路問題に帰着させているので効率的ではあるが、距離基準εを与えているので点列により表わされる図形がスケーリング（縮小または拡大）処理された場合には、距離基準のεの値を見直す必要がある。
【０００４】
第２の従来技術による図形輪郭点列の間引き方法は、三角形の高さを利用するものである。図１３（ｂ）に示すように、点列の連続する３点により形成される三角形の底辺に対して中間の点から垂線を引いて、その垂線の長さをｈとする。この長さｈが所定の基準値εより小さい場合は中間点を削除し、これを全ての連続する３点について繰り返すことにより、直線に近似させている。この方法では、３つの点で三角形を擬制すると共に三角形の高さという距離基準を用いており、第１の最少点近似法と同様にスケーリングに対して基準値の見直しを必要とする。また、間引きを行なう際には、距離基準の値のように、その間引きの度合いを制御するパラメータを与える必要があるが、第２の従来技術では、距離基準の値の他に、１つの図形の総点数、また、図形を複数扱う場合は、そのすべての図形の総点数などの基準パラメータを与える必要がある。これは、図形の間引きの度合いを制御する上で、パラメータ同士が依存しているので、一義的に結果を演算することが不可能だからである。
【０００５】
【発明が解決しようとする課題】
上述したように、従来の第１の図形輪郭点列間引き方法の場合、スケーリングに際して同じ値を用いるとすると、間引くことにより得られる点列の形状が図形の縮尺によって異なってしまうという問題があった。また、従来の第２の図形輪郭点列間引き方法の場合、図形の間引きの度合いを制御するために３つのパラメータが相互に依存しているので、１つのパラメータを変更すると他のパラメータも変化してしまい、一意的に結果を演算することが困難であるという問題があった。
【０００６】
本発明は、上記のような課題を解決するために、スケーリングにより縮尺が変化した場合に間引かれた後の点列の形状も変化してしまうという問題や、相互に依存する複数のパラメータが乱立して計算が複雑になってしまうという問題を回避した図形輪郭点列間引き方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、本発明の第１の構成に係る図形輪郭点列間引き方法は、主記憶部に記憶された図形データを演算部により読み出して間引き判定に用いる曲率に関する基準値を取得する基準値取得ステップと、前記図形データから所定の図形の輪郭を表現する交わりのない点列を演算部で演算させることにより取得する点列取得ステップと、前記点列取得ステップにより取得された点列のうち処理を始めるべき開始点を選択する開始点選択ステップと、前記開始点選択ステップにより選択された開始点を中間点とし、その１つ前の点を前方点、前記中間点の１つ後ろの点を後方点としたときに、連続する前方点、中間点、後方点の３点を前記演算部の演算により取得する連続点取得ステップと、前記前方点から前記中間点へのベクトル方向の第１の単位ベクトルを構成し、前記中間点から前記後方点へのベクトル方向の第２の単位ベクトルを構成し、前記第２の単位ベクトルから前記第１の単位ベクトルを減算して差分ベクトルを構成し、前記第１の単位ベクトルを２倍した値に前記差分ベクトルを加算して中間点対辺ベクトルを構成し、前記連続点が近似する曲線の前記中間点での曲率に相当する近似値を、前記差分ベクトルの大きさを前記中間点対辺ベクトルの大きさで除算することにより距離基準でないただ１つのパラメータとして算出する曲率相当近似値算出ステップと、前記演算部により前記基準値と前記近似値とを比較し、前記中間点を削除するか否かを判定する中間点削除判定ステップと、前記演算部により前記中間点削除判定ステップにより前記中間点が削除されるものと判定されたときに、前記演算部の演算により前記中間点を削除する中間点削除ステップと、前記演算部の演算により前記輪郭を構成する前記点列のうちから次の中間点を選択することにより中間点を更新する中間点更新ステップと、を備え、前記中間点更新ステップにより更新された新たな中間点に対して、前記連続点取得ステップから前記中間点削除ステップまでの処理を前記演算部の演算により繰り返させて、前記中間点更新処理が最後の点に到達するまで処理を行なうことを特徴としている。
【０００８】
また、本発明の第２の構成に係る図形輪郭点列間引き方法は、主記憶部に記憶された図形データを演算部により読み出して間引き判定に用いる曲率に関する基準値を取得する基準値取得ステップと、前記図形データから所定の図形の輪郭を表現する交わりのない点列を前記演算部で演算させることにより取得する点列取得ステップと、前記点列取得ステップにより取得された点列のうち処理を始めるべき開始点を選択する開始点選択ステップと、前記開始点選択ステップにより選択された開始点を中間点とし、その１つ前の点を前方点、前記中間点の１つ後ろの点を後方点としたときに、連続する前方点、中間点、後方点の３点を前記演算部の演算により取得する連続点取得ステップと、前記前方点から前記中間点へのベクトル方向の第１の単位ベクトルを構成し、前記中間点から前記後方点へのベクトル方向の第２の単位ベクトルを構成し、前記第２の単位ベクトルから前記第１の単位ベクトルを減算して差分ベクトルを構成し、前記第１の単位ベクトルを２倍した値に前記差分ベクトルを加算して中間点対辺ベクトルを構成し、前記連続点が近似する曲線の前記中間点での曲率に相当する近似値を、前記差分ベクトルの大きさを前記中間点対辺ベクトルの大きさで除算することにより距離基準でないただ１つのパラメータとして算出する曲率相当近似値算出ステップと、前記演算部により前記基準値と前記近似値とを比較し、前記中間点を削除するか否かを判定する中間点削除判定ステップと、前記演算部により前記中間点削除判定ステップにより前記中間点が削除されるものと判定されたときに、前記演算部の演算によりその中間点に削除ラベルを付加する中間点削除ラベル付加ステップと、前記演算部の演算により前記輪郭を構成する前記点列のうちから次の中間点を選択することにより中間点を更新する中間点更新ステップと、前記中間点更新ステップにより更新された新たな中間点に対して、前記連続点取得ステップから前記中間点削除ラベル付加ステップまでの処理を前記演算部の演算により繰り返す削除ラベル反復設定ステップと、前記削除ラベル反復設定ステップにより削除ラベルが設定された全ての点を前記演算部の演算により削除する中間点削除ステップと、を備えることを特徴としている。
【０００９】
また、上記第２の構成に係る図形輪郭点間引き方法において、前記中間点削除ラベル付加ステップは、連続する２つの点に対しては削除ラベルを付加しないようにしてもよい。
【００１０】
さらに、本発明の第３の構成に係る図形輪郭点列間引き方法は、主記憶部に記憶された図形データを演算部により読み出して間引き判定に用いる曲率に関する基準値を取得する基準値取得ステップと、前記図形データから所定の図形の輪郭を表現する交わりのない点列を前記演算部で演算させることにより取得する点列取得ステップと、前記点列取得ステップにより取得された点列のうち処理を始めるべき開始点を選択する開始点選択ステップと、前記開始点選択ステップにより選択された開始点を中間点とし、その１つ前の点を前方点、前記中間点の１つ後ろの点を後方点としたときに、連続する前方点、中間点、後方点の３点を前記演算部の演算によって取得する連続点取得ステップと、前記前方点から前記中間点へのベクトル方向の第１の単位ベクトルを構成し、前記中間点から前記後方点へのベクトル方向の第２の単位ベクトルを構成し、前記第２の単位ベクトルから前記第１の単位ベクトルを減算して差分ベクトルを構成し、前記第１の単位ベクトルを２倍した値に前記差分ベクトルを加算して中間点対辺ベクトルを構成し、前記連続点が近似する曲線の前記中間点での曲率に相当する近似値を、前記差分ベクトルの大きさを前記中間点対辺ベクトルの大きさで除算することにより距離基準でないただ１つのパラメータとして算出する曲率相当近似値算出ステップと、前記演算部により前記基準値と前記近似値とを比較し、前記中間点を削除するか否かを判定する中間点削除判定ステップと、前記演算部により前記中間点削除判定ステップにより削除されるべき中間点が判定されたときに、前記演算部の演算により削除してはいけない中間点に対して削除禁止ラベルを付加する中間点削除禁止ラベル付加ステップと、前記演算部の演算により前記輪郭を構成する前記点列のうちから次の中間点を選択することにより中間点を更新する中間点更新ステップと、前記中間点更新ステップにより更新された新たな中間点に対して、前記連続点取得ステップから前記中間点削除禁止ラベル付加ステップまでの処理を前記演算部の演算により繰り返す削除禁止ラベル反復設定ステップと、前記削除禁止ラベル反復設定ステップにより削除禁止ラベルが設定された点を除く全ての点を前記演算部の演算により削除する中間点削除ステップと、を備えることを特徴とする。
【００１１】
また、上記第３の構成に係る図形輪郭点列間引き方法は、前記中間点削除禁止ラベル付加ステップは、削除されるべきであるものと判定された中間点の前の点（前方点）と次の点（後方点）に対しては必ず削除禁止ラベルを付加するようにしてもよい。
【００１２】
また、上記第１ないし第３の構成の何れかに係る図面輪郭点列間引き方法は、前記近似曲率算出ステップにおいて、前記前方点から前記中間点へのベクトル方向の第１の単位ベクトルを構成し、前記中間点から前記後方点へのベクトル方向の第２の単位ベクトルを構成し、前記第２の単位ベクトルから前記第１の単位ベクトルを減算して差分ベクトルを構成し、前記第１の単位ベクトルを２倍した値に前記差分ベクトルを加算して中間点対辺ベクトルを構成し、前記連続点が近似する曲線の前記中間点での曲率に相当する近似値を、前記差分ベクトルの大きさを前記中間点対辺ベクトルの大きさで除算することにより距離基準でないただ１つのパラメータとして算出している。
【００１３】
また、上記第３の構成に係る図形輪郭点列間引き方法は、前記中間点削除ステップにおいて、削除される点が無くなるまで前記連続点取得ステップから前記中間点削除ステップまでの処理を繰り返すようにしてもよい。
【００１４】
また、上記第１ないし第３の構成の何れかに係る図形輪郭点列間引き方法は、前記点列取得ステップにおいて、点列の中間点の間引きを行なうべき図形が複数存在すると共にこれらの図形をそれぞれ構成する点列に重なり合う部分がある場合に、重なり合っている部分の図形輪郭点列を互いの図形により共有するようにしてもよい。
【００１５】
また、上記第１ないし第３の構成の何れかに係る図形輪郭点列間引き方法は、前記点列取得ステップにおいて、点列の中間点の間引きを行なうべき図形が複数存在すると共にこれらの図形をそれぞれ構成する点列に重なり合う部分がある場合に、重なり合っている部分の図形輪郭点列およびその部分点列を構成する点に付加されている前記削除ラベルまたは削除禁止ラベルを互いの図形により共有するようにしてもよい。
【００１６】
また、上記第１ないし第３の構成の何れかに係る図形輪郭点列間引き方法において、前記近似曲率算出ステップは、前記近似曲率に代えてその逆数の近似曲率半径を用いて前記中間点での曲率に相当する近似値を算出するようにしてもよい。ただし、近似曲率半径を用いる場合であっても、前記前方点、中間点、後方点の３点を用いて構成できる単位ベクトルをただ１つのパラメータとして用いて算出する点については、近似曲率を用いる場合と同様の処理が行なわれている。
【００１７】
本発明の第４の構成に係る図形輪郭点列間引き方法を用いた電気特性評価装置は、半導体素子の構造や不純物分布の計算を含む半導体素子の製造工程をシミュレートして計算するプロセスシミュレータと、前記プロセスシミュレータにより計算されて出力された素子構造データを記憶する記憶部と、この記憶部より供給された素子構造や不純物分布を入力する入力部および入力された素子構造や不純物分布に基づいて素子の電気特性を計算する計算部を含むデバイスシミュレータと、計算された素子の電気特性を記憶する電気特性記憶手段と、を備えるものにおいて、前記デバイスシミュレータの入力部が、間引き判定に用いる曲率に関する基準値を取得する基準値取得手段と、所定の図形の輪郭を表現する交わりのない点列を取得する点列取得手段と、前記点列取得手段により取得された点列のうち処理を始めるべき開始点を中間点としてその１つ前の点である前方点と前記中間点の１つ後ろの点である後方点との連続する３点を取得する連続点取得手段と、前記前方点から前記中間点へのベクトル方向の第１の単位ベクトルを構成し、前記中間点から前記後方点へのベクトル方向の第２の単位ベクトルを構成し、前記第２の単位ベクトルから前記第１の単位ベクトルを減算して差分ベクトルを構成し、前記第１の単位ベクトルを２倍した値に前記差分ベクトルを加算して中間点対辺ベクトルを構成し、前記連続点が近似する曲線の前記中間点での曲率に相当する近似値を、前記差分ベクトルの大きさを前記中間点対辺ベクトルの大きさで除算することにより距離基準でないただ１つのパラメータとして算出する曲率相当近似値算出手段と、前記基準値と前記近似値とを比較して前記中間点を削除するか否かを判定する中間点削除判定手段と、前記中間点削除判定手段により前記中間点が削除されるものと判定されたときに前記中間点を削除する中間点削除手段と、前記輪郭を構成する前記点列に対して順次に中間点を選択して削除可能な中間点を削除して最後の点に到達するまで中間点の選択と削除を反復処理する反復処理手段と、を備えることを特徴としている。
【００１８】
本発明の第５の構成に係る図形輪郭点列間引手順を記録した記録媒体は、主記憶部に記憶された図形データを演算部により読み出して間引き判定に用いる曲率に関する基準値を取得する基準値取得手順と、前記図形データから所定の図形の輪郭を表現する交わりのない点列を前記演算部で演算させることにより取得する点列取得手順と、前記点列取得手順により取得された点列のうち処理を始めるべき開始点を中間点としてその１つ前の点である前方点と前記中間点の１つ後ろの点である後方点との連続する３点を前記演算部の演算により取得する連続点取得手順と、前記前方点から前記中間点へのベクトル方向の第１の単位ベクトルを構成し、前記中間点から前記後方点へのベクトル方向の第２の単位ベクトルを構成し、前記第２の単位ベクトルから前記第１の単位ベクトルを減算して差分ベクトルを構成し、前記第１の単位ベクトルを２倍した値に前記差分ベクトルを加算して中間点対辺ベクトルを構成し、前記連続点が近似する曲線の前記中間点での曲率に相当する近似値を、前記差分ベクトルの大きさを前記中間点対辺ベクトルの大きさで除算することにより距離基準でないただ１つのパラメータとして算出する曲率相当近似値算出手順と、前記演算部により前記基準値と前記近似値とを比較して前記中間点を削除するか否かを判定する中間点削除判定手順と、前記演算部により前記中間点削除判定手順において前記中間点が削除されるものと判定されたときに前記演算部の演算により前記中間点を削除する中間点削除手順と、前記輪郭を構成する前記点列に対して順次に中間点を選択して削除可能な中間点を削除して最後の点に到達するまで中間点の選択と削除を前記演算部の演算により反復処理する反復処理手順と、を記憶することを特徴としている。
【００１９】
本発明は上記のように構成したので、図形の輪郭形状が座標値をもつ点列で表現されておりその点列が不必要に密な図形に対して、不必要な点列を間引く場合に、以下の手順位よりその間引きを行なうようにしている。間引きの手順は、交わりのない点列のある１つの点に着目し、その点の両隣りの点を含めて連続する３点を取得する。着目した点を間引いて削除する否かを、３点が構成する２つの直線分がどの程度、真ん中の点を中心に曲がっているか、その曲がり具合で判断する。曲がり具合の判断基準としては、曲率または曲率半径に相当する近似値を用いる。予め決めておいた基準値より近似値が小さい場合には間引いても問題ないものとしてその点を削除し、近似値が基準値を超えている場合には図形の輪郭の重要な点であるものとしてこの点を間引かないで残すことになる。このような処理を図形の輪郭を構成する点列のすべての点について行なう。この本発明の手法を用いることによって、図形の大きさがスケーリングされても、間引かれた形状も同様にスケーリングされたものとして得ることができる。また、間引き装置には、その間引きの度合いを制御するパラメータを与える必要があるが、この方式では、判断基準として用いる曲率に相当する近似値を、１つだけパラメータとして与えればよく、得られる間引き形状の間引きの度合いを制御することが簡単にできる。
【００２０】
【発明の実施の形態】
以下、本発明に係る図形輪郭点列間引き方法の実施形態について添付図面を参照しながら詳細に説明する。まず、本発明の第１実施形態に係る図形輪郭点列間引き方法について図１および図２を用いて説明する。図１は第１実施形態に係る間引き方法の処理ステップを示すフローチャート、図２は第１実施形態の間引き方法を実行するためのハードウェア構成を示すブロック図である。
【００２１】
まず、図２を参照しながら、第１実施形態の間引き方法を実行するためのハードウェア構成である間引き装置について説明する。図２において、図形輪郭点列間引き装置は１０は、各種処理を行なうためのＣＰＵ１１と、キーボード１５、マウス１６、ライトペン１７、またはフレキシブルディスク装置１８などの入力装置１４と、メモリ装置２０やディスク装置２１などの外部記憶装置１９と、ディスプレイ装置２３、プリンタ装置２４などの出力装置２２と、を備えた通常のコンピュータシステムを用いてもよい。なお、前記ＣＰＵ１１は、後述する各ステップにおける処理などを行なう演算部１２と、前記処理の命令を記憶する主記憶部１３とを具備する。したがって、本発明に係る図形輪郭点列間引き装置１０は、以下に示す図形輪郭点列間引き方法の処理について、処理過程で使用するデータなどを前記メモリ装置２０等の外部記憶装置１９に保存しつつＣＰＵ１１が後述する各ステップ処理を進めてゆくものである。
【００２２】
上述のハードウェア構成を用いた第１実施形態に係る図形輪郭点列間引き方法は、間引き判定に用いる曲率に関する基準値を取得する基準値取得ステップＳ１と、所定の図形の輪郭を表現する交わりのない点列を取得する点列取得ステップＳ２と、前記点列取得ステップＳ２により取得された点列のうち処理を始めるべき開始点を選択する開始点選択ステップＳ３と、前記開始点選択ステップＳ３により選択された開始点を中間点とし、その１つ前の点を前方点、前記中間点の１つ後ろの点を後方点としたときに、連続する前方点、中間点、後方点の３点を取得する連続点取得ステップＳ４と、前記連続点が近似する曲線の前記中間点での曲率に相当する近似値を、前記前方点、中間点、後方点の３点により構成することのできるベクトルから算出する近似曲率算出ステップＳ５と、前記基準値と前記近似値とを比較し、前記中間点を削除するか否かを判定する中間点削除判定ステップＳ６と、前記中間点削除判定ステップＳ６により前記中間点が削除されるものと判定されたときに、前記中間点を削除する中間点削除ステップＳ７と、一連の処理が点列の最後の点まで到達したか否かを判断するステップＳ８と、ステップＳ８で処理が点列の最後の点まで到達していないと判断されたときに前記輪郭を構成する前記点列のうちから次の中間点を選択することにより中間点を更新する中間点更新ステップＳ９と、を備えている。
【００２３】
前記中間点削除判定ステップＳ６においてその点が削除すべきものと判定されなかった場合には中間点削除ステップＳ７をジャンプしてステップＳ８に進み、ステップＳ８で点列の最後の点まで処理が進んでいるものと判断された場合には処理が終了する。ステップＳ８で未処理の点列が残っているものと判断された場合には前記中間点更新ステップＳ９により更新された新たな中間点に対して、前記連続点取得ステップＳ４から前記中間点削除ステップＳ７までの処理を繰り返して、前記中間点更新処理が最後の点に到達するまで処理を行なうようにしている。
【００２４】
上記第１実施形態に係る図形輪郭点列間引き方法は、連続する３点の中間点における曲率の基準値と近似値とを比較してその中間点を削除するか否かの判断と削除すべき中間点の削除とを順次に１つずつ処理していたが、本発明はこれに限定されず一連の判断を先に行なってから削除すべき点または削除してはいけない点について削除ラベルまたは削除禁止ラベルを付しておいて処理の最後に点列の削除を一括して行なうようにしてもよい。このような具体例として第２実施形態について説明する。本発明の第２の実施形態として、半導体の電気特性を評価するために使用するデバイスシミュレータ、プロセスシミュレータ、または、形状シミュレータの内部処理で用いるデバイス形状あるいはその一部の領域を表現する図形輪郭点列の間引き方法を説明する。
【００２５】
図３は第２実施形態に係る図形輪郭点列間引き方法のソフトウェア構成を説明するためのフローチャートである。まず、ステップＳ１０１において、図形の輪郭をなす点列の点を間引くか否かを判定するために必要な曲率の基準値を取得する。次に、間引きの対象となる図形の輪郭を表現する交わりのない点列を取得する（ステップＳ１０２）。図４は、その点列の一部分を示したものである。次に取得した点列を構成する点のうち予め削除してはならないとわかっている点の全てに対して、削除禁止ラベルを付加する（ステップＳ１０３）。この削除禁止ラベルの付加は例えば、直角に折れ曲がる３点の中間点や、Ｔ字型に交わる４点の中間点などの点に対して行う。ソフトウェアの上では記憶領域を割り当てて適当な値をセットすることにより行なっている。例えば、点列が配列で構成されている場合は、同じ大きさの配列を用意し、削除禁止ラベルを付加しようとしている点のインデックスと同じ位置に値をセットする方法がある。また、これ以外の方法であっても、例えば、点の座標値とラベル用の記憶領域とを対にして行なうようにしてもよい。
【００２６】
次に、取得した点列における間引きを始める開始点の選択を行う（ステップＳ１０４）。この開始始点は、どの位置の点を選択してもよいが、通常は点列の端点が選択され、この点を点ＰＩ  とする。端点は初端点でもよいし終端点でもよい。ただし、次のステップＳ１０５において連続する３点が必要なため、端点を選択する場合には実際には１つ次の点を選択し、端点を前方点としこれより連続する２点を中間点、後方点としている。また、図形輪郭点列が閉図形を表わしている場合には、最終端の点を連続する点として選択することができるため、端点そのものを開始点として選択してもよい。
【００２７】
次に、点ＰＩ    のひとつ前の点ＰＩ−１    とひとつ後ろの点ＰＩ＋１を図４に示すように連続する３点として取得する（ステップＳ１０５）。図形輪郭点列が閉図形を表わしていて点ＰＩとして始端点を選んだ場合は、点ＰＩ−１は終端点となる。次に図５に示すように、連続する３点で近似された曲線が存在するが、その曲線の点ＰＩでの曲率を近似計算によって求める（ステップＳ１０６）。次に曲線の曲率の近似方法を説明する。図６における点Ｐでの接線ベクトルをｔベクトル、点Ｑでの接線ベクトルをｔ＋Δｔベクトル、点Ｐから点Ｑに至る曲線の長さをΔｓとすると、曲線の点Ｐでの曲率は、数１で求めることができる。
【００２８】
【数１】
0003588557.tif 000002
このとき、曲線は微小な局所的な曲線ｓと考え、ΔｓをＰＱ間の直線の長さで近似すると、数２となる。
【００２９】
【数２】
0003588557.tif 000003
一方、図形輪郭点列において、図７に示すように、点ＰＩ−１  と点ＰＩ  から構成することのできるベクトルの単位ベクトルをｔベクトル、点ＰＩ  と点ＰＩ＋１から構成することのできるベクトルの単位ベクトルをｔ＋Δｔベクトルとおくと、図６における点Ｐが点ＰＩ  、点Ｑが点ＰＩ＋１  に対応しており、また、ベクトルが単位ベクトルであるため、図８に示すように、点ＰＩでの近似曲率を数３により求めることができる。
【００３０】
【数３】
0003588557.tif 000004
次に、ステップＳ１０６で算出した点ＰＩ    における近似曲率の値をステップＳ１０１で取得した間引き判定の基準値と比較して、間引き判定基準値より近似曲率値のほうが小さい場合は、その点は削除してもよいものと判定する（ステップＳ１０７）。次に、ステップＳ１０８においてその点を削除するものと判定されたか否かが判断され、削除する場合はステップＳ１０９に進み、削除しないと判定された場合は、ステップＳ１１１に進み、削除すると判定された場合には、点ＰＩ    に削除禁止ラベルがついていなければ削除ラベルを付加する（ステップＳ１０９）。ここで削除ラベルを付加した場合は、その点の両方向に隣接する点である、点ＰＩ−１と点ＰＩ＋１に削除禁止ラベルを付加する（ステップＳ１１０）。この削除禁止ラベルの付加は、ソフトウェア上では削除ラベルの値とは別の値を設定することにより対応している。次に、点ＰＩ      が図形輪郭点列の最後まで到達しているか判定する（ステップＳ１１１）。最後まで到達していない場合は、次の点を点ＰＩ      に更新し（ステップＳ１１２）、ステップＳ１０５からステップＳ１１１までの処理を繰り返す。最後まで到達していたならば、削除ラベルの付加されたすべての点を削除する（ステップＳ１１３）。ステップＳ１１３で削除された点があった場合は、ステップＳ１０４からステップＳ１１４を繰り返し、削除された点がなくなるまでループを繰り返した後、削除点がなくなったときに処理が終了する（ステップＳ１１４）。
【００３１】
このフローチャートに示された間引き方法を用いることによって、図形の大きさがスケーリングされて拡大または縮小されても、点列の削除を判定するためのパラメータとして距離基準を用いていないため、間引かれた形状も同様にスケーリングされたものとして得ることができる。また、ステップＳ１０１で与える間引きの判定に用いる基準値は、その間引きの度合いを制御するパラメータとなるが、この第２実施形態においては、判断基準として用いる曲率に相当する近似値を、１つだけパラメータとして与えておけばよく、得られる間引き形状の間引きの度合いの制御を１つのパラメータで簡単に行なうことができる。また、点列における位置等により間引くことのできない点、例えば点列が直角に折れ曲がる場合の中間点やＴ字型に交わる場合の交差点、は間引きの対象から予め除外しておいて間引きを行なうことができる。
【００３２】
上記第１および第２実施形態に係る図形輪郭点列間引き方法は、点列の間引きを行なう対象が単一の図形の輪郭の点列であるものとして説明したが、本発明は半導体装置の電気特性を評価するために使用するデバイスシミュレータ、プロセスシミュレータ、または、形状シミュレータ等の内部処理の際に用いるデバイス形状等を対象として適用されるので、複合された図形あるいはその一部の領域を表現する図形の輪郭点列を間引きの対象としている場合もある。このように輪郭点列の間引きの対象図形が複数ある場合、特に、複数の図形同士の一部が相互に接している場合について、第３実施形態に係る図形輪郭点列間引き方法を用いて説明する。図９は第３実施形態に係る間引き方法を説明するフローチャートである。
【００３３】
図９に示すように、第３実施形態においては、まず、お互いに接する図形の場合は接する部分の点列の共有化を行なう（ステップＳ２０１）。例えば、ソフトウェア上では、すべての図形の輪郭点を１つの配列に登録しておいて、点列自体はその配列のインデックスにより記憶するという方法がある。なお、インデックスで記憶するのではなく、例えばＣ言語におけるポインタのようなメモリ記憶領域のアドレスで記憶しておくようにしてもよい。
【００３４】
次に、１つの図形輪郭点列に対して、第１及び第２実施形態の場合と同様に間引き処理を行なう。ステップＳ２０２からステップＳ２１５までは、第２実施形態におけるステップＳ１０１ないしＳ１１４に相当しており、同一の処理を行なっているので、重複説明を省略する。
【００３５】
削除された点があったか否かを判断するステップＳ１１４に相当するステップＳ２１５において、削除された点が無いものと判断された場合には、ステップＳ２１６に進み、処理していない図形が残っているか否かが判断され、未処理の図形が残っているものと判断されれば、次の図形に移行し（ステップＳ２１７）、ステップＳ２０２からステップＳ２１６までを繰り返す。処理していない図形が残っていなければ終了する。
【００３６】
このフローチャートを用いることによって、第１および第２実施形態と同様に図形の大きさがスケーリングされても、距離基準を用いていないため、間引かれた形状も同様にスケーリングされたものとして得ることができる。また、ステップＳ２０２で与える間引きの判定に用いる基準値は、その間引きの度合いを制御するパラメータとなるが、この第３実施形態においても、図形の輪郭における全ての点の総点数の下限のような判断基準を設ける必要がなく、唯一の判断基準として用いる曲率に相当する近似値を、１つだけパラメータとして与えればよい。したがって、得られる間引き形状の間引きの度合いを制御することが簡単にできる。なお、間引くことのできない点は削除禁止ラベルを付すことにより削除から除外して間引きを行なうことができる。また、この第３実施例形態によりソフトウェアを構築し、半導体のＭＯＳＦＥＴ構造を表現する図形輪郭点列に対して適用した例が図１０に示されているが、図１０（ａ）は間引く前の状態の断面を示し、図１０（ｂ）は間引いた後の状態を示している。
【００３７】
なお、上述した第１ないし第３実施形態においては、何れも連続する３点の中間点における曲率の近似値をパラメータとして用いているが、本発明はこれに限定されず曲率の代わりに曲率半径を用いてその近似値をパラメータとして間引きの演算を行なっても本発明を実施することができる。この場合、曲率半径は曲率の逆数であるので、点列のある点を削除するか否かを判断する処理ステップは曲率を用いる場合と全く同様に行なうことができるからである。ただし、第１実施形態のステップＳ６、および第２実施形態におけるステップＳ１０７、または、第３実施形態ステップＳ２０８においてステップＳ１０１またはステップＳ２０２でそれぞれ取得した間引き判定の基準値と、曲率半径の近似算出値とを比較する際にその比較動作が多少煩雑となる場合もある。しかしながら、曲率の代わりに曲率半径を用いた場合であっても得られる効果は同じである。
【００３８】
次に、上記第１ないし第３実施形態に係る図形輪郭点列間引き方法をその演算処理装置内に組み込んだ例について、第４実施形態に係る電気特性評価装置として説明する。この発明に係る図形輪郭点列間引き方法を用いた第４実施形態の電気特性評価装置は、図１１に示すように、半導体素子の構造や不純物分布の計算を含む半導体素子の製造工程をシミュレートして計算するプロセスシミュレータ１と、このプロセスシミュレータ１により計算されて出力された素子構造データを記憶する記憶部としての素子構造データファイル２と、この素子構造データファイル（記憶部）２より供給された素子構造や不純物分布を入力する入力部３ａおよび入力された素子構造や不純物分布に基づいて素子の電気特性を計算する計算部３ｂを含むデバイスシミュレータ３と、デバイスシミュレータ３を制御するプログラムを記憶する記憶部としての制御ファイル４と、デバイスシミュレータ３により計算された素子の電気特性を記憶する電気特性記憶手段としての素子電気特性データファイル５と、を備えている。
【００３９】
プロセスシミュレータ１は半導体素子を製造するための工程の流れをシミュレーションして素子構造や不純物分布等を計算するソフトウェアである。素子構造データファイル２は、プロセスシミュレータが出力する計算結果のファイルである。デバイスシミュレータ３は素子構造データファイル２より入力された素子構造や不純物分布をもとに素子の電気特性をシミュレーションするソフトウェアであり、その入力部３ａは制御データファイル４や素子構造データファイル２からのデータを読み込み処理すると共に、特に素子形状の読み込みの際に領域輪郭点の間引きを行なう領域図形間引き部３０を備え、計算部３ｂは入力された情報をもとに計算を行なっている。素子電気特性データファイル５はデバイスシミュレータ３の計算結果が出力されるファイルである。
【００４０】
上記デバイスシミュレータ３の入力部３ａに設けられている領域図形間引き部３０は、図１２に示すように、間引き判定に用いる曲率に関する基準値を取得する基準値取得手段３１と、所定の図形の輪郭を表現する交わりのない点列を取得する点列取得手段３２と、前記点列取得手段３２により取得された点列のうち処理を始めるべき開始点を中間点としてその１つ前の前方点と１つ後ろの後方点との連続する３点を取得する連続点取得手段３３と、前記３点により構成できるベクトルから前記連続点が近似する曲線の前記中間点での曲率に相当する近似値を算出する近似曲率算出手段３４と、前記基準値と前記近似値とを比較して前記中間点を削除するか否かを判定する中間点削除判定手段３５と、前記中間点削除判定手段３５により前記中間点が削除されるものと判定されたときに前記中間点を削除する中間点削除手段３６と、前記輪郭を構成する前記点列に対して順次に中間点を選択して削除可能な中間点を削除して最後の点に到達するまで中間点の選択と削除を反復処理する反復処理手段３７と、より構成されている。
【００４１】
最後に、本発明の第５実施形態に係る図形輪郭点列間引手順を記録した記録媒体について説明する。図示説明は控えるが、第５実施形態に係る記録媒体は、間引き判定に用いる曲率に関する基準値を取得する基準値取得手順と、所定の図形の輪郭を表現する交わりのない点列を取得する点列取得手順と、前記点列取得手順により取得された点列のうち処理を始めるべき開始点を中間点としてその１つ前の前方点と１つ後ろの後方点との連続する３点を取得する連続点取得手順と、前記３点により構成できるベクトルから前記連続点が近似する曲線の前記中間点での曲率に相当する近似値を算出する近似曲率算出手順と、前記基準値と前記近似値とを比較して前記中間点を削除するか否かを判定する中間点削除判定手順と、前記中間点削除判定手順において前記中間点が削除されるものと判定されたときに前記中間点を削除する中心点削除手順と、前記輪郭を構成する前記点列に対して順次に中間点を選択して削除可能な中間点を削除して最後の点に到達するまで中間点の選択と削除を反復処理する反復処理手順と、を記憶している。
【００４２】
この第５実施形態に係る記録媒体に記録されているプログラムの手順は第１実施形態に係る図形輪郭点列間引き方法のステップＳ１からＳ８に至る各過程を１つの手順とするプログラムを記録しており、記録媒体としてはフロッピディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯなどその種類を問わない。また、これらの記録媒体に記録された手順を実行するためのハードウェア構成としては図２において説明した一般的なコンピュータシステムが適用される。以上のように本発明はハードウェア、ソフトウェアの両面より適宜実施可能なものであり、特に半導体装置等のシミュレーショの際に実用上の有効性を発揮できる。
【００４３】
【発明の効果】
以上詳細に説明したように本発明に係る図形輪郭点列間引き方法によれば、スケーリングに際して異なる縮尺の図形に対して同じパラメータの値を用いたとしても、中間点を削除していって最後に得られた点列の形状が図形の縮尺によって異なることがなくなり、精度の高い間引き方法を提供することが可能となる。また、従来、図形の間引きの度合いを制御するために相互に依存する複数のパラメータを用いていたが、本発明に係る図形輪郭点列間引き方法によれば連続する３点の中間点における曲率に関するパラメータを１つ用いるだけなので基準値の設定を変えるだけで間引きの精度を変更することができ、簡単かつ高精度の間引き処理を行なうことができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係る図形輪郭点列間引き方法の処理ステップを示すフローチャート。
【図２】第１実施形態の図形輪郭点列間引き方法を実施するためのハードウェア構成を示すブロック図。
【図３】本発明の第２実施形態に係る図形輪郭点列間引き方法の処理ステップを示すフローチャート。
【図４】本発明の図形輪郭点列における連続する３点を示す説明図。
【図５】連続する３点により近似された曲線を示す説明図。
【図６】近似された曲線の曲率を求めるために必要なベクトルを示す説明図。
【図７】連続する３点で構成することのできる単位ベクトルを示す説明図。
【図８】連続する３点で構成することのできる単位ベクトルを曲線の曲率を求める際に必要な位置構成により示す説明図。
【図９】本発明の第３実施形態に係る図形輪郭点列間引き方法の処理ステップを示すフローチャート。
【図１０】第３実施形態に係る図形輪郭点列間引き方法の対象としてのＭＯＳＦＥＴ構造の図形輪郭点列の（ａ）間引き前、（ｂ）間引き後をそれぞれ示す図。
【図１１】本発明の第４実施形態に係る図形輪郭点列間引き方法を用いた電気特性評価装置の構成を示すブロック図。
【図１２】図１１の電気特性評価装置の要部を示すブロック図。
【図１３】従来の（ａ）第１の図形輪郭点列間引き方法、（ｂ）第２の図形輪郭点列間引き方法をそれぞれ説明するための説明図。
【符号の説明】
Ｓ１    基準値取得ステップ
Ｓ２    点列取得ステップ
Ｓ３    開始点選択ステップ
Ｓ４    連続点取得ステップ
Ｓ５    近似曲率算出ステップ
Ｓ６    中間点削除判定ステップ
Ｓ７    中間点削除ステップ
Ｓ８    点列終了判定ステップ
Ｓ９    中間点更新ステップ
３    デバイスシミュレータ
３ａ    入力部
１１    ＣＰＵ
１２    演算部
１３    主記憶部
１８    フレキシブルディスク装置
３０    領域図形間引き部
３１    基準値取得手段
３２    点列取得手段
３３    連続点取得手段
３４    近似曲率算出手段
３５    中間点削除判定手段
３６    中間点削除手段
３７    反復処理手段
【図１】
0003588557.tif 000005
【図２】
0003588557.tif 000006
【図３】
0003588557.tif 000007
【図４】
0003588557.tif 000008
【図５】
0003588557.tif 000009
【図６】
0003588557.tif 000010
【図７】
0003588557.tif 000011
【図８】
0003588557.tif 000012
【図９】
0003588557.tif 000013
【図１０】
0003588557.tif 000014
【図１１】
0003588557.tif 000015
【図１２】
0003588557.tif 000016
【図１３】
0003588557.tif 000017