(57)【特許請求の範囲】
【請求項１】
凸端、凹端、丸端の特徴点によって線図形の輪郭を各輪郭要素に分割し、各輪郭要素から一定の関係にある他の輪郭要素に向けて弦を生成する弦生成手段を有し、弦生成手段によって生成された弦の中点を繋ぎ合わせることによって芯線を作成する切削装置における線図形の芯線化処理方法であって、
前記丸端は、丸い端部および、前記輪郭要素が凹辺を含まない閉ループからなる場合には、前記輪郭要素における互いの距離が最大になる２点を含み、
弦生成手段は、
輪郭要素が、凹辺を含む場合にはその凹辺とそれに対向する対向辺の間に弦を生成し、
輪郭要素が丸端を含む場合には、その丸端を弦とし、
線図形の輪郭が複数の連続する凸端を有する場合には、その連続する凸端のうち近接する二個の凸端間に、凸端の数を２で割った数だけ弦を生成し、
輪郭要素を構成する一辺の終点が凹端であれば、その凹端から対向辺に向けて弦を生成し、
凹端とその凹端の近傍に位置する凸端の間に弦を生成し、
さらに、生成された弦同士が交差する場合には、長い方の弦を除去する、切削装置における線図形の芯線化処理方法。
【請求項２】
弦生成手段による凹辺と対向辺の間への弦の生成が、少なくとも、上記両辺を含む凹区間と対向区間のそれぞれ始点及び終点から相手の辺に向けてなされ、その相手の辺の決定が法線の方向と重み付け距離を基準にして行われる請求項１に記載の切削装置における線図形の芯線化処理方法。
【請求項３】
弦生成手段によって作成された、連続する輪郭要素間において求められた芯線同士が互いに繋がらない場合には、一方の芯線の方向と、その芯線の端部と他の芯線との間の最短距離から判断して、上記一方の芯線の端部を延長し上記他の芯線に繋ぎ合わせるようにした請求項１または２に記載の切削装置における線図形の芯線化処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、主として二次元彫刻において行われる線図形の芯線化処理方法に関するものである。
【０００２】
【従来の技術】
文字等の線図形画像をコンピューター等で処理する場合、スキャナで読み取った画像データをそのまま用いると、メモリが膨大になる上、拡大，縮小等を含む図形編集に不都合である。
【０００３】
このため、上記のような問題を回避する目的で、従来から、上記のような画像データを、始点と終点とで規制するベクトルデータに変換することが行われている。そして、このような変換方法の中に、輪郭線ベクトルを芯線化する方法がある。
【０００４】
この方法は、画像の輪郭を追跡したのち、これをベクトル化し、その中から一対の辺（線分）を形成するペアを抽出し、これらのペアベクトルの中心線を求めるといったことで芯線化を行うものである。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記の方法によると、図９に示した線図形１のような単純な形状の場合には、適正な芯線２が得られるが、複雑な形状の線図形になると芯線が不適正になったり、乱れたりすることがある。
【０００６】
例えば、図１０に示した文字ｂの輪郭を表した線図形３の場合、内部側の輪郭４が無視されて、外部側の輪郭５に対応する芯線６が生成されることがある。この場合、芯線６は、起点ａから出発し、起点ａから両側に延びる各辺をそれぞれ結ぶ線（図示の一点鎖線）の中点を繋いで生成され、終点ｂまで延びている。
【０００７】
また、図１１に示した線図形７の場合にも、図１０の線図形３の場合と同様に、起点ｃから出発し、起点ｃから両側に延びる各辺を結ぶ線の中点を繋いで芯線８が生成されていく。しかしながら、線図形７の輪郭９が凹端ｄを通過したところで、図示の輪郭９ａのように延びていくと、芯線８は、点ｅと凹端ｄの中点ｆと、点ｇと輪郭９ａの点ｈとの中点ｉとの間でジグザグに進むようになる。
【０００８】
さらに、輪郭９の下部側において、点ｊと輪郭９ａの点ｋの中点ｌは、輪郭９ａ側に大きく偏ってしまう。このように、線図形の形状が複雑になればなるほど芯線が乱れ適正な芯線を得ることができなくなるという問題がある。
この発明は、このような事情に鑑みなされたもので、線図形の形状が複雑であっても、適正な芯線を生成することのできる線図形の芯線化処理方法の提供をその目的とする。
【０００９】
【課題を解決するための手段】
上記の目的を達成するため、この発明は、まず、線図形を一個の輪郭としてとらえるのではなく、凸端，凹端，丸端等の特徴点を基準として、線図形の輪郭を幾つかの要素に分割する。そして、その分割された輪郭要素が凹辺を含む場合には、その凹辺から対向する対向辺にかかる弦を生成しその中点を繋いで芯線を求める。
【００１０】
また、上記輪郭要素が凹辺を含まない閉ループからなる場合には、その輪郭要素における互いの距離が最大となる二点を丸端としてその丸端そのものをそれぞれ弦とし、この弦の中点（前記二点と同一の点）を繋いで芯線とする。なお、この場合、輪郭要素が閉ループでなく丸端を含むものである場合には、その丸端を弦とする。さらに、上記線図形の輪郭が複数個の凸端を有する場合には、その連続する凸端のうち近接する二個の凸端同士をそれぞれ一組として弦を生成し、その弦の中点を繋いで芯線を求める。
【００１１】
さらに、輪郭要素を構成する一辺の次の辺の始点が凹端であれば、その一辺の終点から対向辺に向けて弦を生成する。この場合、生成される弦は、一辺の終点を対向辺に向けて延長することにより行われ、対向辺が複数ある場合には、それぞれの対向辺に向けて弦を生成する。また、凹端とその凹端の近くに位置する凸端の間にも弦を生成する。
【００１２】
このように、この発明においては、線図形を、特徴点を基準として、幾つかの要素に分割するとともに、各特徴点から対向辺に向けて延びる弦を生成し、その弦の中点を求めるようになっている。したがって、各輪郭要素がどのような形状であっても、その形状に応じた処理方法で適正な芯線を求めることができる。そして、求められた各芯線を繋ぎ合わせることにより、線図形の全体の輪郭に対応する芯線が得られるようになる。
【００１３】
また、この際、生成された弦同士が交差する場合には、長い方の弦を除去することが行われる。これによって、従来例のように、ジグザグ状の不適正な芯線が表れることが防止され、適正な芯線が得られるようになる。
【００１４】
さらに、凹辺と対向辺の間への弦の生成が、少なくとも、両辺を含む凹区間および対向区間の始点と終点においてはなされているようにすることにより、より適正な芯線が得られるようになる。この際、弦の生成は、始点または終点における法線の方向と重み付け距離から判断して行うことが好ましい。
【００１５】
なお、この場合の重み付け距離による判断においては、各辺の始点または終点から生成する弦の候補を、法線が交差する点に延びる弦と、最短距離になる点に延びる弦の二通りを考える。そして、例えば、法線を基準とした弦の距離が、最短距離を基準にした弦の距離の二倍よりも小さい場合には、法線を基準とした弦を採用するということで行う。なお、上記二倍の倍数は、線図形の形状等によって、適宜変更することもできる。
【００１６】
また、線図形の形状によっては、分割された各輪郭要素同士が連続する輪郭で、繋がるべき芯線同士が繋がらない場合が生じる。このような場合には、一方の芯線の方向と、その芯線の端部と他の芯線との間の最短距離から判断して、一方の芯線の端部を延長し他の芯線に繋ぎ合わせるようにする。
【００１７】
このような補間を行って芯線における不連続部分をなくすことにより、完璧な芯線を得ることができるようになる。
つぎに、この発明による線図形の芯線化処理方法を図面を用いて詳しく説明する。
【００１８】
【発明の実施の形態】
図１は、この発明にかかる線図形の芯線化処理方法が用いられる切削装置の一例を示している。すなわち、図１において、１０は入力装置であり、加工形状（線図形の輪郭）のデータや工具速度等、切削加工に必要な情報などのデータが入力され、そのデータを、連結されたＣＰＵ１１を介してメモリ１２に送り記憶させるようになっている。
【００１９】
上記ＣＰＵ１１は、各種のデータや情報に基づいて演算処理をしながら、メモリ１２が記憶するプログラムに沿って作動し、連結された切削加工部１３の棒状加工具１４を駆動させ、被加工物１５を切削加工するようになっている。このＣＰＵ１１においては、特に、線図形の輪郭における対向する辺の間に弦を生成する弦生成部１６が備わっている。
【００２０】
また、上記メモリ１２には、各種のデータを記憶する記憶部が備わっているが、このメモリ１２では、特に、線図形データ記憶部１７，端点記憶部１８および弦記憶部１９が備わっている。上記線図形データ記憶部１７は線図形の輪郭形状のデータを記憶し、端点記憶部１８は、凸端，凹端，丸端等の端点のデータを記憶し、弦記憶部１９は、ＣＰＵ１１の弦生成部１６が演算処理によって検出する弦のデータを記憶するようになっている。
【００２１】
このような切削装置を用いて、この発明にかかる線図形の芯線化処理方法は、まず、線図形の輪郭形状のデータを線図形データ記憶部１７に記憶させたのち、図２に示したフローチャートに沿って弦生成処理をすることから行われる。
【００２２】
図２に示すように、この芯線化処理方法における弦生成処理は、主として、凹辺での弦生成を行うステップ２、丸端での弦生成を行うステップ３、凹区間とその対向区間の終始点での弦生成を行うステップ４、次辺の始点が凹端の場合の弦生成を行うステップ５，連続する凹端での弦生成を行うステップ６および近傍にある凹端と凸端の間での弦生成を行うステップ７の各段階からなっている。
【００２３】
この場合、線図形は、図３に示すように、従来例の線図形３と同様、文字ｂの輪郭を表した線図形２０とする。なお、この線図形２０は、数十の直線状の辺を繋げて構成されており、三個の凸端ｍ，ｎ，ｏと三個の凹端ｐ，ｑ，ｒの特徴点を有している。
【００２４】
ここで、上記弦生成処理を行う前に、上記線図形２０を特徴点を基準として分割しておく。この場合、曲線状の輪郭要素ｏｐ，直線状の輪郭要素ｐｎ，ｎｍ，ｍｏ，ｒｑ，および曲線状の輪郭要素ｑｒの六個の輪郭要素としておく。
【００２５】
そして、図２のフローチャートに示した弦生成処理に入る。ここで、まず、最初に、ステップ１における先頭輪郭の先頭の辺に進む。
ステップ１においては、先頭の輪郭要素が選択されるが、ここでは説明の便宜上、先頭の輪郭要素を曲線状の輪郭要素ｑｒとする。
【００２６】
ついで、輪郭要素ｑｒの先頭の辺を選択する。なお、図３では各辺を明らかにしていないが、任意の一辺を先頭として順次隣接する辺に向かって処理が進んでいくものとする。そして、進む方向が時計回りの場合、先頭の辺に隣接する次の辺が、先頭の辺に対して右側に折れて進む場合に、線図形の領域が左側に位置していればこの辺は凹辺であり、線図形の領域が右側に位置していれば凸辺である。
【００２７】
ステップ２では、凹辺での弦生成が行われる。ここで、輪郭要素ｑｒは、凹辺で構成されているため、各辺からそれに対向する辺に向けて弦が生成される。
この場合、例えば、図示の凹辺２１の対向辺の決定は、次のようにして行われる。
【００２８】
まず、凹辺２１の始点２１ａから法線２２を延ばし、この法線２２と交差する輪郭要素ｏｐ上の辺２３を候補としてあげる。ついで、上記始点２１ａから最短距離２４にある輪郭要素ｏｐ上の辺２５を候補としてあげる。そして、この二つの候補の辺２３，２５のうち、重み付け距離の小さい方を対向辺として選択する。
【００２９】
上記重み付け距離は、法線２２の長さと、最短距離２４の二倍の長さとの比較によって行われ、法線２２の長さの方が長い場合には、辺２３が対向辺として選択され、最短距離２４の二倍の長さの方が長い場合には、辺２５が対向辺として選択される。このような方法によって、順次、輪郭要素ｑｒを構成する各辺の始点から輪郭要素ｏｐを構成する辺に延びる弦を生成していく。
【００３０】
つぎに、ステップ３に進み、丸端での弦生成が行われる。
上記線図形２０においては、丸端は存在しないため、ここでは、図４に示した線図形２６で説明する。この線図形２６は、凹辺を含まない閉ループで構成されており、両端部がそれぞれ丸端ｓ，ｔになっている。
【００３１】
このような場合には、上記丸端ｓ，ｔそのものを弦として処理し、その中点を結ぶ線を芯線とする。上記丸端ｓ，ｔはともに点で長さはないため、当然上記中点もその同一点となる。なお、上記丸端ｓ，ｔは、線図形の両側の先端部分（円弧状の部分）の全体の長さにおける中点とするか、または、上記先端部分を構成する各辺の間の角度を算出し、そのうち最も辺の間の角度が大きな二辺の接点とすることにより求める。
【００３２】
また、上記線図形２６のように、両端側に丸端が明確に表れる形状でなく、丸端がわかりにくい形状の輪郭、例えば楕円形であれば、その線図形の中の最も距離の離れた二点を丸端とするとともに、その丸端を弦とし、その二点を結ぶ線を芯線とする。
【００３３】
ついで、ステップ４に進み、凹区間とそれに対向する対向区間の始点および終点での弦を生成する。これは、ステップ２における凹辺での弦の生成と同様の方法で行われるが、連続する各凹辺の集合を凹区間として、その凹区間の始点および終点で弦の生成を行う。また、その凹区間に対向する対向辺の集合を対向区間とし、この対向区間の始点および終点からも凹区間側の輪郭要素における辺に対して弦の生成を行う。
【００３４】
これを、図５に示した線図形２７を用いて説明する。線図形２７において、複数の凹辺からなる凹区間２８における両端の法線と、複数の対向辺からなる対向区間２９における両端の法線とが一致する場合には、その両法線と同一の線上にそれぞれ弦３０，３１が生成される。
【００３５】
また、凹区間３２と対向区間３３のように、互いの両端の法線が異なる場合には、それぞれの端点について弦を生成する。この場合、図示のように、凹区間３２の両端に対応する弦は、それぞれ弦３４，３５であり、対向区間３３の両端に対応する弦は、それぞれ弦３６，３７である。なお、この線図形２７における丸端ｕ，ｖは、ステップ３と同様にして求める。
【００３６】
つぎに、ステップ５に進み、次辺の始点が凹端の場合の弦の生成を行う。
これを、図３の線図形２０における輪郭要素ｏｐの最後の辺から輪郭要素ｐｎに進む場合について説明する。ここで、前述した輪郭要素ｑｒの場合は、時計回りで順次隣接する辺へと進んでいく処理を行ったが、この輪郭要素ｏｐを含む外輪郭については、反時計回りの方向で処理が進んでいくものとする。
【００３７】
この場合の輪郭要素ｏｐの最後の辺の終点、すなわち凹端ｐにおける弦の生成は、ステップ２における凹辺での弦の生成と同様の操作により行われる。したがって、凹端ｐにおける法線は凹端ｐとｑを接続する線となり、さらに、凹端ｐから最短距離にある点も凹端ｑであるため、上記法線と同一線上に凹端ｐに対応する弦３８が生成される。
【００３８】
同様にして、凹端ｑに対応する弦としては上記弦３８と同一の弦３８が求められ、凹端ｒに対応する弦としては、凹端ｒからその最短距離にある輪郭要素ｏｐ上の辺に延びる弦３９が求められる。そして、ステップ６に進む。
【００３９】
ステップ６では、連続する凸端での弦の生成が行われる。
複数の凸端が連続して存在する場合には、凸端間の距離が短い方から順に対応する検出辺を検出し、その検出辺の始点と終点を結ぶ弦を生成する。この検出辺の数は、凸端の数を２で割った数とし、端数は切り捨てる。したがって、凸端の数が、二個または三個の場合は、検出辺の数は一個となり、凸端の数が四個の場合には、検出辺の数は二個になる。
【００４０】
図６に示した長方形の線図形４０の場合、凸端は凸端ｗ，ｘ，ｙ，ｚの四個であるため、検出辺の数は二個となる。そして、凸端間の距離が短い二個の辺は、辺ｗｘと辺ｙｚであるため、求める弦は、辺ｗｘと辺ｙｚの同一線上にある弦４１，４２になる。したがって、この弦４１の中点と弦４２の中点を結ぶ線が芯線として求められる。
【００４１】
また、図３の線図形２０では、凸端は凸端ｍ，ｎ，ｏの三個であり、その最短距離にある凸端は凸端ｍと凸端ｎであるため、辺ｍｎが検出辺となり、この辺ｍｎと同一線上に弦４３が生成される。
【００４２】
つぎに、ステップ７に進み、近傍に位置する凹端と凸端との間での弦の生成が行われる。上記線図形２０の場合、凹端ｒと凸端ｏがこれに該当するため、その間に弦４４を生成する。
【００４３】
上記で説明した一連の処理のうち該当する処理を、まず、先頭輪郭の先頭の辺について選択して行う。そして、その辺の処理が終了すると、ステップ８からステップ９へと進み、次の辺について、該当する処理が行われる。これを繰り返し、先頭輪郭の全辺についての処理が終了すると、ステップ１０からステップ１１に進み、次の輪郭の処理へと移る。
【００４４】
そして、次の輪郭のすべての辺についても同様の処理を行い、すべての輪郭のすべての辺の処理が終了すると、ステップ１２に進む。ステップ１２では、生成された弦同士において互いに交差するものがあれば、そのうちの長い方の弦を除去する処理が行われる。これによって、不適正な弦が除去され、適正な弦のみが残るようになる。
【００４５】
この結果、図７に示したような各弦が生成される。そして、この各弦の中点を繋ぎ合わせることにより、図８に示した芯線４５が得られる。
なお、この芯線４５における点Ａ，Ｂ間は、上記の処理においては、得られない部分であるが、補間を行うことによって得ることができ、これによって、芯線４５に不連続部分をなくすことができるようになる。
【００４６】
上記の補間は、点Ｂ側の芯線の方向と、点Ｂと点Ａ側の芯線との間の距離から判断して行われ、上記距離は短いほど好ましい。芯線４５の場合、点Ｂ側は点Ａに向かって延びており、点Ｂと点Ａは最短距離に位置するため、点Ａと点Ｂの間が芯線４５ａとして補間される。
【００４７】
このように、この線図形の芯線化処理方法によれば、線図形がどのような形状であっても、線図形を各輪郭要素に分割し、その形状に適応した処理を行うようになっている。したがって、適正な芯線が求められるようになる。
【００４８】
また、弦同士が交差する場合には、不適正な長い方の弦を除去することにより、従来例のように、ジグザグ状の不適正な芯線が表れることが防止され、適正な芯線のみが得られるようになる。
【００４９】
さらに、繋がるべき芯線同士が繋がらない場合には、補間を行って芯線における不連続部分をなくすようになっている。その結果、より完璧な芯線を得ることができるようになる。
【００５０】
【発明の効果】
以上のように、この発明にかかる線図形の芯線化処理方法では、線図形を、凸端，凹端，丸端等の特徴点を基準として幾つかの輪郭要素に分割し、各輪郭要素の辺からそれぞれ一定の関係にある他の輪郭要素の辺に向けて弦を生成するようになっている。
【００５１】
したがって、弦が生成される可能性のない同一輪郭要素内の辺同士の処理を最初から省略することができるようになり、処理が効率よく行えるようになる。
また、その分割された輪郭要素が、凹辺を含む場合、凹辺を含まない場合、丸端を含む場合、複数個の凸端を有する場合等、輪郭要素の形状に合った異なる処理を行うため、適正な芯線を得ることができる。
【００５２】
また、弦同士が交差する場合には、不適正な長い方の弦を除去することにより、適正な弦のみが残り、これによって適正な芯線が得られるようになる。
さらに、繋がるべき芯線同士が繋がらない場合には、補間処理を行って芯線における不連続部分をなくすことにより、完璧な芯線を得ることができるようになる。
【図面の簡単な説明】
【図１】この発明の一例で使用する切削装置の構成図である。
【図２】弦生成処理の概要を示すフローチャート図である。
【図３】弦生成処理を行う線図形を示す説明図である。
【図４】丸端での弦生成を説明する説明図である。
【図５】凹区間および対向区間での弦生成を説明する説明図である。
【図６】連続する凸端での弦生成を説明する説明図である。
【図７】生成された弦を示す説明図である。
【図８】芯線を説明する説明面図である。
【図９】従来例による適正な芯線が得られる場合の線図形を示す説明図である。
【図１０】従来例による不適正な芯線を示す説明図である。
【図１１】従来例による他の不適正な芯線を示す説明図である。
【符号の説明】
２０，２６，２７，４０…線図形
２１…凹辺
２２…法線
２３…辺
２８，３２…凹区間
２９，３３…対向区間
３０，３１，３４，３５，３６，３７，３８，３９，４１，４２，４３，４４…弦
４５，４５ａ…芯線
ｍ，ｎ，ｏ…凸端
ｐ，ｑ，ｒ…凹端
ｓ，ｔ…丸端
ｏｐ，ｐｎ，ｎｍ，ｍｏ，ｒｑ，ｑｒ…輪郭要素
【図１】
0004015245.tif 000002
【図２】
0004015245.tif 000003
【図３】
0004015245.tif 000004
【図４】
0004015245.tif 000005
【図５】
0004015245.tif 000006
【図６】
0004015245.tif 000007
【図７】
0004015245.tif 000008
【図８】
0004015245.tif 000009
【図９】
0004015245.tif 000010
【図１０】
0004015245.tif 000011
【図１１】
0004015245.tif 000012