"光強度シミュレーションを利用して設計データに含まれるパターンを補正するモデルベースの光近接効果補正方法であって、前記パターンの頂点及び頂点間に設定された分割点で前記パターンの辺を分割する分割工程と、前記分割した辺毎に設定された評価点を中心にした所定範囲内に含まれる前記分割点の座標を取得する取得工程と、前記取得した分割点の座標を前記評価点の座標で正規化する正規化工程と、前記正規化された分割点のx軸座標の合計値と、前記正規化された分割点のy軸座標の合計値と、前記正規化された分割点の座標データとを含む第1評価点データを生成する第1生成工程と、前記第1評価点データ内の少なくとも前記x軸座標の合計値及び前記y軸座標の合計値を座標変換して、前記所定範囲内のパターンを光強度シミュレーション時の照明条件に応じた所定の回転鏡像状態に変換した場合の第2評価点データを生成する第2生成工程と、前記第1評価点データ及び前記第2評価点データに基づいて、前記所定範囲内におけるパターンの配置及び形状が同じになる評価点を同一評価点として算出する同一評価点算出工程と、前記同一評価点毎に前記光強度シミュレーションを実施する工程と、を有することを特徴とする光近接効果補正方法。前記同一評価点算出工程は、前記第1評価点データ及び前記第2評価点データの中から所定条件を満たす1つの評価点データを抽出する抽出工程と、前記抽出工程で前記評価点毎に抽出された全ての評価点データを比較することにより、前記同一評価点を算出する算出工程と、を有することを特徴とする請求項1に記載の光近接効果補正方法。前記抽出工程は、前記第1評価点データ及び前記第2評価点データの中から、前記x軸座標の合計値及び前記y軸座標の合計値が所定条件を満たす評価点データを抽出する第1抽出工程と、前記第1抽出工程で抽出された評価点データに対応する前記所定範囲内の分割点の座標データを作成する作成工程と、を有し、前記算出工程では、前記抽出工程で抽出された各評価点データに対応する前記所定範囲内の分割点の座標データの全てが一致するか否かを比較することにより、前記同一評価点を算出することを特徴とする請求項2に記載の光近接効果補正方法。前記算出工程は、前記x軸座標の合計値、前記y軸座標の合計値、前記所定範囲内に含まれる辺又は分割点の数、及び前記所定範囲内の分割点の座標データをキーとして、前記抽出工程で前記評価点毎に抽出された全ての評価点データを整列する第1整列工程と、前記第1整列工程の結果に基づいて、整列順位が同順位となる評価点を前記同一評価点として算出する工程とを有することを特徴とする請求項3に記載の光近接効果補正方法。前記分割点が前記分割された辺の始点及び終点に設定され、前記取得工程では、前記分割点の座標として前記辺の始点座標及び終点座標を取得し、前記正規化工程では、前記始点座標及び前記終点座標を前記評価点の座標で正規化し、前記作成工程では、前記第1抽出工程で抽出された評価点データに対応する前記所定範囲内の辺の始点座標及び終点座標を作成し、前記第1整列工程では、前記x軸座標の合計値、前記y軸座標の合計値、前記所定範囲内に含まれる辺の数、前記作成された全ての前記始点座標及び前記終点座標をキーとして、前記評価点毎に抽出された全ての評価点データを整列することを特徴とする請求項4に記載の光近接効果補正方法。前記第2生成工程では、前記第1評価点データ内の前記正規化された分割点の座標データを座標変換して生成された前記所定範囲内の分割点の座標データを有する第2評価点データを生成し、前記同一評価点算出工程は、前記x軸座標の合計値、前記y軸座標の合計値、前記所定範囲内に含まれる辺又は分割点の数、及び前記所定範囲内の分割点の座標データをキーとして、全ての前記第1評価点データ及び前記第2評価点データを整列する第2整列工程と、前記第2整列工程の結果に基づいて、整列順位が同順位となる評価点を前記同一評価点として算出する工程とを有することを特徴とする請求項1に記載の光近接効果補正方法。前記第2生成工程では、前記照明条件が円形照明又は輪帯照明である場合には、前記第1評価点データを鏡像反転させた場合と、前記第1評価点データ及び前記鏡像反転させた場合のデータを90度回転、180度回転、270度回転させた場合とに対応する7つの第2評価点データを生成する一方、前記照明条件が二眼照明である場合には、前記第1評価点データを鏡像反転させた場合と、前記第1評価点データ及び前記鏡像反転させた場合のデータを180度回転させた場合とに対応する3つの第2評価点データを生成することを特徴とする請求項1~6のいずれか1つに記載の光近接効果補正方法。設計装置が実行する設計方法であって、設計データを生成する工程と、前記設計データに含まれるパターンを、光強度シミュレーションを利用して補正するモデルベースの光近接効果補正工程と、前記補正後の設計データに基づいて描画データを生成する工程とを有し、前記光近接効果補正工程は、前記パターンの頂点及び頂点間に設定された分割点で前記パターンの辺を分割する分割工程と、前記分割した辺毎に設定された評価点を中心にした所定範囲内に含まれる前記分割点の座標を取得する取得工程と、前記取得した分割点の座標を前記評価点の座標で正規化する正規化工程と、前記正規化された分割点のx軸座標の合計値と、前記正規化された分割点のy軸座標の合計値と、前記正規化された分割点の座標データとを含む第1評価点データを生成する第1生成工程と、前記第1評価点データ内の少なくとも前記x軸座標の合計値及び前記y軸座標の合計値を座標変換して、前記所定範囲内のパターンを光強度シミュレーション時の照明条件に応じた所定の回転鏡像状態に変換した場合の第2評価点データを生成する第2生成工程と、前記第1評価点データ及び前記第2評価点データに基づいて、前記所定範囲内におけるパターンの配置及び形状が同じになる評価点を同一評価点として算出する同一評価点算出工程と、前記同一評価点毎に前記光強度シミュレーションを実施する工程と、を有することを特徴とする設計方法。設計データを生成する処理と、前記設計データに含まれるパターンを、光強度シミュレーションを利用して補正するモデルベースの光近接効果補正処理と、前記補正後の設計データに基づいて描画データを生成する処理と、を実行し、前記光近接効果補正処理において、前記パターンの頂点及び頂点間に設定された分割点で前記パターンの辺を分割する処理と、前記分割した辺毎に設定された評価点を中心にした所定範囲内に含まれる前記分割点の座標を取得する処理と、前記取得した分割点の座標を前記評価点の座標で正規化する処理と、前記正規化された分割点のx軸座標の合計値と、前記正規化された分割点のy軸座標の合計値と、前記正規化された分割点の座標データとを含む第1評価点データを生成する処理と、前記第1評価点データ内の少なくとも前記x軸座標の合計値及び前記y軸座標の合計値を座標変換して、前記所定範囲内のパターンを光強度シミュレーション時の照明条件に応じた所定の回転鏡像状態に変換した場合の第2評価点データを生成する処理と、前記第1評価点データ及び前記第2評価点データに基づいて、前記所定範囲内におけるパターンの配置及び形状が同じになる評価点を同一評価点として算出する処理と、前記同一評価点毎に前記光強度シミュレーションを実施する処理と、を実行することを特徴とする設計装置。しかしながら、提案されているパターンマッチング手法では、必ずしも十分に高精度な探索を行うことができない。詳述すると、従来のパターンマッチング手法では、回路パターンから切り出したパターンマッチング領域のパターンが他の領域のパターンと同じ形状及び同じ配置であるかを比較することにより、同一のシミュレーション結果となる箇所を探索している。このため、従来のパターンマッチング手法では、パターンの形状が同じであっても、パターンの配置位置が少しでも異なると、同一のシミュレーション結果となる箇所であると検出されない。したがって、従来のパターンマッチング手法では、光強度シミュレーションを実施する回数を減らすという効果を十分に得ることができない場合がある。このような場合には、上記パターンマッチング処理に多大な時間を要するにも関わらず、光強度シミュレーションの処理時間をそれほど短縮することができないため、OPC処理にかかる処理時間が長時間化するという問題がある。本発明の一観点によれば、光強度シミュレーションを利用して設計データに含まれるパターンを補正するモデルベースの光近接効果補正方法であって、前記パターンの頂点及び頂点間に設定された分割点で前記パターンの辺を分割する分割工程と、前記分割した辺毎に設定された評価点を中心にした所定範囲内に含まれる前記分割点の座標を取得する取得工程と、前記取得した分割点の座標を前記評価点の座標で正規化する正規化工程と、前記正規化された分割点のx軸座標の合計値と、前記正規化された分割点のy軸座標の合計値と、前記正規化された分割点の座標データとを含む第1評価点データを生成する第1生成工程と、前記第1評価点データ内の少なくとも前記x軸座標の合計値及び前記y軸座標の合計値を座標変換して、前記所定範囲内のパターンを光強度シミュレーション時の照明条件に応じた所定の回転鏡像状態に変換した場合の第2評価点データを生成する第2生成工程と、前記第1評価点データ及び前記第2評価点データに基づいて、前記所定範囲内におけるパターンの配置及び形状が同じになる評価点を同一評価点として算出する同一評価点算出工程と、前記同一評価点毎に前記光強度シミュレーションを実施する工程と、を有する。本発明の一観点によれば、OPC処理にかかる処理時間を短縮することができるという効果を奏する。第1実施形態以下、第1実施形態を図1~図37に従って説明する。図1に示すように、設計装置コンピュータ10は、半導体装置の製造工程に用いるフォトマスクの描画データを生成するための装置であり、例えば一般的な設計支援装置ComputerAidedDesign:CADである。この設計装置10は、中央処理装置CentralProcessingUnit:CPU11と、メモリ12と、記憶装置13と、表示装置14と、入力装置15と、ドライブ装置16とを有している。これら各装置11,13,14,15,16及びメモリ12は、バス17を介して相互に接続されている。CPU11は、メモリ12を利用してプログラムを実行し、描画データの生成、OPC処理等の必要な処理を実現する。プログラムは、CPU11を描画データを生成する設計装置としての各種手段として機能させるためのものである。また、プログラムは、CPU11をOPC処理を実施する処理装置としての各種手段として機能させるためのものである。メモリ12には、各種処理を提供するために必要なプログラムとデータが格納される。このメモリ12としては、通常、キャッシュメモリ、システムメモリ及びディスプレイメモリ等が含まれる。表示装置14は、パターン表示、パラメータ入力画面等の表示に用いられる。この表示装置14としては、例えばCRT,LCD,PDP等が用いられる。入力装置15は、ユーザからの要求や指示、パターン、パラメータの入力に用いられる。この入力装置15としては、例えばキーボード及びマウス装置等が用いられる。設計装置10は、設計データや描画データに基づくパターン図形を表示装置14に表示させる。そして、設計装置10は、ユーザが操作する入力装置15からの信号に従って、表示装置14上のパターンの追加、削除を行うとともに、レイアウトデータに対してパターンデータの追加、削除を行う。記憶装置13は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置等を含む。この記憶装置13には、描画データを生成するためのプログラムデータやOPC処理を実施するためのプログラムデータが格納されている。また、記憶装置13には、例えば図2、図3及び図9に示すファイル20~23が格納される。なお、以下の説明において、各ファイルに含まれるデータの総称に各ファイルの符号を付して説明する。CPU11は、入力装置15による指示に応答してプログラムやデータをメモリ12に転送し、それを実行する。CPU11が実行するプログラムデータは、記録媒体18にて提供される。ドライブ装置16は、記録媒体18を駆動し、その記憶内容にアクセスする。CPU11は、ドライブ装置16を介して記録媒体18からプログラムデータを読み出し、それを記憶装置13にインストールする。記録媒体18としては、磁気テープMT、メモリカード、フレキシブルディスク、光ディスクCD-ROM,DVD-ROMなど、光磁気ディスクMO,MDなど等、任意のコンピュータ読み取り可能な記録媒体を使用することができる。この記録媒体18に、上述のプログラムやデータを格納しておき、必要に応じて、メモリ12にロードして使用することもできる。なお、記録媒体18には、通信媒体を介してアップロード又はダウンロードされたプログラムデータを記録した媒体やディスク装置が含まれる。さらに、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、一旦他の記録媒体ハードディスク等にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体も含まれる。次に、フォトマスクレチクルの製造方法について説明する。ここで、フォトマスクは、基板と、その基板上に形成されたマスクパターンとを含む。基板は例えば石英ガラスであり、マスクパターンは例えばクロム等の金属パターンである。上記フォトマスクは、そのフォトマスクに照明をあて、フォトマスク上に形成されたマスクパターンを、半導体装置を形成する半導体基板上に塗布された感光硬化膜、いわゆるレジストに転写するために用いられる。そして、マスクパターンが転写されて形成されたレジストのパターンをマスクにして半導体基板上の材料をエッチングすることにより、半導体装置の回路パターンが形成される。なお、上記フォトマスクは、レチクルや単にマスクとも呼ばれる。図2に示すように、まず、CPU11は、予めデザインルール20を設定しステップS1、その設定したデザインルール20を記憶装置13に格納する。ここで、デザインルール20とは、例えばレチクル上のマスクパターンを形成する上での制限事項のことである。例えばマスクパターンの最小線幅の確保、最小パターン間隔の確保、及び鋭角パターンの排除のための制限事項などがある。次に、CPU11は、設計データ21を作成しステップS2、その作成した設計データ21を記憶装置13に格納する。この設計データ21は、回路パターンのレイアウトデータを含む。回路パターンは、半導体等の基板に素子や配線を形成するためのパターンであり、レイアウトデータはパターンを形成する位置座標値やパターンの頂点の座標を含む。続いて、CPU11は、作成された設計データ21が規定のデザインルール20を満たすか否かを判定するステップS3。設計データ21がデザインルール20を満たさない場合には、CPU11は、そのデザインルール20を満たさない設計データ21部分について、デザインルール20に適合するように設計データ21を修正するステップS4。その後、修正後の設計データ21が規定のデザインルール20を満たすか否かの検証が再度行われるステップS3。ステップS3において設計データ21が規定のデザインルール20を満たすと判定されると、CPU11は、光近接効果補正OPC処理を行うステップS5。ここで、OPC処理の概略を説明する。まず、レチクルに対して照明をあてると、レチクル上のマスクパターンの投影像が得られる。その投影像をレンズに通すと、縮小投影像が得られる。ここで、レチクル上のマスクパターンが照明光の波長に近づくと、いわゆる光の近接露光効果により、上記縮小投影像は、マスクパターンの完全な相似形でなくなる。そこで、レチクル上のマスクパターンを変形させて、縮小投影像が変形前のマスクパターンと相似形となるように、変形前のマスクパターンを形成するための設計データ21を補正する必要がある。したがって、上記OPC処理ステップS5は、上記ステップS2~S4で作成された設計データ21を補正変形して、変形後のレチクル上のマスクパターンを形成するための図形データを生成する処理である。ここで、OPCにはルールベースOPCとモデルベースOPCとがあるが、本実施形態の上記ステップS5では、モデルベースOPCが実行される。次に、CPU11は、設計データ21に対する補正が、上記縮小投影像を得るために適切な補正であるか否かを検証するステップS6。設計データ21に対する補正が適切でない場合には、CPU11は、OPC処理のパラメータを修正するステップS7。そして、CPU11は、修正後のパラメータを用いてOPC処理を再度実行するステップS5。上記ステップS6において設計データ21に対する補正が適切であると判定されると、CPU11は、補正を行った設計データ21に基づいて描画データを作成するステップS8。ここで、描画データは、半導体装置の製造工程に用いるレチクルを作成するためのデータである。この描画データは、例えば図示しない露光装置が入力可能な形式のデータである。そして、露光装置は、その描画データに従って、基板上の金属薄膜例えば、クロム膜上に形成したレジスト膜に対して、電子ビームを照射して、金属薄膜上のレジストパターンを形成するステップS9。次に、CPU11は、上記ステップS9で形成されたレジストパターンの線幅を検証するステップS10。上記レジストパターンが規格値を満足しない場合には、CPU11は、露光装置における露光条件を変更するステップS11。但し、露光条件の変更だけでは上記レジストパターンの線幅を規格内に納めることができないと判断された場合には、OPC処理のパラメータが修正されステップS7、OPC処理が再度実行されるステップS5。上記ステップS10において上記レジストパターンが規格値を満足すると判断された場合には、そのレジストパターンをマスクにして上記基板上の金属薄膜をエッチングし、金属薄膜パターンマスクパターンを形成するステップS12。以上の製造工程により、基板上にマスクパターンが形成され、レチクルが製造される。次に、OPC処理ステップS5の詳細処理を図3~図8に従って説明する。ここでは、図4aに示す図形データ30,31に対してOPC処理を実行する方法について説明する。図形データ30,31は、先のステップS2~S4で作成された設計データ21の回路パターン、つまりOPC処理前の図形データである。図形データ30は複数の頂点T1~T8を有し、図形データ31は複数の頂点T11~T18を有している。図形データ30では、頂点T1~T8のうち頂点番号の小さい頂点例えば、頂点T1を始点とし、次に頂点番号の大きい頂点ここでは、頂点T2を終点としたとき、その始点から終点に向かう進行方向の左側が図形の内部となる。同様に、図形データ31では、頂点T11~T18のうち頂点番号の小さい頂点例えば、頂点T11を始点とし、次に頂点番号の大きい頂点ここでは、頂点T12を終点としたとき、その始点から終点に向かう進行方向の左側が図形の内部となる。なお、これら頂点T1~T8,T11~T18の座標x,yは、図4bに示した通りである。例えば頂点T1のx軸座標は12.8750μmであり、頂点T1のy軸座標は12.0250μmであるため、頂点T1の座標x,yは128750,120250である。この座標値は、0.1nm単位で表記されている。この表記方法は、以下の座標値でも同様である。図3に示すように、まず、CPU11は、全ての図形データ30,31のエッジ辺に対してフラグメント処理を施すステップS21。ここで、フラグメント処理とは、補正対象の図形データ30,31を適切に補正ができるように、周辺図形の形状に応じて図形データ30,31を構成するエッジを複数に分割する処理のことである。具体的には、フラグメント処理では、頂点からの位置、あるいは近傍の図形のエッジを考慮して、予め設定された作成基準作成ルールに基づいて、図5aに示すように、図形データ30,31のエッジに分割点ノードNが設定され、エッジが複数のエッジA1に分割される。ここで設定された分割点Nは、頂点T1~T8,T11~T18に設定された分割点N1と、各頂点間に設定された分割点N2とを有している。各頂点間に設定された分割点N2の数は、上記作成基準に基づいて適宜設定される。なお、分割点N間の距離、つまりエッジA1の距離が長くなると、後工程で実施する光近接露光効果の見積もりを行う際に高い精度で見積もりを行うことができないため、頂点間の距離が長いエッジには多くの分割点N2が設定される。このように、本フラグメント処理によって図形データ30,31のエッジに分割点N分割点N2が設定されると、頂点間のエッジが細分化されるため、高い精度で光近接露光効果の見積もりを行うことができる。次に、図3に示すステップS22において、CPU11は、分割されたエッジA1に識別番号を付与する。ここでは、図5bに示すように、図形データ30,31の88個のエッジA1に、識別番号E0~E87が任意の順番で付与される。以下の説明では、識別番号E0~E87のエッジをそれぞれ、エッジE0~E87とも言う。これらエッジE0~E87は各々、始点から終点に向かう進行方向の左側が図形の内部となるように、始点となる分割点Nsと終点となる分割点Neとを有している。これらエッジE0~E87の始点座標x,y及び終点座標x,yを示すエッジデータ22は、図6に示したようになる。例えばエッジE0では、そのエッジE0が有する分割点のうち、図5bにおいて下側の分割点Nsが始点となり、図中上側の分割点Neが終点となる。そして、図6に示すように、エッジE0の始点の座標x,yは140550,119550となり、エッジE0の終点の座標は140550,120250となる。なお、各エッジE0~E87の始点座標及び終点座標を示すエッジデータ22は、記憶装置13に格納される。このとき、例えば識別番号の小さいエッジのデータから順に、つまりエッジE0→E1→...→E87の順に記憶装置13に格納される。続いて、図3に示すステップS23において、CPU11は、後工程の光強度シミュレーションによるシミュレーション結果が同じになる箇所、すなわちシミュレーションを行う範囲内のエッジの形状配置が同一になる箇所を同一シミュレーション点同一評価点として算出する。詳述すると、上記識別番号の付与された各エッジE0~E87の中心点をシミュレーション点評価点とし、そのシミュレーション点を中心とした所定範囲内からエッジを切り出す。その切り出したエッジの始点及び終点の座標を、シミュレーション点の座標を原点0,0にした座標に変換正規化する。そして、この正規化したシミュレーション点のデータを他のシミュレーション点のデータと比較し、データが同一となるシミュレーション点、つまり光強度シミュレーションの結果が同一となるシミュレーション点が存在するか否かを探索する。さらに、この探索は、図形データ30,31から切り取ったままのシミュレーション点のデータと併せて、上記切り出したエッジを鏡像反転x軸反転又はy軸反転させたデータや、上記切り出したエッジ及び鏡像反転させたエッジを90度、180度、270度で回転させたデータについても行われる。すなわち、1つのシミュレーション点に対して8通りのデータが生成され、その全てのデータを利用して同一シミュレーション点の探索が行われる。そして、同一シミュレーション点を算出した後、同一シミュレーション点が同じ識別番号となるように、上記エッジE0~E87に対して新たな識別番号を付与する。その新たな識別番号を付与した後の図形データ30,31を図5cに示している。この図5cでは、88個のエッジに対して識別番号F0~F31の32個の識別番号が付与される。例えば本例では、図5b、cに示すように、エッジE12,E15,E42,E45下線参照が同一シミュレーション点であると算出されるため、これら4つのエッジに同じ識別番号F15が付与される。次に、図3に示すステップS24において、CPU11は、光強度シミュレーションを実行する。ここでは、最も小さい識別番号F0が付与された2つのエッジのうちの1つのエッジの中心点をシミュレーション点として光強度シミュレーションが実行される。ここで、光強度シミュレーションとは、マスクパターンデータの光強度分布からレジストパターン形状閾値における等高線を予測する手法である。なお、本実施形態の光強度シミュレーションにおける光学条件は、照明形状を円形照明とし、シミュレーションを行う範囲をF×λ/NAという式に応じて設定する。上記式において、Fは比例定数、λは露光波長、NAは開口数である。次に、CPU11は、上記予測されたレジストパターン形状と対象のエッジの形状との差分に基づいて、対象のエッジここでは、エッジF0に対する補正値を算出するステップS25。この算出された補正値は、図7に示すように識別番号と補正値とが関連付けされた補正値テーブル23として記憶装置13に格納される。上記補正値は、光によりウェハに転写露光される図形形状のエッジの位置を目的形状露光しようとする図形のエッジの位置に近づけるために、対象のエッジここでは、エッジF0をどの方向にどれだけ移動させるかを示した値である。すなわち、上記補正値は、上記光強度シミュレーションで予測されるパターン形状のエッジの位置を目的形状例えば設計データの図形データ、ここでは図5aに示した図形データ30,31の形状のエッジの位置に近づけるために、対象のエッジをどの方向にどれだけ移動させるかを示した値である。本例では、図7に示すように、エッジF0に対する補正値が3.5nmと算出される。なお、補正値がプラス値である場合には対象エッジが図形の外側に平行に移動されることを示し、補正値がマイナス値である場合には対象エッジが図形の内側に平行に移動されることを示している。次に、図3に示すステップS26において、CPU11は、異なる識別番号の付与された全てのシミュレーション点についての処理光強度シミュレーション及び補正値算出が終了したか否かを判定する。このとき、処理の終了していないシミュレーション点が存在する場合には、次の識別番号のエッジ例えば識別番号F1が付与されたエッジの中心点をシミュレーション点として光強度シミュレーションが実行されるステップS24。続いて、そのエッジF1に対する補正値が算出されるステップS25。これらステップS24~S26の処理が繰り返し実行されることにより、異なる識別番号の付与された全てのエッジF0~F31に対して光強度シミュレーションが実施され、さらに図7に示されるように、それらエッジF0~F31に対する補正値が算出される。このようなステップS24~S26の処理では、既に補正値の算出されたエッジと同じ識別番号が付与されたエッジについては、上記既に算出された補正値を利用することができるため、光強度シミュレーションが省略される。このようにして、計算量が多く膨大な処理時間の必要な光強度シミュレーションを実施する回数を減らすことができる。本例では、32回の光強度シミュレーションを行うことにより、88個の全エッジに対する補正値を算出することができる。次に、CPU11は、記憶装置13から読み出した補正値に基づいて各エッジF0~F31を移動し、図形データ30,31を補正するステップS27。この補正処理によって、図8に示す図形データ30A,31Aが得られる。続いて、CPU11は、処理精度などに応じて設定された回数の反復処理が終了したか否かを判定するステップS28。規定の回数の反復処理が終了していない場合には、上記ステップS27で得られた図形データ30A,31Aに対してステップS23~S27の処理が実行される。このように反復処理を繰り返し実行することにより、光強度シミュレーションで予測されるパターン形状が目的形状に近づく、つまり上記ステップS27で得られる図形のエッジの位置が実際に露光装置で露光されるときのエッジの位置に近づく。このため、反復処理の回数が多くなるほど、OPC処理による補正精度が高くなる。次に、上記同一シミュレーション点の算出処理ステップS23の詳細処理を図9~図30に従って説明する。ここでは、図5bに示すエッジE15とエッジE42の2つのシミュレーション点を例に挙げて説明する。なお、これら2つのシミュレーション点は、上述したように同一シミュレーション点である。まず、図9に示すステップS31において、対象のエッジここでは、エッジE15の中心座標139300,119550をシミュレーション点評価点SE15に設定する。続いて、図10に示すように、このシミュレーション点SE15を中心にして、後工程である光強度シミュレーションを実施する際にそのシミュレーションの影響が及ぶ影響範囲IRを設定する。ここで、影響範囲IRは、光強度シミュレーションの光学条件例えば、シミュレーションを行う範囲に応じて設定される、つまりF×λ/NAという式に応じて設定される。例えば光強度シミュレーションにおいて高い補正精度を必要とする場合には、比例定数Fが高く設定され、影響範囲IRが広く設定される。これは、影響範囲IRの外のエッジがシミュレーション点に対して全く影響を及ぼさないわけではないため、影響範囲IRが広く設定されると、影響の小さいエッジまで考慮することになるからである。本実施形態では、シミュレーション点SE15から0.12μmまでの範囲が影響範囲に設定される。このため、実際の影響範囲IR1は円形状となる。但し、ここでは、処理の簡便化のために、円形の影響範囲IR1を内接円とする四角形の範囲が上記影響範囲IRとして設定される。そして、CPU11は、このように設定された影響範囲IR内の10個のエッジE2,E5,E6,E9,E12,E15,E16,E19,E20,E23のエッジデータ22図6参照を切り出す。すなわち、CPU11は、上記10個のエッジのエッジデータ22を記憶装置13から読み出す。続いて、影響範囲IRから一部がはみ出すエッジE2,E5,E20,E23を影響範囲IRで切り出すためにエッジを切断する。すると、始点座標140550,120250及び終点座標140050,120250であるエッジE2の一部が切断された後のエッジE2Aでは、始点座標が140500,120250となり、終点座標が140050,120250となる。同様に、始点座標140050,119550及び終点座標140550,119550であるエッジE5の一部が切断された後のエッジE5Aでは、始点座標が140050,119550となり、終点座標が140550,119550となる。始点座標138505,120250及び終点座標137960,120250であるエッジE20の一部が切断された後のエッジE20Aでは、始点座標が138505,120250となり、終点座標が138100,120250となる。始点座標137960,119550及び終点座標138505,119550であるエッジE23の一部が切断された後のエッジE23Aでは、始点座標が138100,119550となり、終点座標が138505,119550となる。なお、ここでは、同一シミュレーション点の一致精度を向上させるために影響範囲IRからはみ出すエッジを切断するようにしたが、影響範囲IRからはみ出すエッジを切断しなくとも同一シミュレーション点を判定することはできる。次に、図9に示すステップS32において、CPU11は、シミュレーション点SE15の座標で、上記切り出されたエッジデータ始点座標及び終点座標を正規化する。具体的には、切り出されたエッジの始点座標及び終点座標が、シミュレーション点SE15の座標を原点0,0にした座標に変換される。すなわち、切り出されたエッジの始点座標及び終点座標からシミュレーション点SE15の座標139300,119550がオフセットされる。例えばエッジE23Aの始点座標138100,119550が正規化されると、x座標が-1200=138100-139300、y座標が0=119550-119550となるため、図12に示すように、エッジE23Aの始点座標は-1200,0となる。また、エッジE23Aの終点座標138505,119550が正規化されると、エッジE23Aの終点座標は-795,0となる。同様に、正規化されたエッジE19の始点座標及び終点座標はそれぞれ-795,0及び-250,0となり、正規化されたエッジE15の始点座標及び終点座標はそれぞれ-250,0及び250,0となる。正規化されたエッジE9の始点座標及び終点座標はそれぞれ250,0及び750,0となり、正規化されたエッジE5Aの始点座標及び終点座標はそれぞれ750,0及び1200,0となる。正規化されたエッジE20Aの始点座標及び終点座標はそれぞれ-795,700及び-1200,700となり、正規化されたエッジE16の始点座標及び終点座標はそれぞれ-250,700及び-795,700となる。正規化されたエッジE12の始点座標及び終点座標はそれぞれ250,700及び-250,700となり、正規化されたエッジE6の始点座標及び終点座標はそれぞれ750,700及び250,700となり、正規化されたエッジE2Aの始点座標及び終点座標はそれぞれ1200,700及び750,700となる。なお、このとき、各座標値が0.1nm単位で記憶装置13に格納されているため、座標値を整数で扱うことができ、誤差を考慮する必要がなくなる。これにより、処理が簡素化される。そして、正規化されたエッジデータについて、正規化されたエッジの始点x座標,始点y座標,終点x座標,終点y座標をソートキーに含めてソート整列を行う。一例として本実施形態では、始点終点の小さい方のy座標を第1キーとして昇順ソートし、始点終点の大きい方のy座標を第2キーとして昇順ソートし、始点終点の小さい方のx座標を第3キーとして昇順ソートし、始点終点の大きい方のx座標を第4キーとして昇順ソートする。このソートの結果、本例では、エッジE23A→E19→E15→E9→E5A→E20A→E16→E12→E6→E2Aの順番で整列される。このように正規化及びソートされたエッジの始点座標及び終点座標は、図11及び図12に示すような形式でエッジデータD20D21として記憶装置13に格納される。具体的には、エッジデータD20は、影響範囲IR内のエッジ数n分だけの上記正規化後のエッジデータD21を有する。1つのエッジに対応するエッジデータD21は、対応エッジの始点x座標が格納されたデータD22と、対応エッジの始点y座標が格納されたデータD23と、対応エッジの終点x座標が格納されたデータD24と、対応エッジの終点y座標が格納されたデータD25とを有する。そして、このエッジデータD20内におけるエッジデータD21の格納順序は、上述したソートによる整列順序に対応している。すなわち、本例の評価点SE15のエッジデータD20では、図12に示すように、エッジE23A,E19,E15,E9,E5A,E20A,E16,E12,E6,E2AのエッジデータD21がこの順序で格納されている。なお、図12では、図面の簡素化のために、図11に示したデータD22~D25に相当するエッジデータD21を1つの区画にまとめて表記しているが、実際には、データD22~D25は別々の区画メモリ領域に格納される。上述のように正規化したことと、始点x座標,始点y座標,終点x座標,終点y座標を全てキーに含めてソートしたことにより、エッジデータD20を先頭から順に比較することで他のシミュレーション点と同一のシミュレーション結果となる個所、つまり同一シミュレーション点データを見つけることができるようになる。次に、図9に示すステップS33において、CPU11は、対象の評価点SE15に対するシミュレーション点データD1を作成する。図11及び図12に示すように、シミュレーション点データD1は、シミュレーション点データD10とエッジデータD20とを有する。シミュレーション点データD10は、対象のシミュレーション点を識別する識別番号が格納されたデータD11と、エッジデータD20内の始点x座標及び終点x座標の合計値が格納されたデータD12と、エッジデータD20内の始点y座標及び終点y座標の合計値が格納されたデータD13とを有する。また、シミュレーション点データD10は、オフセットx値、つまりシミュレーション点のx座標が格納されたデータD14と、オフセットy値、つまりシミュレーション点のy座標が格納されたデータD15と、上記影響範囲IR内のエッジ数が格納されたデータD16とを有する。さらに、シミュレーション点データD10は、上記エッジデータD20が格納されているメモリアドレスが格納されたデータD17を有する。本例の評価点SE15のシミュレーション点データD1では、図12に示すように、識別番号が15、x座標の合計値が-180、y座標の合計値が7000、オフセットx値が139300、オフセットy値が119550、エッジ数が10となる。また、シミュレーション点データD10のデータD17には、エッジデータD20、具体的にはエッジE23A,E19,E15,E9,E5A,E20A,E16,E12,E6,E2AのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスが格納されている。ここで、上記x座標の合計値は以下のように算出されたものである。すなわち、エッジデータD20のうち始点x座標の合計値が-90=-1200-795-250250750-795-2502507501200と算出され、終点x座標の合計値が-90=-795-2502507501200-1200-795-250250750と算出される。このため、これら始点x座標の合計値と終点x座標の合計値を合算した値-180が上記x座標の合計値になる。なお、上記y座標の合計値についても同様に算出される。次に、図9に示すステップS34において、CPU11は、図10に示した影響範囲IR内の図形エッジを90度回転、180度回転、270度回転させた場合、図10に示した図形を鏡像反転させた場合、及び鏡像反転させた図形を90度回転、180度回転、270度回転させた場合の7通りのシミュレーション点データD2を作成する。なお、以下の説明では、説明の便宜上、図10に示した影響範囲IR内の図形、つまり図形データ30,31から切り出したままの図形を0度回転の図形とも称する。図13には、0度回転の図形図13a参照、0度回転の図形を左回りに90度回転させた図形図13b参照、0度回転の図形を左回りに180度回転させた図形図13c参照、0度回転の図形を左回りに270度回転させた図形図13d参照が示されている。また、図13には、0度回転の図形を鏡像反転ここでは、y軸反転させた図形図13e参照、鏡像反転させた図形を左回りに90度回転させた図形図13f参照が示されている。さらに、図13には、鏡像反転させた図形を左回りに180度回転させた図形図13g参照、鏡像反転させた図形を左回りに270度回転させた図形図13h参照が示されている。なお、回転方向は右回りであってもよく、鏡像反転はx軸反転であってもよい。また、鏡像反転させた後の図形を所定の角度で回転させるようにしたが、90度回転、180度回転、270回転させた後に鏡像反転させるようにしてもよい。このように回転鏡像された場合の図形のエッジの座標は、図14に示す変換テーブル24を利用して、0度回転の図形のエッジの座標値を座標変換することにより算出することができる。例えば0度回転の図形のある点の座標をx,yとすると、90度回転後の同一点における座標は-y,xと座標変換することにより求めることができる。また、鏡像反転させた場合には、エッジの始点から終点に向かう方向が鏡像反転前とは逆方向になるため、始点から終点に向かう進行方向の左側が常に図形の内部となるように、エッジの始点座標と終点座標とが入れ替えられる。すなわち、0度回転の図形のあるエッジの始点座標及び終点座標をそれぞれx1,y1、x2,y2とすると、0度回転鏡像後の同一エッジの始点座標及び終点座標は-x2,y2、-x1,y1となる。そして、0度回転のシミュレーション点データD1図12参照に対して上記変換テーブル24に従って座標変換を行うことにより、図15~図21に示すように、上記7通りのシミュレーション点データD2を作成する。以下に、ここで作成される7通りのシミュレーション点データD2について説明する。なお、これらシミュレーション点データD2は、上記シミュレーション点データD1と同様のデータ構造を有している。図15に示すように、90度回転のシミュレーション点データD2では、識別番号が15、x座標の合計値が-7000、y座標の合計値が-180、オフセットx値が139300、オフセットy値が119550、エッジ数が10となる。このとき、x座標の合計値及びy座標の合計値は、0度回転のシミュレーション点データD1図12参照におけるx座標の合計値及びy座標の合計値に対して上記座標変換が行われて算出される。また、90度回転のシミュレーション点データD10のデータD17には、エッジE20A,E23A,E16,E19,E12,E15,E6,E9,E2A,E5AのエッジデータD21が順に格納されているエッジデータD20メモリアドレスが格納されている。この各エッジのエッジデータD21は、0度回転時の同一エッジのエッジデータD21始点x座標、始点y座標、終点x座標及び終点y座標に対して上記座標変換が行われて作成されたものであり、上記シミュレーション点データD1のエッジデータD20とは別のメモリ領域に格納されたデータである。例えばエッジE20Aの始点座標-700,-795及び終点座標-700,-1200は、0度回転時のエッジE20Aの始点座標-795,700及び終点座標-1200,700が座標変換されて算出される。また、上記座標変換されたエッジデータD21について、0度回転時と同様のソート処理座標変換後の始点x座標,始点y座標,終点x座標,終点y座標を全てキーに含めたソート処理が行われ、その結果整列順序に対応する順序でエッジデータD21がエッジデータD20内に格納されている。図16に示すように、180度回転のシミュレーション点データD2では、識別番号が15、x座標の合計値が180、y座標の合計値が-7000、オフセットx値が139300、オフセットy値が119550、エッジ数が10となる。また、このシミュレーション点データD10のデータD17には、エッジE2A,E6,E12,E16,E20A,E5A,E9,E15,E19,E23AのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスが格納されている。図17に示すように、270度回転のシミュレーション点データD2では、識別番号が15、x座標の合計値が7000、y座標の合計値が180、オフセットx値が139300、オフセットy値が119550、エッジ数が10となる。また、このシミュレーション点データD10のデータD17には、エッジE5A,E2A,E9,E6,E15,E12,E19,E16,E23A,E20AのエッジデータD20が順に格納されているエッジデータD20のメモリアドレスが格納されている。図18に示すように、0度回転鏡像のシミュレーション点データD2では、識別番号が15、x座標の合計値が180、y座標の合計値が7000、オフセットx値が139300、オフセットy値が119550、エッジ数が10となる。また、このシミュレーション点データD10のデータD17には、エッジE5A,E9,E15,E19,E23A,E2A,E6,E12,E16,E20AのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスが格納されている。ここで、エッジE5Aの始点座標-1200,0は、0度回転時のエッジE5Aの終点座標1200,0が上記変換テーブル24図14参照に従って座標変換されて算出される。また、エッジE5Aの終点座標-750,0は、0度回転時のエッジE5Aの始点座標750,0が変換テーブル24に従って座標変換されて算出される。図19に示すように、90度回転鏡像のシミュレーション点データD2では、識別番号が15、x座標の合計値が-7000、y座標の合計値が180、オフセットx値が139300、オフセットy値が119550、エッジ数が10となる。また、このシミュレーション点データD10のデータD17には、エッジE2A,E5A,E6,E9,E12,E15,E16,E19,E20A,E23AのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスが格納されている。図20に示すように、180度回転鏡像のシミュレーション点データD2では、識別番号が15、x座標の合計値が-180、y座標の合計値が-7000、オフセットx値が139300、オフセットy値が119550、エッジ数が10となる。また、このシミュレーション点データD10のデータD17には、エッジE20A,E16,E12,E6,E2A,E23A,E19,E15,E9,E5AのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスが格納されている。図21に示すように、270度回転鏡像のシミュレーション点データD2では、識別番号が15、x座標の合計値が7000、y座標の合計値が-180、オフセットx値が139300、オフセットy値が119550、エッジ数が10となる。また、このシミュレーション点データD10のデータD17には、エッジE23A,E20A,E19,E16,E15,E12,E9,E6,E5A,E2AのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスが格納されている。そして、CPU11は、以上のように作成された7つのシミュレーション点データD2を記憶装置13に格納する。ここで、上記シミュレーション点データが作成される回転鏡像状態つまり、同一シミュレーション点を算出する際に考慮される回転鏡像状態は、光強度シミュレーションにおける照明条件照明形状に応じて設定される。例えば本例のように照明形状が円形形状である場合には、シミュレーション点を中心にしてどの角度で回転させた場合のエッジデータでも、シミュレーション点を通るどのような方向の直線で鏡像させた場合のエッジデータでも、シミュレーション結果は同じになる。一方、微細化されたLSIを構成する図形のエッジの大半は水平垂直線で表わすことができる。なお、LSIのチップ面積を小さくするために、水平垂直線以外の斜めのエッジを僅かながら使用することもあるが、水平垂直線以外のエッジ上に設定されたシミュレーション点と水平垂直線で表わされるエッジ上に設定されたシミュレーション点とが同一シミュレーション点となることは殆どない。このため、同じシミュレーション結果となる同一シミュレーション点を探索する場合、0度回転、90度回転、180度回転、270度回転、及びそれらの回転に鏡像を加えた8通りのシミュレーション点データを探索すれば、同一シミュレーション点を略全て探索することができる。そこで、本実施形態では、上述したように上記8通りのシミュレーション点データD1,D2を作成するようにした。次に、図9に示すステップS35において、CPU11は、全てのシミュレーション点エッジに対するシミュレーション点データD1,D2の作成処理が終了したか否かを判定する。全ての作成処理が終了していないと判定された場合には、次のシミュレーション点エッジに対するシミュレーション点データD1の作成処理を実行するステップS31~S33。ここでは、エッジE15に対する作成処理に続いて、エッジE42の中心座標137165,120250がシミュレーション点評価点SE42に設定される。続いて、図22に示すように、評価点SE42を中心にして、上記エッジE15の際と同様に四角形状の影響範囲IRが設定される。次いで、影響範囲IR内の10個のエッジE20,E23,E26,E36,E39,E42,E45,E48,E50,E58のエッジデータ22図6参照が記憶装置13から読み出されるステップS31。そして,影響範囲IRから一部がはみ出すエッジE20,E23,E48,E58を影響範囲IRで切り出すためにエッジを切断する。すると、始点座標138505,120250及び終点座標137960,120250であるエッジE20の一部が切断された後のエッジE20Bでは、始点座標が138365,120250となり、終点座標が137960,120250となる。同様に、始点座標137960,119550及び終点座標138505,119550であるエッジE23の一部が切断された後のエッジE23Bでは、始点座標が137960,119550となり、終点座標が138365,119550となる。始点座標136415,120250及び終点座標135915,120250であるエッジE48の一部が切断された後のエッジE48Aでは、始点座標が135965,120250となり、終点座標が135915,120250となる。始点座標135915,119550及び終点座標136415,119550であるエッジE58の一部が切断された後のエッジE58Aでは、始点座標が135915,119550となり、終点座標が135965,119550となる。次に、切り出されたエッジの始点座標及び終点座標が評価点SE42の座標で正規化され、さらに正規化されたエッジデータD21が上述と同様の条件でソートされる。その正規化及びソート後のエッジデータD21が順に格納されたエッジデータD20図23参照が記憶装置13に格納される。ここで、正規化されたエッジE58Aの始点座標及び終点座標はそれぞれ-1200,-700及び-750,-700となり、正規化されたエッジE50の始点座標及び終点座標はそれぞれ-750,-700及び-250,-700となる。正規化されたエッジE45の始点座標及び終点座標はそれぞれ-250,-700及び250,-700となり、正規化されたエッジE39の始点座標及び終点座標はそれぞれ250,-700及び795,-700となる。正規化されたエッジE23Bの始点座標及び終点座標はそれぞれ795,-700及び1200,-700となり、正規化されたエッジE48Aの始点座標及び終点座標はそれぞれ-750,0及び-1200,0となる。正規化されたエッジE26の始点座標及び終点座標はそれぞれ-250,0及び-750,0となり、正規化されたエッジE42の始点座標及び終点座標はそれぞれ250,0及び-250,0となる。正規化されたエッジE36の始点座標及び終点座標はそれぞれ795,0及び250,0となり、正規化されたエッジE20Bの始点座標及び終点座標はそれぞれ1200,0及び795,0となる。次に、エッジE42の0度回転のシミュレーション点データD1が作成されるステップS33。図23に示すように、0度回転のシミュレーション点データD1では、識別番号が42、x座標の合計値が180、y座標の合計値が-7000、オフセットx値が137165、オフセットy値が120250、エッジ数が10となる。また、シミュレーション点データD10のデータD17には、エッジE58A,E50,E45,E39,E23B,E48A,E26,E42,E36,E20BのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスが格納されている。この識別番号E42の0度回転のシミュレーション点データD1におけるx座標の合計値、y座標の合計値及びエッジ数は、図16に示した識別番号E15の180度回転のシミュレーション点データD2のそれと全て一致する。さらに、識別番号E42の0度回転のエッジデータD2010個のエッジデータD21も、図16に示した識別番号E15の180度回転のエッジデータD2010個のエッジデータD21と全て一致する。そして、このように作成されたシミュレーション点データD1が記憶装置13に格納される。次に、CPU11は、図24~図30に示すように、対象の評価点SE42に対する7通りのシミュレーション点データD2を作成する。以下に、ここで作成されるシミュレーション点データD2について説明する。図24に示すように、90度回転のシミュレーション点データD2では、識別番号が42、x座標の合計値が7000、y座標の合計値が180、オフセットx値が137165、オフセットy値が120250、エッジ数が10となる。また、このシミュレーション点データD10のデータD17には、エッジE48A,E58A,E26,E50,E42,E45,E36,E39,E20B,E23BのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスが格納されている。この識別番号E42の90度回転のシミュレーション点データD10におけるx座標の合計値、y座標の合計値及びエッジ数とエッジデータD20とは、図17に示した識別番号E15の270度回転時のそれと全て一致する。図25に示すように、180度回転のシミュレーション点データD2では、識別番号が42、x座標の合計値が-180、y座標の合計値が7000、オフセットx値が137165、オフセットy値が120250、エッジ数が10となる。また、このシミュレーション点データD10のデータD17には、エッジE20B,E36,E42,E26,E48A,E23B,E39,E45,E50,E58AのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスが格納されている。この識別番号E42の180度回転のシミュレーション点データD10におけるx座標の合計値、y座標の合計値及びエッジ数とエッジデータD20とは、図12に示した識別番号E15の0度回転時のそれと全て一致する。図26に示すように、270度回転のシミュレーション点データD2では、識別番号が42、x座標の合計値が-7000、y座標の合計値が-180、オフセットx値が137165、オフセットy値が120250、エッジ数が10となる。また、このシミュレーション点データD10のデータD17には、エッジE23B,E20B,E39,E36,E45,E42,E50,E26,E58A,E48AのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスが格納されている。この識別番号E42の270度回転のシミュレーション点データD10におけるx座標の合計値、y座標の合計値及びエッジ数とエッジデータD20とは、図15に示した識別番号E15の90度回転時のそれと全て一致する。図27に示すように、0度回転鏡像のシミュレーション点データD2では、識別番号が42、x座標の合計値が-180、y座標の合計値が-7000、オフセットx値が137165、オフセットy値が120250、エッジ数が10となる。また、このシミュレーション点データD10のデータD17には、エッジE23B,E39,E45,E50,E58A,E20B,E36,E42,E26,E48AのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスが格納されている。この識別番号E42の0度回転鏡像のシミュレーション点データD10におけるx座標の合計値、y座標の合計値及びエッジ数とエッジデータD20とは、図20に示した識別番号E15の180度回転鏡像時のそれと全て一致する。図28に示すように、90度回転鏡像のシミュレーション点データD2では、識別番号が42、x座標の合計値が7000、y座標の合計値が-180、オフセットx値が137165、オフセットy値が120250、エッジ数が10となる。また、このシミュレーション点データD10のデータD17には、エッジE20B,E23B,E36,E39,E42,E45,E26,E50,E48A,E58AのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスが格納されている。この識別番号E42の90度回転鏡像のシミュレーション点データD10におけるx座標の合計値、y座標の合計値及びエッジ数とエッジデータD20とは、図21に示した識別番号E15の270度回転鏡像時のそれと全て一致する。図29に示すように、180度回転鏡像のシミュレーション点データD2では、識別番号が42、x座標の合計値が180、y座標の合計値が7000、オフセットx値が137165、オフセットy値が120250、エッジ数が10となる。また、このシミュレーション点データD10のデータD17には、エッジE48A,E26,E42,E36,E20B,E58A,E50,E45,E39,E23BのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスが格納されている。この識別番号E42の180度回転鏡像のシミュレーション点データD10におけるx座標の合計値、y座標の合計値及びエッジ数とエッジデータD20とは、図18に示した識別番号E15の0度回転鏡像時のそれと全て一致する。図30に示すように、270度回転鏡像のシミュレーション点データD2では、識別番号が42、x座標の合計値が-7000、y座標の合計値が180、オフセットx値が137165、オフセットy値が120250、エッジ数が10となる。また、このシミュレーション点データD10のデータD17には、エッジE58A,E48A,E50,E26,E45,E42,E39,E36,E23B,E20BのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスが格納されている。この識別番号E42の270度回転鏡像のシミュレーション点データD10におけるx座標の合計値、y座標の合計値及びエッジ数とエッジデータD20とは、図19に示した識別番号E15の90度回転鏡像時のそれと全て一致する。そして、CPU11は、以上のように作成されたシミュレーション点データD2を記憶装置13に格納する。以後も同様に、全てのエッジE0~E87に対する処理が終了するまで上記ステップS31~S35の処理が繰り返し実行される。そして、全てのエッジE0~E87に対する処理が終了すると、88個の各エッジE0~E87シミュレーション点に対して8個のシミュレーション点データD1,D2が作成されるため、合計704=88×8個のシミュレーション点データD1,D2が作成される。なお、ここでは、説明の便宜上、エッジE15の処理を行った後にエッジE42の処理を行うようにしたが、この処理の順序は特に制限されない。例えば記憶装置13に格納された順序、つまり識別番号の小さい順にエッジE0→E1→...→E14と順次処理された後に、エッジE15の処理を実行するようにしてもよい。この場合には、その後も識別番号の小さい順にエッジE16→E17→...→E42→...→E87と順次処理される。次に、図9に示すステップS36において、CPU11は、上記作成された全てのシミュレーション点データD1,D2を所定の条件でソート整列し、上記同一シミュレーション点を算出する。以下に、このステップS36の詳細処理を図31~図37に従って説明する。まず、図31に示すステップS41において、CPU11は、全てのシミュレーション点データD1,D2を所定の条件でソートする。具体的には、上記作成された704個のシミュレーション点データD1,D2を、以下に示すア~キの複数のデータをソートキーとして昇順ソートする。アエッジデータのx座標の合計値データD12イエッジデータのy座標の合計値データD13ウエッジ数データD14エ全ての始点x座標データD22オ全ての始点y座標データD23カ全ての終点x座標データD24キ全ての終点y座標データD25より具体的には、アのデータを第1キーとして昇順ソートし、イのデータを第2キーとして昇順ソートし、ウのデータを第3キーとして昇順ソートする。さらに、エのデータを第4キーとして昇順ソートし、オのデータを第5キーとして昇順ソートし、カのデータを第6キーとして昇順ソートし、キのデータを第7キーとして昇順ソートする。このステップS41では、特にエ~キのデータが比較されることで、影響範囲IR内の全てのエッジの始点座標及び終点座標が一致するか否かが比較される。以上のようなソート処理が終了すると、704個のシミュレーション点データD1,D2が図32に示すようにソート整列される。ここで、図32の識別番号-回転鏡像状態欄において、例えばE10-HのE10は識別番号E10を示し、E10-HのHは270度回転鏡像を示している。なお、その他の回転鏡像状態を示す記号は、Aが0度回転、Bが90度回転、Cが180度回転、Dが270度回転、Eが0度回転鏡像、Fが90度回転鏡像、Gが180度回転鏡像をそれぞれ示している。また、整列順位の直前データとの関係欄において、=記号は整列順位の直前のシミュレーション点データと同一である、つまりソートキーとした上記ア~キのデータの全てが直前のシミュレーション点データと同一であることを示している。換言すると、上記=記号は直前の整列順位と同順位であることを示している。ここで、例えば図15及び図26の2つのシミュレーション点データD2を比較すると明らかなように、2つのシミュレーション点データD2が同一シミュレーション点である場合には、上記ア~キの全てのデータが同一となる。このため、=記号が付与されたシミュレーション点データと、その直前の整列順位のシミュレーション点データとが同一シミュレーション点であると判断することができる。一方、記号は整列順位の直前のシミュレーション点データと相違する、つまりソートキーとした上記ア~キのデータのうち少なくとも1つのデータが直前のシミュレーション点データと相違することを示している。このため、記号が付与されたシミュレーション点データと、その直前の整列順位のシミュレーション点データとは同一シミュレーション点ではないと判断することができる。本例では、整列順位1である識別番号E10の270度回転鏡像のシミュレーション点データD2と整列順位2である識別番号E69の270度回転のシミュレーション点データD2とが同一シミュレーション点となる。一方、整列順位3である識別番号E10の270度回転のシミュレーション点データD2は、整列順位2である識別番号E69の270度回転のシミュレーション点データD2とは異なるシミュレーション点データになる。また、先の図10~図30で例に挙げた識別番号E15,E42の8通りのシミュレーション点データD1,D2も昇順で整列される。詳述すると、各8通りのシミュレーション点データD1,D2の中では、識別番号E15の90度回転のシミュレーション点データD2図15参照及び識別番号E42の270度回転のシミュレーション点データD2図26参照のデータD12,D13が-7000、-180で最も小さい。また、識別番号E15,E42の他のシミュレーション点データには、データD12,D13が-7000,-180となるシミュレーション点データは存在しない。したがって、識別番号E15,E42の中では最も整列順位の小さい位置、つまり整列順位61,62に、識別番号E15の90度回転のシミュレーション点データD2及び識別番号E42の270度回転のシミュレーション点データD2がそれぞれ整列される。そして、これら識別番号E15の90度回転のシミュレーション点データD2及び識別番号E42の270度回転のシミュレーション点データD2は、=記号で示されるように、同一シミュレーション点となる。さらに、整列順位63,64に示されるように、識別番号E12の270度回転鏡像のシミュレーション点データD2及び識別番号E45の90度回転鏡像のシミュレーション点データD2も識別番号E15の90度回転のシミュレーション点データD2と同一シミュレーション点となる。次に、図31に示すステップS42において、CPU11は、同一シミュレーション点に同じ識別番号を割り当てるために、新たに割り当てられる識別番号を0に設定初期化する。続いて、CPU11は、図33に示すような88個のエッジE0~E87に新たに付与される識別番号が格納される識別番号テーブル25、つまりエッジE0~E87に対応する88個の区画を有する識別番号テーブル25メモリ領域を記憶装置13に確保する。次いで、CPU11は、識別番号テーブル25の全ての内容を-1で初期化するステップS43。すなわち、図33に示すように、エッジE0~E87の新たな識別番号が全て-1に設定される。なお、ここでは識別番号テーブル25を-1で初期化するようにしたが、この値はエッジに識別番号として付与されることのない値であれば特に限定されない。次に、図31に示すステップS44において、CPU11は、最初のシミュレーション点データ、つまり図32に示した整列順位1の識別番号E10の270度回転鏡像のシミュレーション点データD2を記憶装置13から読み出す。続いて、CPU11は、読み出したシミュレーション点データD2内の識別番号10に新たな識別番号ここでは、0を設定するステップS45。具体的には、CPU11は、図34に示すように、識別番号テーブル25内のエッジE10の識別番号に対応する領域に設定された-1を、新たな識別番号0に書き換える。次に、図31に示すステップS46において、CPU11は、704個全てのシミュレーション点データD1,D2を取り出したか否かを判定する。ここでは、全てのシミュレーション点データD1,D2の取り出しが終了していないため、次のシミュレーション点データ、つまり図32に示した整列順位2の識別番号E69の270度回転のシミュレーション点データD2が記憶装置13から読み出されるステップS47。続いて、CPU11は、識別番号テーブル25において、読み出したシミュレーション点データD2の識別番号69に-1が設定されているか否かを判定するステップS48。ここでは、図34に示すように、識別番号テーブル25内のエッジE69の識別番号に対応する領域に-1が設定されているため、ステップS49に移る。次に、ステップS49において、CPU11は、識別番号テーブル25に最後に新たな識別番号を設定したシミュレーション点データ、ここでは識別番号E10の270度回転鏡像のシミュレーション点データD2と同一か否かを判定する。本例では、図32に示すように、上記ステップS47で取り出した識別番号E69の270度回転のシミュレーション点データD2と識別番号E10の270度回転鏡像のシミュレーション点データD2とが同一シミュレーション点であるためステップS49でYES、ステップS50を省略してステップS51に移る。このステップS51において、CPU11は、識別番号テーブル25内のエッジE69の識別番号に対応する領域に設定された-1を、新たな識別番号0に書き換える。その後、ステップS46に戻って、整列順位3の識別番号E10の270度回転のシミュレーション点データD2が取り出されステップS47、その取り出されたシミュレーション点データD2の識別番号10に-1が設定されているか否かが判定されるステップS48。ここでは、図34に示すように、識別番号テーブル25内のエッジE10の識別番号に対応する領域に-1以外の0が設定されており、既に新たな識別番号が付与されているためステップS48でNO、ステップS46に戻る。その後、ステップS46~S51の処理が繰り返し実行され、整列順位5の識別番号E11の90度回転のシミュレーション点データD2が取り出されるとステップS47、識別番号テーブル25内のエッジE11の識別番号に対応する領域に-1が設定されているためステップS48でYES、ステップS49に移る。このステップS49において、上記取り出された識別番号E11の90度回転のシミュレーション点データD2と最後に新たな識別番号を設定した識別番号E69の270度回転のシミュレーション点データD2とが同一シミュレーション点ではないと判定されると、新たな識別番号に1が加算されるステップS50。これにより、新たな識別番号が1に設定される。続いて、図35に示すように、識別番号テーブル25内のエッジE11の識別番号に対応する領域に設定された-1が、新たな識別番号1に書き換えられる。以後同様に、ステップS46~S51の処理が繰り返し実行され、図32に示す整列順位60の識別番号E19の90度回転のシミュレーション点データD2に対する処理が終了すると、識別番号テーブル25が図35に示すようになる。このとき、新たな識別番号は14になっている。次に、整列順位61の識別番号E15の90度回転のシミュレーション点データD2が取り出されるとステップS47、識別番号テーブル25図35参照内のエッジE15の識別番号に対応する領域に-1が設定されているため、ステップS49に移る。このステップS49では、図32に示すように、上記取り出された識別番号E15の90度回転のシミュレーション点データD2と最後に新たな識別番号が設定された識別番号E19の90度回転のシミュレーション点データD2とが同一シミュレーション点ではないと判定されるため、新たな識別番号に1が加算されるステップS50。これにより、新たな識別番号が15に設定される。続いて、図36に示すように、識別番号テーブル25内のエッジE15の識別番号に対応する領域に設定された-1が、新たな識別番号15に書き換えられる。次に、整列順位62の識別番号E42の270度回転のシミュレーション点データD2が取り出されるとステップS47、識別番号テーブル25内のエッジE42の識別番号に対応する領域に-1が設定されているため、ステップS49に移る。すると、ステップS49では、図32に示すように、上記取り出された識別番号E42の270度回転のシミュレーション点データD2と最後に新たな識別番号が設定された識別番号E15の90度回転のシミュレーション点データD2とが同一シミュレーション点であると判定されるため、ステップS51に移る。すると、図36に示すように、識別番号テーブル25内のエッジE42の識別番号に対応する領域に設定された-1が、上記エッジE15と同一の新たな識別番号15に書き換えられる。同様に、整列順位63の識別番号E12の270度回転鏡像のシミュレーション点データD2も識別番号E15の90度回転のシミュレーション点データD2と同一シミュレーション点であるため、エッジE12の識別番号に対応する領域が新たな識別番号15に書き換えられる。さらに、整列順位64の識別番号E45の90度回転鏡像のシミュレーション点データD2も識別番号E15の90度回転のシミュレーション点データD2と同一シミュレーション点であるため、エッジE45の識別番号に対応する領域が新たな識別番号15に書き換えられる。その後も全てのシミュレーション点データD1,D2の処理が終了するまでステップS46~S51の処理が繰り返し実行される。やがて、704個全てのシミュレーション点データD1,D2の処理が終了すると、識別番号テーブル25は図37に示すようになる。これにより、全てのエッジについて、同一シミュレーション点となるエッジに同一の識別番号が割り当てられたことになる。そして、ここで割り当てられた識別番号F0~F31を図形データ30,31のエッジに付与すると、先の図5cに示したようになる。なお、新たな識別番号の付与が終了すると、図9に示すステップS34が終了したことになり、同一シミュレーション点の算出処理図3のステップS23が終了したことになるため、新たな識別番号の付与された図形データ30,31に対して光強度シミュレーションステップS24が実行される。本実施形態において、図形データ30,31はパターンの一例、シミュレーション点データD1は第1評価点データの一例、シミュレーション点データD2は第2評価点データの一例、エッジA1は辺の一例、影響範囲IRは所定範囲の一例である。また、ステップS5は光近接効果補正工程の一例、ステップS21は分割工程の一例、ステップS31は取得工程の一例、ステップS32は正規化工程の一例、ステップS33は第1生成工程の一例、ステップS34は第2生成工程の一例である。また、ステップS41~S51は同一評価点算出工程の一例、ステップS41は第2整列工程の一例である。以上説明した本実施形態によれば、以下の効果を奏することができる。1図形データ30,31から切り出したままの0度回転のシミュレーション点データD1と併せて、光強度シミュレーション時の照明条件に応じた所定の回転鏡像状態におけるシミュレーション点データD2を考慮して、同一シミュレーション点を算出するようにした。これにより、影響範囲IR内の図形エッジが回転などによって異なる配置位置になっていたとしても、同一シミュレーション点として算出することができるようになる。すなわち、同一シミュレーション点を精度良く算出することができるようになる。したがって、光強度シミュレーションを実施する回数を効率的に減らすことができるため、OPC処理にかかる処理時間を短縮することができる。20度回転、90度回転、180度回転、270度回転、及びそれらの回転に鏡像を加えた8通りのシミュレーション点データD1,D2を考慮して同一シミュレーション点を算出するようにした。これにより、図形データ30,31から切り出したときの図形がどのような回転鏡像状態であっても、略全ての同一シミュレーション点を算出探索することができる。したがって、光強度シミュレーションを実施する回数をより効率的に減らすことができるため、OPC処理にかかる処理時間を短縮することができる。第2実施形態以下、第2実施形態について、図38~図60に従って説明する。この実施形態の同一シミュレーション点の算出処理が上記第1実施形態と異なっている。以下、第1実施形態との相違点を中心に説明する。なお、先の図1~図37に示した要素と同一の要素にはそれぞれ同一の符号を付して示し、それら各要素についての詳細な説明は省略する。まず、同一シミュレーション点の算出処理図3のステップS23の方法を図38~図54に従って説明する。ここでは、上記第1実施形態と同様にエッジE15とエッジE42のシミュレーション点を例に挙げ、さらにエッジE87のシミュレーション点を例に挙げて説明する。はじめに、本実施形態の同一シミュレーション点の算出処理の概要を説明する。上記第1実施形態では、1つのシミュレーション点について回転鏡像を考慮して8通りのシミュレーション点データを生成し、全てのシミュレーション点についての全て上記第1実施形態の例では704個のシミュレーション点データD1,D2を比較して同一シミュレーション点を算出するようにした。これに対し、本実施形態では、各シミュレーション点における8通りのシミュレーション点データの中から所定条件を満たす1つのシミュレーション点データを抽出し、全てのシミュレーション点で抽出された全シミュレーション点データを比較して同一シミュレーション点を算出する。すなわち、上記第1実施形態の例のように、88個のシミュレーション点エッジが存在する場合には、88個のシミュレーション点データが抽出され、その抽出された88個のシミュレーション点データが比較されて同一シミュレーション点が算出される。このような方法によって、上記第1実施形態と同様の精度で同一シミュレーション点を算出することが可能な理由を以下に説明する。例えば影響範囲内のエッジデータのx座標の合計値が-10、エッジデータのy座標の合計値が-20である第1データと、影響範囲内のエッジデータのx座標の合計値が20、エッジデータのy座標の合計値が-10である第2データという2つの同一シミュレーション点のデータがあったとする。この場合に、図14に示した変換テーブル24に従って第1データを座標変換すると、図39aに示すように8通りのデータを求めることができる。同様に、図14に示した変換テーブル24に従って第2データを座標変換すると、図39bに示すように8通りのデータを求めることができる。次に、図39a、bに示した8通りのデータを、x座標の合計値を第1キーとして昇順ソートし、y座標の合計値を第2キーとして昇順ソートする。すると、第1データについての整列結果は図39cに示すようになり、第2データについての整列結果は図39dに示すようになる。このとき、この整列結果の整列順位が最も小さいデータを上記所定条件として8通りのデータから1つのデータを抽出すると、第1データについては270度回転鏡像状態の-20,-10というデータが抽出され、第2データについては0度回転鏡像状態の-20,-10というデータが抽出される。これにより、第1データと第2データとからは共に、-20,-10という同一のデータが抽出される。このことから、0度回転時のデータがどのような回転鏡像状態であっても、複数のデータから所定条件同じ条件を満たす1つのデータを抽出することにより、同一のデータを抽出することができることが分かる。したがって、このように抽出されたデータを比較することにより、上記第1実施形態と同様の精度で同一シミュレーション点を算出することができる。以下に、その具体的な処理方法について説明する。まず、図38に示すステップS61において、CPU11図1参照は、対象のエッジここでは、エッジE15の0度回転のシミュレーション点データD1を上記第1実施形態と同様に作成する。すなわち、このステップS61では、先に説明した図9のステップS31~S33と同様の処理が実行される。したがって、このとき上記第1実施形態と同様に、図40に示すように、シミュレーション点となるエッジE15の中心座標で正規化されたエッジデータD20が作成され、そのエッジデータD20やシミュレーション点の座標等に基づいてシミュレーション点データD10が作成される。これにより、シミュレーション点データD10及びエッジデータD20を有するシミュレーション点データD1が作成される。そして、CPU11は、作成されたシミュレーション点データD1を記憶装置13に格納する。次に、図38に示すステップS62において、CPU11は、影響範囲IR内の図形を90度回転、180度回転、270度回転させた場合、影響範囲IR内の図形を鏡像反転させた場合、及び鏡像反転させた図形を90度回転、180度回転、270度回転させた場合図13参照の7通りの簡易シミュレーション点データD10aを作成する。ここで作成される簡易シミュレーション点データD10aは、図41及び図42に示すように、エッジデータD20が存在しない。すなわち、ステップS62では、エッジデータD20を作成しない。これは、上述したように、本実施形態の方法では、所定条件で抽出されたシミュレーション点データのみが、同一シミュレーション点を算出するために他のシミュレーション点におけるシミュレーション点データと比較されるためである。すなわち、所定条件で抽出されるシミュレーション点データのみにエッジデータが作成されれば十分であるため、抽出前の本ステップS62ではエッジデータD20の作成を省略している。以下に、ステップS62で作成される7通りの簡易シミュレーション点データD10aについて図41及び図42に従って説明する。この簡易シミュレーション点データD10aは、図40に示したシミュレーション点データD10と略同様のデータ構造を有している。但し、簡易シミュレーション点データD10aでは、エッジデータD20へアクセスするためのメモリアドレスが格納されるデータD17に、エッジデータD20が存在しないことを示すように無効アドレス値を表わすNULLが設定される。また、簡易シミュレーション点データD10aでは、エッジデータD20が存在しないため、データD16のエッジ数が0に設定される。図41aに示すように、90度回転の簡易シミュレーション点データD10aでは、識別番号が15、x座標の合計値が-7000、y座標の合計値が-180、オフセットx値が139300、オフセットy値が119550となる。このとき、x座標の合計値-7000は、0度回転のシミュレーション点データD10図40参照におけるy座標の合計値7000が上記変換テーブル24図14参照に従って座標変換されて算出される。同様に、y座標の合計値-180は、0度回転のシミュレーション点データD10図40参照におけるx座標の合計値-180が変換テーブル24に従って座標変換されて算出される。なお、その他の回転鏡像状態のシミュレーション点データD10aにおけるx座標の合計値及びy座標の合計値も同様に、0度回転のシミュレーション点データD10におけるx座標の合計値及びy座標の合計値が変換テーブル24に従って座標変換されて算出される。図41bに示すように、180度回転の簡易シミュレーション点データD10aでは、識別番号が15、x座標の合計値が180、y座標の合計値が-7000、オフセットx値が139300、オフセットy値が119550となる。図41cに示すように、270度回転の簡易シミュレーション点データD10aでは、識別番号が15、x座標の合計値が7000、y座標の合計値が180、オフセットx値が139300、オフセットy値が119550となる。図41dに示すように、0度回転鏡像の簡易シミュレーション点データD10aでは、識別番号が15、x座標の合計値が180、y座標の合計値が7000、オフセットx値が139300、オフセットy値が119550となる。図42aに示すように、90度回転鏡像の簡易シミュレーション点データD10aでは、識別番号が15、x座標の合計値が-7000、y座標の合計値が180、オフセットx値が139300、オフセットy値が119550となる。図42bに示すように、180度回転鏡像の簡易シミュレーション点データD10aでは、識別番号が15、x座標の合計値が-180、y座標の合計値が-7000、オフセットx値が139300、オフセットy値が119550となる。図42cに示すように、270度回転鏡像の簡易シミュレーション点データD10aでは、識別番号が15、x座標の合計値が7000、y座標の合計値が-180、オフセットx値が139300、オフセットy値が119550となる。そして、CPU11は、以上のように作成された7つの簡易シミュレーション点データD10aを記憶装置13に格納する。なお、以下の説明では、簡易シミュレーション点データD10aを単にシミュレーション点データD10aとも言う。次に、図38に示すステップS63において、CPU11は、上記作成した8つのシミュレーション点データD1,D10aの中から所定条件を満たすシミュレーション点データを抽出する。本実施形態では、8つのシミュレーション点データD1,D10aから、所定条件としてx座標の合計値が最も小さく、且つy座標の合計値が最も小さいシミュレーション点データが抽出される。そこで、CPU11は、8つのシミュレーション点データD1,D10aを、x座標の合計値を第1キーとして昇順ソートし、y座標の合計値を第2キーとして昇順ソートする。そして、CPU11は、この整列結果に基づいて、整列順位の最も小さいシミュレーション点データを抽出する。本例のエッジE15では、図43に示すように、90度回転の簡易シミュレーション点データD10aが抽出される。なお、上記所定条件を満たすシミュレーション点データが複数ある場合には、その複数のシミュレーション点データを全て抽出する。次に、図38に示すステップS64において、CPU11は、上記抽出された全てのシミュレーション点データのエッジデータD20を作成する。ここでは、図44に示すように、90度回転の簡易シミュレーション点データD10aのエッジデータD20を作成する。具体的には、影響範囲IR内の各エッジE20A,E23A,E16,E19,E12,E15,E6,E9,E2A,E5Aの始点x座標、始点y座標、終点x座標及び終点y座標を、0度回転のシミュレーション点データD1図40参照内の同データを変換テーブル24図14参照に従って座標変換することにより算出する。このように算出された座標値に基づいて、図44に示すような10個のエッジデータD21を有するエッジデータD20が作成される。また、このとき、シミュレーション点データD10aのデータD16は、0から、エッジデータD21の個数である10に変更される。さらに、シミュレーション点データD10aのデータD17は、NULLから、エッジE20A,E23A,E16,E19,E12,E15,E6,E9,E2A,E5AのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスに変更される。これにより、シミュレーション点データD10aとエッジデータD20とを有するシミュレーション点データD2aが生成される。なお、上記ステップS63で抽出されたシミュレーション点データが0度回転のシミュレーション点データD1である場合には、図40に示すように既にエッジデータD20が作成されているため、本ステップS64でのエッジデータD20の作成は省略される。次に、図38に示すステップS65において、CPU11は、上記ステップS63で抽出されたシミュレーション点データが複数存在するか否かを判定する。このとき、抽出されたシミュレーション点データが複数存在する場合には、ステップS66の処理が実行された後、ステップS67に移る。本例では、90度回転のシミュレーション点データD10aのみが抽出されているため、ステップS66の処理を省略してステップS67に移る。続いて、CPU11は、全てのシミュレーション点エッジに対する処理が終了したか否かを判定するステップS67。すなわち、ステップS67では、全てのシミュレーション点について、エッジデータD20を有するシミュレーション点データが1つ抽出されたか否かが判定される。全ての処理が終了していないと判定された場合には、次のシミュレーション点エッジに対する処理が実行されるステップS61~S66。ここでは、エッジE15に対する処理に続いて、エッジE42に対する処理が実行され、そのエッジE42の0度回転のシミュレーション点データD1が作成されるステップS61。これにより、先の図23で示したシミュレーション点データD10とエッジデータD20とを有するシミュレーション点データD1が作成される。そして、CPU11は、作成されたシミュレーション点データD1を記憶装置13に格納する。続いて、CPU11は、図45及び図46に示すように、対象のエッジE42評価点に対する7通りの簡易シミュレーション点データD10aを作成するステップS62。以下に、ここで作成される簡易シミュレーション点データD10aについて説明する。図45aに示すように、90度回転の簡易シミュレーション点データD10aでは、識別番号が42、x座標の合計値が7000、y座標の合計値が180、オフセットx値が137165、オフセットy値が120250となる。図45bに示すように、180度回転の簡易シミュレーション点データD10aでは、識別番号が42、x座標の合計値が-180、y座標の合計値が7000、オフセットx値が137165、オフセットy値が120250となる。図45cに示すように、270度回転の簡易シミュレーション点データD10aでは、識別番号が42、x座標の合計値が-7000、y座標の合計値が-180、オフセットx値が137165、オフセットy値が120250となる。図46aに示すように、0度回転鏡像の簡易シミュレーション点データD10aでは、識別番号が42、x座標の合計値が-180、y座標の合計値が-7000、オフセットx値が137165、オフセットy値が120250となる。図46bに示すように、90度回転鏡像の簡易シミュレーション点データD10aでは、識別番号が42、x座標の合計値が7000、y座標の合計値が-180、オフセットx値が137165、オフセットy値が120250となる。図46cに示すように、180度回転鏡像の簡易シミュレーション点データD10aでは、識別番号が42、x座標の合計値が180、y座標の合計値が7000、オフセットx値が137165、オフセットy値が120250となる。図46dに示すように、270度回転鏡像の簡易シミュレーション点データD10aでは、識別番号が42、x座標の合計値が-7000、y座標の合計値が180、オフセットx値が137165、オフセットy値が120250となる。そして、CPU11は、以上のように作成された簡易シミュレーション点データD10aを記憶装置13に格納する。次に、CPU11は、8つのシミュレーション点データD1,D10aを、x座標の合計値を第1キーとして昇順ソートし、y座標の合計値を第2キーとして昇順ソートする。そして、CPU11は、この整列結果に基づいて、整列順位の最も小さいシミュレーション点データを抽出する。本例のエッジE42では、図47に示すように、270度回転の簡易シミュレーション点データD10aが抽出される。このように、エッジE15の90度回転の簡易シミュレーション点データD10a図41a参照と同一の値x座標の合計値が-7000、y座標の合計値が-180になる270度回転の簡易シミュレーション点データD10aが抽出される。次に、0度回転のシミュレーション点データD1図23のエッジデータD20内の各座標を座標変換することにより、上記抽出された270度回転の簡易シミュレーション点データD10aのエッジデータD20を作成する。これにより、図26に示したシミュレーション点データD2と同様のシミュレーション点データD2a図示略が作成される。ここで作成されるシミュレーション点データD2aにおけるx座標の合計値、y座標の合計値及びエッジ数とエッジデータD20とは、図44に示した識別番号E15の90度回転時のそれと全て一致する。続いて、抽出されたシミュレーション点データが1つでありステップS66でNO、全てのシミュレーション点に対する処理が終了していないためステップS67でNO、次のシミュレーション点に対する処理が実行される。ここでは、エッジE42に対する処理に続いて、エッジE87に対する処理が実行され、そのエッジE42の0度回転のシミュレーション点データD1が作成されるステップS61。具体的には、図48に示すように、エッジE87の中心座標128750,117900がシミュレーション点評価点SE87に設定される。続いて、評価点SE87を中心にして、上記第1実施形態と同様に四角形状の影響範囲IRが設定される。次いで、影響範囲IR内の7個のエッジE85,E77,E81,E87,E84,E76,E80のエッジデータ22図6参照が記憶装置13から読み出される。そして、影響範囲IRからはみ出すエッジE80,E81を影響範囲IRで切り出すためにエッジを切断する。すると、始点座標130250,118240及び終点座標129750,118240であるエッジE80の一部が切断された後のエッジE80Aでは、始点座標が129950,118240となり、終点座標が129750,118240となる。同様に、始点座標129750,117560及び終点座標130250,117560であるエッジE81の一部が切断された後のエッジE81Aでは、始点座標が129750,117560となり、終点座標が129950,117560となる。ここでは、上記第1実施形態と同様に、同一シミュレーション点の一致精度を向上させるために影響範囲IRからはみ出すエッジを切断するようにしたが、影響範囲IRからはみ出すエッジを切断しなくとも同一シミュレーション点を判定することはできる。次に、切り出されたエッジの始点座標及び終点座標が評価点SE87の座標で正規化され、さらに正規化されたエッジデータD21が上述と同様の条件正規化後の始点x座標,始点y座標,終点x座標,終点y座標を全てキーに含めた条件でソートされる。その正規化及びソート後のエッジデータD21が順に格納されたエッジデータD20図49参照が記憶装置13に格納される。ここで、正規化されたエッジE85の始点座標及び終点座標はそれぞれ0,-340及び500,-340となり、正規化されたエッジE77の始点座標及び終点座標はそれぞれ500,-340及び1000,-340となる。正規化されたエッジE81Aの始点座標及び終点座標はそれぞれ1000,-340及び1200,-340となり、正規化されたエッジE87の始点座標及び終点座標はそれぞれ0,340及び0,-340となる。正規化されたエッジE84の始点座標及び終点座標はそれぞれ500,340及び0,340となり、正規化されたエッジE76の始点座標及び終点座標はそれぞれ1000,340及び500,340となる。そして、正規化されたエッジE80Aの始点座標及び終点座標はそれぞれ1200,340及び1000,340となる。続いて、CPU11は、図49に示すように、上記正規化後のエッジデータD20に基づいてシミュレーション点データD10を作成し、それらシミュレーション点データD10及びエッジデータD20を有するシミュレーション点データD1を作成する。この0度回転のシミュレーション点データD1では、識別番号が87、x座標の合計値が8400、y座標の合計値が0、オフセットx値が128750、オフセットy値が117900、エッジ数が7となる。また、シミュレーション点データD10のデータD17には、エッジE85,E77,E81A,E87,E84,E76,E80AのエッジデータD21が順に格納されているエッジデータD20のメモリアドレスが格納されている。そして、CPU11は、作成されたシミュレーション点データD1を記憶装置13に格納する。続いて、CPU11は、図50及び図51に示すように、対象のエッジE87評価点に対する7通りの簡易シミュレーション点データD10aを作成するステップS62。以下に、ここで作成される簡易シミュレーション点データD10aについて説明する。図50aに示すように、90度回転の簡易シミュレーション点データD10aでは、識別番号が87、x座標の合計値が0、y座標の合計値が8400、オフセットx値が128750、オフセットy値が117900となる。図50bに示すように、180度回転の簡易シミュレーション点データD10aでは、識別番号が87、x座標の合計値が-8400、y座標の合計値が0、オフセットx値が128750、オフセットy値が117900となる。図50cに示すように、270度回転の簡易シミュレーション点データD10aでは、識別番号が87、x座標の合計値が0、y座標の合計値が-8400、オフセットx値が128750、オフセットy値が117900となる。図50dに示すように、0度回転鏡像の簡易シミュレーション点データD10aでは、識別番号が87、x座標の合計値が-8400、y座標の合計値が0、オフセットx値が128750、オフセットy値が117900となる。図50eに示すように、90度回転鏡像の簡易シミュレーション点データD10aでは、識別番号が87、x座標の合計値が0、y座標の合計値が-8400、オフセットx値が128750、オフセットy値が117900となる。図51aに示すように、180度回転鏡像の簡易シミュレーション点データD10aでは、識別番号が87、x座標の合計値が8400、y座標の合計値が0、オフセットx値が128750、オフセットy値が117900となる。図51bに示すように、270度回転鏡像の簡易シミュレーション点データD10aでは、識別番号が87、x座標の合計値が0、y座標の合計値が8400、オフセットx値が128750、オフセットy値が117900となる。そして、CPU11は、以上のように作成された簡易シミュレーション点データD10aを記憶装置13に格納する。次に、CPU11は、8つのシミュレーション点データD1,D10aを、x座標の合計値を第1キーとして昇順ソートし、y座標の合計値を第2キーとして昇順ソートする。そして、CPU11は、この整列結果に基づいて、整列順位の最も小さいシミュレーション点データを抽出する。本例のエッジE87では、図52に示すように、180度回転の簡易シミュレーション点データD10aと0度回転鏡像の簡易シミュレーション点データD10aとが共に所定条件を満たすため、2つの簡易シミュレーション点データD10aが抽出される。次に、CPU11は、上記抽出された2つのシミュレーション点データD10aのエッジデータD20を作成する。ここでは、図53に示す180度回転の簡易シミュレーション点データD10aのエッジデータD20を作成するとともに、図54に示す0度回転鏡像の簡易シミュレーション点データD10aのエッジデータD20を作成する。具体的には、図53に示すように、影響範囲IR内の各エッジE80A,E76,E84,E87,E81A,E77,E85の始点x座標、始点y座標、終点x座標及び終点y座標を、0度回転のシミュレーション点データD1図49参照内の同データを変換テーブル24図14参照に従って座標変換することにより算出する。さらに、座標変換後のエッジデータD21について、座標変換後の始点x座標,始点y座標,終点x座標,終点y座標を全てキーに含めたソート処理が行われる。そして、そのソート結果整列順序に対応する順序で7個のエッジデータD21が格納され、図53に示すようなエッジデータD20が作成される。また、このとき、シミュレーション点データD10aのデータD16は、0から、エッジデータD21の個数である7に変更される。さらに、シミュレーション点データD10aのデータD17は、NULLから、エッジE80A,E76,E84,E87,E81A,E77,E85のエッジデータD21順に格納されているエッジデータD20のメモリアドレスに変更される。これにより、シミュレーション点データD10aとエッジデータD20とを有する180度回転のシミュレーション点データD2aが生成される。同様に、0度回転のシミュレーション点データD1図49内のエッジデータD21内の各座標値が座標変換され、さらに座標変換後のエッジデータD21がソートされて、図54に示すような7個のエッジデータD21を有するエッジデータD20が作成される。また、このとき、シミュレーション点データD10aのデータD16は、0から、エッジデータD21の個数である7に変更される。さらに、シミュレーション点データD10aのデータD17は、NULLから、エッジE81A,E77,E85,E87,E80A,E76,E84のエッジデータD21が順に格納されているエッジデータD20のメモリアドレスに変更される。これにより、シミュレーション点データD10aとエッジデータD20とを有する0度回転鏡像のシミュレーション点データD2aが生成される。続いて、上記抽出されたシミュレーション点データが複数ここでは、2つ存在するため図38のステップ65でYES、ステップS66に移る。このステップS66において、CPU11は、上記エッジデータD20の作成された2つのシミュレーション点データD2aを、エッジデータD20を利用して更に比較することにより、優先順位の最も高いシミュレーション点データD2aを抽出する。詳述すると、まず、CPU11は、シミュレーション点データD10aのデータD16に格納されたエッジ数を比較し、エッジ数が最も少ないシミュレーション点データD2aを上記所定条件を満たすデータとして抽出する。本例では、図53及び図54に示すように、2つのシミュレーション点データD2aのエッジ数が共に7であるため、次の比較が行われる。次に、CPU11は、シミュレーション点データD2aのエッジデータD20の先頭に格納されているエッジデータD21の始点x座標を比較し、始点x座標が最も小さいシミュレーション点データD2aを上記所定条件を満たすデータとして抽出する。本例では、180度回転のシミュレーション点データD2aにおけるエッジデータD20の先頭エッジデータD21、つまりエッジE80Aの始点x座標-1200と、0度回転鏡像のシミュレーション点データD2aにおけるエッジデータD20の先頭エッジデータD21、つまりエッジE81Aの始点x座標-1200とが比較される。ここでは、両始点x座標値が同じ値であるため、その後、同エッジの始点y座標→終点x座標→終点y座標が順に比較される。本例のように上記全ての座標値が同じである場合には、先頭エッジデータD21の場合と同様に、各エッジデータD20内の2番目のエッジデータD21→3番目のエッジデータD21→...→エッジデータD20内の最終エッジデータD21という順序で、座標値が双方で異なる値となるまで比較処理が実行される。但し、本例では、180度回転のシミュレーション点データD2aのエッジデータD20と、0度回転鏡像のシミュレーション点データD2aのエッジデータD20とにおける各座標値が全て一致する。このような場合には、いずれのシミュレーション点データD2aを抽出しても、同じように同一シミュレーション点を探索することが可能であるため、任意のシミュレーション点データD2a例えば、180度回転のシミュレーション点データD2aを抽出する。このように実施されるステップS66及び先のステップS63の処理をまとめると、8つのシミュレーション点データから以下のような条件で1つのシミュレーション点が抽出される。Aまず、エッジデータのx座標の合計値及びエッジデータのy座標の合計値が所定条件を満たすシミュレーション点データを抽出する。B次に、エッジデータのx座標及びy座標の合計値が同じ場合には、エッジ数が所定条件を満たすシミュレーション点データを抽出する。Cさらに、上記A、Bのデータが同じである場合には、エッジデータD20内のエッジデータD21の始点座標及び終点座標が所定条件を満たすシミュレーション点データを抽出する。そして、このような所定条件を満たすシミュレーション点データが全てのシミュレーション点で抽出されると図38のステップS67でYES、88個の各エッジE0~E87シミュレーション点に対して1個のシミュレーション点データD1,D2aが抽出作成される。なお、ここでは、説明の便宜上、エッジE15の処理を行った後にエッジE42の処理を行って、エッジE87の処理を行うようにしたが、この処理の順序は特に制限されない。例えば記憶装置13に格納された順序、つまり識別番号の小さい順にエッジE0→E1→...→E87と順次処理するようにしてもよい。次に、ステップS68において、CPU11は、上記抽出された全てのシミュレーション点データD1,D2aを所定の条件でソートし、上記同一シミュレーション点を算出する。以下に、このステップS68の詳細処理を図55~図60に従って説明する。まず、図55に示すステップS71において、CPU11は、上記抽出された全てのシミュレーション点データD1,D2aを所定の条件でソートする。具体的には、上記抽出された88個のシミュレーション点データD1,D2aを、以下に示すア~キの複数のデータをソートキーとして昇順ソートする。アエッジデータのx座標の合計値データD12イエッジデータのy座標の合計値データD13ウエッジ数データD14エ全ての始点x座標データD22オ全ての始点y座標データD23カ全ての終点x座標データD24キ全ての終点y座標データD25より具体的には、アのデータを第1キーとして昇順ソートし、イのデータを第2キーとして昇順ソートし、ウのデータを第3キーとして昇順ソートする。さらに、エのデータを第4キーとして昇順ソートし、オのデータを第5キーとして昇順ソートし、カのデータを第6キーとして昇順ソートし、キのデータを第7キーとして昇順ソートする。このステップS71では、特にエ~キのデータが比較されることで、影響範囲IR内の全てのエッジの始点座標及び終点座標が一致するか否かが比較される。以上のようなソート処理が終了すると、88個のシミュレーション点データD1,D2aが図56に示すようにソートされる。なお、この図内の表記方法の意味は、先の図32と同様である。本例では、整列順位1である識別番号E10の270度回転鏡像のシミュレーション点データD2aと整列順位2である識別番号E69の270度回転のシミュレーション点データD2aとが同一シミュレーション点となる。一方、整列順位3である識別番号E11の90度回転のシミュレーション点データD2aは、整列順位2である識別番号E69の270度回転のシミュレーション点データD2aとは異なるシミュレーション点データになる。また、先の図40~図47で例に挙げた識別番号E15,E42については、整列順位38,37に示されるように、識別番号E15の90度回転のシミュレーション点データD2a及び識別番号E42の270度回転のシミュレーション点データD2aが同一シミュレーション点となる。次に、図55に示すステップS72において、CPU11は、同一シミュレーション点に同じ識別番号を割り当てるために、新たに割り当てられる識別番号を0に設定初期化する。次に、ステップS73において、CPU11は、最初のシミュレーション点データ、つまり図56に示した整列順位1の識別番号E10の270度回転鏡像のシミュレーション点データD2aを記憶装置13から読み出す。続いて、CPU11は、読み出したシミュレーション点データD2a内の識別番号10に新たな識別番号ここでは、0を設定するステップS74。具体的には、CPU11は、まず、図57に示すように、エッジE0~E87に新たに付与される識別番号が格納される識別番号テーブル26、具体的には各エッジE0~E87に対応する領域に上記ステップS22図3参照で付与された識別番号0~87がそれぞれ格納される識別番号テーブル26を記憶装置13に確保する。そして、CPU11は、識別番号テーブル26内のエッジE10の識別番号に対応する領域に設定された10を、図58に示すように、新たな識別番号0に書き換える。なお、図57に示す識別番号テーブル26の各領域に格納される値は特に限定されず、全ての領域に0を格納するようにしてもよい。次に、図55に示すステップS75において、CPU11は、88個全てのシミュレーション点データD1,D2aを取り出したか否かを判定する。ここでは、全てのシミュレーション点データD1,D2aの取り出しが終了していないため、次のシミュレーション点データ、つまり図56に示した整列順位2の識別番号E69の270度回転のシミュレーション点データD2aが記憶装置13から読み出されるステップS76。続いて、CPU11は、識別番号テーブル26に最後に新たな識別番号を設定したシミュレーション点データ、ここでは識別番号E10の270度回転鏡像のシミュレーション点データD2aと同一か否かを判定する。本例では、図56に示すように、上記ステップS76で取り出した識別番号E69の270度回転のシミュレーション点データD2aと識別番号E10の270度回転鏡像のシミュレーション点データD2aとが同一シミュレーション点であるためステップS77でYES、ステップS78を省略してステップS79に移る。このステップS79において、CPU11は、識別番号テーブル26内のエッジE69の識別番号に対応する領域に設定された69を、図58に示すように、新たな識別番号0に書き換える。その後、ステップS75に戻って、整列順位3の識別番号E11の90度回転のシミュレーション点データD2aが取り出されるステップS76。続いて、ステップS77において、上記取り出された識別番号E11の90度回転のシミュレーション点データD2aと最後に新たな識別番号を設定した識別番号E69の270度回転のシミュレーション点データD2aとが同一シミュレーション点ではないと判定されると、新たな識別番号に1が加算されるステップS50。これにより、新たな識別番号が1に設定される。続いて、識別番号テーブル26内のエッジE11の識別番号に対応する領域に設定された11が、図59に示すように、新たな識別番号1に書き換えられる。以後同様に、ステップS75~S79の処理が繰り返し実行され、図56に示す整列順位37の識別番号E19の90度回転のシミュレーション点データD2aに対する処理が終了すると、新たな識別番号が14になっている。次に、整列順位38の識別番号E15の90度回転のシミュレーション点データD2aが取り出されるとステップS76、ステップS77に移る。このステップS77では、上記取り出された識別番号E15の90度回転のシミュレーション点データD2aと最後に新たな識別番号が設定された識別番号E19の90度回転のシミュレーション点データD2aとが同一シミュレーション点ではないと判定されるため、新たな識別番号に1が加算されるステップS78。これにより、新たな識別番号が15に設定される。続いて、識別番号テーブル26内のエッジE15の識別番号に対応する領域に設定された15が、図59に示されるように、新たな識別番号15に書き換えられる。次に、整列順位39の識別番号E42の270度回転のシミュレーション点データD2aが取り出されるとステップS76、ステップS77に移る。このステップS77では、上記取り出された識別番号E42の270度回転のシミュレーション点データD2aと最後に新たな識別番号が設定された識別番号E15の90度回転のシミュレーション点データD2aとが同一シミュレーション点であると判定されるため、ステップS79に移る。すると、識別番号テーブル26内のエッジE42の識別番号に対応する領域に設定された42が、図59に示されるように、上記エッジE15と同一の新たな識別番号15に書き換えられる。同様に、整列順位40の識別番号E12の270度回転鏡像のシミュレーション点データD2aも識別番号E15の90度回転のシミュレーション点データD2aと同一シミュレーション点であるため、エッジE12の識別番号に対応する領域が新たな識別番号15に書き換えられる。さらに、整列順位41の識別番号E45の90度回転鏡像のシミュレーション点データD2aも識別番号E15の90度回転のシミュレーション点データD2aと同一シミュレーション点であるため、エッジE45の識別番号に対応する領域が新たな識別番号15に書き換えられる。その後も、上記抽出された全てのシミュレーション点データD1,D2aの処理が終了するまでステップS75~S79の処理が繰り返し実行される。やがて、88個全てのシミュレーション点データD1,D2aの処理が終了すると、識別番号テーブル26は図60に示すようになる。これにより、全てのエッジについて、同一シミュレーション点となるエッジに同一の識別番号が割り当てられたことになる。このとき、図60に示した識別番号テーブル26は、上記第1実施形態で生成された図37の識別番号テーブル25と同じになる。すなわち、本実施形態の同一シミュレーション点の算出方法であっても、上記第1実施形態と同程度の精度で同一シミュレーション点を算出することができる。本実施形態において、シミュレーション点データD1は第1評価点データの一例、簡易シミュレーション点データD10aは第2評価点データの一例である。また、ステップS61は取得工程、正規化工程及び第1生成工程の一例、ステップS62は第2生成工程の一例、ステップS63~S68は同一評価点算出工程の一例、ステップS63~S66は抽出工程の一例である。また、ステップS63は第1抽出工程の一例、ステップS64は作成工程の一例、ステップS66は第2抽出工程及び第3抽出工程の一例、ステップS68は算出工程の一例、ステップS71は第1整列工程の一例である。以上説明した実施形態によれば、第1実施形態の1及び2の効果に加えて以下の効果を奏する。3各シミュレーション点について作成した8つのシミュレーション点データの中から所定条件を満たす1つのシミュレーション点データを予め抽出し、各シミュレーション点毎に抽出した全シミュレーション点データを比較することにより同一シミュレーション点を算出するようにした。これにより、同一シミュレーション点を算出する際に比較されるシミュレーション点データの数を大幅に減らすことができる。具体的には、作成した全てのシミュレーション点データを比較して同一シミュレーション点を算出する場合と比べて、同一シミュレーション点を算出する際に比較されるシミュレーション点データの数を1/8に減らすことができる。したがって、同一シミュレーション点を算出するためのシミュレーション点データ同士の比較回数を減らすことができるため、同一シミュレーション点を高速に算出することができる。この結果、同一シミュレーション点の算出処理にかかる処理時間を短縮することができる。4各シミュレーション点について作成した8つのシミュレーション点データの中から所定条件を満たす1つのシミュレーション点データを抽出するようにした。このように複数のシミュレーション点データから所定条件同じ条件を満たす1つのシミュレーション点データを抽出することにより、0度回転時のデータがどのような回転鏡像状態であっても、同一のシミュレーション点データを抽出することができる。したがって、このように抽出されたシミュレーション点データを比較して同一シミュレーション点を算出することにより、作成した全てのシミュレーション点データを比較して同一シミュレーション点を算出する場合と同様の精度で同一シミュレーション点を算出することができる。すなわち、同一シミュレーション点の算出精度を低下させることなく、同一シミュレーション点の算出処理にかかる処理時間を短縮することができる。5なお、モデルベースOPCの光強度シミュレーションは単純で膨大な数値演算を行うため、GPUGraphicProcessingUnitを使用して高速に処理させることができる。このような仕組みで処理されるモデルベースOPCでは、同一シミュレーション点を算出する処理がモデルベースOPC処理全体の処理時間の多くを占めるようになってきている。これに対し、本実施形態の処理方法によれば、同一シミュレーション点の算出処理にかかる処理時間を短縮することができるため、モデルベースOPC処理全体の処理時間を大幅に短縮することができる。6ステップS63で抽出された簡易シミュレーション点データD10aのみエッジデータD20を作成するようにした。これにより、ステップS63で抽出されない簡易シミュレーション点データD10aのエッジデータD20の作成が省略されるため、その分だけ処理時間を短縮することができる。また、上記作成が省略された分だけエッジデータD20を格納するためのメモリ領域を小さくすることができる。7各シミュレーション点について作成した8つのシミュレーション点データの中から所定条件を満たす1つのシミュレーション点データを予め抽出し、各シミュレーション点毎に抽出した全シミュレーション点データを比較することにより同一シミュレーション点を算出するようにした。このため、同一シミュレーション点を算出する際には、1つのシミュレーション点に対して1つのシミュレーション点データのみが比較対象となる。したがって、新たな識別番号を付与する際に、1つのシミュレーション点に対して1つのシミュレーション点データのみが取り出されるため、新たな識別番号が1度付与されたシミュレーション点に対して他のシミュレーション点データが取り出されることがない。このため、新たな識別番号を付与する際に、識別番号テーブル26を-1等で初期化する必要がない。他の実施形態なお、上記実施形態は、これを適宜変更した以下の態様にて実施することもできる。上記各実施形態では、光強度シミュレーション時の照明条件を、図61aに示すように円形照明とした。これに限らず、例えば図61bに示すように、光強度シミュレーション時の照明条件を輪帯照明としてもよい。この場合にも、上記各実施形態と同様に、0度回転、90度回転、180度回転、270度回転、及びそれらの回転に鏡像を加えた8通りのシミュレーション点データを考慮して同一シミュレーション点を算出することにより、略全ての同一シミュレーション点を算出することができる。また、例えば図61cに示すように、光強度シミュレーション時の照明条件を二眼照明ダイポール照明としてもよい。この場合には、二眼照明の形状が上下対称及び左右対称であるため、0度回転、180度回転、及びそれらの回転に鏡像を加えた4通りのシミュレーション点データを考慮して同一シミュレーション点を算出することにより、略全ての同一シミュレーション点を算出することができる。このため、この場合には、0度回転のシミュレーション点データD1と併せて、180度回転のシミュレーション点データD2,D10a、0度回転鏡像のシミュレーション点データD2,D10a、及び180度回転鏡像のシミュレーション点データD2,D10aを生成するようにする。上記第1実施形態のステップS41、及び上記第2実施形態のステップS71におけるソート処理では、上記ア~キのデータをソートキーとして昇順ソートを行うようにした。これに限らず、例えばア~キのデータをソートキーとして降順ソートを行うようにしてもよい。また、ア~キの優先順位は特に限定されず、例えばイのデータを第1キーとしてもよい。また、上記ア~キの全てのデータをソートキーとする必要はなく、少なくともエ~キのデータがソートキーに含まれていればよい。すなわち、影響範囲IR内の全てのエッジの始点座標及び終点座標が一致するか否かを比較することができればよい。上記第2実施形態におけるステップS63では、上記Aにおける所定条件を、エッジデータのx座標の合計値が最も小さく、且つエッジデータのy座標の合計値が最も小さいシミュレーション点データとした。これに限らず、例えばAにおける所定条件を、エッジデータのx座標の合計値が最も大きく、且つエッジデータのy座標の合計値が最も大きいシミュレーション点データとしてもよい。上記第2実施形態におけるステップS66では、上記Bにおける所定条件を、影響範囲IR内のエッジ数が最も小さいシミュレーション点データとした。これに限らず、例えばBにおける所定条件を、影響範囲IR内のエッジ数が最も大きいシミュレーション点データとしてもよい。また、上記Bの比較条件による抽出処理を省略してもよい。上記第2実施形態におけるステップS66では、上記Cにおける所定条件を、エッジデータD21の始点x座標が最も小さくなるデータ、又は始点y座標が最も小さくなるデータ、又は終点x座標が最も小さくなるデータ、又は終点y座標が最も小さくなるデータとした。これに限らず、例えばCにおける所定条件を、エッジデータD21の始点x座標が最も大きくなるデータ、又は始点y座標が最も大きくなるデータ、又は終点x座標が最も大きくなるデータ、又は終点y座標が最も大きくなるデータとしてもよい。また、ステップS66における比較順序も始点x座標→始点y座標→終点x座標→終点y座標の順序に限定されず、例えば始点y座標→始点x座標→終点y座標→終点x座標の順序に変更してもよい。上記各実施形態では、0度回転、90度回転、180度回転、270度回転、及びそれらの回転に鏡像を加えた8通りのシミュレーション点データを考慮して同一シミュレーション点を算出するようにした。これに限らず、例えば上記8通りのシミュレーション点データのうち少なくとも2つのシミュレーション点データを考慮して同一シミュレーション点を算出するようにしてもよい。これによっても、図形データ30,31から切り出したままの0度回転のシミュレーション点データD1のみを考慮して同一シミュレーション点を算出する場合よりも、同一シミュレーション点の算出精度を向上させることができる。上記実施形態では、分割点の座標をエッジの始点座標及び終点座標として取得するようにしたが、エッジの始点座標や終点座標を考えずに、分割点の座標を取得するようにしてもよい。例えば図5bに示す分割点Nsは、エッジE5の終点であると共にエッジE0の始点であるが、それらの終点座標及び始点座標は共に140550,119550となる。そこで、この分割点Nsが影響範囲IR内に含まれる場合に、分割点Nsの座標140550,119550のみを取得するようにしてもよい。以上の様々な実施の形態をまとめると、以下のようになる。付記1光強度シミュレーションを利用して設計データに含まれるパターンを補正するモデルベースの光近接効果補正方法であって、前記パターンの頂点及び頂点間に設定された分割点で前記パターンの辺を分割する分割工程と、前記分割した辺毎に設定された評価点を中心にした所定範囲内に含まれる前記分割点の座標を取得する取得工程と、前記取得した分割点の座標を前記評価点の座標で正規化する正規化工程と、前記正規化された分割点のx軸座標の合計値と、前記正規化された分割点のy軸座標の合計値と、前記正規化された分割点の座標データとを含む第1評価点データを生成する第1生成工程と、前記第1評価点データ内の少なくとも前記x軸座標の合計値及び前記y軸座標の合計値を座標変換して、前記所定範囲内のパターンを光強度シミュレーション時の照明条件に応じた所定の回転鏡像状態に変換した場合の第2評価点データを生成する第2生成工程と、前記第1評価点データ及び前記第2評価点データに基づいて、前記所定範囲内におけるパターンの配置及び形状が同じになる評価点を同一評価点として算出する同一評価点算出工程と、前記同一評価点毎に前記光強度シミュレーションを実施する工程と、を有することを特徴とする光近接効果補正方法。付記2前記同一評価点算出工程は、前記第1評価点データ及び前記第2評価点データの中から所定条件を満たす1つの評価点データを抽出する抽出工程と、前記抽出工程で前記評価点毎に抽出された全ての評価点データを比較することにより、前記同一評価点を算出する算出工程と、を有することを特徴とする付記1に記載の光近接効果補正方法。付記3前記抽出工程は、前記第1評価点データ及び前記第2評価点データの中から、前記x軸座標の合計値及び前記y軸座標の合計値が所定条件を満たす評価点データを抽出する第1抽出工程と、前記第1抽出工程で抽出された評価点データに対応する前記所定範囲内の分割点の座標データを作成する作成工程と、を有し、前記算出工程では、前記抽出工程で抽出された各評価点データに対応する前記所定範囲内の分割点の座標データの全てが一致するか否かを比較することにより、前記同一評価点を算出することを特徴とする付記2に記載の光近接効果補正方法。付記4前記抽出工程は、前記作成工程の後に、前記第1抽出工程で抽出された評価点データが複数存在する場合に、該複数の評価点データの中から、前記所定範囲内の分割点の数が所定条件を満たす評価点データを抽出する第2抽出工程と、前記第2抽出工程で抽出された評価点データが複数存在する場合に、該複数の評価点データの中から、前記所定範囲内の分割点の座標データが所定条件を満たす評価点データを抽出する第3抽出工程とを有することを特徴とする付記3に記載の光近接効果補正方法。付記5前記算出工程は、前記x軸座標の合計値、前記y軸座標の合計値、前記所定範囲内に含まれる辺又は分割点の数、及び前記所定範囲内の分割点の座標データをキーとして、前記抽出工程で前記評価点毎に抽出された全ての評価点データを整列する第1整列工程と、前記第1整列工程の結果に基づいて、整列順位が同順位となる評価点を前記同一評価点として算出する工程とを有することを特徴とする付記3又は4に記載の光近接効果補正方法。付記6前記分割点が前記分割された辺の始点及び終点に設定され、前記取得工程では、前記分割点の座標として前記辺の始点座標及び終点座標を取得し、前記正規化工程では、前記始点座標及び前記終点座標を前記評価点の座標で正規化し、前記作成工程では、前記第1抽出工程で抽出された評価点データに対応する前記所定範囲内の辺の始点座標及び終点座標を作成し、前記第1整列工程では、前記x軸座標の合計値、前記y軸座標の合計値、前記所定範囲内に含まれる辺の数、前記作成された全ての前記始点座標及び前記終点座標をキーとして、前記評価点毎に抽出された全ての評価点データを整列することを特徴とする付記5に記載の光近接効果補正方法。付記7前記第2生成工程では、前記第1評価点データ内の前記正規化された分割点の座標データを座標変換して生成された前記所定範囲内の分割点の座標データを有する第2評価点データを生成し、前記同一評価点算出工程は、前記x軸座標の合計値、前記y軸座標の合計値、前記所定範囲内に含まれる辺又は分割点の数、及び前記所定範囲内の分割点の座標データをキーとして、全ての前記第1評価点データ及び前記第2評価点データを整列する第2整列工程と、前記第2整列工程の結果に基づいて、整列順位が同順位となる評価点を前記同一評価点として算出する工程とを有することを特徴とする付記1に記載の光近接効果補正方法。付記8前記分割工程の後に、前記分割された各辺に識別番号を付与する工程を有し、前記同一評価点算出工程は、前記同一評価点であると判定された複数の辺に同一の識別番号を新たに付与する工程を有することを特徴とする付記1~7のいずれか1つに記載の光近接効果補正方法。付記9前記第2生成工程では、前記照明条件が円形照明又は輪帯照明である場合には、前記第1評価点データを鏡像反転させた場合と、前記第1評価点データ及び前記鏡像反転させた場合のデータを90度回転、180度回転、270度回転させた場合とに対応する7つの第2評価点データを生成する一方、前記照明条件が二眼照明である場合には、前記第1評価点データを鏡像反転させた場合と、前記第1評価点データ及び前記鏡像反転させた場合のデータを180度回転させた場合とに対応する3つの第2評価点データを生成することを特徴とする付記1~8のいずれか1つに記載の光近接効果補正方法。付記10設計装置が実行する設計方法であって、設計データを生成する工程と、前記設計データに含まれるパターンを、光強度シミュレーションを利用して補正するモデルベースの光近接効果補正工程と、前記補正後の設計データに基づいて描画データを生成する工程とを有し、前記光近接効果補正工程は、前記パターンの頂点及び頂点間に設定された分割点で前記パターンの辺を分割する分割工程と、前記分割した辺毎に設定された評価点を中心にした所定範囲内に含まれる前記分割点の座標を取得する取得工程と、前記取得した分割点の座標を前記評価点の座標で正規化する正規化工程と、前記正規化された分割点のx軸座標の合計値と、前記正規化された分割点のy軸座標の合計値と、前記正規化された分割点の座標データとを含む第1評価点データを生成する第1生成工程と、前記第1評価点データ内の少なくとも前記x軸座標の合計値及び前記y軸座標の合計値を座標変換して、前記所定範囲内のパターンを光強度シミュレーション時の照明条件に応じた所定の回転鏡像状態に変換した場合の第2評価点データを生成する第2生成工程と、前記第1評価点データ及び前記第2評価点データに基づいて、前記所定範囲内におけるパターンの配置及び形状が同じになる評価点を同一評価点として算出する同一評価点算出工程と、前記同一評価点毎に前記光強度シミュレーションを実施する工程と、を有することを特徴とする設計方法。付記11設計データを生成する処理と、前記設計データに含まれるパターンを、光強度シミュレーションを利用して補正するモデルベースの光近接効果補正処理と、前記補正後の設計データに基づいて描画データを生成する処理と、を実行し、前記光近接効果補正処理において、前記パターンの頂点及び頂点間に設定された分割点で前記パターンの辺を分割する処理と、前記分割した辺毎に設定された評価点を中心にした所定範囲内に含まれる前記分割点の座標を取得する処理と、前記取得した分割点の座標を前記評価点の座標で正規化する処理と、前記正規化された分割点のx軸座標の合計値と、前記正規化された分割点のy軸座標の合計値と、前記正規化された分割点の座標データとを含む第1評価点データを生成する処理と、前記第1評価点データ内の少なくとも前記x軸座標の合計値及び前記y軸座標の合計値を座標変換して、前記所定範囲内のパターンを光強度シミュレーション時の照明条件に応じた所定の回転鏡像状態に変換した場合の第2評価点データを生成する処理と、前記第1評価点データ及び前記第2評価点データに基づいて、前記所定範囲内におけるパターンの配置及び形状が同じになる評価点を同一評価点として算出する処理と、前記同一評価点毎に前記光強度シミュレーションを実施する処理と、を実行することを特徴とする設計装置。"