JP2012503809A - 複雑なパスの簡素化方法及び装置 - Google Patents

複雑なパスの簡素化方法及び装置 Download PDF

Info

Publication number
JP2012503809A
JP2012503809A JP2011528174A JP2011528174A JP2012503809A JP 2012503809 A JP2012503809 A JP 2012503809A JP 2011528174 A JP2011528174 A JP 2011528174A JP 2011528174 A JP2011528174 A JP 2011528174A JP 2012503809 A JP2012503809 A JP 2012503809A
Authority
JP
Japan
Prior art keywords
vector
path
segment
complex path
vectors
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
Application number
JP2011528174A
Other languages
English (en)
Inventor
耿琳 黄
好 林
宇 唐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University Founder Group Co Ltd
Publication of JP2012503809A publication Critical patent/JP2012503809A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
  • Instructional Devices (AREA)
  • Processing Or Creating Images (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本発明は図形・画像処理技術分野に関し、特に、複雑なパスを簡素化する技術に関するものである。本発明は、任意の複雑なパスを該パスによって記述された領域における簡単なパスへ簡素化させるための、複雑なパスの簡素化方法及び装置を提供する。複雑なパスの簡素化方法は、複雑なパスを、連結した単調性を有するベクトルからなるベクトルリンクリストに解析するステップと、前記ベクトルリンクリストにおける前記ベクトルのそれぞれを、他のベクトルとの交点に基づいてベクトルセグメントに分割するステップと、前記ベクトルセグメントの全体から、前記複雑なパスにより記述された領域の境界に位置するベクトルセグメントを抽出し、抽出された各ベクトルセグメントをその位置に基づいて連結して簡単なパスを得るステップとを含む。本発明の複雑なパスの簡素化方法では、複雑なパスのベクトルレベル演算が実現出来るように、ノードスキャニングによって、ベクトルレベルにおいて複雑なパスを該パスによって記述された領域における最も簡単なパスに簡素化させることを実現する。

Description

本発明は図形・画像処理技術に関し、特に、複雑なパスを簡素化する技術に関するものである。
図形・画像処理技術分野において、いわゆるパス(Path)とは、連結した直線セグメントベクトルや曲線セグメントベクトルから形成されたベクトルリンクリストである。ベクトルリンクリストが首尾連結したパスをクローズパスと称する。このようなクローズパスは、通常、特定のエンティティ(entity)と呼ばれる特定領域を記述するために用いられる。例えば、あるエンティティをある色で塗りつぶす場合、クローズパスで当該エンティティを記述し、このクローズパスは塗りつぶすべき領域の境界となる。または、あるエンティティを切り出す場合、同様にクローズパスで当該エンティティを記述し、このクローズパスは切り出すべき領域の境界となる。ところが、従来の技術では、パス内の各ベクトルの間の位置関係を考慮せず、単にベクトルが現れる順に基づいてパスを記述するため、得たパスは、通常、自己交差が存在する。自己交差が存在するクローズパスは、それにより記述された領域の最も簡単なパス(simple path)ではなく、余分なベクトルの記述もある。即ち、当該クローズパスを構成するベクトルの一部は、上記ベクトルにより記述された領域の境界に位置するのではなく、上記ベクトルにより記述された領域の内部に位置する。自己交差が存在するクローズパスを複雑なパスと称する。図1は、複雑なパスを示す。図1に示す複雑なパスは、首尾連結した五つの直線セグメントベクトルT0、T1、T2、T3、T4によって形成される。複雑なパスはベクトルレベルのパス演算に不便をもたらすことがある。それに対して、パスを構成するベクトルの全てがいずれも記述した領域の境界に位置するようなクローズパスを簡単なパスと称する。簡単なパスはそれにより記述された領域において最も簡単なパスである。
従来の図形・画像処理技術において、ラスタライゼーションビットマップ処理を採用して複雑なパスにより記述された領域を決定する。例えば、切り出すべき領域を記述する二つのパス(第一パス、第二パス)が前後にして重なり合ったクローズパスが複雑なパスとなる。この複雑なパスにより記述された切り出すべき領域は、前記二つのパスによってそれぞれ記述される領域の積集合である。以下のような方式で積集合を決定する。まず、第一パスに対して図形学上の相関関係アルゴリズムを採用して白黒ビットマップを作成する。ここで、黒い点(black point)は、当該点が記述した領域内にあることを表わし、白い点(white point)は、当該点が記述した領域外にあることを表わす。同様に、第二パスに対して白黒ビットマップを作成する。そして、この二つの白黒ビッドマップに対して積集合を求め、同一の位置における点が黒の場合にのみ、当該点は黒い点と確認される。このようにして、最終的に切り出すべき領域を決定する。勿論、必要に応じて二つの白黒ビットマップに対して和集合を求めることによって最終的に切り出すべき領域を決定してもいい。
しかし、図形・画像処理過程において、複雑なパスに対して処理を行った後でも、ラスタライズされたビットマップではなく、ベクトルによって特定の領域を記述することが要求される場合がある。例えば、トラッププロセス過程において、PDFファイルにおいて表示すべき対象が各エンティティによって記述され、また、トラップ効果を奏するように二つのエンティティの共通部分を特定の色で塗りつぶす必要があり、この共通部分も同様にPDFファイルにおけるエンティティ方式で記述する必要がある。そこで、前記共通部分に対してベクトルによる記述が実現されるように、これらのエンティティを記述するクローズパスに対してベクトルレベルでの演算を実行する必要がある。このベクトルレベルでの演算は計算幾何学上の相関アルゴリズムを用いて行うことが出来るが、ベクトルレベルでの演算が行われるクローズパスが簡単なパスであることはその前提条件である。それは、自己交差する複雑なパスは処理できないためである。しかしながら、実際の図形・画像処理過程において、エンティティを記述するクローズパスはその自由度が非常に高く、通常、複雑なパスとなる。従って、任意の複雑なパスを、それにより記述される領域における簡単なパスに簡素化することのできる解決案が要請されている。
中華人民共和国1549207公開公報
本発明は、任意の複雑なパスをこのパスにより記述された領域における簡単なパスへ簡素化することのできる複雑なパスの簡素化方法及び装置を提供することを目的とする。
本発明によれば、複雑なパスを、連結した単調性を有するベクトルからなるベクトルリンクリストに解析するステップと、前記ベクトルリンクリストにおける前記ベクトルのそれぞれを、他のベクトルとの交点に基づいてベクトルセグメントに分割するステップと、前記ベクトルセグメントの全体から、前記複雑なパスにより記述された領域の境界に位置するベクトルセグメントを抽出し、抽出された各ベクトルセグメントをそれぞれの位置に基づいて連結して簡単なパスを得るステップとを含むことを特徴とする複雑なパスの簡素化方法を提供する。
本発明によれば、複雑なパスを、連結した単調性を有するベクトルからなるベクトルリンクリストに解析するための解析手段と、前記ベクトルリンクリストにおける前記ベクトルのそれぞれを、他のベクトルとの交点に基づいてベクトルセグメントに分割するための分割手段と、ベクトルセグメントの全体から、前記複雑なパスにより記述された領域の境界に位置するベクトルセグメントを抽出し、抽出された各ベクトルセグメントをその位置に基づいて連結して簡単なパスを得るための処理手段とを含むことを特徴とする複雑なパスの簡素化装置を提供する。
本発明が提供する複雑なパスの簡素化方法及び装置において、複雑なパスを、連結した単調性を有するベクトルからなるベクトルリンクリストに解析し、ベクトルのそれぞれを、他のベクトルとの交点に基づいてベクトルセグメントに分割し、ベクトルセグメントの全体から、複雑なパスにより記述された領域の境界に位置するベクトルセグメントを抽出し、連結して簡単なパスを得る。本発明では、ノードスキャニングによって、ベクトルレベルにおいて複雑なパスをこのパスにより記述された領域における最も簡単なパスに簡素化させることで、複雑なパスに関するベクトルレベルでの演算ができるようになる。
従来の技術で複雑なパスを示す図である。 本発明に係る複雑なパスの簡素化方法を示すフローチャートである。 本発明の実施例において複雑なパスを簡素化する具体的な処理を示すフローチャートである。 本発明の実施例において、図1に示す複雑なパスにおける各ベクトルを交点に基づいてベクトルセグメントに分割する処理を示す図である。 本発明の実施例において図4に示す各端点に対して順番に従って処理する形態を示す図である。 本発明の実施例において図4に示す各端点に対して順番に従って処理する形態を示す図である。 本発明の実施例において図4に示す各端点に対して順番に従って処理する形態を示す図である。 本発明の実施例において図4に示す各端点に対して順番に従って処理する形態を示す図である。 本発明の実施例において図4に示す各端点に対して順番に従って処理する形態を示す図である。 本発明の実施例において図4に示す各端点に対して順番に従って処理する形態を示す図である。 本発明の実施例において図4に示す各端点に対して順番に従って処理する形態を示す図である。 本発明の実施例において図4に示す各端点に対して順番に従って処理する形態を示す図である。 本発明の実施例において図4に示す各端点に対して順番に従って処理する形態を示す図である。 本発明の実施例において図4に示す各端点に対して順番に従って処理する形態を示す図である。 本発明に係る複雑なパスの簡素化装置を示すブロック図である。
従来の技術に存在する問題点に鑑み、本発明の実施例において、ノードスキャニングによって複雑なパスを記述された領域における最も簡単なパスに簡素化することで、複雑なパスに関するベクトルレベルでの演算ができる複雑なパスの簡素化方法を提供する。図2に示すように、本発明の実施例に係る複雑なパスの簡素化方法は以下のステップを含む。
S201:複雑なパスを、連結した単調性を有するベクトルからなるベクトルリンクリストに解析する。
S202:ベクトルリンクリストにおけるベクトルのそれぞれを、他のベクトルとの交点に基づいてベクトルセグメントに分割する。ここで、分割して得られたベクトルセグメントはそれぞれ交差せず、端点に連結される。
S203:ベクトルセグメントの全体において、当該複雑なパスにより記述された領域の境界に位置するベクトルセグメントを抽出し、抽出された各ベクトルセグメントをその位置に基づいて連結して簡単なパスを得る。
以下、本発明の実施例に係る複雑なパスの簡素化方法について詳細に説明する。図3に示すように、複雑なパスを簡素化する処理は具体的に以下のステップに沿いながら行われる。
S301:複雑なパスを、連結した単調性を有するベクトルからなるベクトルリンクリストに解析する。
ここで、直線セグメントベクトルは単調性を具備するベクトルであるが、曲線セグメントベクトルは必ずしも単調性を具備しない。単調性を具備しない曲線セグメントベクトルは極値点及び/又は変曲点を具備するものである。ベクトルリンクリストにおける曲線セグメントベクトルに単調性があるように、つまり、変曲点がなく、且つ、二つの端点がベクトルの極値点となるように、単調性を具備しない曲線セグメントベクトルに対して極値点および変曲点で分割を行う必要がある。
S302:ベクトルリンクリストにおける各ベクトルの端点に関する位置情報を得る。ここで、端点の位置情報は、具体的に直交する二つの座標方向、つまりX軸方向及びY軸方向における端点の座標値と、端点のベクトルにおける相対位置とを含む。
ベクトルの二つの端点のうち、X軸方向における座標値が小さい方の端点を左端点とし、X軸方向における座標値が大きい方の端点を右端点とする。二つの端点がX軸方向において同じ座標値を持つ場合、Y軸方向における座標値が大きい方の端点を左端点としてもよい。端点が左端点であるかそれとも右端点であるかは、当該端点のベクトルにおける相対位置を特定することが出来る。
S303:位置情報に基づいて端点の全てをソーティングして、順番に並ぶベクトル端点のリストを得る。
全ての端点を、X軸方向における座標値によってソーティングすることができる。通常は座標値の小さい順にソーティングするが、X軸方向において同じ座標値を持つ各端点に対しては、左端点→右端点という順にソーティングする。
さらに、X軸方向において同じ座標値を持つと共に左端点か右端点となる各端点に対しては、属するベクトルが現れる順に従ってソーティングする。
S304:各ベクトルについて、ベクトル端点のリストに基づいて交差するベクトルを決定するとともに、交差する交点を求める。
ベクトル端点のリストにおいて、あるベクトルの左端点が他のベクトルの左端点と右端点との間に位置すると、当該二つのベクトルはX軸方向において重なり合うとともに、Y軸方向においても重なり合う場合、当該二つのベクトルが交差すると確認される。交差すると確認された全てのベクトルに対して交差する交点を求める。交点の計算方法は、具体的には、必要に応じて、直線セグメントベクトルと直線セグメントベクトルとの交点を求める計算方法、又は直線セグメントベクトルと曲線セグメントベクトルとの交点を求める計算方法、又は曲線セグメントベクトルと曲線セグメントベクトルとの交点を求める計算方法を採用することができる。
S305:ベクトルのそれぞれを、他のベクトルとの交点に基づいてベクトルセグメントに分割する。
交点に基づいて、直線セグメントベクトルを複数の直線セグメントベクトルセグメントに分割し、曲線セグメントベクトルを複数の曲線セグメントベクトルセグメントに分割することができる。あるベクトルにN個の交点が存在する場合、交点に基づいて当該ベクトルを(N+1)個のベクトルセグメントに分割することができる。ベクトルセグメント毎に二つの端点だけが含まれるが、極端な場合として、交点が無い(0個の交点が存在する場合)ベクトルは、交点に基づく分割によって得たベクトルセグメントが当該ベクトル自身となる。分割して得られた各ベクトルセグメントは複雑なパスに関する最も基本的なベクトル記述を構成する。各ベクトルセグメントは端点に連結され、ベクトルセグメント間には交点が存在しない。
S306:何れかの座標方向(X軸方向、又はY軸方向)における座標値に基づいて、全ての端点に対して順番付けを行う。当該座標方向において同じ座標値を持つ端点に対しては、それと直交する座標方向(Y軸方向、又はX軸方向)における座標値に基づいて順番付けを行う。
X軸方向を例として説明すると、全ての端点に対して、X軸方向における座標値に基づいて順番付けを行うことが出来る。X軸方向において同じ座標値を持つ端点に対しては、さらに、Y軸方向における座標値に基づいて順番付けを行う。ここで、座標値の大きい順に順番付けを行ってもよいし、座標値の小さい順に順番付けを行ってもよい。
S307:順番に従って、各端点に連結されるベクトルセグメントから複雑なパスにより記述された領域の境界に位置するベクトルセグメントを抽出し、境界ベクトルセグメントと称することが出来る。境界ベクトルセグメントの判定方法は具体的に以下のように説明する。
ベクトルセグメントによって分割された両側領域において、一方の領域が複雑なパスにより記述された領域の内側領域であり、且つ他方の領域が複雑なパスにより記述された領域の外側領域であるか否かを判断し、そうであると判断された場合に、当該ベクトルセグメントが複雑なパスにより記述された領域の境界に位置すると判定し、そうでないと判断された場合に、当該ベクトルセグメントは境界ベクトルセグメントではないと判定する。
上記の判定方法は塗りつぶしルール(fill-rule)に基づいて実行されるものである。現在の端点に関係するベクトルセグメントを三つのタイプに分けることが出来る。X軸方向における座標値に基づいて端点に対して順番付けを行う場合、X軸方向上において同じ座標値を持つ端点を同じ列における端点と称することができる。前記三つのタイプのベクトルセグメントは、ベクトルセグメントの終点が現在の列の端点となるタイプ(a)と、ベクトルセグメントの始点が現在の列の端点となるタイプ(b)と、ベクトルセグメントの始点と終点がいずれも現在の列に位置しないタイプ(c)とを含む。端点毎に境界ベクトルセグメントを判定する場合、端点に関係する三つのタイプのベクトルセグメントがその準拠となる。
S308:抽出された各ベクトルセグメントを、位置に基づいて連結して簡単なパスを得る。
抽出された各ベクトルセグメントを、その位置に基づいて時計回りまたは反時計周りに連結させることによって、最終的に複雑なパスにより記述された領域における簡単なパスを得ることができる。
本発明の実施例に係る複雑なパスの簡素化方法では、ベクトルレベルにおいて複雑なパスを、それにより記述された領域における最も簡単なパスに簡素化することができると共に、ソーティングされたベクトル端点のリストに基づいて二つのベクトルが交差するか否かを判断し、ベクトルが交差することが確認されると、その交点を求める。それにより、何れかの二つのベクトルが交差しているか否かを問わずに一概に交差演算(intersection Operation)を実行する弊害を無くして効率を向上することができる。
以下は、具体例を用いて本発明に係る技術案を詳しく説明する。図1に示す複雑なパスの簡素化を例とする。本発明に係る複雑なパスの簡素化処理の流れとしては、具体的に以下のような操作を順次に行う。
複雑なパスを、連結した単調性を有するベクトルからなるベクトルリンクリストに解析する。直線セグメントベクトルはいずれも単調性を具備するため、解析して得られたベクトルリンクリストが複雑なパスそれ自身となる。
ベクトルリンクリストにおけるベクトルのそれぞれを、他のベクトルとの交点に基づいてベクトルセグメントに分割する。図4に示すように、ベクトルリンクリストにおける各ベクトル間の交点はP0、P1、P2、P3、P4であり、これらの交点に基づいて各ベクトルをベクトルセグメントに分割する。すなわち、
T0を、他のベクトルとの交点P0、P1に基づいて、ベクトルセグメントL0、L1及びL2に分割する。
T1を、他のベクトルとの交点P2、P3に基づいて、ベクトルセグメントL3、L4及びL5に分割する。
T2を、他のベクトルとの交点P4、P0に基づいて、ベクトルセグメントL6、L7及びL8に分割する。
T3を、他のベクトルとの交点P1、P2に基づいて、ベクトルセグメントL9、L10及びL11に分割する。
T4を、他のベクトルとの交点P3、P4に基づいて、ベクトルセグメントL12、L13及びL14に分割する。
そして、各端点をX軸方向における座標値の小さい順に0〜9と順番付けを行う。
順番に従って、各端点に連結される複数のベクトルセグメントから境界ベクトルセグメントを順次に抽出する。各端点の処理過程において境界ベクトルセグメントリンクリストが作成される。当該リンクリストは上サブリンクリストUpListと下サブリンクリストDownListを含む。そして、以下のように定義づけられる。
OldEdgeは、現在の端点に連結される旧境界ベクトルセグメントであり、つまり、境界ベクトルセグメントの終点が現在の端点となる。
NewEdgeは、現在の端点に連結される新境界ベクトルセグメントであり、つまり、境界ベクトルセグメントの始点が現在の端点となる。
二つの新境界ベクトルセグメントが連結される場合、上サブリンクリストと下サブリンクリストがそれぞれ前記新境界ベクトルセグメントに向かう新境界ベクトルセグメントリンクリストが作成される。一つの新境界ベクトルセグメントと一つの旧境界ベクトルセグメントが連結される場合、旧境界ベクトルセグメントが境界ベクトルセグメントリンクリストに存在するため、新境界ベクトルセグメントを旧境界ベクトルセグメントの後に追加する。二つの旧境界ベクトルセグメントが連結される場合、二つの旧境界ベクトルセグメントがそれぞれ異なった境界ベクトルセグメントリンクリストに属すれば当該二つのリンクリストをマージさせるが、二つの旧境界ベクトルセグメントが同一の境界ベクトルセグメントリンクリストに属すれば当該リンクリストをクローズさせる。連結時に二つの境界ベクトルセグメントの現在の端点位置における端点が重なり合わない場合は、当該二つの端点を連結するための直交する境界ベクトルセグメントを作成する。簡単なパスを作成する際に、反時計回りのベクトル記述が必要な場合、境界ベクトルセグメントリンクリストにおける下サブリンクリストの首部→下サブリンクリストの尾部→上サブリンクリストの尾部→上サブリンクリストの首部というふうに首尾連結を行う。時計回りのベクトル記述が必要な場合は、反対の順番となるため、詳しい説明は省略する。
以下、図面を参照しつつ順番に従い各端点の処理を順次に説明する。図5を参照すると、端点0に連結される各ベクトルセグメントにおいて境界ベクトルセグメントL5、L6を抽出し、OldEdgeはヌルであり、NewEdgeはL5とL6である場合、新境界ベクトルセグメントリンクリストPathEdgeList0が作成され、その上サブリンクリストと下サブリンクリストとはそれぞれ以下のようである。
PathEdgeList0->UpList:L6
PathEdgeList0->DownList:L5
図6を参照すると、端点1に連結される各ベクトルセグメントから境界ベクトルセグメントL0、L14を抽出し、OldEdgeはヌルであり、NewEdgeはL0とL14である場合、新境界ベクトルセグメントリンクリストPathEdgeList1が作成され、その上サブリンクリストと下サブリンクリストとはそれぞれ以下のようである。
PathEdgeList1->UpList:L0
PathEdgeList1->DownList:L14
図7を参照すると、端点2に連結される各ベクトルセグメントから境界ベクトルセグメントL14、L6を抽出し、OldEdgeはL14とL6であり、NewEdgeはヌルである場合、L14とL6が属する境界ベクトルセグメントリンクリストをマージし、マージされた境界ベクトルセグメントリンクリストの上サブリンクリストと下サブリンクリストはそれぞれ以下のようである。
PathEdgeList0->UpList:L6->L14->L0
PathEdgeList0->DownList:L5
図8を参照すると、端点3に連結される各ベクトルセグメントにおいて境界ベクトルセグメントL0、L8を抽出し、OldEdgeはL0であり、NewEdgeはL8である場合、L8をL0の後に追加し、処理された境界ベクトルセグメントリンクリストの上サブリンクリストと下サブリンクリストとはそれぞれ以下のようである。
PathEdgeList0->UpList:L6->L14->L0->L8
PathEdgeList0->DownList:L5
図9を参照すると、端点4に連結される各ベクトルセグメントから境界ベクトルセグメントL5、L12を抽出し、OldEdgeはL5であり、NewEdgeはL12である場合、L12をL5の後に追加し、処理された境界ベクトルセグメントリンクリストの上サブリンクリストと下サブリンクリストとはそれぞれ以下のようである。
PathEdgeList0->UpList:L6->L14->L0->L8
PathEdgeList0->DownList:L5->L12
図10を参照すると、端点5に連結される各ベクトルセグメントから境界ベクトルセグメントL8、L9を抽出し、OldEdgeはL8であり、NewEdgeはL9である場合、L9をL8の後に追加し、処理された境界ベクトルセグメントリンクリストの上サブリンクリストと下サブリンクリストとはそれぞれ以下のようである。
PathEdgeList0->UpList:L6->L14->L0->L8->L9
PathEdgeList0->DownList:L5->L12
図11を参照すると、端点6に連結される各ベクトルセグメントにおいて境界ベクトルセグメントL9、L2を抽出し、OldEdgeはL9であり、NewEdgeはL2である場合、L2をL9の後に追加し、処理された境界ベクトルセグメントリンクリストの上サブリンクリストと下サブリンクリストとはそれぞれ以下のようである。
PathEdgeList0->UpList:L6->L14->L0->L8->L9->L2
PathEdgeList0->DownList:L5->L12
図12を参照すると、端点7に連結される各ベクトルセグメントから境界ベクトルセグメントL3、L11を抽出し、OldEdgeはヌルであり、NewEdgeはL3とL11である場合、新境界ベクトルセグメントリンクリストPathEdgeList1が作成され、その上サブリンクリストと下サブリンクリストとはそれぞれ以下のようである。
PathEdgeList1->UpList:L3
PathEdgeList1->DownList:L11
図13を参照すると、端点8に連結される各ベクトルセグメントにおいて境界ベクトルセグメントL11、L12を抽出し、OldEdgeはL11とL12であり、NewEdgeはヌルである場合、L11とL12が属する境界ベクトルセグメントリンクリストをマージし、マージされた境界ベクトルセグメントリンクリストの上サブリンクリストと下サブリンクリストとはそれぞれ以下のようである。
PathEdgeList0->UpList:L6->L14->L0->L8->L9->L2
PathEdgeList0->DownList:L5->L12->L11->L3
図14を参照すると、端点9に連結される各ベクトルセグメントから境界ベクトルセグメントL2、L3を抽出し、OldEdgeはL2とL3であり、NewEdgeはヌルである場合、L2とL3が属する境界ベクトルセグメントリンクリストをマージする。同一の境界ベクトルセグメントリンクリストに属するため、当該リンクリストをクローズする。反時計回りのベクトル記述が必要な場合、上サブリンクリストを下サブリンクリストにマージし、最終的に得られた簡単なパスは以下のようである。
L5->L12->L11->L3->L2->L9->L8->L0->L14->L6
時計回りのベクトル記述が必要な場合、下サブリンクリストを上サブリンクリストにマージし、最終的に得られた簡単なパスは以下のようである。
L6->L14->L0->L8->L9->L2->L3->L11->L12->L5
望ましくは、X軸方向における座標値の小さい順に各端点に対して順番付けを行う場合、各端点に連結される右側のベクトルセグメントのみから境界ベクトルセグメントを抽出して、さらに簡素化効率を向上させることが出来る。
なお、本発明は、以上と同一の技術構想に基づいて図15に示す複雑なパスの簡素化装置を提供する。この簡素化装置は、複雑なパスを、連結した単調性を有するベクトルからなるベクトルリンクリストに解析するための解析手段151と、ベクトルリンクリストにおけるベクトルのそれぞれを、他のベクトルとの交点に基づいてベクトルセグメントに分割するための分割手段152と、全てのベクトルセグメントから、複雑なパスにより記述された領域の境界に位置するベクトルセグメントを抽出し、抽出された各ベクトルセグメントをその位置に基づいて連結して簡単なパスを得るための処理手段153とを含むものである。
発明の詳細な説明の項においてなされた具体的な実施形態または実施例は、あくまでも、本発明の技術内容を明らかにするものであって、そのような具体例にのみ限定して狭義に解釈されるべきものではなく、本発明の精神と次に記載する特許請求の範囲内で、いろいろと変更して実施することができるものである。

Claims (10)

  1. 複雑なパスを、連結した単調性を有するベクトルからなるベクトルリンクリストに解析するステップと、
    前記ベクトルリンクリストにおける前記ベクトルのそれぞれを、他のベクトルとの交点に基づいてベクトルセグメントに分割するステップと、
    前記ベクトルセグメントの全体から、前記複雑なパスにより記述された領域の境界に位置するベクトルセグメントを抽出し、抽出された各ベクトルセグメントをそれぞれの位置に基づいて連結して簡単なパスを得るステップと
    を含むことを特徴とする複雑なパスの簡素化方法。
  2. 前記単調性を有するベクトルは、直線セグメントベクトル、及び/または、単調性を有する曲線セグメントベクトルを含むことを特徴とする請求項1に記載の複雑なパスの簡素化方法。
  3. 前記ベクトルリンクリストにおける前記ベクトルのそれぞれについて他のベクトルとの交点を決定するステップを更に含んでおり、
    前記決定するステップは、
    前記ベクトルリンクリストにおける各ベクトルの端点に関する位置情報を得るステップと、
    前記位置情報に基づいて前記端点の全てをソーティングし、順番に並ぶベクトルの端点のリストを得るステップと、
    各ベクトルについて、前記ベクトルの端点のリストに基づいて、交差するベクトルを決定するとともに、交差する交点を求めるステップと
    を含むことを特徴とする請求項1または請求項2に記載の複雑なパスの簡素化方法。
  4. 前記位置情報は、直交する二つの座標方向における前記端点の座標値と、前記端点のベクトルにおける相対位置とを含み、
    前記位置情報に基づいて前記端点の全てをソーティングするステップは、
    何れかの座標方向における座標値に基づいて前記端点の全てをソーティングし、前記座標方向において同一の座標値を持つ端点が存在する場合、同一の座標値を持つ前記端点を、それぞれのベクトルにおける相対位置に基づいてソーティングするステップを含むことを特徴とする請求項3に記載の複雑なパスの簡素化方法。
  5. 前記位置情報に基づいて前記端点の全てをソーティングするステップは、更に、
    同一の座標値を持つ前記端点のベクトルにおける相対位置が同一である場合、座標値が同一であり、且つ相対位置が同一である各端点を、属するベクトルが現れる順に従ってソーティングするステップを含むことを特徴とする請求項4に記載の複雑なパスの簡素化方法。
  6. 前記ベクトルセグメントの全体から、前記複雑なパスにより記述された領域の境界に位置するベクトルセグメントを抽出するステップは、
    何れかの座標方向における座標値に基づいて全ての端点に対して順番付けを行い、該座標方向において同一の座標値を持つ端点が存在する場合、同一の座標値を持つ前記端点に対して、該座標方向と直交する座標方向における座標値に基づいて順番付けを行うステップと、
    順番に従って、各端点に連結されるベクトルセグメントから前記複雑なパスにより記述された領域の境界に位置するベクトルセグメントを抽出するステップと
    を含むことを特徴とする請求項5に記載の複雑なパスの簡素化方法。
  7. 何れかの座標方向における座標値に基づいて全ての端点に対して順番付けを行うステップは、
    X軸方向における座標値が小さい順に、全ての端点に対して順番付けを行うステップを含むことを特徴とする請求項6に記載の複雑なパスの簡素化方法。
  8. 各端点に連結される右側のベクトルセグメントから、前記複雑なパスにより記述された領域の境界に位置するベクトルセグメントを抽出することを特徴とする請求項7に記載の複雑なパスの簡素化方法。
  9. 前記記述された領域の境界に位置するベクトルセグメントに対して判断を行うステップを更に含んでおり、
    前記判断を行うステップは、
    前記ベクトルセグメントによって分割された両側領域において、一方の領域が複雑なパスにより記述された領域の内側領域であり、且つ他方の領域が複雑なパスにより記述された領域の外側領域であるか否かを判断し、そうであると判断された場合に、前記ベクトルセグメントが前記複雑なパスにより記述された領域の境界に位置すると判定するステップを含むことを特徴とする請求項6に記載の複雑なパスの簡素化方法。
  10. 複雑なパスを、連結した単調性を有するベクトルからなるベクトルリンクリストに解析するための解析手段と、
    前記ベクトルリンクリストにおける前記ベクトルのそれぞれを、他のベクトルとの交点に基づいてベクトルセグメントに分割するための分割手段と、
    全てのベクトルセグメントから、前記複雑なパスにより記述された領域の境界に位置するベクトルセグメントを抽出し、抽出された各ベクトルセグメントをそれぞれの位置に基づいて連結して簡単なパスを得るための処理手段と
    を含むことを特徴とする複雑なパスの簡素化装置。
JP2011528174A 2008-09-28 2009-09-28 複雑なパスの簡素化方法及び装置 Pending JP2012503809A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2008102232898A CN101685544B (zh) 2008-09-28 2008-09-28 一种简化复杂路径的方法及装置
CN200810223289.8 2008-09-28
PCT/CN2009/074292 WO2010034267A1 (zh) 2008-09-28 2009-09-28 一种简化复杂路径的方法及装置

Publications (1)

Publication Number Publication Date
JP2012503809A true JP2012503809A (ja) 2012-02-09

Family

ID=42048689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011528174A Pending JP2012503809A (ja) 2008-09-28 2009-09-28 複雑なパスの簡素化方法及び装置

Country Status (5)

Country Link
US (1) US8773440B2 (ja)
EP (1) EP2343686A4 (ja)
JP (1) JP2012503809A (ja)
CN (1) CN101685544B (ja)
WO (1) WO2010034267A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013543337A (ja) * 2010-10-22 2013-11-28 北大方正集▲団▼有限公司 ページ内の隙間を消去するための方法及び装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102376078A (zh) * 2010-08-25 2012-03-14 北京中科亚创科技有限责任公司 对场景自动标记的排序方法及装置
KR102354989B1 (ko) * 2015-04-14 2022-01-24 삼성전자주식회사 경로 렌더링을 위한 타일 비닝을 수행하는 방법 및 장치.
CN110334084B (zh) * 2019-05-09 2021-10-08 北京百度网讯科技有限公司 数据存储方法、装置、设备及存储介质
US11164372B2 (en) * 2019-12-10 2021-11-02 Nvidia Corporation Polar stroking for vector graphics
US11756238B2 (en) * 2021-02-11 2023-09-12 Adobe Inc. Node lighting

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588357A (ja) * 1991-09-27 1993-04-09 Toshiba Corp マスクパターンの検査方法
JPH0660194A (ja) * 1992-08-11 1994-03-04 Oki Farm Wear Syst:Kk 図形処理装置
JPH07262390A (ja) * 1994-03-18 1995-10-13 Fuji Xerox Co Ltd 字形情報処理方法及び装置
JPH1021415A (ja) * 1996-07-03 1998-01-23 Brother Ind Ltd 図形処理装置並びに図形処理方法
JPH10333662A (ja) * 1997-04-01 1998-12-18 Canon Inc 図形処理装置、図形処理方法および記憶媒体
JP2008003812A (ja) * 2006-06-21 2008-01-10 Toyama Prefecture 配管長測定システム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH077456B2 (ja) * 1988-11-11 1995-01-30 大日本スクリーン製造株式会社 重合度による図形の認識装置
US5129051A (en) * 1990-03-16 1992-07-07 Hewlett-Packard Company Decomposition of arbitrary polygons into trapezoids
US5471568A (en) * 1993-06-30 1995-11-28 Taligent, Inc. Object-oriented apparatus and method for scan line conversion of graphic edges
US5818460A (en) * 1997-05-08 1998-10-06 Autodesk, Inc. Method for performing polygon set operations on polygonal regions
US6111587A (en) * 1997-05-08 2000-08-29 Autodesk, Inc. Method for converting non-zero winding to even-odd fill polygons
US6697078B2 (en) * 1999-01-29 2004-02-24 Adobe Systems Incorporated Trap shaping
US6285375B1 (en) * 1999-02-05 2001-09-04 International Business Machines Corporation Algorithm to transform generalized polygons to trapezoids
US7426455B1 (en) * 1999-09-13 2008-09-16 Science Applications International Corporation Optimal boolean set operation generation among polygon-represented regions
US6628281B1 (en) * 2000-02-24 2003-09-30 International Business Machines Corporation Method and system for computing the intersection of a bounding volume and screen-aligned plane
AU769605B2 (en) * 2000-12-22 2004-01-29 Canon Kabushiki Kaisha Rendering objects
JP2005031709A (ja) * 2001-06-08 2005-02-03 Naoto Morikawa 3次元形状の符号化方法及びそれを利用した造形器具
US20030085887A1 (en) 2001-11-06 2003-05-08 Smartequip, Inc. Method and system for identifying objects using a shape-fitting algorithm
US7142206B1 (en) * 2003-04-08 2006-11-28 Nvidia Corporation Shared N-patch edges
CN1313978C (zh) * 2003-05-21 2007-05-02 明基电通股份有限公司 封闭区域的填充方法
FR2874720B1 (fr) * 2004-09-02 2007-02-23 Commedia Edition Sarl Edition de graphiques vectoriels, notamment de cartes geographiques
JP4621617B2 (ja) * 2006-03-28 2011-01-26 株式会社東芝 図形描画装置、図形描画方法、及びプログラム
JP4621618B2 (ja) * 2006-03-28 2011-01-26 株式会社東芝 図形描画装置、図形描画方法、およびプログラム
JP5058575B2 (ja) * 2006-12-12 2012-10-24 キヤノン株式会社 画像処理装置及びその制御方法、プログラム
US8274514B1 (en) * 2007-09-19 2012-09-25 Jacquelyn Annette Martino Method and apparatus for searching, replacing and modifying explicit and implicit shape in sketch-style drawings of various styles
CN101499082B (zh) * 2008-02-02 2012-02-08 北京中科通图信息技术有限公司 一种面面叠加环构造方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588357A (ja) * 1991-09-27 1993-04-09 Toshiba Corp マスクパターンの検査方法
JPH0660194A (ja) * 1992-08-11 1994-03-04 Oki Farm Wear Syst:Kk 図形処理装置
JPH07262390A (ja) * 1994-03-18 1995-10-13 Fuji Xerox Co Ltd 字形情報処理方法及び装置
JPH1021415A (ja) * 1996-07-03 1998-01-23 Brother Ind Ltd 図形処理装置並びに図形処理方法
JPH10333662A (ja) * 1997-04-01 1998-12-18 Canon Inc 図形処理装置、図形処理方法および記憶媒体
JP2008003812A (ja) * 2006-06-21 2008-01-10 Toyama Prefecture 配管長測定システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013543337A (ja) * 2010-10-22 2013-11-28 北大方正集▲団▼有限公司 ページ内の隙間を消去するための方法及び装置

Also Published As

Publication number Publication date
US20110242109A1 (en) 2011-10-06
EP2343686A1 (en) 2011-07-13
US8773440B2 (en) 2014-07-08
CN101685544A (zh) 2010-03-31
EP2343686A4 (en) 2016-04-27
CN101685544B (zh) 2011-11-23
WO2010034267A1 (zh) 2010-04-01

Similar Documents

Publication Publication Date Title
JP2012503809A (ja) 複雑なパスの簡素化方法及び装置
US8743136B2 (en) Generating object representation from bitmap image
JP5854802B2 (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
TWI613510B (zh) 電子束描繪裝置、電子束描繪方法及記錄媒體
US11158031B1 (en) Systems, methods, and devices for image processing
US20090208107A1 (en) Character recognition apparatus and character recognition method
KR20080093442A (ko) 머징된 텍스트 경로에 효과를 적용하기 위한 컴퓨터로 구현된 방법, 컴퓨터 판독가능 매체 및 컴퓨팅 장치
US7515745B1 (en) Planar map to process a raster image
US5179645A (en) Method of recognizing overlapped graphics in each degree of overlapping thereof
US20130027402A1 (en) 2d region rendering
US7321373B2 (en) Method for performing set operations on two or more arbitrary paths to produce a simple outline path
JP7407787B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN102110306A (zh) 用于对凹多边形进行三角化的方法和***
US7098926B2 (en) Trapping area creating method, trapping area creating apparatus, and trapping area creating program storage medium
JP2007179272A (ja) コンピュータ支援設計装置、そのプログラム及び方法
JP2010224612A (ja) 画像処理装置、画像読取装置、画像形成装置及びプログラム
JP6180587B1 (ja) 2つの画像を対応づける方法、及びプログラム
JP4795820B2 (ja) 地図データ作成装置、地図データ作成方法、地図データチェックプログラム
JP2016014649A (ja) 鋼材材質判定装置、鋼材火花形状検出方法及び鋼材火花形状を検出するためのプログラム
KR20150012921A (ko) 선박 설계 방법
US20190340308A1 (en) Method for partial updating
JP4263592B2 (ja) 線材パッキング計算における偏り軽減計算方法、その装置及びそのプログラム
JP6180583B1 (ja) 複数の閉領域を含む少なくとも2つの画像のそれぞれの閉領域を対応づける方法、及びプログラム
JP4915511B2 (ja) 経路計測装置、経路計測方法、及びプログラム
JP2009080725A (ja) 領域分割装置及び領域分割プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130910

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131224