JPH08227431A - マスクパターンのリサイジング方法 - Google Patents
マスクパターンのリサイジング方法Info
- Publication number
- JPH08227431A JPH08227431A JP7033214A JP3321495A JPH08227431A JP H08227431 A JPH08227431 A JP H08227431A JP 7033214 A JP7033214 A JP 7033214A JP 3321495 A JP3321495 A JP 3321495A JP H08227431 A JPH08227431 A JP H08227431A
- Authority
- JP
- Japan
- Prior art keywords
- vertex
- input
- temporary
- hypotenuse
- vertices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Generation (AREA)
Abstract
(57)【要約】
【目的】CADシステムによって、マスクパターンの入
力図形を、高速で拡大演算または縮小演算処理する。 【構成】入力図形が斜辺を有するかどうかを判定し、斜
辺を有している場合には、その入力図形の頂点毎に、そ
の頂点が斜辺の影響を受けるかどうかを判定する。頂点
が斜辺の影響を受ける場合には、その頂点を挟む入力図
形の一対の辺を、図形の内部または外部に平行移動した
際のその頂点に対応するそれぞれの端点を、その頂点と
ともに仮図形の頂点とする。頂点が斜辺の影響を受けな
い場合には、その頂点を挟む入力図形の一対の辺を図形
の外部または内部にそれぞれ平行移動した際の各辺の交
点、または平行移動した各辺の延長線の交点を、入力図
形の頂点に対する仮図形の頂点とする。その後、得られ
た仮図形の各頂点を結んで仮図形を生成し、生成された
仮図形をOR演算する。
力図形を、高速で拡大演算または縮小演算処理する。 【構成】入力図形が斜辺を有するかどうかを判定し、斜
辺を有している場合には、その入力図形の頂点毎に、そ
の頂点が斜辺の影響を受けるかどうかを判定する。頂点
が斜辺の影響を受ける場合には、その頂点を挟む入力図
形の一対の辺を、図形の内部または外部に平行移動した
際のその頂点に対応するそれぞれの端点を、その頂点と
ともに仮図形の頂点とする。頂点が斜辺の影響を受けな
い場合には、その頂点を挟む入力図形の一対の辺を図形
の外部または内部にそれぞれ平行移動した際の各辺の交
点、または平行移動した各辺の延長線の交点を、入力図
形の頂点に対する仮図形の頂点とする。その後、得られ
た仮図形の各頂点を結んで仮図形を生成し、生成された
仮図形をOR演算する。
Description
【0001】
【産業上の利用分野】本発明は、CAD(Computer Aid
ed Design )システムを利用して実施されるマスクパタ
ーンを拡大演算処理および縮小演算処理するリサイジン
グ方法に関する。
ed Design )システムを利用して実施されるマスクパタ
ーンを拡大演算処理および縮小演算処理するリサイジン
グ方法に関する。
【0002】
【従来の技術】LSIの大規模高集積化に伴って、現在
では、CADシステムにより、LSIが設計されてい
る。特に、マスクパターンを対象としたアートワークシ
ステムにおいて、図形演算機能はなくてはならないもの
になっている。
では、CADシステムにより、LSIが設計されてい
る。特に、マスクパターンを対象としたアートワークシ
ステムにおいて、図形演算機能はなくてはならないもの
になっている。
【0003】図形演算の一つとして、マスクパターンの
拡大および縮小を行うリサイジング(resizing)は、マ
スクパターンの最小間隔や最小幅に関する設計規則検
証、配線可能領域の抽出、ノッチや突起の除去等に利用
されている。この場合のリサイジングは、マスクパター
ンを入力図形として、その各辺を、図形の外部あるいは
内部へ指定された変更幅だけ平行移動して、拡大図形ま
たは縮小図形を得る操作のことであり、相似図形を得る
操作ではない。
拡大および縮小を行うリサイジング(resizing)は、マ
スクパターンの最小間隔や最小幅に関する設計規則検
証、配線可能領域の抽出、ノッチや突起の除去等に利用
されている。この場合のリサイジングは、マスクパター
ンを入力図形として、その各辺を、図形の外部あるいは
内部へ指定された変更幅だけ平行移動して、拡大図形ま
たは縮小図形を得る操作のことであり、相似図形を得る
操作ではない。
【0004】例えば、図18(a)に示すようなマスク
パターンを入力図形30として、その入力図形30の各
辺を、図18(b)に示すように、指定幅dだけそれぞ
れ外部に平行移動させて拡大図形31を得る操作がリサ
イジング(拡大演算)であり、図18(c)に示すよう
に、入力図形30の各辺をそれぞれ拡大させて相似図形
32を得る操作とは異なる。
パターンを入力図形30として、その入力図形30の各
辺を、図18(b)に示すように、指定幅dだけそれぞ
れ外部に平行移動させて拡大図形31を得る操作がリサ
イジング(拡大演算)であり、図18(c)に示すよう
に、入力図形30の各辺をそれぞれ拡大させて相似図形
32を得る操作とは異なる。
【0005】リサイジングにおける拡大演算(expandin
g)では、図19(a)に示すように、入力図形30の各
辺から指定幅dの範囲にある外部領域33も、図形の内
部として扱うことを基本概念としており、縮小演算(sh
rinking)では、図19(b)に示すように、入力図形の
各辺から指定幅dの範囲にある内部領域34も図形の外
部として扱うことを基本概念としている。拡大演算の場
合には、入力図形30における頂点の内角が凸角(πよ
り小)になっていると、その頂点は、指定幅dだけ拡大
されることにより円弧状になる。
g)では、図19(a)に示すように、入力図形30の各
辺から指定幅dの範囲にある外部領域33も、図形の内
部として扱うことを基本概念としており、縮小演算(sh
rinking)では、図19(b)に示すように、入力図形の
各辺から指定幅dの範囲にある内部領域34も図形の外
部として扱うことを基本概念としている。拡大演算の場
合には、入力図形30における頂点の内角が凸角(πよ
り小)になっていると、その頂点は、指定幅dだけ拡大
されることにより円弧状になる。
【0006】例えば、拡大演算の場合には、図19
(c)に示すように、入力図形30における内角が凸角
になった頂点30aは、その頂点を構成する各辺30b
および30cがそれぞれ平行移動することにより消滅す
るが、扇形補間図形35によって補間されることによ
り、円弧状になる。しかし、マスクパターンでは、円弧
状の扇形補間図形35が存在すると、取扱が困難になる
ことから、図19(d)に示すように、扇形補間図形3
5における円弧部分の両端の各接線と円弧部分とによっ
て囲まれた追加図形36を扇形補間図形35に加えて、
図19(e)に示すように、扇形補間図形35を四角形
補間図形37に変えている。これにより、図19(f)
に示す拡大図形(リサイジング図形)31が得られる。
(c)に示すように、入力図形30における内角が凸角
になった頂点30aは、その頂点を構成する各辺30b
および30cがそれぞれ平行移動することにより消滅す
るが、扇形補間図形35によって補間されることによ
り、円弧状になる。しかし、マスクパターンでは、円弧
状の扇形補間図形35が存在すると、取扱が困難になる
ことから、図19(d)に示すように、扇形補間図形3
5における円弧部分の両端の各接線と円弧部分とによっ
て囲まれた追加図形36を扇形補間図形35に加えて、
図19(e)に示すように、扇形補間図形35を四角形
補間図形37に変えている。これにより、図19(f)
に示す拡大図形(リサイジング図形)31が得られる。
【0007】縮小演算の場合も、同様に、扇形補間図形
における円弧部分の両端の各接線と円弧部分とによって
囲まれた追加図形を扇形補間図形に加えて構成された四
角形補間図形を図形の外部として扱うことにより、図1
9(g)に示す縮小図形(リサイジング図形)38が得
られる。
における円弧部分の両端の各接線と円弧部分とによって
囲まれた追加図形を扇形補間図形に加えて構成された四
角形補間図形を図形の外部として扱うことにより、図1
9(g)に示す縮小図形(リサイジング図形)38が得
られる。
【0008】このようにして得られたリサイジング図形
は、ICのマスクパターンの最小間隔や最小幅に関する
規則検証、配線可能領域の抽出、ノッチや突起の除去等
に利用される。
は、ICのマスクパターンの最小間隔や最小幅に関する
規則検証、配線可能領域の抽出、ノッチや突起の除去等
に利用される。
【0009】最小間隔の設計規則検証は、複数のマスク
パターンが指定された最小間隔dだけ相互に離れている
かどうかを判定するとともに、最小間隔dを満たしてい
ない場合にはその部分を特定する処理である。例えば、
図20(a)に示すように、相互に平行になった一対の
マスクパターンに相当する入力図形41および42が、
最小間隔dを満足しているか否かを検証する場合には、
図20(b)に示すように、各入力図形41および42
を、最小間隔dの1/2の幅で拡大演算し、図20
(c)に示すように、拡大演算されたリサイジング図形
43および44が相互に重なっている場合には、その重
なり部分45にて、各入力図形41および42は最小間
隔dを満足していないものとして特定する。
パターンが指定された最小間隔dだけ相互に離れている
かどうかを判定するとともに、最小間隔dを満たしてい
ない場合にはその部分を特定する処理である。例えば、
図20(a)に示すように、相互に平行になった一対の
マスクパターンに相当する入力図形41および42が、
最小間隔dを満足しているか否かを検証する場合には、
図20(b)に示すように、各入力図形41および42
を、最小間隔dの1/2の幅で拡大演算し、図20
(c)に示すように、拡大演算されたリサイジング図形
43および44が相互に重なっている場合には、その重
なり部分45にて、各入力図形41および42は最小間
隔dを満足していないものとして特定する。
【0010】最小幅検証は、例えば、図21(a)に示
すような形状のマスクパターンに相当する図形46が、
最小幅寸法を満足しているか否かを検証する処理であ
り、マスクパターンに相当する入力図形46を最小幅寸
法dの1/2の幅で縮小演算し、図21(b)に示すよ
うに、縮小演算されたリサイジング図形47が、複数の
図形47aおよび47bに分離されたら、図21(c)
に示すように、その分離された部分48が最小幅寸法d
を満足していないものとして特定する。
すような形状のマスクパターンに相当する図形46が、
最小幅寸法を満足しているか否かを検証する処理であ
り、マスクパターンに相当する入力図形46を最小幅寸
法dの1/2の幅で縮小演算し、図21(b)に示すよ
うに、縮小演算されたリサイジング図形47が、複数の
図形47aおよび47bに分離されたら、図21(c)
に示すように、その分離された部分48が最小幅寸法d
を満足していないものとして特定する。
【0011】配線可能領域の抽出は、例えば、図22
(a)に示すように、すでに配線されている領域等のよ
うに、配線ができない領域を示す3つの入力図形51、
52、53を、図22(b)に示すように、配線幅の1
/2と配線最小間隔との和に等しい寸法dだけそれぞれ
拡大演算し、図22(c)に示すように、拡大演算され
た各リサイジング図形54、55、56以外の領域57
を、配線可能領域として抽出する。
(a)に示すように、すでに配線されている領域等のよ
うに、配線ができない領域を示す3つの入力図形51、
52、53を、図22(b)に示すように、配線幅の1
/2と配線最小間隔との和に等しい寸法dだけそれぞれ
拡大演算し、図22(c)に示すように、拡大演算され
た各リサイジング図形54、55、56以外の領域57
を、配線可能領域として抽出する。
【0012】ノッチまたは突起の除去とは、マスクパタ
ーンにおけるノッチの幅寸法(切り欠き部分の間隔)、
または、突起の幅が、最低寸法を満足していない場合
に、そのノッチ部分または突起部分を除去するものであ
り、例えば、図23(a)に示すように、ノッチ61a
を有する入力図形61の場合には、ノッチ61aの最小
幅寸法dの1/2の寸法で、図形61を拡大演算し、図
23(b)に示すように、拡大演算されたリサイジグ図
形62を得る。その後、図23(c)に示すように、拡
大演算されたリサイジング図形62を同じ寸法(d/
2)だけ縮小演算する。ノッチ61aの幅寸法が、最小
幅寸法dを満足していない場合には、縮小演算によって
得られたリサイジング図形63は、ノッチ61aが除去
された状態になる。
ーンにおけるノッチの幅寸法(切り欠き部分の間隔)、
または、突起の幅が、最低寸法を満足していない場合
に、そのノッチ部分または突起部分を除去するものであ
り、例えば、図23(a)に示すように、ノッチ61a
を有する入力図形61の場合には、ノッチ61aの最小
幅寸法dの1/2の寸法で、図形61を拡大演算し、図
23(b)に示すように、拡大演算されたリサイジグ図
形62を得る。その後、図23(c)に示すように、拡
大演算されたリサイジング図形62を同じ寸法(d/
2)だけ縮小演算する。ノッチ61aの幅寸法が、最小
幅寸法dを満足していない場合には、縮小演算によって
得られたリサイジング図形63は、ノッチ61aが除去
された状態になる。
【0013】ICのマスクパターンを構成する図形群を
処理する図形演算は、ICの大規模集積化による図形数
の増大に伴って、人手処理が困難となり、CADシステ
ムで処理されるようになっている。例えば、特開平3−
9474号公報には、コンピューターを援用した隣接パ
ターン間のオーバーラップを自動的に作成する方法が開
示されており、また、特開平6−19110号公報に
は、CADデーターを使用して半導体製造用マスクデー
ターを作成する方法が開示されている。
処理する図形演算は、ICの大規模集積化による図形数
の増大に伴って、人手処理が困難となり、CADシステ
ムで処理されるようになっている。例えば、特開平3−
9474号公報には、コンピューターを援用した隣接パ
ターン間のオーバーラップを自動的に作成する方法が開
示されており、また、特開平6−19110号公報に
は、CADデーターを使用して半導体製造用マスクデー
ターを作成する方法が開示されている。
【0014】また、膨大な数の図形を処理する必要性か
ら、図形演算には高速なアルゴリズムが各種提案されて
いる。
ら、図形演算には高速なアルゴリズムが各種提案されて
いる。
【0015】例えば、「A Concurrent pattern Operati
on Algorithm for VLSI Mask Data(Proc. 18th Design
Automation Conference, 1981) 」には、図形演算のひ
とつであるOR演算について報告されている(以下、こ
の報告を従来法1とする)。OR演算は、図形が1つ以
上重なっている領域と、図形が1つもない領域とを隔て
る境界線を抽出する演算であり、この報告では、OR演
算実行前の入力図形群の総頂点数をnとすると、O(n lo
g n)の計算複雑度でOR演算後の図形群を得ることがで
きる。
on Algorithm for VLSI Mask Data(Proc. 18th Design
Automation Conference, 1981) 」には、図形演算のひ
とつであるOR演算について報告されている(以下、こ
の報告を従来法1とする)。OR演算は、図形が1つ以
上重なっている領域と、図形が1つもない領域とを隔て
る境界線を抽出する演算であり、この報告では、OR演
算実行前の入力図形群の総頂点数をnとすると、O(n lo
g n)の計算複雑度でOR演算後の図形群を得ることがで
きる。
【0016】OR演算の一例を、図24に示す。図24
(a)に示すように、小さな正方形の入力図形65と、
大きな正方形の入力図形66と、この大きな正方形の入
力図形66に一部が重なった長方形の入力図形67と、
さらに、小さな長方形の開口部を示す入力図形68とを
OR演算する場合には、各入力図形65〜68の全ての
辺をベクトル化する。本例では、便宜的に図形の内部が
右側になるように各辺をベクトル化しており、従って、
開口部の入力図形68の各辺は、開口部の内部が左側に
なるようにベクトル化される。そして、ベクトルの向き
から入力図形65〜68の重なり数を得て、重なり数が
1以上の部分が取り出される。通常、開口部でない1つ
の入力図形の重なり数は1であり、図形の外側は0であ
る。また、2つの入力図形が重なっている部分では、重
なり数は2であり、開口部は重なり数が−1になる。O
R演算の結果、図24(b)に示す図形が得られ、負に
なった開口部の入力図形68は消滅する。
(a)に示すように、小さな正方形の入力図形65と、
大きな正方形の入力図形66と、この大きな正方形の入
力図形66に一部が重なった長方形の入力図形67と、
さらに、小さな長方形の開口部を示す入力図形68とを
OR演算する場合には、各入力図形65〜68の全ての
辺をベクトル化する。本例では、便宜的に図形の内部が
右側になるように各辺をベクトル化しており、従って、
開口部の入力図形68の各辺は、開口部の内部が左側に
なるようにベクトル化される。そして、ベクトルの向き
から入力図形65〜68の重なり数を得て、重なり数が
1以上の部分が取り出される。通常、開口部でない1つ
の入力図形の重なり数は1であり、図形の外側は0であ
る。また、2つの入力図形が重なっている部分では、重
なり数は2であり、開口部は重なり数が−1になる。O
R演算の結果、図24(b)に示す図形が得られ、負に
なった開口部の入力図形68は消滅する。
【0017】また、図形の拡大および縮小演算に関して
は、「An O(n log n)algorithm forLSI layout resizin
g problems (ISCAS '85,1985) 」に報告されている(以
下、この報告を従来法2とする)。この報告では、X方
向の拡大または縮小とY方向の拡大または縮小とを別個
に行うことにより、リサイジング図形を得るようになっ
ている。
は、「An O(n log n)algorithm forLSI layout resizin
g problems (ISCAS '85,1985) 」に報告されている(以
下、この報告を従来法2とする)。この報告では、X方
向の拡大または縮小とY方向の拡大または縮小とを別個
に行うことにより、リサイジング図形を得るようになっ
ている。
【0018】このために、入力図形群の総頂点数をnと
すると、理論的には、O(n log n)の計算複雑度にて処理
できるが、X方向とY方向との拡大または縮小が別個に
実施されるために、処理時間の高速化が困難であるとい
う問題がある。
すると、理論的には、O(n log n)の計算複雑度にて処理
できるが、X方向とY方向との拡大または縮小が別個に
実施されるために、処理時間の高速化が困難であるとい
う問題がある。
【0019】しかも、基本的にはX方向およびY方向に
平行な水平辺および垂直辺のみからなる図形を対象とし
ているために、X軸に対して45°または135°の角
度の斜辺を有する入力図形でもリサイジング処理は可能
であるが、斜辺の処理が複雑になる。例えば、図25
(a)に示すように、一対の斜辺71および72の間に
短い水平辺73を有するような入力図形70や、図25
(b)に示すように、斜辺74と水平辺75との間に短
い垂直辺76を有するような入力図形77を、水平辺7
3および垂直辺76の長さよりも大きな変更幅で拡大演
算する場合には、正確なリサイジング図形が得られな
い。各図形の正確な拡大演算処理図形は、図25(a)
および(b)に一点鎖線で示すように、水平辺73およ
び垂直辺76に対応する辺がそれぞれ消滅した状態にな
る。このような正確な拡大演算処理図形を得るために
は、各辺のX方向およびY方向の拡大処理に、さらに、
水平辺73を挟む一対の斜辺71および72の交点計
算、垂直辺76を挟む斜辺74および垂直辺75の交点
計算が、それぞれ必要になる。従って、このような複雑
な処理を追加しなければ正確なリサイジング図形を得る
ことができず、処理時間を高速化することは容易ではな
い。
平行な水平辺および垂直辺のみからなる図形を対象とし
ているために、X軸に対して45°または135°の角
度の斜辺を有する入力図形でもリサイジング処理は可能
であるが、斜辺の処理が複雑になる。例えば、図25
(a)に示すように、一対の斜辺71および72の間に
短い水平辺73を有するような入力図形70や、図25
(b)に示すように、斜辺74と水平辺75との間に短
い垂直辺76を有するような入力図形77を、水平辺7
3および垂直辺76の長さよりも大きな変更幅で拡大演
算する場合には、正確なリサイジング図形が得られな
い。各図形の正確な拡大演算処理図形は、図25(a)
および(b)に一点鎖線で示すように、水平辺73およ
び垂直辺76に対応する辺がそれぞれ消滅した状態にな
る。このような正確な拡大演算処理図形を得るために
は、各辺のX方向およびY方向の拡大処理に、さらに、
水平辺73を挟む一対の斜辺71および72の交点計
算、垂直辺76を挟む斜辺74および垂直辺75の交点
計算が、それぞれ必要になる。従って、このような複雑
な処理を追加しなければ正確なリサイジング図形を得る
ことができず、処理時間を高速化することは容易ではな
い。
【0020】さらに、「任意角度辺を含むLSIパター
ンの拡大・縮小手法(情報処理学会研究報告DA43-4, 19
88-7)」には、任意角度辺からなる入力図形を対象とし
て、リサイジング図形を得るために、中間的な仮図形を
生成し、生成された仮図形をOR演算することにより、
リサイジング図形を得る方法が開示されている(以下、
これを従来法3とする)。
ンの拡大・縮小手法(情報処理学会研究報告DA43-4, 19
88-7)」には、任意角度辺からなる入力図形を対象とし
て、リサイジング図形を得るために、中間的な仮図形を
生成し、生成された仮図形をOR演算することにより、
リサイジング図形を得る方法が開示されている(以下、
これを従来法3とする)。
【0021】この従来法3のフローチャートを図26に
示す。この従来法3では、まず、変更幅dを読み込むと
(図26(a)のステップ26−1、以下同様)、複数
の入力図形からなる入力図形群Sを読み込む(ステップ
26−2)。そして、読み込まれた入力図形群SをOR
演算する(ステップ26−3)。
示す。この従来法3では、まず、変更幅dを読み込むと
(図26(a)のステップ26−1、以下同様)、複数
の入力図形からなる入力図形群Sを読み込む(ステップ
26−2)。そして、読み込まれた入力図形群SをOR
演算する(ステップ26−3)。
【0022】マスクパターンが複数の図形によって構成
された図形群として入力される場合には、マスクパター
ンを拡大演算処理または縮小演算処理する前に、OR演
算が必要になる。例えば、図27(a)に示すマスクパ
ターン80を、図27(b)に示すように3つの矩形の
入力図形81、82、83として入力された場合に、O
R演算処理することなく拡大演算処理すると、図27
(c)に示すように、全ての入力図形81、82、83
が拡大演算処理されるために、各入力図形81、82、
83に対する拡大図形81’、82’、83’が得ら
れ、これらの拡大図形81’、82’、83’をOR演
算処理しても、正確なリサイジング図形が得られない。
このために、マスクパターンが複数の図形にて構成され
た図形群にて入力される場合には、その入力図形群に対
してOR演算が必要になる。
された図形群として入力される場合には、マスクパター
ンを拡大演算処理または縮小演算処理する前に、OR演
算が必要になる。例えば、図27(a)に示すマスクパ
ターン80を、図27(b)に示すように3つの矩形の
入力図形81、82、83として入力された場合に、O
R演算処理することなく拡大演算処理すると、図27
(c)に示すように、全ての入力図形81、82、83
が拡大演算処理されるために、各入力図形81、82、
83に対する拡大図形81’、82’、83’が得ら
れ、これらの拡大図形81’、82’、83’をOR演
算処理しても、正確なリサイジング図形が得られない。
このために、マスクパターンが複数の図形にて構成され
た図形群にて入力される場合には、その入力図形群に対
してOR演算が必要になる。
【0023】その後、入力図形群のOR演算処理後の図
形数をNとして(ステップ26−4)、N個の入力図形
の全てに対して仮図形を生成する(ステップ26−5〜
26−18)。
形数をNとして(ステップ26−4)、N個の入力図形
の全てに対して仮図形を生成する(ステップ26−5〜
26−18)。
【0024】仮図形の生成に際して、n番目の入力図形
をFとして(ステップ26−6)、その入力図形Fの頂
点数をMとし(ステップ26−7)、全ての頂点を頂点
列として方向付けて、各辺をベクトル化する(ステップ
26−8)。そして、全ての頂点に対して仮図形の頂点
を生成する(ステップ26−9〜26−16)。
をFとして(ステップ26−6)、その入力図形Fの頂
点数をMとし(ステップ26−7)、全ての頂点を頂点
列として方向付けて、各辺をベクトル化する(ステップ
26−8)。そして、全ての頂点に対して仮図形の頂点
を生成する(ステップ26−9〜26−16)。
【0025】仮図形の頂点は、入力図形Fにおける頂点
列のm番目の頂点をV、その頂点Vのベクトルの方向と
は反対側に隣接する頂点をU、頂点Vのベクトル方向に
隣接する頂点をWとし(ステップ26−10)、リサイ
ジングが拡大演算か縮小演算かを判断する(ステップ2
6−11)。そして、リサイジングが拡大演算の場合に
は、頂点Vの内角が凸角(πよりも小)か、凹角(πよ
りも大)かを判定する(ステップ26−12)。頂点V
の内角が凸角の場合には、頂点Vを挟む一対の辺UVお
よびVWをそれぞれ変更幅dだけOR演算図形の外部に
平行移動して得られる各ベクトルまたはそれらの延長線
の交点を仮図形の頂点とする(ステップ26−14)。
このような仮図形の頂点の生成方法をプロセスAとす
る。
列のm番目の頂点をV、その頂点Vのベクトルの方向と
は反対側に隣接する頂点をU、頂点Vのベクトル方向に
隣接する頂点をWとし(ステップ26−10)、リサイ
ジングが拡大演算か縮小演算かを判断する(ステップ2
6−11)。そして、リサイジングが拡大演算の場合に
は、頂点Vの内角が凸角(πよりも小)か、凹角(πよ
りも大)かを判定する(ステップ26−12)。頂点V
の内角が凸角の場合には、頂点Vを挟む一対の辺UVお
よびVWをそれぞれ変更幅dだけOR演算図形の外部に
平行移動して得られる各ベクトルまたはそれらの延長線
の交点を仮図形の頂点とする(ステップ26−14)。
このような仮図形の頂点の生成方法をプロセスAとす
る。
【0026】また、リサイジングが拡大演算であって、
頂点Vの内角が凹角の場合には、頂点Vを挟む一対の辺
UVおよびVWをそれぞれ変更幅dだけOR演算図形の
外部に平行移動して得られる各ベクトルU’V’および
V”W’の頂点Vに対応するそれぞれの端点V’および
V”と、入力図形の頂点Vとを、V’、V、V”の順
に、それぞれ、仮図形の頂点として登録する(ステップ
26−15)。このような仮図形の頂点の生成方法をプ
ロセスBとする。
頂点Vの内角が凹角の場合には、頂点Vを挟む一対の辺
UVおよびVWをそれぞれ変更幅dだけOR演算図形の
外部に平行移動して得られる各ベクトルU’V’および
V”W’の頂点Vに対応するそれぞれの端点V’および
V”と、入力図形の頂点Vとを、V’、V、V”の順
に、それぞれ、仮図形の頂点として登録する(ステップ
26−15)。このような仮図形の頂点の生成方法をプ
ロセスBとする。
【0027】リサイジングが縮小演算の場合にも、頂点
Vの内角が凸角(πよりも小)か、凹角(πよりも大)
かを判定し(ステップ26−13)、拡大演算の場合と
は逆に、頂点Vの内角が凹角の場合には、プロセスAに
よって、頂点Vを挟む一対の辺UVおよびVWをそれぞ
れ変更幅dだけOR演算図形の内部に平行移動して得ら
れるベクトルまたはそれらの延長線の交点を仮図形の頂
点とする(ステップ26−14)。リサイジングが縮小
演算であって、頂点Vの内角が凸角の場合には、プロセ
スBによって、頂点Vを挟む一対の辺UVおよびVWを
それぞれ変更幅dだけOR演算図形の内部に平行移動し
て得られる各ベクトルU’V’およびV”W’の頂点V
に対応する端点V’およびV”と、OR演算図形の頂点
Vとを、V’、V、V”の順に、それぞれ、仮図形の頂
点として登録する(ステップ26−15)。
Vの内角が凸角(πよりも小)か、凹角(πよりも大)
かを判定し(ステップ26−13)、拡大演算の場合と
は逆に、頂点Vの内角が凹角の場合には、プロセスAに
よって、頂点Vを挟む一対の辺UVおよびVWをそれぞ
れ変更幅dだけOR演算図形の内部に平行移動して得ら
れるベクトルまたはそれらの延長線の交点を仮図形の頂
点とする(ステップ26−14)。リサイジングが縮小
演算であって、頂点Vの内角が凸角の場合には、プロセ
スBによって、頂点Vを挟む一対の辺UVおよびVWを
それぞれ変更幅dだけOR演算図形の内部に平行移動し
て得られる各ベクトルU’V’およびV”W’の頂点V
に対応する端点V’およびV”と、OR演算図形の頂点
Vとを、V’、V、V”の順に、それぞれ、仮図形の頂
点として登録する(ステップ26−15)。
【0028】このような仮図形の頂点の生成を、OR演
算によって生じた全ての図形に対して実施し(ステップ
26−17)、仮図形の登録された頂点を順番に結ぶこ
とにより、仮図形が生成される(ステップ26−1
8)。そして、生成された仮図形をOR演算して(ステ
ップ26−19)、OR演算された図形がリサイジング
図形Sとして出力される(ステップ26−20)。仮図
形は、辺が交差した状態になっているが、OR演算によ
り、正確なリサイジング図形とされる。
算によって生じた全ての図形に対して実施し(ステップ
26−17)、仮図形の登録された頂点を順番に結ぶこ
とにより、仮図形が生成される(ステップ26−1
8)。そして、生成された仮図形をOR演算して(ステ
ップ26−19)、OR演算された図形がリサイジング
図形Sとして出力される(ステップ26−20)。仮図
形は、辺が交差した状態になっているが、OR演算によ
り、正確なリサイジング図形とされる。
【0029】この従来法3では、例えば、図28(a)
に示すように、頂点数が18の入力図形84の場合に
は、図28(b)に示すように、頂点数が32の仮図形
85とされる。
に示すように、頂点数が18の入力図形84の場合に
は、図28(b)に示すように、頂点数が32の仮図形
85とされる。
【0030】このような演算処理方法では、X方向また
はY方向のいずれか一方向の処理によって、斜辺を含ん
でいても、誤りのない正確なリサイジング図形を得るこ
とができる。また、OR演算図形の各頂点を辺に沿って
順番に処理し、OR演算図形を一周することにより終了
するために、O(n)の手数で簡単に処理することができ
る。さらに、辺の交差処理のために実施されるOR演算
に、従来法1を採用することにより、従来法2のOR演
算の場合と同様に、O(n log n)の計算複雑度を実現でき
る。しかも、内部のデーター構造が線形リストになるた
めに、従来法2のように、内部データーが線形リストに
なっていない場合よりも高速で処理することが可能にな
る。
はY方向のいずれか一方向の処理によって、斜辺を含ん
でいても、誤りのない正確なリサイジング図形を得るこ
とができる。また、OR演算図形の各頂点を辺に沿って
順番に処理し、OR演算図形を一周することにより終了
するために、O(n)の手数で簡単に処理することができ
る。さらに、辺の交差処理のために実施されるOR演算
に、従来法1を採用することにより、従来法2のOR演
算の場合と同様に、O(n log n)の計算複雑度を実現でき
る。しかも、内部のデーター構造が線形リストになるた
めに、従来法2のように、内部データーが線形リストに
なっていない場合よりも高速で処理することが可能にな
る。
【0031】
【発明が解決しようとする課題】従来法3では、仮図形
は、O(n log n)の計算複雑度で生成されるために、処理
全体の計算時間は、仮図形のOR演算に要する時間がほ
とんどである。しかしながら、仮図形の頂点の生成に際
して、入力図形の頂点が凸角か凹角かだけを判定して、
仮図形の頂点を1つだけ生成するプロセスAとするか、
頂点を3つ生成するプロセスBとするようになっている
ために、拡大演算(または縮小演算)時に入力図形の頂
点が凹角(または凸角)になっていると、その頂点に対
応する仮図形の頂点として3つが生成されることにな
る。その結果、仮図形の頂点数が多くなり、仮図形のO
R演算に長時間を要するという問題がある。
は、O(n log n)の計算複雑度で生成されるために、処理
全体の計算時間は、仮図形のOR演算に要する時間がほ
とんどである。しかしながら、仮図形の頂点の生成に際
して、入力図形の頂点が凸角か凹角かだけを判定して、
仮図形の頂点を1つだけ生成するプロセスAとするか、
頂点を3つ生成するプロセスBとするようになっている
ために、拡大演算(または縮小演算)時に入力図形の頂
点が凹角(または凸角)になっていると、その頂点に対
応する仮図形の頂点として3つが生成されることにな
る。その結果、仮図形の頂点数が多くなり、仮図形のO
R演算に長時間を要するという問題がある。
【0032】仮図形の総頂点数を削減する方法として、
仮図形の頂点の生成を、従来法3のプロセスAだけを適
用することにより、入力図形の各頂点に対して1つの仮
図形の頂点を生成することも考えられる。以下、これを
従来法4とし、そのフローチャートを図29に示す。図
29のフローチャートでは、仮図形の全ての頂点を、前
述のプロセスAによって生成するようになっており(ス
テップ29−11)、他のステップは、図26に示す従
来法3のフローチャートと同様である。
仮図形の頂点の生成を、従来法3のプロセスAだけを適
用することにより、入力図形の各頂点に対して1つの仮
図形の頂点を生成することも考えられる。以下、これを
従来法4とし、そのフローチャートを図29に示す。図
29のフローチャートでは、仮図形の全ての頂点を、前
述のプロセスAによって生成するようになっており(ス
テップ29−11)、他のステップは、図26に示す従
来法3のフローチャートと同様である。
【0033】この従来法4での仮図形の各頂点の生成方
法は、頂点を挟む2辺を指定幅dだけ平行移動して、平
行移動された各辺の交点、または、平行移動された各辺
の延長線の交点を仮図形の頂点とするものである。従っ
て、入力図形の1つの頂点に対して仮図形の1つの頂点
が生成される。そして、仮図形の頂点を順番に結ぶこと
により、仮図形が生成される。従って、入力図形に斜辺
が含まれており、しかも、拡大演算時に凹角(または縮
小演算時に凸角)になった入力図形の頂点数が多い場合
にも、仮図形の総頂点数は、従来法3に比べて少なくす
ることができ、OR演算に要する時間も短縮される。
法は、頂点を挟む2辺を指定幅dだけ平行移動して、平
行移動された各辺の交点、または、平行移動された各辺
の延長線の交点を仮図形の頂点とするものである。従っ
て、入力図形の1つの頂点に対して仮図形の1つの頂点
が生成される。そして、仮図形の頂点を順番に結ぶこと
により、仮図形が生成される。従って、入力図形に斜辺
が含まれており、しかも、拡大演算時に凹角(または縮
小演算時に凸角)になった入力図形の頂点数が多い場合
にも、仮図形の総頂点数は、従来法3に比べて少なくす
ることができ、OR演算に要する時間も短縮される。
【0034】しかし、図30(a)に示すように、複数
の四角形からなる入力図形86が斜辺を有する場合に
は、一点鎖線で示す拡大演算図形87が得られ、本来、
図形の内部として扱われるべき部分87aが、図形の外
部として認識されるために、誤った仮図形が生成され
る。同様に、図30(b)に示すように斜辺を有する入
力図形88の場合にも、拡大演算図形89は、図形の内
部として扱われるべき部分89aが図形の外部として認
識された誤った仮図形が生成される。
の四角形からなる入力図形86が斜辺を有する場合に
は、一点鎖線で示す拡大演算図形87が得られ、本来、
図形の内部として扱われるべき部分87aが、図形の外
部として認識されるために、誤った仮図形が生成され
る。同様に、図30(b)に示すように斜辺を有する入
力図形88の場合にも、拡大演算図形89は、図形の内
部として扱われるべき部分89aが図形の外部として認
識された誤った仮図形が生成される。
【0035】本発明は、このような問題を解決するもの
であり、その目的は、ICのマスクパターンを構成する
図形が斜辺を含んでいる場合にも、正確なリサイジング
図形を、高速で得ることができるマスクパターンのリサ
イジング方法を提供することにある。
であり、その目的は、ICのマスクパターンを構成する
図形が斜辺を含んでいる場合にも、正確なリサイジング
図形を、高速で得ることができるマスクパターンのリサ
イジング方法を提供することにある。
【0036】
【課題を解決するための手段】本発明のマスクパターン
のリサイジング方法は、CADシステムによって、マス
クパターンに対応する入力図形の各辺を、その入力図形
の外部または内部に平行移動させて拡大図形または縮小
図形を得るマスクパターンのリサイジング方法であっ
て、前記入力図形が斜辺を含むかどうかを判定する工程
と、その入力図形が斜辺を含んでいる場合には、その入
力図形の頂点毎に、その頂点が斜辺の影響を受けるかど
うかを判定する工程と、入力図形の頂点が斜辺の影響を
受ける場合に、その頂点を挟む入力図形の一対の辺を、
図形の内部または外部に平行移動した際のその頂点に対
応するそれぞれの端点を、その頂点とともに仮図形の頂
点とする工程と、入力図形の頂点が斜辺の影響を受けな
い場合には、その頂点を挟む入力図形の一対の辺を図形
の外部または内部にそれぞれ平行移動し、平行移動され
た各辺の交点または平行移動された各辺の延長線の交点
を、入力図形の頂点に対する仮図形の頂点とする工程
と、得られた仮図形の各頂点を結んで仮図形を生成する
工程と、生成された仮図形をOR演算する工程と、を包
含することを特徴とするものであり、そのことにより上
記目的が達成される。
のリサイジング方法は、CADシステムによって、マス
クパターンに対応する入力図形の各辺を、その入力図形
の外部または内部に平行移動させて拡大図形または縮小
図形を得るマスクパターンのリサイジング方法であっ
て、前記入力図形が斜辺を含むかどうかを判定する工程
と、その入力図形が斜辺を含んでいる場合には、その入
力図形の頂点毎に、その頂点が斜辺の影響を受けるかど
うかを判定する工程と、入力図形の頂点が斜辺の影響を
受ける場合に、その頂点を挟む入力図形の一対の辺を、
図形の内部または外部に平行移動した際のその頂点に対
応するそれぞれの端点を、その頂点とともに仮図形の頂
点とする工程と、入力図形の頂点が斜辺の影響を受けな
い場合には、その頂点を挟む入力図形の一対の辺を図形
の外部または内部にそれぞれ平行移動し、平行移動され
た各辺の交点または平行移動された各辺の延長線の交点
を、入力図形の頂点に対する仮図形の頂点とする工程
と、得られた仮図形の各頂点を結んで仮図形を生成する
工程と、生成された仮図形をOR演算する工程と、を包
含することを特徴とするものであり、そのことにより上
記目的が達成される。
【0037】なお、入力図形の各頂点が、斜辺の影響を
受けるかどうかを、その頂点に隣接する各頂点を挟む一
対の辺に斜辺が含まれているかどうかによって、あるい
は、その頂点に隣接する各頂点の角度に基づいて、ある
いは、その頂点の角度と、その頂点に隣接する各頂点の
角度と、その頂点の角度と隣接する各頂点それぞれの角
度との和とに基づいて、判定することが好ましい。
受けるかどうかを、その頂点に隣接する各頂点を挟む一
対の辺に斜辺が含まれているかどうかによって、あるい
は、その頂点に隣接する各頂点の角度に基づいて、ある
いは、その頂点の角度と、その頂点に隣接する各頂点の
角度と、その頂点の角度と隣接する各頂点それぞれの角
度との和とに基づいて、判定することが好ましい。
【0038】
【作用】本発明のマスクパターンのリサイジング方法で
は、まず、マスクパターンに相当する入力図形の各辺
に、斜辺が含まれているかどうかを判定し、斜辺が含ま
れている場合には、入力図形の各頂点が、斜辺の影響を
うけるかどうかを判定する。そして、斜辺の影響を受け
ない頂点の場合には、その頂点を挟む一対の辺を、拡大
演算の場合には図形の外部、縮小演算の場合には図形の
内部に、それぞれ平行移動し、平行移動された各辺の交
点、または、各辺の延長線の交点を、仮図形の頂点とす
る。従って、この場合には、1つの頂点に対して仮図形
の頂点は、1つ生成される。頂点が斜辺の影響を受ける
場合には、その頂点を挟む一対の辺を、拡大演算の場合
には図形の外部、縮小演算の場合には図形の内部に、そ
れぞれ平行移動し、平行移動された各辺における頂点に
対応する各端点それぞれと、もとの入力図形の頂点との
3つを、仮図形の頂点として設定する。
は、まず、マスクパターンに相当する入力図形の各辺
に、斜辺が含まれているかどうかを判定し、斜辺が含ま
れている場合には、入力図形の各頂点が、斜辺の影響を
うけるかどうかを判定する。そして、斜辺の影響を受け
ない頂点の場合には、その頂点を挟む一対の辺を、拡大
演算の場合には図形の外部、縮小演算の場合には図形の
内部に、それぞれ平行移動し、平行移動された各辺の交
点、または、各辺の延長線の交点を、仮図形の頂点とす
る。従って、この場合には、1つの頂点に対して仮図形
の頂点は、1つ生成される。頂点が斜辺の影響を受ける
場合には、その頂点を挟む一対の辺を、拡大演算の場合
には図形の外部、縮小演算の場合には図形の内部に、そ
れぞれ平行移動し、平行移動された各辺における頂点に
対応する各端点それぞれと、もとの入力図形の頂点との
3つを、仮図形の頂点として設定する。
【0039】仮図形の頂点が設定されると、各頂点を結
んで仮図形を生成し、OR演算することにより、リサイ
ジング図形が得られる。
んで仮図形を生成し、OR演算することにより、リサイ
ジング図形が得られる。
【0040】入力図形における各頂点は、その頂点に隣
接する各頂点を挟むそれぞれ一対の辺のいずれかが斜辺
であれば、斜辺の影響を受けるものとされるが、ICの
マスクパターンでは、通常、斜辺は図形の一部にしか利
用されないために、3つの仮図形の頂点を生成するプロ
セスが採用されることは稀であり、仮図形の総頂点数を
削減することができる。その後のOR演算に要する時間
を短縮できて、処理の高速性が高められる。
接する各頂点を挟むそれぞれ一対の辺のいずれかが斜辺
であれば、斜辺の影響を受けるものとされるが、ICの
マスクパターンでは、通常、斜辺は図形の一部にしか利
用されないために、3つの仮図形の頂点を生成するプロ
セスが採用されることは稀であり、仮図形の総頂点数を
削減することができる。その後のOR演算に要する時間
を短縮できて、処理の高速性が高められる。
【0041】また、入力図形の頂点が斜辺の影響を受け
るかどうかを、その頂点に隣接する各頂点の角度に基づ
いて判定することにより、3つの仮図形の頂点を生成す
るプロセスが採用されることが減少し、図形処理の高速
性が高められる。さらに、入力図形の頂点が斜辺の影響
を受けるかどうかを、その頂点の角度と、その頂点に隣
接する各頂点の角度と、その頂点の角度と隣接する各頂
点それぞれの角度との和とに基づいて判定することによ
り、3つの仮図形の頂点を生成するプロセスの適用範囲
がさらに限定されて、図形処理は一層、高速化される。
るかどうかを、その頂点に隣接する各頂点の角度に基づ
いて判定することにより、3つの仮図形の頂点を生成す
るプロセスが採用されることが減少し、図形処理の高速
性が高められる。さらに、入力図形の頂点が斜辺の影響
を受けるかどうかを、その頂点の角度と、その頂点に隣
接する各頂点の角度と、その頂点の角度と隣接する各頂
点それぞれの角度との和とに基づいて判定することによ
り、3つの仮図形の頂点を生成するプロセスの適用範囲
がさらに限定されて、図形処理は一層、高速化される。
【0042】
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。
に説明する。
【0043】本発明のマスクパターンのリサイジング方
法は、LSIのマスクパターンの検証等のために、CA
D(Computer Aided Design ) システムにより、マスク
パターンを入力図形として、その入力図形の各辺を図形
の外部あるいは内部へ指定された変更幅だけ平行移動す
ることにより拡大図形または縮小図形を得る方法であ
る。
法は、LSIのマスクパターンの検証等のために、CA
D(Computer Aided Design ) システムにより、マスク
パターンを入力図形として、その入力図形の各辺を図形
の外部あるいは内部へ指定された変更幅だけ平行移動す
ることにより拡大図形または縮小図形を得る方法であ
る。
【0044】図1は、本発明のマスクパターンのリサイ
ジング方法の一例を示すフローチャートである。本実施
例では、まず、図1(a)に示すように、CADシステ
ムに入力されるマスクパターンを拡大演算処理または縮
小演算処理(リサイジング処理)する際の各辺の変更幅
dが入力される(図1のステップ1−1参照、以下同
様)。この場合、入力図形を拡大するときの変更幅を
正、縮小するときの変更幅を負とする。
ジング方法の一例を示すフローチャートである。本実施
例では、まず、図1(a)に示すように、CADシステ
ムに入力されるマスクパターンを拡大演算処理または縮
小演算処理(リサイジング処理)する際の各辺の変更幅
dが入力される(図1のステップ1−1参照、以下同
様)。この場合、入力図形を拡大するときの変更幅を
正、縮小するときの変更幅を負とする。
【0045】次に、リサイジングの対象となるLSIの
マスクパターンのデーターが、X−Y座標で入力される
(ステップ1−2)。
マスクパターンのデーターが、X−Y座標で入力される
(ステップ1−2)。
【0046】図2(a)は、入力されるマスクパターン
の一例を示している。このマスクパターン10は、中央
部に45度に傾斜する斜辺部11を有しており、その斜
辺部11の上側の端部から横長の長方形状の水平部12
が水平方向に延出している。この水平部12の先端部に
は、一辺の長さが水平部12の幅寸法よりも大きな正方
形状の矩形部13が連続している。また、斜辺部11の
下側の端部には、短い縦長の長方形状の垂直部14が垂
直に延出しており、その垂直部の下端部に横長の長方形
状の水平部15が水平に延出している。そして、水平部
15の先端部に、一辺の長さが水平部15の幅寸法より
も大きな正方形状の矩形部16が連続している。
の一例を示している。このマスクパターン10は、中央
部に45度に傾斜する斜辺部11を有しており、その斜
辺部11の上側の端部から横長の長方形状の水平部12
が水平方向に延出している。この水平部12の先端部に
は、一辺の長さが水平部12の幅寸法よりも大きな正方
形状の矩形部13が連続している。また、斜辺部11の
下側の端部には、短い縦長の長方形状の垂直部14が垂
直に延出しており、その垂直部の下端部に横長の長方形
状の水平部15が水平に延出している。そして、水平部
15の先端部に、一辺の長さが水平部15の幅寸法より
も大きな正方形状の矩形部16が連続している。
【0047】このようなマスクパターン10は、CAD
システムに図形入力される際に、複数の図形の集合体と
される。すなわち、図2(a)に示すマスクパターン1
0は、図2(b)に示すように、傾斜状態になった長方
形状の傾斜入力図形11’と、この傾斜入力図形11’
の上側の端部に、一方の端部が重なった横長の長方形状
の水平入力図形12’と、この水平入力図形12’の他
方の端部に重なった正方形状の矩形入力図形13’と、
この斜辺入力図形11’の他方の端部に上端部が重なっ
た縦長の垂直入力図形14’と、この垂直入力図形1
4’の下部に、一方の端部が重なった横長の長方形状の
水平入力図形15’と、この水平入力図形15’の他方
の端部に重なった正方形状の矩形入力図形16’とし
て、CADシステムに入力される。各入力図形11’〜
16’は、水平方向をX方向、垂直方向をY方向とし
て、また、各入力図形11’〜16’のそれぞれの辺
が、ベクトル化されて読み込まれる。
システムに図形入力される際に、複数の図形の集合体と
される。すなわち、図2(a)に示すマスクパターン1
0は、図2(b)に示すように、傾斜状態になった長方
形状の傾斜入力図形11’と、この傾斜入力図形11’
の上側の端部に、一方の端部が重なった横長の長方形状
の水平入力図形12’と、この水平入力図形12’の他
方の端部に重なった正方形状の矩形入力図形13’と、
この斜辺入力図形11’の他方の端部に上端部が重なっ
た縦長の垂直入力図形14’と、この垂直入力図形1
4’の下部に、一方の端部が重なった横長の長方形状の
水平入力図形15’と、この水平入力図形15’の他方
の端部に重なった正方形状の矩形入力図形16’とし
て、CADシステムに入力される。各入力図形11’〜
16’は、水平方向をX方向、垂直方向をY方向とし
て、また、各入力図形11’〜16’のそれぞれの辺
が、ベクトル化されて読み込まれる。
【0048】入力図形11’〜16’の各辺のベクトル
は、本実施例では、便宜的に、図形の内側が右側になる
ように方向付けされている。CADシステムに読み込ま
れた6個の入力図形11’〜16’は、入力図形群Sと
される。
は、本実施例では、便宜的に、図形の内側が右側になる
ように方向付けされている。CADシステムに読み込ま
れた6個の入力図形11’〜16’は、入力図形群Sと
される。
【0049】6個の入力図形11’〜16’が読み込ま
れると、読み込まれた入力図形群Sが、図形演算の一つ
であるOR演算される(ステップ1−3)。OR演算と
は、各入力図形11’〜16’のそれぞれの辺をベクト
ル表示した際に、ベクトルの向きから図形の内側と外側
を判断することにより、入力図形11’〜16’が複数
の図形の重なりであるかどうかを検出し、重なり数が1
以上の図形部分を取り出すパターン論理演算である。
れると、読み込まれた入力図形群Sが、図形演算の一つ
であるOR演算される(ステップ1−3)。OR演算と
は、各入力図形11’〜16’のそれぞれの辺をベクト
ル表示した際に、ベクトルの向きから図形の内側と外側
を判断することにより、入力図形11’〜16’が複数
の図形の重なりであるかどうかを検出し、重なり数が1
以上の図形部分を取り出すパターン論理演算である。
【0050】図2(b)に示す入力図形群SをOR演算
すると、図2(c)に示すように、マスクパターン10
の輪郭に沿ったOR演算図形Fが得られることになる。
このようにして得られるOR演算図形Fの全ての辺は、
図形の内部が右側となるようにベクトル化されている。
そして、ベクトルが閉鎖されて生成されるOR演算図形
Fの数が「N」として登録される(ステップ1−4)。
本実施例では、OR演算によって生成されたOR演算図
形Fの数Nは1である。
すると、図2(c)に示すように、マスクパターン10
の輪郭に沿ったOR演算図形Fが得られることになる。
このようにして得られるOR演算図形Fの全ての辺は、
図形の内部が右側となるようにベクトル化されている。
そして、ベクトルが閉鎖されて生成されるOR演算図形
Fの数が「N」として登録される(ステップ1−4)。
本実施例では、OR演算によって生成されたOR演算図
形Fの数Nは1である。
【0051】次に、OR演算によって生成されたOR演
算図形F毎に番号n(1〜N)が付されて、各OR演算
図形F毎に、正確なリサイジング図形を得るための中間
的な仮図形が生成される(ステップ1−5〜ステップ1
−23)。
算図形F毎に番号n(1〜N)が付されて、各OR演算
図形F毎に、正確なリサイジング図形を得るための中間
的な仮図形が生成される(ステップ1−5〜ステップ1
−23)。
【0052】仮図形の生成は以下のようにして実施され
る。すなわち、OR演算によって生成された各OR演算
図形F毎に、頂点の数Mを計数して(ステップ1−6お
よびステップ1−7)、仮図形の頂点列の集合を空集合
に初期化する(ステップ1−8)。
る。すなわち、OR演算によって生成された各OR演算
図形F毎に、頂点の数Mを計数して(ステップ1−6お
よびステップ1−7)、仮図形の頂点列の集合を空集合
に初期化する(ステップ1−8)。
【0053】次に、処理の対象とされている各OR演算
図形Fの全ての頂点について、それぞれの角度を算出し
て、角度の種別を判定することにより、処理対象のOR
演算図形Fに斜辺が含まれているかどうかを判定する
(ステップ1−9)。
図形Fの全ての頂点について、それぞれの角度を算出し
て、角度の種別を判定することにより、処理対象のOR
演算図形Fに斜辺が含まれているかどうかを判定する
(ステップ1−9)。
【0054】処理対象になっているOR演算図形Fの全
ての頂点の角度の種別の判定は、図3のフローチャート
に詳細に示されている。すなわち、まず、CADシステ
ムは、OR演算図形Fが斜辺を含むかどうかを示すフラ
グDを、斜辺を含んでいない「NO」の初期状態に設定
して(ステップ3−1)、OR演算図形FにおけるM個
の頂点に対して、それぞれ順番に、角度の種別が判定さ
れる(ステップ3−2〜ステップ3−20)。
ての頂点の角度の種別の判定は、図3のフローチャート
に詳細に示されている。すなわち、まず、CADシステ
ムは、OR演算図形Fが斜辺を含むかどうかを示すフラ
グDを、斜辺を含んでいない「NO」の初期状態に設定
して(ステップ3−1)、OR演算図形FにおけるM個
の頂点に対して、それぞれ順番に、角度の種別が判定さ
れる(ステップ3−2〜ステップ3−20)。
【0055】OR演算図形Fの全ての頂点は、登録され
た頂点列の順番に判別され、例えば、m番目の頂点をV
とすると(ステップ3−3)、その頂点Vの角度の種別
を判定する際に、まず、リサイジング処理が拡大演算で
あるか縮小演算であるかを判別する(ステップ3−
4)。リサイジング処理が拡大演算の場合には、その頂
点Vの内角がθとして算出され(ステップ3−5)、縮
小演算の場合には、頂点Vの外角がθとして算出される
(ステップ3−6)。これは、入力図形に対して拡大演
算処理した図形の輪郭と、入力図形の内部と外部とを入
れ換えて縮小演算処理した図形の輪郭とが同じであると
いう事実に基づき、拡大演算における頂点Vの内角が、
縮小演算における頂点Vの外角と同じ性質を有している
ことに着目している。従って、拡大演算の場合における
頂点Vの外角、および縮小演算の場合における頂点Vの
内角を、それぞれθとして演算してもよい。
た頂点列の順番に判別され、例えば、m番目の頂点をV
とすると(ステップ3−3)、その頂点Vの角度の種別
を判定する際に、まず、リサイジング処理が拡大演算で
あるか縮小演算であるかを判別する(ステップ3−
4)。リサイジング処理が拡大演算の場合には、その頂
点Vの内角がθとして算出され(ステップ3−5)、縮
小演算の場合には、頂点Vの外角がθとして算出される
(ステップ3−6)。これは、入力図形に対して拡大演
算処理した図形の輪郭と、入力図形の内部と外部とを入
れ換えて縮小演算処理した図形の輪郭とが同じであると
いう事実に基づき、拡大演算における頂点Vの内角が、
縮小演算における頂点Vの外角と同じ性質を有している
ことに着目している。従って、拡大演算の場合における
頂点Vの外角、および縮小演算の場合における頂点Vの
内角を、それぞれθとして演算してもよい。
【0056】このようにして頂点Vの内角または外角θ
が演算されると、演算されたθの値に基づいて、頂点V
は、例えば以下の6つの種別T1〜T6に分類される
(ステップ3−7)。すなわち、拡大演算処理の場合に
おいて、図4(a)に示すように、頂点Vの内角θが、
0<θ<π/2の場合には、頂点Vは種別T1とされる
(ステップ3−8)。以下同様に、図4(b)に示すよ
うに、θ=π/2の場合には頂点Vは種別T2(ステッ
プ3−9)、図4(c)に示すように、π/2<θ<π
の場合には頂点Vは種別T3(ステップ3−10)、図
4(d)に示すように、π<θ<3π/2の場合には頂
点Vは種別T4(ステップ3−11)、図4(e)に示
すように、θ=3π/2の場合には頂点Vは種別T5
(ステップ3−12)、図4(f)に示すように、3π
/2<θ<2πの場合には種別T6(ステップ3−1
3)とそれぞれされる。
が演算されると、演算されたθの値に基づいて、頂点V
は、例えば以下の6つの種別T1〜T6に分類される
(ステップ3−7)。すなわち、拡大演算処理の場合に
おいて、図4(a)に示すように、頂点Vの内角θが、
0<θ<π/2の場合には、頂点Vは種別T1とされる
(ステップ3−8)。以下同様に、図4(b)に示すよ
うに、θ=π/2の場合には頂点Vは種別T2(ステッ
プ3−9)、図4(c)に示すように、π/2<θ<π
の場合には頂点Vは種別T3(ステップ3−10)、図
4(d)に示すように、π<θ<3π/2の場合には頂
点Vは種別T4(ステップ3−11)、図4(e)に示
すように、θ=3π/2の場合には頂点Vは種別T5
(ステップ3−12)、図4(f)に示すように、3π
/2<θ<2πの場合には種別T6(ステップ3−1
3)とそれぞれされる。
【0057】頂点Vの内角θがπ/2および3π/2で
なく、従って、頂点Vは種別T2およびT5でない場
合、すなわち、頂点Vが種別T1、T3、T4、T6の
いずれかの場合には、OR演算図形Fに斜辺が含まれて
いるものとして、フラグDがセット状態にされる(ステ
ップ3−14〜ステップ3−17)。
なく、従って、頂点Vは種別T2およびT5でない場
合、すなわち、頂点Vが種別T1、T3、T4、T6の
いずれかの場合には、OR演算図形Fに斜辺が含まれて
いるものとして、フラグDがセット状態にされる(ステ
ップ3−14〜ステップ3−17)。
【0058】このようにして、得られた頂点Vの内角
(あるいは外角)θの演算結果と、頂点Vの設定された
種別T1〜T6とが、それぞれ登録される(ステップ3
−18および3−19)。そして、全ての頂点の種別が
登録されたOR演算図形Fが斜辺を含んでいるかどうか
が登録される(ステップ3−20)。
(あるいは外角)θの演算結果と、頂点Vの設定された
種別T1〜T6とが、それぞれ登録される(ステップ3
−18および3−19)。そして、全ての頂点の種別が
登録されたOR演算図形Fが斜辺を含んでいるかどうか
が登録される(ステップ3−20)。
【0059】なお、OR演算図形における全ての頂点V
の種別がT2およびT5の場合(θ=π/2およびθ=
3π/2の場合)であって、しかも、全ての辺が斜辺で
構成されているような場合には、そのOR演算図形は実
際には斜辺を含んでいるにもかかわらず、斜辺を含まな
い図形と判定される。しかし、このようなOR演算図形
は、斜辺を含まない垂直辺および水平辺だけによって構
成された図形を回転させて傾斜状態になっているものと
して、斜辺を含まない図形として処理しても特に不都合
はない。
の種別がT2およびT5の場合(θ=π/2およびθ=
3π/2の場合)であって、しかも、全ての辺が斜辺で
構成されているような場合には、そのOR演算図形は実
際には斜辺を含んでいるにもかかわらず、斜辺を含まな
い図形と判定される。しかし、このようなOR演算図形
は、斜辺を含まない垂直辺および水平辺だけによって構
成された図形を回転させて傾斜状態になっているものと
して、斜辺を含まない図形として処理しても特に不都合
はない。
【0060】このようにして、OR演算図形Fにおける
全ての頂点の種別が判定されて、斜辺の有無が設定され
ると、図1のステップ1−10に示すように、OR演算
図形Fが斜辺を含んでいるかどうかを、フラグDのセッ
ト状態およびリセット状態で判定される。そして、OR
演算図形Fが斜辺を含んでいない場合には、図1のステ
ップ1−11〜1−14により、また、斜辺を含んでい
る場合には、図1のステップ1−15〜1−21によ
り、それぞれ、OR演算図形Fの各頂点に対して仮図形
の頂点が生成される。
全ての頂点の種別が判定されて、斜辺の有無が設定され
ると、図1のステップ1−10に示すように、OR演算
図形Fが斜辺を含んでいるかどうかを、フラグDのセッ
ト状態およびリセット状態で判定される。そして、OR
演算図形Fが斜辺を含んでいない場合には、図1のステ
ップ1−11〜1−14により、また、斜辺を含んでい
る場合には、図1のステップ1−15〜1−21によ
り、それぞれ、OR演算図形Fの各頂点に対して仮図形
の頂点が生成される。
【0061】OR演算図形Fが斜辺を含んでいない場合
には、ステップ1−12に示すように、例えば頂点列の
m番目の頂点をVとするとともに、この頂点Vに隣接す
る各頂点を、それぞれUおよびWとして、頂点Vに対す
る仮図形の頂点を、図5のフローチャートに示すプロセ
スAに基づいて生成する(ステップ1−13)。
には、ステップ1−12に示すように、例えば頂点列の
m番目の頂点をVとするとともに、この頂点Vに隣接す
る各頂点を、それぞれUおよびWとして、頂点Vに対す
る仮図形の頂点を、図5のフローチャートに示すプロセ
スAに基づいて生成する(ステップ1−13)。
【0062】図6(a)および(b)は、OR演算図形
Fが斜辺を含んでいない場合に、頂点Vに対する仮図形
の頂点を生成するために実施されるプロセスAの説明図
である。プロセスAでは、拡大演算処理の場合には、図
6(a)に示すように、頂点Vを挟む2辺UVおよびV
Wを、各辺UVおよびVWの垂直方向に変更幅dだけそ
れぞれ図形の外部に平行移動される(ステップ5−
2)。縮小演算の場合には、図6(b)に示すように、
図形の内部に平行移動される。
Fが斜辺を含んでいない場合に、頂点Vに対する仮図形
の頂点を生成するために実施されるプロセスAの説明図
である。プロセスAでは、拡大演算処理の場合には、図
6(a)に示すように、頂点Vを挟む2辺UVおよびV
Wを、各辺UVおよびVWの垂直方向に変更幅dだけそ
れぞれ図形の外部に平行移動される(ステップ5−
2)。縮小演算の場合には、図6(b)に示すように、
図形の内部に平行移動される。
【0063】この場合の詳細を、図7のフローチャート
に示す。すなわち、頂点Vを挟む2辺(ベクトル)UV
およびVWの一方の辺UVを、変更幅(垂直距離)dだ
け、拡大演算の場合には図形の外部(縮小演算の場合に
は図形の内部)に平行移動させて、ベクトルU’V’と
する(図7のステップ7−1)。この場合の端点U’
は、辺UVを平行移動した際のベクトルU’V’におけ
る頂点Uに対応する端点であり、端点V’は、辺UVを
平行移動した際のベクトルU’V’における頂点Vに対
応する端点である。頂点Vを挟む2辺UVおよびVW
は、前述したように、それぞれベクトル化されているた
めに、図形の外部方向および内部方向は容易に識別され
る。
に示す。すなわち、頂点Vを挟む2辺(ベクトル)UV
およびVWの一方の辺UVを、変更幅(垂直距離)dだ
け、拡大演算の場合には図形の外部(縮小演算の場合に
は図形の内部)に平行移動させて、ベクトルU’V’と
する(図7のステップ7−1)。この場合の端点U’
は、辺UVを平行移動した際のベクトルU’V’におけ
る頂点Uに対応する端点であり、端点V’は、辺UVを
平行移動した際のベクトルU’V’における頂点Vに対
応する端点である。頂点Vを挟む2辺UVおよびVW
は、前述したように、それぞれベクトル化されているた
めに、図形の外部方向および内部方向は容易に識別され
る。
【0064】次に、OR演算図形Fにおける頂点Vを挟
んだ他方の辺(ベクトル)VWが、変更幅(垂直距離)
dだけ、図形の外部(または内部)に平行移動されて、
辺V" W’とされる(図7のステップ7−2)。この場
合の端点V" は、辺VWを平行移動した際のベクトル
V’W’における頂点Vに対応する端点である。端点
W’は、辺VWを平行移動した際のベクトルV”W’に
おける頂点Wに対応する端点である。
んだ他方の辺(ベクトル)VWが、変更幅(垂直距離)
dだけ、図形の外部(または内部)に平行移動されて、
辺V" W’とされる(図7のステップ7−2)。この場
合の端点V" は、辺VWを平行移動した際のベクトル
V’W’における頂点Vに対応する端点である。端点
W’は、辺VWを平行移動した際のベクトルV”W’に
おける頂点Wに対応する端点である。
【0065】このようにして、各辺(ベクトル)UVお
よびVWが平行移動されると、平行移動後の各ベクトル
U’V’およびV" W’が、図6(b)に示すように、
交差する場合には、その交点が、頂点Vに対する仮図形
の頂点V"'として登録される。平行移動された各ベクト
ルU’V’およびV" W’が、図6(a)に示すよう
に、交差しない場合には、各ベクトルU’V’および
V" W’をそれぞれ延長した際の交点が、頂点Vに対す
る仮図形の頂点V"'として登録される(図5のステップ
5−2)。
よびVWが平行移動されると、平行移動後の各ベクトル
U’V’およびV" W’が、図6(b)に示すように、
交差する場合には、その交点が、頂点Vに対する仮図形
の頂点V"'として登録される。平行移動された各ベクト
ルU’V’およびV" W’が、図6(a)に示すよう
に、交差しない場合には、各ベクトルU’V’および
V" W’をそれぞれ延長した際の交点が、頂点Vに対す
る仮図形の頂点V"'として登録される(図5のステップ
5−2)。
【0066】OR演算図形Fにおける全ての頂点に対し
て、ベクトルの方向に沿った頂点列の順番に、このよう
な処理をすることにより、OR演算図形Fに対する全て
の頂点に対応した仮図形の頂点が順次設定される。そし
て、設定された仮図形の頂点は、ベクトルの方向に沿っ
て順番に登録されて、仮図形の頂点列とされる(ステッ
プ5−3)。
て、ベクトルの方向に沿った頂点列の順番に、このよう
な処理をすることにより、OR演算図形Fに対する全て
の頂点に対応した仮図形の頂点が順次設定される。そし
て、設定された仮図形の頂点は、ベクトルの方向に沿っ
て順番に登録されて、仮図形の頂点列とされる(ステッ
プ5−3)。
【0067】これに対して、OR演算図形Fが斜辺を含
んでいる場合には、図1のステップ1−15に進み、例
えば、頂点列のm番目の頂点をVとし、この頂点Vに隣
接する各頂点を、それぞれUおよびWとする(ステップ
1−16)。そして、OR演算図形Fの各頂点が、斜辺
の影響を受けるものかどうかの属性が判定される(ステ
ップ1−17)。
んでいる場合には、図1のステップ1−15に進み、例
えば、頂点列のm番目の頂点をVとし、この頂点Vに隣
接する各頂点を、それぞれUおよびWとする(ステップ
1−16)。そして、OR演算図形Fの各頂点が、斜辺
の影響を受けるものかどうかの属性が判定される(ステ
ップ1−17)。
【0068】頂点Vが斜辺の影響を受けるものであるか
どうかの属性の判定は、図8に示すフローチャートに基
づいて実施される。すなわち、すでに登録された頂点V
の角度θがπよりも小さい種別T1またはT3のいずれ
かであれば(ステップ8−1)、拡大演算の場合におけ
る内角θが凸角(πより小)、あるいは、縮小演算の場
合における外角θが凹角(πより大)であるために、頂
点Vは、特に斜辺の影響を受けるものではなく、前述し
たプロセスA(OR演算図形Fが斜辺を含まない場合の
仮図形の頂点生成プロセス)によって仮図形の頂点を生
成するように、その頂点Vに対して「P−A」の属性が
付与される(ステップ8−4)。
どうかの属性の判定は、図8に示すフローチャートに基
づいて実施される。すなわち、すでに登録された頂点V
の角度θがπよりも小さい種別T1またはT3のいずれ
かであれば(ステップ8−1)、拡大演算の場合におけ
る内角θが凸角(πより小)、あるいは、縮小演算の場
合における外角θが凹角(πより大)であるために、頂
点Vは、特に斜辺の影響を受けるものではなく、前述し
たプロセスA(OR演算図形Fが斜辺を含まない場合の
仮図形の頂点生成プロセス)によって仮図形の頂点を生
成するように、その頂点Vに対して「P−A」の属性が
付与される(ステップ8−4)。
【0069】これに対して、すでに登録された頂点Vの
角度θがπよりも大きい種別であり、しかも、頂点Uお
よびWをそれぞれ挟む一対の辺のいずれかが斜辺である
場合には(ステップ8−2および8−3)、頂点Vは斜
辺の影響を受けるものとして、プロセスAによる仮図形
の頂点の生成方法とは異なるプロセスBによって仮図形
の頂点を生成すべきものとして、その頂点Vに「P−
B」の属性が付与される(ステップ8−5)。
角度θがπよりも大きい種別であり、しかも、頂点Uお
よびWをそれぞれ挟む一対の辺のいずれかが斜辺である
場合には(ステップ8−2および8−3)、頂点Vは斜
辺の影響を受けるものとして、プロセスAによる仮図形
の頂点の生成方法とは異なるプロセスBによって仮図形
の頂点を生成すべきものとして、その頂点Vに「P−
B」の属性が付与される(ステップ8−5)。
【0070】これは、例えば、図9に示すように、内角
θがπより大きい凹角になった頂点Vに隣接する各頂点
をUおよびWとすると、頂点Vを挟む一方の辺VWが斜
辺であり、他の各頂点UおよびWを挟む各辺XU、U
V、WYがそれぞれ斜辺でない場合(水平辺または垂直
辺の場合)には、その斜辺VWを構成する各頂点Vおよ
びWは、斜辺の各端点として斜辺の影響を受けることに
なる。また、頂点Vに隣接する頂点Uは、斜辺VWの端
点Vと辺UVを共有することになるために斜辺の影響を
受けることになる。同様に、頂点Wに隣接する頂点Y
も、斜辺VWの端点Wと辺WYを共有することになるた
めに、斜辺VWの影響を受ける。従って、斜辺VWの影
響を受けない頂点は、頂点UおよびYに隣接する頂点X
およびZになる。
θがπより大きい凹角になった頂点Vに隣接する各頂点
をUおよびWとすると、頂点Vを挟む一方の辺VWが斜
辺であり、他の各頂点UおよびWを挟む各辺XU、U
V、WYがそれぞれ斜辺でない場合(水平辺または垂直
辺の場合)には、その斜辺VWを構成する各頂点Vおよ
びWは、斜辺の各端点として斜辺の影響を受けることに
なる。また、頂点Vに隣接する頂点Uは、斜辺VWの端
点Vと辺UVを共有することになるために斜辺の影響を
受けることになる。同様に、頂点Wに隣接する頂点Y
も、斜辺VWの端点Wと辺WYを共有することになるた
めに、斜辺VWの影響を受ける。従って、斜辺VWの影
響を受けない頂点は、頂点UおよびYに隣接する頂点X
およびZになる。
【0071】このように、斜辺VWの一方の端点Vに対
して、その斜辺の影響は、頂点Vに隣接する頂点Uおよ
びWをそれぞれ挟む各一対の辺XU、UV、VW、WY
にまで及ぶために、処理対象になっている頂点Vに隣接
する各頂点UおよびWを挟む各一対の辺に斜辺があるか
どうかを判定して、斜辺がある場合には、頂点Vは斜辺
の影響を受けるものとして、プロセスBによって、仮図
形の頂点を生成するように、属性「P−B」が付与され
る。プロセスBは、図11のフローチャートに示されて
おり、後述する。
して、その斜辺の影響は、頂点Vに隣接する頂点Uおよ
びWをそれぞれ挟む各一対の辺XU、UV、VW、WY
にまで及ぶために、処理対象になっている頂点Vに隣接
する各頂点UおよびWを挟む各一対の辺に斜辺があるか
どうかを判定して、斜辺がある場合には、頂点Vは斜辺
の影響を受けるものとして、プロセスBによって、仮図
形の頂点を生成するように、属性「P−B」が付与され
る。プロセスBは、図11のフローチャートに示されて
おり、後述する。
【0072】「P−A」の属性が付与された頂点Vは、
拡大演算の場合には、図10(a)に示すように、頂点
Vを挟む2つの辺(ベクトル)UVおよびVWを、変更
幅(垂直距離)dだけ、外部に平行移動させて、ベクト
ルU’V’およびV’W’とし、それらのベクトルU’
V’およびV”W’の延長線の交点V"'を頂点Vに対す
る仮図形の頂点とする。縮小演算の場合には、図10
(b)に示すように、頂点Vを挟む2辺UVおよびVW
を、変更幅(垂直距離)dだけ、内部に平行移動させ
て、ベクトルU’V’およびV”W’とし、それらの交
点V"'を頂点Vに対する仮図形の頂点とする。
拡大演算の場合には、図10(a)に示すように、頂点
Vを挟む2つの辺(ベクトル)UVおよびVWを、変更
幅(垂直距離)dだけ、外部に平行移動させて、ベクト
ルU’V’およびV’W’とし、それらのベクトルU’
V’およびV”W’の延長線の交点V"'を頂点Vに対す
る仮図形の頂点とする。縮小演算の場合には、図10
(b)に示すように、頂点Vを挟む2辺UVおよびVW
を、変更幅(垂直距離)dだけ、内部に平行移動させ
て、ベクトルU’V’およびV”W’とし、それらの交
点V"'を頂点Vに対する仮図形の頂点とする。
【0073】これに対して、登録された頂角Vの種別
が、T4またはT6のいずれかになっている場合には、
拡大演算の場合における内角θが凹角(πより大)、あ
るいは縮小演算の場合における外角θが凸角(πより
小)になっており、さらに、その頂点Vが斜辺の影響を
受けるかどうかを、頂点Vに隣接する各頂点UおよびW
をそれぞれ挟む各一対の辺のいずれかが斜辺であるかど
うかによって判定する(ステップ8−2)。そして、頂
点UおよびWをそれぞれ挟む各一対の辺がそれぞれ斜辺
でない場合には、頂点Vは斜辺の影響を受けないものと
して、「P−A」の属性が付与され(ステップ8−
3)、頂点Vは、プロセスAによって仮図形の頂点が生
成される。
が、T4またはT6のいずれかになっている場合には、
拡大演算の場合における内角θが凹角(πより大)、あ
るいは縮小演算の場合における外角θが凸角(πより
小)になっており、さらに、その頂点Vが斜辺の影響を
受けるかどうかを、頂点Vに隣接する各頂点UおよびW
をそれぞれ挟む各一対の辺のいずれかが斜辺であるかど
うかによって判定する(ステップ8−2)。そして、頂
点UおよびWをそれぞれ挟む各一対の辺がそれぞれ斜辺
でない場合には、頂点Vは斜辺の影響を受けないものと
して、「P−A」の属性が付与され(ステップ8−
3)、頂点Vは、プロセスAによって仮図形の頂点が生
成される。
【0074】このようにして「P−A」の属性が付与さ
れた頂点Vも、拡大演算の場合には、図10(a)に示
すように、また、縮小演算の場合には、図10(b)に
示すように、頂点Vを挟む2辺UVおよびVWを、変更
幅(垂直距離)dだけ、外部または内部に平行移動させ
て、ベクトルU’V’およびV”W’とし、それらの交
点V"'または各ベクトルU’V’およびV”W’の延長
線の交点V"'を頂点Vに対する仮図形の頂点とする。
れた頂点Vも、拡大演算の場合には、図10(a)に示
すように、また、縮小演算の場合には、図10(b)に
示すように、頂点Vを挟む2辺UVおよびVWを、変更
幅(垂直距離)dだけ、外部または内部に平行移動させ
て、ベクトルU’V’およびV”W’とし、それらの交
点V"'または各ベクトルU’V’およびV”W’の延長
線の交点V"'を頂点Vに対する仮図形の頂点とする。
【0075】このようにして、OR演算図形Fの頂点V
の属性が付与されると、図1におけるフローチャートの
ステップ1−18に示すように、頂点Vの属性が判定さ
れ、頂点Vの属性が「P−A」の場合には、図5に示す
フローチャートに基づくプロセスAによって、頂点Vに
対応する仮図形の頂点V"'が生成される(ステップ1−
19)。
の属性が付与されると、図1におけるフローチャートの
ステップ1−18に示すように、頂点Vの属性が判定さ
れ、頂点Vの属性が「P−A」の場合には、図5に示す
フローチャートに基づくプロセスAによって、頂点Vに
対応する仮図形の頂点V"'が生成される(ステップ1−
19)。
【0076】これに対して、OR演算図形Fの頂点Vの
属性が「P−B」の場合には、プロセスAとは異なり、
斜辺の影響を受けるものとして、プロセスBによって、
頂点Vに対する仮図形の3つの頂点が生成される(ステ
ップ1−20)。
属性が「P−B」の場合には、プロセスAとは異なり、
斜辺の影響を受けるものとして、プロセスBによって、
頂点Vに対する仮図形の3つの頂点が生成される(ステ
ップ1−20)。
【0077】図11は、OR演算図形Fの頂点Vに対す
る仮図形の頂点を、プロセスBによって生成する方法を
示すフローチャート、図12はそのプロセスBによる仮
図形の頂点の生成方法の説明図である。プロセスBで
は、拡大演算する場合には、図12(a)に示すよう
に、頂点Vを挟む2辺UVおよびVWを、変更幅(垂直
距離)dだけ、OR演算図形Fの外部に平行移動して、
それぞれベクトルU’V’とベクトルV”W’とする
(図11のステップ11−1)。縮小演算する場合に
は、図12(b)に示すように、頂点Vを挟む2辺UV
およびVWを、それぞれ、変更幅(垂直距離)dだけ、
図形の内部に平行移動して、ベクトルU’V’およびベ
クトルV”W’とする。図形の全ての辺は、図形の内部
が右側になるようにベクトル化されているために、図形
の外部方向および内部方向は容易に識別することができ
る。
る仮図形の頂点を、プロセスBによって生成する方法を
示すフローチャート、図12はそのプロセスBによる仮
図形の頂点の生成方法の説明図である。プロセスBで
は、拡大演算する場合には、図12(a)に示すよう
に、頂点Vを挟む2辺UVおよびVWを、変更幅(垂直
距離)dだけ、OR演算図形Fの外部に平行移動して、
それぞれベクトルU’V’とベクトルV”W’とする
(図11のステップ11−1)。縮小演算する場合に
は、図12(b)に示すように、頂点Vを挟む2辺UV
およびVWを、それぞれ、変更幅(垂直距離)dだけ、
図形の内部に平行移動して、ベクトルU’V’およびベ
クトルV”W’とする。図形の全ての辺は、図形の内部
が右側になるようにベクトル化されているために、図形
の外部方向および内部方向は容易に識別することができ
る。
【0078】このようにして、頂点Vに対して2つの端
点V’およびV”が得られるが、これらの端点V’およ
びV”が、仮図形の頂点としてそれぞれ登録される。こ
の場合、OR演算図形Fの頂点Vも仮図形の頂点として
登録される。仮図形の3つの頂点V、V’、V”は次の
ように順番に登録される。すなわち、仮図形の頂点の生
成が、OR演算図形におけるベクトル化された各辺のベ
クトルの方向に沿って順番に実施されているために、頂
点U−V−Wの順に処理され、頂点Uが、頂点Vの処理
に先立って処理されるとともに、頂点Wが、頂点Vの処
理後に処理されるようになっている。このために、辺U
Vを平行移動した際の頂点Vに対応する端点V’は、頂
点Uに対応する端点U’と頂点Vとの間に登録される。
辺VWを平行移動した際の頂点Vに対応する端点V”
は、頂点Wに対応する端点W’と頂点Vとの間に登録さ
れる。従って、仮図形の頂点列としては、頂点U’の次
に頂点V’が登録され(ステップ11−2)、次に頂点
Vが登録され(ステップ11−3)、さらにその後に頂
点V”が登録される(ステップ11−4)。従って、仮
図形の頂点としては、U’−V’−V−V”−W’の順
に登録される。
点V’およびV”が得られるが、これらの端点V’およ
びV”が、仮図形の頂点としてそれぞれ登録される。こ
の場合、OR演算図形Fの頂点Vも仮図形の頂点として
登録される。仮図形の3つの頂点V、V’、V”は次の
ように順番に登録される。すなわち、仮図形の頂点の生
成が、OR演算図形におけるベクトル化された各辺のベ
クトルの方向に沿って順番に実施されているために、頂
点U−V−Wの順に処理され、頂点Uが、頂点Vの処理
に先立って処理されるとともに、頂点Wが、頂点Vの処
理後に処理されるようになっている。このために、辺U
Vを平行移動した際の頂点Vに対応する端点V’は、頂
点Uに対応する端点U’と頂点Vとの間に登録される。
辺VWを平行移動した際の頂点Vに対応する端点V”
は、頂点Wに対応する端点W’と頂点Vとの間に登録さ
れる。従って、仮図形の頂点列としては、頂点U’の次
に頂点V’が登録され(ステップ11−2)、次に頂点
Vが登録され(ステップ11−3)、さらにその後に頂
点V”が登録される(ステップ11−4)。従って、仮
図形の頂点としては、U’−V’−V−V”−W’の順
に登録される。
【0079】このような仮図形の頂点列の登録は、入力
図形群SをOR演算した際に得られるOR演算図形Fが
複数の場合には、各OR演算図形F毎に仮図形が得られ
るように、それぞれのOR演算図形Fに対して仮図形の
頂点列が生成される(図1(b)のステップ1−2
2)。そして、全ての仮図形の頂点列を設定登録された
順に結ぶことにより、仮図形が生成される(ステップ1
−23)。OR演算図形Fの数がN個の場合には、生成
される仮図形もN個になる。
図形群SをOR演算した際に得られるOR演算図形Fが
複数の場合には、各OR演算図形F毎に仮図形が得られ
るように、それぞれのOR演算図形Fに対して仮図形の
頂点列が生成される(図1(b)のステップ1−2
2)。そして、全ての仮図形の頂点列を設定登録された
順に結ぶことにより、仮図形が生成される(ステップ1
−23)。OR演算図形Fの数がN個の場合には、生成
される仮図形もN個になる。
【0080】全ての仮図形が生成されると、全仮図形に
対してOR演算される(ステップ1−24)。そして、
OR演算されて得られた図形群が、リサイジング図形の
データーSとして出力される(ステップ1−25)。
対してOR演算される(ステップ1−24)。そして、
OR演算されて得られた図形群が、リサイジング図形の
データーSとして出力される(ステップ1−25)。
【0081】OR演算は、辺が交差も含むN個の仮図形
に対して、総頂点数をnとすると、O(nlogn)の
計算速度で実施される。
に対して、総頂点数をnとすると、O(nlogn)の
計算速度で実施される。
【0082】図2(c)に示すOR演算図形Fに対して
は、全ての頂点に対して、図1のフローチャートに基づ
いて仮図形の頂点が登録されると、図13(a)に示す
1つの仮図形21が生成される。この場合、OR演算図
形Fの頂点数は18であったが、仮図形21の頂点数は
28になる。そして、図13(a)に示す仮図形21を
OR演算することにより、図13(b)に示すリサイジ
ング(拡大)図形22が得られ、この図形が出力される
ことになる。
は、全ての頂点に対して、図1のフローチャートに基づ
いて仮図形の頂点が登録されると、図13(a)に示す
1つの仮図形21が生成される。この場合、OR演算図
形Fの頂点数は18であったが、仮図形21の頂点数は
28になる。そして、図13(a)に示す仮図形21を
OR演算することにより、図13(b)に示すリサイジ
ング(拡大)図形22が得られ、この図形が出力される
ことになる。
【0083】本実施例では、頂点Vが斜辺に影響される
かどうかの属性を判定することにより、頂点Vに対応す
る仮図形の頂点を1つだけ生成するプロセスAを実施す
べき「P−A」と、対応する仮図形の頂点を3つ生成す
るプロセスBを実施すべき「P−B」とに分類される
が、この属性の分類の条件判定は、各頂点毎に実施され
るだけであり、その後に実施されるOR演算に要する計
算時間に比して高速で処理することができる。
かどうかの属性を判定することにより、頂点Vに対応す
る仮図形の頂点を1つだけ生成するプロセスAを実施す
べき「P−A」と、対応する仮図形の頂点を3つ生成す
るプロセスBを実施すべき「P−B」とに分類される
が、この属性の分類の条件判定は、各頂点毎に実施され
るだけであり、その後に実施されるOR演算に要する計
算時間に比して高速で処理することができる。
【0084】しかも、斜辺を含まない図形に対しては、
その頂点のいずれもが、1つの頂点に対して仮図形の頂
点が1つしか生成されない「P−A」の属性に分類され
るために、仮図形の総頂点数が削減されて、その後のO
R演算処理も高速で実施することができる。
その頂点のいずれもが、1つの頂点に対して仮図形の頂
点が1つしか生成されない「P−A」の属性に分類され
るために、仮図形の総頂点数が削減されて、その後のO
R演算処理も高速で実施することができる。
【0085】なお、上記実施例では、OR演算図形Fが
斜辺を有している場合において、頂点Vの角度θがπよ
りも大きいときには(頂点の角度の種別がT4〜T
6)、頂点の属性の判定、すなわち、頂点Vが斜辺の影
響を受けるかどうかの判定を、図8に示すように、頂点
Vに隣接する各頂点UおよびWを、それぞれ挟む一対の
辺のいずれかが斜辺であるかどうかによって実施するよ
うにしたが、例えば、その頂点Vに隣接する頂点Uおよ
びWの角度(頂点UおよびWの種別T1〜T6)に基づ
いて、頂点Vの属性を判断するようにしてもよい。
斜辺を有している場合において、頂点Vの角度θがπよ
りも大きいときには(頂点の角度の種別がT4〜T
6)、頂点の属性の判定、すなわち、頂点Vが斜辺の影
響を受けるかどうかの判定を、図8に示すように、頂点
Vに隣接する各頂点UおよびWを、それぞれ挟む一対の
辺のいずれかが斜辺であるかどうかによって実施するよ
うにしたが、例えば、その頂点Vに隣接する頂点Uおよ
びWの角度(頂点UおよびWの種別T1〜T6)に基づ
いて、頂点Vの属性を判断するようにしてもよい。
【0086】図14は、その場合のフローチャートを示
している。この場合には、頂点Vの属性を調べる際に、
頂点Vの種別がT1〜T3のいずれかであるか、T4〜
T6のいずれかであるかを調べ(ステップ14−1)、
頂点Vの種別がT1〜T3の場合(頂点の角度θ<π)
には、図8に示す例と同様に、頂点Vは、斜辺の影響を
受けないものとして、プロセスAにより処理すべきであ
る「P−A」の属性とされる(ステップ14−4)。す
なわち、拡大演算の場合における頂点Vの内角θがπよ
りも小さな凸角、または、縮小演算の場合における頂点
Vの外角θがπよりも大きな凹角であれば、「P−A」
の属性とされて、頂点Vに対して、仮図形の1つの頂点
が生成される。
している。この場合には、頂点Vの属性を調べる際に、
頂点Vの種別がT1〜T3のいずれかであるか、T4〜
T6のいずれかであるかを調べ(ステップ14−1)、
頂点Vの種別がT1〜T3の場合(頂点の角度θ<π)
には、図8に示す例と同様に、頂点Vは、斜辺の影響を
受けないものとして、プロセスAにより処理すべきであ
る「P−A」の属性とされる(ステップ14−4)。す
なわち、拡大演算の場合における頂点Vの内角θがπよ
りも小さな凸角、または、縮小演算の場合における頂点
Vの外角θがπよりも大きな凹角であれば、「P−A」
の属性とされて、頂点Vに対して、仮図形の1つの頂点
が生成される。
【0087】これに対して、頂点Vの種別がT4〜T6
の場合(頂点Vの角度θ>π)には、頂点Vに隣接する
頂点UおよびWの種別がT1〜T3であるか、T4〜T
6であるかをそれぞれ調べる(ステップ14−2および
14−3)。そして、頂点Vに隣接する頂点UおよびW
のいずれもが、種別T1〜T3になっている場合、すな
わち、頂点UおよびWの角度が、いずれもπよりも小さ
い場合にのみ、頂点Vは、斜辺に影響されるものとし
て、プロセスBにより処理すべき「P−B」の属性が付
与される(ステップ14−5)。頂点Vに隣接する頂点
UおよびWのいずれかの種別がT4〜T6の場合、すな
わち、頂点UおよびWの角度θがπよりも大きい場合に
は、頂点Vは、斜辺の影響を受けないものとして、プロ
セスAによって処理すべき「P−A」の属性が付与され
る(ステップ14−4)。
の場合(頂点Vの角度θ>π)には、頂点Vに隣接する
頂点UおよびWの種別がT1〜T3であるか、T4〜T
6であるかをそれぞれ調べる(ステップ14−2および
14−3)。そして、頂点Vに隣接する頂点UおよびW
のいずれもが、種別T1〜T3になっている場合、すな
わち、頂点UおよびWの角度が、いずれもπよりも小さ
い場合にのみ、頂点Vは、斜辺に影響されるものとし
て、プロセスBにより処理すべき「P−B」の属性が付
与される(ステップ14−5)。頂点Vに隣接する頂点
UおよびWのいずれかの種別がT4〜T6の場合、すな
わち、頂点UおよびWの角度θがπよりも大きい場合に
は、頂点Vは、斜辺の影響を受けないものとして、プロ
セスAによって処理すべき「P−A」の属性が付与され
る(ステップ14−4)。
【0088】本実施例の場合には、図2(c)に示すO
R演算図形Fに対して、図15に示すリサイジング(拡
大)仮図形23が生成される。この場合には、仮図形2
3の頂点数は30になる。そして、この仮図形23をO
R演算することにより、図13(b)に示すリサイジン
グ(拡大)図形22が得られる。
R演算図形Fに対して、図15に示すリサイジング(拡
大)仮図形23が生成される。この場合には、仮図形2
3の頂点数は30になる。そして、この仮図形23をO
R演算することにより、図13(b)に示すリサイジン
グ(拡大)図形22が得られる。
【0089】図16は、頂点Vの属性を調べる方法のさ
らに他の実施例を示すフローチャートである。本実施例
では、頂点Vが斜辺の影響を受けるかどうかの属性を、
頂点Vの角度θと、頂点Vに隣接する各頂点UおよびW
の角度と、さらに、頂点Vと隣接する各頂点UおよびW
の角度それぞれとの和とに基づいて判定するようになっ
ている。
らに他の実施例を示すフローチャートである。本実施例
では、頂点Vが斜辺の影響を受けるかどうかの属性を、
頂点Vの角度θと、頂点Vに隣接する各頂点UおよびW
の角度と、さらに、頂点Vと隣接する各頂点UおよびW
の角度それぞれとの和とに基づいて判定するようになっ
ている。
【0090】すなわち、頂点Vの角度の種別がT1〜T
3の場合(頂点の角度θ<π)には(ステップ16−
1)、頂点Vは斜辺の影響を受けないものとして、前記
各実施例と同様に、斜辺の影響を受けないものとして、
「P−A」の属性とされる(ステップ16−6)。
3の場合(頂点の角度θ<π)には(ステップ16−
1)、頂点Vは斜辺の影響を受けないものとして、前記
各実施例と同様に、斜辺の影響を受けないものとして、
「P−A」の属性とされる(ステップ16−6)。
【0091】これに対して、頂点Vの角度θの種別がT
4(π<θ<3π/2)の場合には、頂点Vに隣接する
各頂点UおよびWのいずれもが種別T3(π/2<θ<
π)でなければ(ステップ16−2および16−4)、
頂点Vの斜辺の影響を受けないものとして「P−A」の
属性とされる(ステップ16−6)。
4(π<θ<3π/2)の場合には、頂点Vに隣接する
各頂点UおよびWのいずれもが種別T3(π/2<θ<
π)でなければ(ステップ16−2および16−4)、
頂点Vの斜辺の影響を受けないものとして「P−A」の
属性とされる(ステップ16−6)。
【0092】しかしながら、頂点Vの角度θの種別がT
4(π<θ<3π/2)であって、頂点Vに隣接する各
頂点UおよびWのいずれかが種別T3(π/2<θ<
π)である場合には、種別T3の頂点UまたはWの角度
と頂点Vの角度との和が2πよりも大きいときにのみ、
頂点Vは斜辺の影響を受けるものとして、「P−B」の
属性とされる(ステップ16−7)。頂点Vの角度の種
別がT4の場合には、このような条件以外では、頂点V
の属性は「P−A」とされる。
4(π<θ<3π/2)であって、頂点Vに隣接する各
頂点UおよびWのいずれかが種別T3(π/2<θ<
π)である場合には、種別T3の頂点UまたはWの角度
と頂点Vの角度との和が2πよりも大きいときにのみ、
頂点Vは斜辺の影響を受けるものとして、「P−B」の
属性とされる(ステップ16−7)。頂点Vの角度の種
別がT4の場合には、このような条件以外では、頂点V
の属性は「P−A」とされる。
【0093】これにより、OR演算図形を拡大演算する
場合には、頂点Vの内角θが、π<θ<3π/2の凹角
であり、しかも、隣接する頂点UまたはWのいずれかの
内角θ’が、π/2<θ’<πの凸角であって、さら
に、(θ+θ’)>2πであるときに限り、頂点Vの属
性として「P−B」が付与される。従って、OR演算図
形に45°または135°の斜辺だけが含まれている場
合には、この条件を満足する頂点Vと頂点UまたはWと
の組み合わせは存在せず、この場合には、OR演算図形
の各頂点は、P−Aの属性が付与されて、各頂点に対し
て仮図形の頂点が1つずつ生成される。
場合には、頂点Vの内角θが、π<θ<3π/2の凹角
であり、しかも、隣接する頂点UまたはWのいずれかの
内角θ’が、π/2<θ’<πの凸角であって、さら
に、(θ+θ’)>2πであるときに限り、頂点Vの属
性として「P−B」が付与される。従って、OR演算図
形に45°または135°の斜辺だけが含まれている場
合には、この条件を満足する頂点Vと頂点UまたはWと
の組み合わせは存在せず、この場合には、OR演算図形
の各頂点は、P−Aの属性が付与されて、各頂点に対し
て仮図形の頂点が1つずつ生成される。
【0094】頂点Vの角度の種別がT5(θ=3π/
2)の場合には、図16(b)に示すように、頂点Vに
隣接する各頂点UおよびWのいずれかが種別T3(π/
2<θ<π)であれば(ステップ16−8および16−
9)、頂点Vの属性は、「P−B」とされる(ステップ
16−7)。頂点Vの角度の種別がT5(θ=3π/
2)の場合では、このような条件になければ、頂点Vの
属性は「P−A」とされる(ステップ16−6)。
2)の場合には、図16(b)に示すように、頂点Vに
隣接する各頂点UおよびWのいずれかが種別T3(π/
2<θ<π)であれば(ステップ16−8および16−
9)、頂点Vの属性は、「P−B」とされる(ステップ
16−7)。頂点Vの角度の種別がT5(θ=3π/
2)の場合では、このような条件になければ、頂点Vの
属性は「P−A」とされる(ステップ16−6)。
【0095】これにより、OR演算図形を拡大演算する
場合には、頂点Vの内角θが、θ=3π/2の凹角であ
り、隣接する頂点UまたはWのいずれかの内角θ’が、
π/2<θ’<πの凸角であるときに限り、頂点Vは、
斜辺の影響を受けるものとして、「P−B」の属性とさ
れる。従って、OR演算図形に45°または135°の
斜辺だけが含まれている場合には、頂点Vの角度θが2
70°であって、頂点UまたはWの角度θ’が135°
の場合にのみ、その頂点Vは斜辺の影響をうけるものと
して、プロセスBにより、仮図形の3つの頂点が生成さ
れる。
場合には、頂点Vの内角θが、θ=3π/2の凹角であ
り、隣接する頂点UまたはWのいずれかの内角θ’が、
π/2<θ’<πの凸角であるときに限り、頂点Vは、
斜辺の影響を受けるものとして、「P−B」の属性とさ
れる。従って、OR演算図形に45°または135°の
斜辺だけが含まれている場合には、頂点Vの角度θが2
70°であって、頂点UまたはWの角度θ’が135°
の場合にのみ、その頂点Vは斜辺の影響をうけるものと
して、プロセスBにより、仮図形の3つの頂点が生成さ
れる。
【0096】頂点Vの角度の種別がT6(3π/2<θ
<2π)の場合には、図16(c)に示すように、頂点
Vに隣接する各頂点UおよびWのいずれかが種別T2
(θ=π/2)またはT3(π/2<θ<π)であれば
(ステップ16−10および16−12)、頂点Vの属
性は、「P−B」とされる(ステップ16−7)。ま
た、頂点Vに隣接する各頂点UおよびWのいずれかが種
別T1(0<θ<π/2)であれば、種別T1の頂点U
またはWの角度と頂点Vの角度との和が2πよりも大き
いと(ステップ16−11および16−13)、頂点V
の属性は、「P−B」とされる(ステップ16−7)。
頂点Vの角度の種別がT6の場合(3π/2<θ<2
π)では、このような条件になっていないと、頂点V
は、斜辺の影響を受けないものとして、「P−A」の属
性とされる(ステップ16−6)。
<2π)の場合には、図16(c)に示すように、頂点
Vに隣接する各頂点UおよびWのいずれかが種別T2
(θ=π/2)またはT3(π/2<θ<π)であれば
(ステップ16−10および16−12)、頂点Vの属
性は、「P−B」とされる(ステップ16−7)。ま
た、頂点Vに隣接する各頂点UおよびWのいずれかが種
別T1(0<θ<π/2)であれば、種別T1の頂点U
またはWの角度と頂点Vの角度との和が2πよりも大き
いと(ステップ16−11および16−13)、頂点V
の属性は、「P−B」とされる(ステップ16−7)。
頂点Vの角度の種別がT6の場合(3π/2<θ<2
π)では、このような条件になっていないと、頂点V
は、斜辺の影響を受けないものとして、「P−A」の属
性とされる(ステップ16−6)。
【0097】これにより、OR演算図形を拡大演算する
場合には、頂点Vの内角θが、3π/2<θ<2πの凹
角であり、しかも、隣接する頂点UまたはWのいずれか
の内角θ’が、π/2≦θ’<πの凸角であるか、もし
くは、02<θ’<π/2の凸角で(θ+θ’)>2π
であるときに限り、頂点Vは斜辺の影響を受けるものと
して「P−B」の属性が付与される。従って、OR演算
図形に45°または135°の斜辺だけが含まれている
場合には、頂点Vの角度θ=315°、頂点UまたはW
の角度θ’=90°のとき、または、頂点Vの角度θ=
315°、頂点UまたはWの角度θ’=135°のとき
にのみ、斜辺の影響を受けるものとして、プロセスBに
よって3つの仮図形の頂点が生成される。
場合には、頂点Vの内角θが、3π/2<θ<2πの凹
角であり、しかも、隣接する頂点UまたはWのいずれか
の内角θ’が、π/2≦θ’<πの凸角であるか、もし
くは、02<θ’<π/2の凸角で(θ+θ’)>2π
であるときに限り、頂点Vは斜辺の影響を受けるものと
して「P−B」の属性が付与される。従って、OR演算
図形に45°または135°の斜辺だけが含まれている
場合には、頂点Vの角度θ=315°、頂点UまたはW
の角度θ’=90°のとき、または、頂点Vの角度θ=
315°、頂点UまたはWの角度θ’=135°のとき
にのみ、斜辺の影響を受けるものとして、プロセスBに
よって3つの仮図形の頂点が生成される。
【0098】本実施例では、頂点Vの属性は、対応する
仮図形の頂点を1つだけ生成するプロセスAを実施すべ
き「P−A」と、対応する仮図形の頂点を3つ生成する
プロセスBを実施すべき「P−B」とに分類されるが、
この属性の分類の条件判定は、各頂点毎に実施されるだ
けであり、その後に実施されるOR演算に要する計算時
間に比して高速で処理することができる。
仮図形の頂点を1つだけ生成するプロセスAを実施すべ
き「P−A」と、対応する仮図形の頂点を3つ生成する
プロセスBを実施すべき「P−B」とに分類されるが、
この属性の分類の条件判定は、各頂点毎に実施されるだ
けであり、その後に実施されるOR演算に要する計算時
間に比して高速で処理することができる。
【0099】しかも、斜辺を含まない図形の場合には、
その頂点のいずれもが、1つの頂点に対して仮図形の頂
点が1つしか生成されない「P−A」の属性に分類され
る。また、垂直辺および水平辺以外に、水平辺に対して
45°および135°の斜辺しか含まない図形に対して
も、連続する2つの頂点の角度(拡大演算の場合には内
角の角度、縮小演算の場合には外角の角度)θおよび
θ’の組み合わせは、θ=270°およびθ’=135
°と、θ=315°およびθ’=90°と、θ=315
°およびθ’=135°の3通りの場合に限られ、角度
θとなった頂点のみが、仮図形の頂点として3つが生成
されるように「P−B」に分類され、他の頂点は「P−
A」に分類される。
その頂点のいずれもが、1つの頂点に対して仮図形の頂
点が1つしか生成されない「P−A」の属性に分類され
る。また、垂直辺および水平辺以外に、水平辺に対して
45°および135°の斜辺しか含まない図形に対して
も、連続する2つの頂点の角度(拡大演算の場合には内
角の角度、縮小演算の場合には外角の角度)θおよび
θ’の組み合わせは、θ=270°およびθ’=135
°と、θ=315°およびθ’=90°と、θ=315
°およびθ’=135°の3通りの場合に限られ、角度
θとなった頂点のみが、仮図形の頂点として3つが生成
されるように「P−B」に分類され、他の頂点は「P−
A」に分類される。
【0100】従って、本実施例では、仮図形の頂点数
が、OR演算図形の頂点に対して3つの仮図形の頂点が
生成されるプロセスBが適用される属性「P−B」にな
ることはごくまれである。その結果、仮図形の頂点数を
著しく削減することができ、仮図形のOR演算処理に要
する時間を著しく短縮することが可能になる。
が、OR演算図形の頂点に対して3つの仮図形の頂点が
生成されるプロセスBが適用される属性「P−B」にな
ることはごくまれである。その結果、仮図形の頂点数を
著しく削減することができ、仮図形のOR演算処理に要
する時間を著しく短縮することが可能になる。
【0101】本実施例の場合には、図2(c)に示すO
R演算図形Fに対して、図17に示すリサイジング(拡
大)仮図形24が生成される。この場合には、入力図形
Fの総頂点数18に対して、仮図形24の頂点数は22
になり、4つの頂点が増加しているにすぎない。そし
て、この仮図形24をOR演算することにより、図13
(b)に示すリサイジング(拡大)図形22が得られ
る。
R演算図形Fに対して、図17に示すリサイジング(拡
大)仮図形24が生成される。この場合には、入力図形
Fの総頂点数18に対して、仮図形24の頂点数は22
になり、4つの頂点が増加しているにすぎない。そし
て、この仮図形24をOR演算することにより、図13
(b)に示すリサイジング(拡大)図形22が得られ
る。
【0102】従って、折れ曲がりの多い配線パターンの
ような複雑な図形において、斜辺が局所的に使用されて
いるような場合には、本実施例によって、3つの仮図形
の頂点を生成するプロセスBの適用範囲を限定すること
ができ、高速処理が可能になる。
ような複雑な図形において、斜辺が局所的に使用されて
いるような場合には、本実施例によって、3つの仮図形
の頂点を生成するプロセスBの適用範囲を限定すること
ができ、高速処理が可能になる。
【0103】
【発明の効果】本発明のマスクパターンのリサイジング
方法は、このように、入力図形に対して斜辺が含まれて
いるかどうかを判定し、さらに、斜辺が含まれている場
合には、入力図形の各頂点が斜辺の影響を受けるかどう
かを判定して、頂点が斜辺の影響を受ける場合にのみ、
その頂点に対して3つの仮図形の頂点を生成するように
している。従って、入力図形に斜辺が含まれていても、
斜辺の影響を受けない頂点に対しては、仮図形の頂点は
1つしか生成されず、仮図形の総頂点数を削減すること
ができて、その後のOR演算処理を高速化することがで
きる。
方法は、このように、入力図形に対して斜辺が含まれて
いるかどうかを判定し、さらに、斜辺が含まれている場
合には、入力図形の各頂点が斜辺の影響を受けるかどう
かを判定して、頂点が斜辺の影響を受ける場合にのみ、
その頂点に対して3つの仮図形の頂点を生成するように
している。従って、入力図形に斜辺が含まれていても、
斜辺の影響を受けない頂点に対しては、仮図形の頂点は
1つしか生成されず、仮図形の総頂点数を削減すること
ができて、その後のOR演算処理を高速化することがで
きる。
【0104】頂点が斜辺の影響を受けるかどうかは、そ
の頂点に隣接する各頂点をそれぞれ挟む各一対の辺によ
って判定することができるが、その頂点の角度とその頂
点に隣接する各頂点の角度とに基づいて、さらに、その
頂点の角度とその頂点に隣接する各頂点の角度と、隣接
する頂点のいずれか一方ともとの頂点の角度との和に基
づいて判定することにより、3つの仮図形の頂点を生成
するプロセスが適用される範囲が制限され、仮図形の総
頂点数がより一層、削減されて、その後のOR演算処理
を高速化することができる。
の頂点に隣接する各頂点をそれぞれ挟む各一対の辺によ
って判定することができるが、その頂点の角度とその頂
点に隣接する各頂点の角度とに基づいて、さらに、その
頂点の角度とその頂点に隣接する各頂点の角度と、隣接
する頂点のいずれか一方ともとの頂点の角度との和に基
づいて判定することにより、3つの仮図形の頂点を生成
するプロセスが適用される範囲が制限され、仮図形の総
頂点数がより一層、削減されて、その後のOR演算処理
を高速化することができる。
【図1】(a)および(b)は、それぞれ、本発明のマ
スクパターンのリサイジング方法の手順の一例を示すフ
ローチャートである。
スクパターンのリサイジング方法の手順の一例を示すフ
ローチャートである。
【図2】(a)は、LSIのマスクパターンの一例、
(b)はそのマスクパターンのCADシステムに入力さ
れる入力図形、(c)はその入力図形をOR演算して得
られたOR演算図形である。
(b)はそのマスクパターンのCADシステムに入力さ
れる入力図形、(c)はその入力図形をOR演算して得
られたOR演算図形である。
【図3】OR演算図形の全ての頂点の角度の種別を判定
するため方法の手順の一例を示すフローチャートであ
る。
するため方法の手順の一例を示すフローチャートであ
る。
【図4】(a)〜(f)は、それぞれ、OR演算図形の
頂点の角度の種別T1〜T6の説明図である。
頂点の角度の種別T1〜T6の説明図である。
【図5】OR演算図形が斜辺を含んでいない場合のその
OR演算図形の頂点に対する仮図形の頂点の生成方法で
あるプロセスAの手順を示すフローチャートである。
OR演算図形の頂点に対する仮図形の頂点の生成方法で
あるプロセスAの手順を示すフローチャートである。
【図6】(a)および(b)は、それぞれ、プロセスA
による仮図形の頂点の生成方法の説明図である。
による仮図形の頂点の生成方法の説明図である。
【図7】OR演算図形の各辺を平行移動する際の手順の
一例を示すフローチャートである。
一例を示すフローチャートである。
【図8】OR演算図形の各頂点が、斜辺の影響を受ける
ものかどうかの属性を判定する手順の一例を示すフロー
チャートである。
ものかどうかの属性を判定する手順の一例を示すフロー
チャートである。
【図9】OR演算図形における頂点が斜辺の影響を受け
る場合の説明図である。
る場合の説明図である。
【図10】(a)および(d)は、それぞれ、斜辺を含
むOR演算図形における斜辺の影響を受けない頂点に対
する仮図形の頂点の生成方法の説明図、(b)および
(c)は、それぞれ、斜辺を含むOR演算図形における
斜辺の影響を受ける頂点に対する仮図形の頂点の生成方
法の説明図である。
むOR演算図形における斜辺の影響を受けない頂点に対
する仮図形の頂点の生成方法の説明図、(b)および
(c)は、それぞれ、斜辺を含むOR演算図形における
斜辺の影響を受ける頂点に対する仮図形の頂点の生成方
法の説明図である。
【図11】OR演算図形の頂点に対する仮図形の頂点
を、プロセスBによって生成する方法の手順の一例を示
すフローチャートである。
を、プロセスBによって生成する方法の手順の一例を示
すフローチャートである。
【図12】(a)および(b)は、それぞれ、そのプロ
セスBによる仮図形の頂点の生成方法の説明図である。
セスBによる仮図形の頂点の生成方法の説明図である。
【図13】(a)は、図2(c)に示すOR演算図形を
図1のフローチャートに基づいて生成された仮図形、
(b)はその仮図形をOR演算して得られる拡大演算図
形である。
図1のフローチャートに基づいて生成された仮図形、
(b)はその仮図形をOR演算して得られる拡大演算図
形である。
【図14】OR演算図形の各頂点が、斜辺の影響を受け
るものかどうかの属性を判定する手順の他の例を示すフ
ローチャートである。
るものかどうかの属性を判定する手順の他の例を示すフ
ローチャートである。
【図15】図2(c)に示すOR演算図形に基づいて生
成された仮図形である。
成された仮図形である。
【図16】(a)〜(c)は、それぞれ、OR演算図形
の各頂点が、斜辺の影響を受けるものかどうかの属性を
判定する手順の、さらに他の例を示すフローチャートで
ある。
の各頂点が、斜辺の影響を受けるものかどうかの属性を
判定する手順の、さらに他の例を示すフローチャートで
ある。
【図17】図2(c)に示すOR演算図形に基づいて生
成された仮図形である。
成された仮図形である。
【図18】(a)はマスクパターンの入力図形の一例、
(b)はその拡大図形、(c)はその相似図形である。
(b)はその拡大図形、(c)はその相似図形である。
【図19】(a)〜(g)は、それぞれ、入力図形の拡
大演算処理または縮小演算処理の説明図である。
大演算処理または縮小演算処理の説明図である。
【図20】(a)は、マスクパターンの最小間隔を検証
する際の入力図形の一例、(b)は、その入力図形の拡
大図形、(c)は、最小間隔を満足していない部分の説
明図である。
する際の入力図形の一例、(b)は、その入力図形の拡
大図形、(c)は、最小間隔を満足していない部分の説
明図である。
【図21】(a)は、マスクパターンの最小幅を検証す
る際の入力図形の一例、(b)は、その入力図形の縮小
図形、(c)は、最小幅を満足していない部分の説明図
である。
る際の入力図形の一例、(b)は、その入力図形の縮小
図形、(c)は、最小幅を満足していない部分の説明図
である。
【図22】(a)は、配線可能領域を抽出する際の入力
図形の一例、(b)は、その入力図形の拡大図形、
(c)は、配線可能領域を満足する部分の説明図であ
る。
図形の一例、(b)は、その入力図形の拡大図形、
(c)は、配線可能領域を満足する部分の説明図であ
る。
【図23】(a)は、ノッチを除去する際の入力図形の
一例、(b)は、その入力図形の拡大図形、(c)は、
その拡大図形の縮小図形である。
一例、(b)は、その入力図形の拡大図形、(c)は、
その拡大図形の縮小図形である。
【図24】(a)および(b)は、それぞれ、OR演算
の説明図である。
の説明図である。
【図25】(a)および(b)は、それぞれ、従来法2
によっては正確な拡大図形が得られない入力図形であ
る。
によっては正確な拡大図形が得られない入力図形であ
る。
【図26】(a)および(b)は、それぞれ、従来法3
の手順を示すフローチャートである。
の手順を示すフローチャートである。
【図27】(a)〜(c)は、それぞれ、OR演算が必
要であることの説明図である。
要であることの説明図である。
【図28】(a)はマスクパターンの入力図形の一例、
(b)は従来法3によりその入力図形の拡大演算におけ
る仮図形である。
(b)は従来法3によりその入力図形の拡大演算におけ
る仮図形である。
【図29】従来法4の手順を示すフローチャートであ
る。
る。
【図30】(a)および(b)は、それぞれ、従来法4
によって生成された誤った拡大図形である。
によって生成された誤った拡大図形である。
10 マスクパターン 11 斜辺部 12 水平部 13 矩形部 14 垂直部 15 水平部 16 矩形部 11’ 傾斜入力図形 12’ 水平入力図形 13’ 矩形入力図形 14’ 垂直入力図形 15’ 水平入力図形 16’ 矩形入力図形 F OR演算図形
Claims (4)
- 【請求項1】 CADシステムによって、マスクパター
ンに対応する入力図形の各辺を、その入力図形の外部ま
たは内部に平行移動させて拡大図形または縮小図形を得
るマスクパターンのリサイジング方法であって、 前記入力図形が斜辺を含むかどうかを判定する工程と、 その入力図形が斜辺を含んでいる場合には、その入力図
形の頂点毎に、その頂点が斜辺の影響を受けるかどうか
を判定する工程と、 入力図形の頂点が斜辺の影響を受ける場合に、その頂点
を挟む入力図形の一対の辺を、図形の内部または外部に
平行移動した際のその頂点に対応するそれぞれの端点
を、その頂点とともに仮図形の頂点とする工程と、 入力図形の頂点が斜辺の影響を受けない場合には、その
頂点を挟む入力図形の一対の辺を図形の外部または内部
にそれぞれ平行移動し、平行移動された各辺の交点また
は平行移動された各辺の延長線の交点を、入力図形の頂
点に対する仮図形の頂点とする工程と、 得られた仮図形の各頂点を結んで仮図形を生成する工程
と、 生成された仮図形をOR演算する工程と、 を包含することを特徴とするマスクパターンのリサイジ
ング方法。 - 【請求項2】 入力図形の各頂点が、斜辺の影響を受け
るかどうかを、その頂点に隣接する各頂点を挟む一対の
辺に斜辺が含まれているかどうかによって判定すること
を特徴とする請求項1に記載のマスクパターンのリサイ
ジング方法。 - 【請求項3】 入力図形の各頂点が、斜辺の影響を受け
るかどうかを、その頂点に隣接する各頂点の角度に基づ
いて判定することを特徴とする請求項1に記載のマスク
パターンのリサイジング方法。 - 【請求項4】 入力図形の各頂点が、斜辺の影響を受け
るかどうかを、その頂点の角度と、その頂点に隣接する
各頂点の角度と、その頂点の角度と隣接する各頂点それ
ぞれの角度との和とに基づいて判定することを特徴とす
る請求項1に記載のマスクパターンのリサイジング方
法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7033214A JPH08227431A (ja) | 1995-02-22 | 1995-02-22 | マスクパターンのリサイジング方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7033214A JPH08227431A (ja) | 1995-02-22 | 1995-02-22 | マスクパターンのリサイジング方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08227431A true JPH08227431A (ja) | 1996-09-03 |
Family
ID=12380204
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7033214A Pending JPH08227431A (ja) | 1995-02-22 | 1995-02-22 | マスクパターンのリサイジング方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08227431A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6957176B2 (en) | 2000-06-22 | 2005-10-18 | Shinko Electric Industries Co., Ltd. | Reduction processing method and computer readable storage medium having program stored thereon for causing computer to execute the method |
| JP2009210707A (ja) * | 2008-03-03 | 2009-09-17 | Nec Electronics Corp | フォトマスク及びその設計方法と設計プログラム |
| JPWO2022091181A1 (ja) * | 2020-10-26 | 2022-05-05 |
-
1995
- 1995-02-22 JP JP7033214A patent/JPH08227431A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6957176B2 (en) | 2000-06-22 | 2005-10-18 | Shinko Electric Industries Co., Ltd. | Reduction processing method and computer readable storage medium having program stored thereon for causing computer to execute the method |
| JP2009210707A (ja) * | 2008-03-03 | 2009-09-17 | Nec Electronics Corp | フォトマスク及びその設計方法と設計プログラム |
| JPWO2022091181A1 (ja) * | 2020-10-26 | 2022-05-05 | ||
| WO2022091181A1 (ja) * | 2020-10-26 | 2022-05-05 | インテグラル・テクノロジー株式会社 | 形状データ処理装置、形状データ処理方法及び形状データ処理プログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Owen et al. | Q‐Morph: an indirect approach to advancing front quad meshing | |
| US8543944B2 (en) | Fast edge routing for interactive diagramming | |
| Mitchell et al. | Pillowing doublets: refining a mesh to ensure that faces share at most one edge | |
| JPH01286081A (ja) | 多重多角形表示を発生する方法 | |
| Peng et al. | Connectivity editing for quadrilateral meshes | |
| JPH04309183A (ja) | 有限要素メッシュ生成方法 | |
| JP2002501640A (ja) | プログレッシブメッシュの適応細分方法および装置 | |
| US5701404A (en) | Method and system for efficiently trimming a nurbs surface with a projected curve | |
| Zeng et al. | Sketch-based retrieval and instantiation of parametric parts | |
| WO2024051498A1 (zh) | 多边形修正及生成方法、装置、电子设备及计算机可读存储介质 | |
| Sarkar et al. | Finding a largest rectangle inside a digital object and rectangularization | |
| Itoh et al. | Fast isosurface generation using the volume thinning algorithm | |
| Chong et al. | Automatic mesh-healing technique for model repair and finite element model generation | |
| Papadopoulou et al. | The Hausdorff Voronoi diagram of polygonal objects: A divide and conquer approach | |
| Skraba et al. | Critical point cancellation in 3D vector fields: Robustness and discussion | |
| Kularathne et al. | Point in polygon determination algorithm for 2-d vector graphics applications | |
| US20050259101A1 (en) | Irregular mesh and embedded geometric description in a computer graphics system | |
| JPH08227431A (ja) | マスクパターンのリサイジング方法 | |
| Eades et al. | Drawing clustered graphs on an orthogonal grid | |
| Rahman et al. | Octagonal drawings of plane graphs with prescribed face areas | |
| Cashman et al. | Selective knot insertion for symmetric, non-uniform refine and smooth B-spline subdivision | |
| Fernández-Jambrina | Characterisation of rational and NURBS developable surfaces in Computer Aided Design | |
| JP2000222449A (ja) | 図形処理方法 | |
| Takahashi | Qualitative formalization of a curve on a two-dimensional plane | |
| Lee et al. | Constant-time navigation in four-dimensional nested simplicial meshes |