(57)【特許請求の範囲】
【請求項１】
切削装置によって加工する加工形状を表わす線図形を芯線化するために、前記線図形の端点を検出する方法であって、
前記切削装置は、前記線図形を直線状の複数の辺からなる輪郭で構成した輪郭形状データを記憶する線図形データ記憶部と、端点検出部とを含み、
前記端点検出部は、各輪郭ごとに、その輪郭内における隣り合った辺間の角度から凹部分に含まれる辺を検出し、凹部分のない輪郭については、その輪郭における互いの距離が最大の２点を端点とし、凹部分を含む輪郭については、その凹部分に含まれる辺の法線とのなす角度が所定値以内で、かつ、その凹部分に含まれる辺の中点からの距離が最小の辺を対向辺として検出し、上記凹部分に含まれる辺および対向辺を除いた辺のうち、連続する辺の互いの辺角の総和が所定値以上の部分を先端部分とし、この先端部分の中央の点を端点とする、切削装置における線図形の芯線化における端点の検出方法。
【請求項２】
先端部分を構成する辺において、隣接する辺間の角度が最も大きな２辺の接点を端点とする請求項１に記載の、切削装置における線図形の芯線化における端点の検出方法。
【請求項３】
請求項１における法線となす角度が所定値以内の所定値が、１５度である請求項１または２に記載の、切削装置における線図形の芯線化における端点の検出方法。
【請求項４】
請求項１における連続する辺の互いの辺角の総和が所定値以上の所定値が、９０度である請求項１ないし３のいずれかに記載の、切削装置における線図形の芯線化における端点の検出方法。
【請求項５】
加工形状を表わす線図形を芯線化するために、前記線図形の端点を検出する切削装置であって、
前記線図形を直線状の複数の辺からなる輪郭で構成した輪郭形状データを記憶する線図形データ記憶部と、
各輪郭ごとに、その輪郭内における隣り合った辺間の角度から凹部分に含まれる辺を検出し、凹部分のない輪郭については、その輪郭における互いの距離が最大の２点を端点とし、凹部分を含む輪郭については、その凹部分に含まれる辺の法線とのなす角度が所定値以内で、かつ、その凹部分に含まれる辺の中点からの距離が最小の辺を対向辺として検出し、上記凹部分に含まれる辺および対向辺を除いた辺のうち、連続する辺の互いの辺角の総和が所定値以上の部分を先端部分とし、この先端部分の中央の点を端点とする端点検出部とを含む、切削装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、主として彫刻において行われる線図形の芯線ベクトル化処理における端点の検出方法に関するものである。
【０００２】
【従来の技術】
文字等の線図形画像をコンピューター等で処理する場合、スキャナで読み取った画像データをそのまま用いると、メモリが膨大になる上、拡大，縮小等を含む図形編集に不都合である。
【０００３】
このため、上記のような問題を回避する目的で、従来から、上記のような画像データを、始点と終点とで規制するベクトルデータに変換することが行われている。そして、このような変換方法の中に、輪郭線ベクトルを芯線化する方法がある。
【０００４】
この方法は、画像の輪郭を追跡したのち、これをベクトル化し、その中から一対の辺（線分）を形成するペアを抽出し、これらのペアベクトルの中心線を求めるといったことで芯線化を行うものである。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記の方法によると、小さな線図形の場合には、始点となる端点を容易に求めることができるが、大きな線図形になると、端部の輪郭がなだらかな曲線となって端点が検出できなくなるという問題がある。
【０００６】
この発明は、このような事情に鑑みなされたもので、線図形の大きさや形状に関係なくどのような線図形においても、端点を正確に検出することのできる線図形の芯線化における端点の検出方法の提供をその目的とする。
【０００７】
【課題を解決するための手段】
上記の目的を達成するため、この発明は、線図形に沿う輪郭を直線状の複数の辺からなる輪郭で構成し、その各輪郭ごとに、輪郭内における隣り合った辺間の角度から凹部分を構成する辺を検出するようにしている。
【０００８】
すなわち、輪郭における凹部の部分は端点となり得ない部分であるため、まず最初に、この端点の含まれない部分を、辺間の角度から検出する。この場合、辺に方向をつけておき、次の辺が左方向に折れる角度になっていれば凸部分で、右方向に折れる角度になっていれば凹部分であるというように判断する。
【０００９】
そして、凹部分のない輪郭については、その輪郭における互いの距離が最大の２点を端点とする。したがって、輪郭の形状が楕円形であれば、長軸と交差する輪郭上の２点がその輪郭の端点となる。
【００１０】
また、凹部分を含む輪郭については、まず、その凹部分を構成する辺の法線とのなす角度が所定値以内で、かつ、その凹部分を構成する辺の中点からの距離が最小の辺を対向辺として検出する。
【００１１】
これは、凹部分を構成する辺と相対峙する対向辺を求めるもので、凹部分を構成する辺の対峙方向に複数の辺がある場合には、凹部分を構成する辺の法線との角度が所定値以内にあることが、まず、対向辺としての条件となる。そして、その辺の中で、その凹部分を構成する辺に最も近い位置にあることが、対向辺としての条件となる。
【００１２】
上記角度の所定値は、処理するデータに応じて適宜設定することができるが、１５度以内であることが好ましい。さらに、好ましいのは、上記対向辺が元の辺の法線と交差する位置にあることである。
【００１３】
ついで、上記凹部分を構成する辺およびそれとペアになる対向辺を除いた辺のうち、連続する辺の互いの辺角の総和が、例えば、９０度以上の部分を先端部分とし、この先端部分の中央の点を端点とする。
【００１４】
この凹部分を構成する辺と対向辺を除いた辺とは、線図形の端部側部分と、対向辺が含まれる側の部分において、ペアとなる辺のないあふれた辺である。そして、辺角とは、連続する２辺が直線上にあれば、０度となる角度で、例えば、連続する辺が５個であれば、その各辺間の４個の辺角を合計して判断する。
【００１５】
したがって、あまり互いの角度に傾斜のない辺が連続する場合には、上記凹部分を構成する辺および対向辺と同様、その部分は除かれ、残った部分を先端部分とする。線図形の端部等の半円状の輪郭部分は、辺角の総和が、９０度以上になり、先端部分となる。
【００１６】
そして、得られた先端部分の中央の点を端点として求める。
また、上記先端部分を構成する辺において、隣接する辺間の角度が最も大きな２辺の接点を端点とすることもできる。
つぎに、この発明による線図形の芯線化における端点の検出方法を図面を用いて詳しく説明する。
【００１７】
【発明の実施の形態】
図１は、この発明にかかる線図形の芯線化における端点の検出方法が用いられる切削装置の一例を示している。すなわち、図１において、１は入力装置であり、加工形状（線図形の輪郭）のデータや工具速度等、切削加工に必要な情報などのデータが入力され、そのデータを、連結されたＣＰＵ２を介してメモリ３に送り記憶させる。
【００１８】
上記ＣＰＵ２は、各種のデータや情報に基づいて演算処理をしながら、メモリ３が記憶するプログラムに沿って作動し、連結された切削加工部４の棒状加工具５を駆動させ、被加工物６を切削加工するようになっている。本件においては、特に、端点の検出処理を行う端点検出部７が重要である。
【００１９】
また、上記メモリ３には、各種のデータを記憶する記憶部が備わっているが、このメモリ３では、特に、線図形の輪郭形状のデータを記憶する線図形データ記憶部８およびＣＰＵ２の端点検出部７が演算処理によって検出する端点を記憶する端点記憶部９が設けられている。
【００２０】
このような切削装置を用いて、この発明にかかる線図形の芯線化における端点の検出方法は、まず、線図形データを線図形データ記憶部８に記憶させたのち、図２に示したフローチャートに沿って行われる。
【００２１】
図２に示すように、この方法における端点検出処理は、凹部分の検出を行うステップ１，ステップ１で求めた凹部分と対峙する対向部分の検出を行うステップ２，端点が含まれる先端部分と端点の検出を行うステップ３の各段階からなっている。
【００２２】
この場合、線図形は、図３に示したような、縦長の楕円状部分１０と、丸みを帯びた曲形部分１１からなるものとし、それらの端点を検出する方法について説明する。
なお、上記楕円状部分１０および曲形部分１１は、ともに数十の直線状の辺を繋げて構成されている。
【００２３】
最初に、図２のステップ１における凹部分の検出が行われるが、これは、図４に示したフローチャートに沿って順次処理されていく。まず、図４のステップ１０１において、先頭の輪郭が選択されるが、ここでは先頭の輪郭を楕円状部分１０の輪郭とする。
【００２４】
ついで、楕円状部分１０の輪郭の先頭の辺（図３では各辺を明らかにしていないが、任意の１辺を先頭として順次矢印で示した反時計周りの方向に隣接する辺に向かって進んでいくものとする）を選択し、ステップ１０２に進む。
【００２５】
ステップ１０２では、隣接する２辺の辺角が負であるかどうかが判定される。ここで、図５に示すように、上記先頭の辺をＳi とし、辺Ｓi に隣接する次の辺をＳi+1 とすると、辺角はθで表される。この場合、辺Ｓi に対し辺Ｓi+1 が左側に折れて進む場合には正とし、右側に折れて進む場合には負とする。
【００２６】
そして、上記辺角が負であると、図示の頂点Ｏは凹頂点であり、辺Ｓi と辺Ｓi+1 は凹部を構成するものとする。
上記楕円状部分１０は、すべての辺が左側に折れて進む輪郭であるため、ステップ１０２では、ＮＯとなり、ステップ１０３に進む。
【００２７】
ステップ１０３では、まだ、辺Ｓi と辺Ｓi+1 の２個の辺しか処理されてないため、ＮＯとなって、ステップ１０４に進み、次の辺に移る。そして、再度、ステップ１０２，ステップ１０３，ステップ１０４からステップ１０２に進むといったことが楕円状部分１０の全辺の処理が終了するまで繰り返され、楕円状部分１０のすべての辺が凸部分に含まれることが判断される。
【００２８】
つぎに、楕円状部分１０のすべての辺の処理が終了すると、最後の辺と最初の辺角も調べて、負であれば最初の辺を凹辺とする。そして、ステップ１０３で、ＹＥＳとなってステップ１０５に進む。ここで、全輪郭の処理が完了したかどうかの判断がされるが、まだ、曲形部分１１の処理が完了していないため、ＮＯとなってステップ１０６に進み、曲形部分１１の先頭の辺へと進む。
【００２９】
ついで、ステップ１０２に進み、曲形部分１１における先頭の辺とそれに隣接する辺との辺角が負であるか正であるかが判断される。曲形部分１１においては、凹部分と凸部分とが混在している。したがって、凸部分の辺の場合には、楕円状部分１０の辺の処理と同様、ステップ１０２からステップ１０３，ステップ１０４そしてステップ１０２と進む。
【００３０】
また、凹部分の辺の場合には、ステップ１０２からステップ１０７へと進み、辺角をチェックされた第２の辺（次の辺）を凹部分の辺とする。このような処理を曲形部分１１のすべての辺について行う。その結果、図６に太線で示したように、凹部分１２，１３，１４が検出される。
【００３１】
つぎに、図７のフローチャートにしたがって、上記凹部分１２，１３，１４を構成する各辺とペアとなる辺によって構成される対向部分の検出（ステップ２）について説明する。
【００３２】
まず、図７のステップ２０１において、前述した凹部分の検出の場合と同様、楕円状部分１０の先頭の辺を選択し、ステップ２０２に進む。そして、ステップ２０２において、その辺が凹部分であるかどうかが判定される。
【００３３】
前に検出したように、楕円状部分１０の各辺はすべて凸部分に含まれるため、ここではＮＯとなり、ステップ２０３からステップ２０４に進んで、次の辺が処理の対象となる。そして、さらに、ステップ２０２に進むといったことを楕円状部分１０のすべての辺について繰り返して楕円状部分１０の処理が完了する。そして、ステップ２０５に進む。
【００３４】
この時点では、まだ、曲形部分１１の処理が完了していないため、ステップ２０５でＮＯとなってステップ２０６に進み、曲形部分１１の先頭の辺が処理対象となる。
ついで、ステップ２０２に進み、曲形部分１１における先頭の辺が凹部分であるかどうかが判断される。
【００３５】
前述したように、曲形部分１１においては、凹部分と凸部分とが混在している。したがって、凸部分の辺の場合には、楕円状部分１０の辺の処理と同様、ステップ２０２からステップ２０３，ステップ２０４そしてステップ２０２と進む。
【００３６】
また、凹部分の辺の場合には、ステップ２０２からステップ２０７へと進み、その辺の中点から左側（輪郭の内部側）に法線を立てる。この法線は、図８に示すように、上記辺を点Ｐ1 （ｘ1 ，ｙ1 ）から点Ｐ2 （ｘ2 ，ｙ2 ）に向かうＳとすると、辺Ｓの中点ＰからＰ’へと向かうＮで示される。
【００３７】
そして、ステップ２０８に進み、上記法線と後述する所定の関係にある対向辺をサーチする。このような処理を曲形部分１１のすべての辺について行うことにより、凹部分の各辺とペアになる対向辺を求め、この処理は完了する。ここで、上記ステップ２０８における対向辺のサーチは、図９に示したフローチャートに沿って行われる。
【００３８】
まず、ステップ２０９において、先頭の輪郭の先頭の辺が選択される。ここでいう輪郭とは、凹部分１２，１３，１４を含む曲形部分１１のことをいい、この場合、先頭の辺は、図１０における点ａを含む辺としておく。また、図７のステップ２０７において法線が立てられた辺を与辺とする。
【００３９】
つぎに、ステップ２１０に進んで、上記点ａを含む辺が与辺と同じものかどうかの判定が行われる。与辺は、凹部分１２，１３，１４に含まれる辺であるため、ここで与辺を図１０における点ｂを含む辺としておく。その結果、点ａを含む辺と点ｂを含む辺とは異なるため、ステップ２１０でＮＯとなって、ステップ２１１に進む。
【００４０】
ステップ２１１では、上記点ａを含む辺が与辺の中点から立てられた法線と１５度以内の範囲内に位置するものかどうかが判定される。すなわち、ここでは、与辺の対向辺となるための最初の条件を、その辺が与辺の中点から立てられた法線に対して１５度以内の範囲に位置することとした。
【００４１】
これは、できるだけ与辺とペアになる対向辺は、相対峙状態にある辺の中から選択するためであり、好ましくは、法線と交差する辺とするこである。
この場合、法線ＮをＳ1 ，対向辺をＳ2 として、これらを数式で表すと、
【数式１】
となり、この２個の線が交差するための条件は、下記の
【数式２】
で表される。
【００４２】
つぎに、上記図１０における点ａを含む辺は、与辺から立てられた法線と１５度以内の範囲内に位置するものとして、ステップ２１２に進む。
そして、ステップ２１２で、与辺の中点と相手辺との距離が最小であるかどうかの判定が行われる。
【００４３】
この与辺の中点と相手辺との距離が最小であることも対向辺としての条件となる。これによって、対向辺となる条件は、まず、与辺から立てられた法線と１５度以内の範囲内に位置する辺であり、かつ、その辺の中で、与辺の中点との距離が最小である辺とされる。そして、とりあえず、この条件を満たす辺を仮の対向辺とし、ステップ２１３において、その最小の距離と辺のデータを保管する。
【００４４】
ついで、ステップ２１４を経て、ステップ２１５に進み、次の辺の処理に移る。そして、ステップ２１０からステップ２１３までの処理を、曲形部分１１のすべての辺について行うことにより、凹部分１２，１３，１４に含まれる辺と対向辺になる可能性のない辺はすべて除去し、対向辺となる可能性のある仮の対向辺を保管しておく。
【００４５】
つぎに、曲形部分１１のすべての辺について処理が完了すると、ステップ２１６に進むが、この場合、凹部分を含む輪郭は曲形部分１１だけであるので、ＹＥＳとなって、ステップ２１７に進む。
【００４６】
ステップ２１７では、最終的な対向辺が選択される。ここで、ある辺に対する仮の対向辺が１個だけの場合には、そのまま、その仮の対向辺が対向辺となる。しかしながら、複数の仮の対向辺が存在する場合、例えば、与辺が、図１０における点ｃを含む辺の場合には、その仮の対向辺は、点ｄを含む辺となる。
【００４７】
また、点ｅを含む辺が与辺となった場合には、上記の点ｃを含む辺が仮の対向辺となる。したがって、点ｃを含む辺が与辺の場合については対向辺となり得る辺が、点ｄを含む辺と点ｅを含む辺の２個の辺となる。
【００４８】
このような場合には、互いの距離が短い方が与辺と対向辺のペアとなり、他の辺は、対向辺から除外される。この結果、点ｅを含む辺が与辺となり、点ｃを含む辺がその対向辺となる。そして、点ｄを含む辺は対向辺から除外される。
【００４９】
このようにして処理をした結果、凹部分１２，１３，１４およびそれに含まれる辺との対向辺となる部分は、図１０の太線で示した部分になる。
【００５０】
なお、上記の例では、凹部分を含む輪郭が曲形部分１１だけであるため、図９のフローチャートでは、１個の輪郭の処理しか行っていないが、これが、他の凹部分を含む輪郭も有するような場合であれば、ステップ２１６から、ステップ２１８へと進み、その輪郭に対しても同様の処理が繰り返される。
【００５１】
次に、図１１のフローチャートを用いて先端部分および端点の検出について説明する。
ここで、先端部分とは、端点を含む部分であり、連続した複数の辺で構成される。また、この先端部分は、上記凹部分１２，１３，１４とその対向辺の部分を除いた部分の中で、後述する所定の条件を満たす部分とする。
【００５２】
まず、ステップ３０１において、先頭輪郭の先頭の辺を選ぶ。これを楕円状部分１０の先頭の辺として、ステップ３０２に進む。そして、ステップ３０２において、仮の先端部の開始辺となる辺をサーチする。
【００５３】
この開始辺のサーチは、図１２のフローチャートに沿って行われる。
ここで、まず、ステップ３２１において、辺の番号Ｒを１とし、ついで、ステップ３２２において、先頭の辺に隣接する次の辺を取得する。
【００５４】
そして、ステップ３２３で、上記２辺のうちの最初の第１辺が非先端部分で、かつ、次の第２辺が仮の先端部分であるかどうかの判定が行われる。すなわち、ここでは、第１辺が凹部分１２，１３，１４や対向辺に含まれる辺で、第２辺がそれ以外の辺である境界部分を探そうとしている。
【００５５】
上記楕円状部分１０の各辺はすべて凸部分に含まれるため、すべての辺が先端部分で、ここではＮＯとなって、ステップ３２４に進む。この時点では最初の２辺のみの処理が完了しただけであるため、ステップ３２４でＮＯとなって、ステップ３２２に進み、次の辺が処理の対象として取得される。この場合、先ほどの第２辺が第１辺となり、今回取得された辺が第２辺となる。
【００５６】
そして、さらに、ステップ３２３，ステップ３２４に進むといったことをすべての辺について繰り返す。楕円状部分１０の処理では、ステップ３２３ですべてＮＯとなり、ステップ３２５に進む。その結果、楕円状部分１０には、先端部分の開始辺がないと判定されて、処理をおわり、図１１のステップ３０３に進む。
【００５７】
ステップ３０３では、楕円状部分１０のすべての辺の処理がおわり元の開始辺に戻っているため、ＹＥＳとなり、ステップ３０４に進む。ここで、全輪郭についての処理が完了したかどうかが判断されるが、まだ、曲形部分１１の処理が残っているため、ＮＯとなって、ステップ３０５に進み、曲形部分１１の先頭の辺に移る。
【００５８】
そして、前述の楕円状部分１０の辺の処理の場合と同様、ステップ３０２に進み、仮の先端部の開始辺となる辺をサーチする。この開始辺のサーチは、再度、図１２のフローチャートに沿って行う。
【００５９】
この曲形部分１１の場合、楕円状部分１０と異なり、仮の先頭部分やそうでない部分が混在している。このため、第１辺および第２辺がともに非先端部分または仮の先端部分である場合、および、第１辺が仮の先端部分で第２辺が非先端部分である場合は、楕円状部分１０の処理と同様、ステップ３２２，ステップ３２３，ステップ３２４を繰り返していく。
【００６０】
そして、第１辺が非先端部分で、第２辺が仮の先端部分である場合は、ステップ３２３からステップ３２６に進み、その第２辺を仮の先端部の開始辺とする。
【００６１】
すべての仮の先端部の開始辺が検出されると、図１２のフローチャートによる処理を一旦終了し、図１１のステップ３０３に進む。
今回が最初の仮の先端部分の処理であれば、ステップ３０３で、ＮＯとなりステップ３０４に進む。
【００６２】
ステップ３０４以降は、各仮の先端部分を構成する辺の互いの角度（辺角）を合計することにより、その仮の先端部分が先端部分であるかそうでないかを判定するための処理を行う。この例では、仮の先頭部分を構成する各辺の辺角の総和が９０度以上であれば先端部分で、９０度以下であれば先端部分でないとしている。
【００６３】
ここで、まず、ステップ３０４で、最初の仮の先端部分の辺角の総和ΣΔθを０とする。そして、ステップ３０５で、仮の先端部分の最初の２辺の辺角を算出し、その値を辺角の総和ΣΔθに加算する。ついで、ステップ３０６でその先端部分区間が終了したかどうかが判定される。
【００６４】
まだ、辺角が算出されていない辺があれば、ステップ３０７，ステップ３０５と進んで、次の辺の辺角を辺角の総和ΣΔθに加算する。これを繰り返し、この仮の先端部分のすべての辺についての辺角が合計されると、ステップ３０８に進む。
【００６５】
そして、ステップ３０８で、上記の処理で算出された辺角の総和ΣΔθが９０度以上か、以下かが問われる。ここで、上記の辺角の総和ΣΔθが９０度以下であれば、この仮の先端部分は先端部分でないと判定される。また、上記の辺角の総和ΣΔθが９０度以上であれば、この仮の先端部分は先端部分であると判定されて、ステップ３０９に進み、そこで、端点の検出が行われる。
【００６６】
端点の検出は、先端部分の各辺の長さを順次加算していき、次の辺の長さを加算すると先端部分全体の長さの半分の長さを超えるときのその辺の始点を端点とすることにより行われ、この処理は、図１３に示したフローチャートに沿って行われる。
【００６７】
まず、ステップ３１０で、先頭部分の辺における処理済みの辺の長さの総和ΣLen'を０とする。ついで、ステップ３１１で、先頭部分の先頭の辺をサーチし、ステップ３１２で、その辺の長さを処理済みの辺の長さの総和ΣLen'に加算する。
【００６８】
つぎに、ステップ３１３で、この処理済みの辺の長さの総和ΣLen'の値が、先頭部分の辺の長さの総和総和ΣLen の値の半分よりも大きいかどうかが判定される。ΣLen'の値が、ΣLen の値の半分よりも小さい場合には、ステップ３１４，ステップ３１２と進み、ΣLen'の値がΣLen の値の半分よりも大きくなるまで、この操作が繰り返される。
【００６９】
そして、ステップ３１３で、ΣLen'の値がΣLen の値の半分よりも大きくなると、ステップ３１５に進み、最後に長さを加算した辺の始点を端点とする。ここで、この先頭部分の端点の検出が終了すると、再度、図１１のフローチャートに戻る。
【００７０】
図１１のフローチャートにおけるステップ３０８で、辺角の総和ΣΔθが９０度以下で先端部分でないと判定された場合、および、辺角の総和ΣΔθが９０度以上で先端部分であると判定されて端点の検出が行われた場合、ともに、次はステップ３０２に進み、次の仮の先端部分の開始辺のサーチが行われる。
【００７１】
そして、ステップ３０３から順次、前述した処理と同様の処理を行って、仮の先端部分が先端部分であるかどうか、また先端部分であればその端点を検出するといった処理を繰り返すことによって、すべての処理が完了する。
【００７２】
上記の処理によって、図１０における断続的な細線部分１５，１６等はすべて先端部分でないと判定され、図１４に細線で示した楕円状部分１０，細線部分１７，１８，１９の３個所が先端部分とされる。そして、その先端部分の中から、図１５に示すような端点ｆ，ｇ，ｈ，ｉ，ｊが求められる。
【００７３】
なお、端点ｆ，ｇの求め方については、上記の処理の中では説明していないが、この楕円状部分１０のように、輪郭全体が先端部分である場合には、その中で、最も距離の離れた２点を端点として求める。その結果、図示のような、端点ｆ，ｇが求められる。
【００７４】
そして、得られた端点ｆ，ｇ，ｈ，ｉ，ｊを基準として、図１６に示すような中心線２０，２１，２２が得られる。これによって、図３に示した線図形の芯線化処理が完了する。
【００７５】
なお、上記の例においては、求められた先端部分から端点を検出する際、その先端部分の全体の長さにおける中点を端点としているが、これを長さで求めるのではなく、各辺間の角度を算出し、最も辺角の大きな２辺の接点を端点とすることもできる。
【００７６】
【発明の効果】
以上のように、この発明にかかる線図形の芯線化における端点の検出方法は、まず、各輪郭内における隣り合った辺間の角度から、端点となり得ない凹部分を構成する辺を検出するようにしている。
【００７７】
そして、凹部分のない輪郭については、その輪郭における互いの距離が最大の２点を端点とする。また、凹部分を含む輪郭については、所定の条件を満たす辺を対向辺とし、上記凹部分および対向辺を除いた部分、すなわち端点となり得る点を含む部分を先端部分として求める。
【００７８】
そして、その先端部分から所定の条件を満たす点を端点として検出するようにしている。したがって、大きさや形状に関係なくどのような線図形であっても、簡単な処理で適正な端点を検出できるようになる。
【図面の簡単な説明】
【図１】この発明の一例で使用する切削装置の構成図である。
【図２】端点検出処理の概要を示すフローチャート図である。
【図３】線図形を示す説明図である。
【図４】端点検出処理における凹部分の検出方法を示すフローチャート図である。
【図５】隣接する２辺の辺角を説明する説明図である。
【図６】線図形における凹部分を示す説明図である。
【図７】端点検出処理における凹部分に対する対向部分の検出方法を示すフローチャート図である。
【図８】法線を説明する説明面図である。
【図９】対向部分の検出処理における凹部分の辺の対向辺の検出方法を示すフローチャート図である。
【図１０】処線図形における凹部分および対向部分を示す説明図である。
【図１１】端点検出処理における先端部分および端点の検出方法を示すフローチャート図である。
【図１２】端点部分および端点の検出処理における先端部分の開始辺のサーチ方法を示すフローチャート図である。
【図１３】端点部分および端点の検出処理における先端部分で端点を検出する方法を示すフローチャート図である。
【図１４】線図形における先端部分を示す説明図である。
【図１５】線図形における端点を示す説明図である。
【図１６】線図形における中心線を示す説明図である。
【符号の説明】
１０・・・・・・・・・楕円状部分
１１・・・・・・・・・曲形部分
１２，１３，１４・・・凹部分
１５，１６・・・・・・断続的な細線部分
１７，１８，１９・・・細線部分
２０，２１，２２・・・中心線
ｆ，ｇ，ｈ，ｉ，ｊ・・端点
Ｓ，Ｓi，Ｓi+1・・・・辺
Ｎ・・・・・・・・・・法線
θ・・・・・・・・・・辺角
Ｐ・・・・・・・・・・中点
【数１】0003734605.tif 000002
【数２】0003734605.tif 000003
【図１】
0003734605.tif 000004
【図２】
0003734605.tif 000005
【図３】
0003734605.tif 000006
【図６】
0003734605.tif 000007
【図１０】
0003734605.tif 000008
【図４】
0003734605.tif 000009
【図５】
0003734605.tif 000010
【図８】
0003734605.tif 000011
【図７】
0003734605.tif 000012
【図９】
0003734605.tif 000013
【図１１】
0003734605.tif 000014
【図１２】
0003734605.tif 000015
【図１３】
0003734605.tif 000016
【図１４】
0003734605.tif 000017
【図１５】
0003734605.tif 000018
【図１６】
0003734605.tif 000019