JP3109585B2 - Method and apparatus for generating three-dimensional object data, and recording medium storing program for generating three-dimensional object data - Google Patents
Method and apparatus for generating three-dimensional object data, and recording medium storing program for generating three-dimensional object dataInfo
- Publication number
- JP3109585B2 JP3109585B2 JP10008449A JP844998A JP3109585B2 JP 3109585 B2 JP3109585 B2 JP 3109585B2 JP 10008449 A JP10008449 A JP 10008449A JP 844998 A JP844998 A JP 844998A JP 3109585 B2 JP3109585 B2 JP 3109585B2
- Authority
- JP
- Japan
- Prior art keywords
- contour
- data
- intersection
- vertex
- triangle
- 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.)
- Expired - Fee Related
Links
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【0001】[0001]
【発明の属する技術分野】本発明は三次元オブジェクト
データを生成する方法及びその装置並びに三次元オブジ
ェクトデータを生成するプログラムを記録した記録媒体
に関し、特に文字や図形を表す二次元の点列情報から、
三次元オブジェクトの表面を構成する三角形の集合であ
るメッシュを構築し、三次元オブジェクトデータを生成
する方法及びその装置並びに三次元オブジェクトデータ
を生成するプログラムを記録した記録媒体に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and apparatus for generating three-dimensional object data and a recording medium on which a program for generating three-dimensional object data is recorded. ,
The present invention relates to a method and an apparatus for generating a three-dimensional object data by constructing a mesh, which is a set of triangles constituting the surface of a three-dimensional object, and a recording medium storing a program for generating the three-dimensional object data.
【0002】[0002]
【従来の技術】文字や図形の二次元輪郭線データから三
次元オブジェクトデータを生成する際には、輪郭線が囲
む領域を複数の三角形に分割する必要がある。この手法
の従来例は、特開平7−72847号公報(以下、文献
1と記載する。)に記載された技術と“Triangulating
Simple Polygons and Equivalent Problems”,Ala
n Fournier and, Delfin Y.Montuno, ACM Transa
ctions of Graphics,Vol.3, No.2, April 1984 p
p.153-174(以下、文献2と記載する。) に記載され
ている技術が知られている。2. Description of the Related Art When generating three-dimensional object data from two-dimensional contour data of characters and figures, it is necessary to divide an area surrounded by the contour into a plurality of triangles. A conventional example of this method is disclosed in Japanese Patent Application Laid-Open No. 7-72847 (hereinafter, referred to as Document 1).
Simple Polygons and Equivalent Problems ”, Ala
n Fournier and, Delfin Y. Montuno, ACM Transa
ctions of Graphics, Vol.3, No.2, April 1984 p
A technique described in p.153-174 (hereinafter referred to as reference 2) is known.
【0003】文献1に記載されている手法では、二次元
の輪郭線データが囲む領域を多角形と捕らえ、この多角
形を多数の三角形に分割し、描画装置に入力することに
よって、画像をディスプレイ等の表示装置に高速描画し
ている。In the method described in Document 1, an area surrounded by two-dimensional contour data is regarded as a polygon, the polygon is divided into a large number of triangles, and input to a drawing device to display an image. Etc. are drawn at high speed on a display device.
【0004】文献2に記載されている手法では、輪郭線
データが囲む領域を平行線で分割し、平行線と輪郭線の
一部から構成される多数の台形によって輪郭線内部の領
域を分割する方法が記載されている。ここで得られた台
形を三角形に分割することによって、文字や図形データ
を三角形に分割することができる。In the technique described in Document 2, an area surrounded by contour data is divided by parallel lines, and an area inside the contour is divided by a number of trapezoids formed by the parallel lines and a part of the contour. A method is described. By dividing the trapezoid obtained here into triangles, character and graphic data can be divided into triangles.
【0005】[0005]
【発明が解決しようとする課題】これらの従来の手法の
例は、輪郭線データで囲まれた領域を塗りつぶすことの
みを目的としており、三次元化は考慮していない。ま
た、輪郭線に自己交差がある場合にも適用されている。
しかしながら、輪郭線から三次元オブジェクトデータを
生成するためには、分割した三角形内部を輪郭線が横切
ることがないという条件が必要であり、自己交差を除去
しなければならないところに問題があり、自己交差のあ
る輪郭線データから三次元画像を生成するために従来の
手法を用いると、分割した三角形が互いに重なる部分が
生じる。The examples of these conventional techniques are intended only to paint a region surrounded by contour data, and do not consider three-dimensionalization. It is also applied when the contour has a self-intersection.
However, in order to generate three-dimensional object data from a contour line, it is necessary to have a condition that the contour line does not cross the inside of the divided triangle, and there is a problem in that self intersection must be removed. When a conventional method is used to generate a three-dimensional image from crossed contour data, a portion where the divided triangles overlap each other occurs.
【0006】また、従来の手法で三角形分割を行う際に
は、一つの三角形を構成する三つの線分と、この三角形
を構成しない輪郭線上の全ての線分とを比較し、その三
角形が輪郭線内部の領域に含まれる有効三角形であるこ
との判定を行っており、頂点数が増加するに従って、線
分交差判定回数が頂点数の二乗で増加するという問題が
ある。Further, when triangulation is performed by the conventional method, three line segments constituting one triangle are compared with all line segments on a contour line which does not constitute the triangle, and the triangle is determined by the contour. Since it is determined that the triangle is an effective triangle included in the area inside the line, the number of line segment intersection determinations increases as the square of the number of vertices as the number of vertices increases.
【0007】本発明の目的は、自己交差のある輪郭線を
自己交差のない輪郭線に再構築することによって、輪郭
線内部を多数の相互に重ならない三角形に分割し、輪郭
形状を柱状に伸長した三次元オブジェクトデータを得る
ことができる、三次元オブジェクトデータを生成する方
法及びその装置並びに三次元オブジェクトデータを生成
するプログラムを記録した記録媒体を提供することにあ
る。An object of the present invention is to reconstruct a contour having self-intersection into a contour having no self-intersection, thereby dividing the inside of the contour into a number of non-overlapping triangles, and extending the contour into a columnar shape. It is an object of the present invention to provide a method and an apparatus for generating three-dimensional object data, and a recording medium on which a program for generating three-dimensional object data is recorded.
【0008】[0008]
【課題を解決するための手段】前記目的を達成するため
に、本発明では、輪郭線データを格納する輪郭線記憶手
段と、前記輪郭線記憶手段から取得したデータが、自己
交差しているかどうか解析する輪郭線解析手段と、自己
交差している場合にその交点を記憶する交点記憶手段
と、輪郭線データが自己交差している場合に自己交差が
ない輪郭線に修正する輪郭線再構築手段と、前記輪郭線
解析手段と前記輪郭線再構築手段から自己交差しない輪
郭線を受け取り記憶する有効輪郭線記憶手段と、前記輪
郭線解析手段と前記輪郭線再構築手段から頂点データを
取得し、整列する頂点整列手段と、前記頂点整列手段か
ら出力された整列済み頂点を記憶する整列済み頂点記憶
手段と、前記有効輪郭線記憶手段から三つの頂点を選択
し記憶する頂点選択手段と、前記整列済み頂点記憶手段
に記憶された整列された頂点データを利用して、前記頂
点選択手段に記憶された三つの頂点がなす三角形が、輪
郭線内部に含まれる三角形かどうかを判定する有効三角
形判定手段と、前記有効三角形判定手段で有効と判定さ
れた三角形を記憶する有効三角形記憶手段と、三次元オ
ブジェクトの表面を三角形の集合で構成するメッシュの
上面と下面を、得られた有効三角形で構築し、側面は上
面および下面の自己交差を排除した輪郭線データを使用
して、柱状の三次元オブジェクトを表すメッシュを構築
するようにしている。In order to achieve the above object, according to the present invention, there is provided a contour storage means for storing contour data, and whether data acquired from the contour storage means intersects itself. Contour analysis means for analysis, intersection storage means for storing the intersection when self-intersecting, and contour reconstructing means for correcting the contour data to self-intersection when self-intersecting Effective contour storage means for receiving and storing contours that do not intersect themselves from the contour analysis means and the contour reconstruction means, and acquiring vertex data from the contour analysis means and the contour reconstruction means, Vertex aligning means for aligning, aligned vertex storing means for storing aligned vertices output from the vertex aligning means, and vertex selection for selecting and storing three vertices from the effective contour line storing means It is determined whether or not the triangle formed by the three vertices stored in the vertex selecting means is a triangle included in the outline by using the step and the aligned vertex data stored in the aligned vertex storing means. Effective triangle determining means, effective triangle storing means for storing triangles determined to be valid by the effective triangle determining means, and upper and lower surfaces of a mesh which forms a surface of a three-dimensional object by a set of triangles. A mesh representing a columnar three-dimensional object is constructed by using contour data excluding the self-intersection of the upper surface and the lower surface on the side surface.
【0009】[0009]
【発明の実施の形態】以下、図面を参照して、本発明の
実施の形態を詳細に説明する。図1は本発明の構成の一
実施の形態を示すブロック図である。Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of the configuration of the present invention.
【0010】図1を参照すると、本実施の形態における
本発明の構成は、輪郭線データを格納する輪郭線記憶部
101と、前記輪郭線記憶部101から取得した輪郭線
データが、自己交差しているかどうか解析する輪郭線解
析部102と、自己交差している場合にその交点を記憶
する交点記憶部111と、輪郭線データが自己交差して
いる場合に自己交差がない輪郭線に修正する輪郭線再構
築部103と、前記輪郭線解析部102と前記輪郭線再
構築部103から自己交差しない輪郭線を受け取り記憶
する有効輪郭線記憶部106と、前記輪郭線解析部10
2と前記輪郭線再構築部103から頂点データを取得
し、整列する頂点整列部104と、前記頂点整列部10
4から出力された整列済み頂点を記憶する整列済み頂点
記憶部105と、前記有効輪郭線記憶部106から三つ
の頂点を選択し記憶する頂点選択部107と、前記整列
済み頂点記憶部105に記憶された整列された頂点デー
タを利用して、前記頂点選択部107に記憶された三つ
の頂点がなす三角形が、輪郭線内部に含まれる三角形か
どうかを判定する有効三角形判定部108と、前記有効
三角形判定部108で有効と判定された三角形を記憶す
る有効三角形記憶部109と、三次元オブジェクトの表
面を三角形の集合で構成するメッシュの上面と下面を、
得られた有効三角形で構築し、側面は上面および下面の
自己交差を排除した輪郭線データを使用して、柱状の三
次元オブジェクトを表すメッシュを構築する三次元オブ
ジェクトデータ構築部110を備えている。Referring to FIG. 1, in the configuration of the present invention in the present embodiment, a contour storage unit 101 for storing contour data and contour data obtained from the contour storage unit 101 intersect with each other. A contour analysis unit 102 for analyzing whether or not there is a self-intersection, an intersection storage unit 111 for storing the intersection when the self-intersection is performed, and a contour having no self-intersection when the contour data is self-intersecting. A contour reconstruction unit 103; an effective contour storage unit 106 for receiving and storing contours that do not intersect themselves from the contour analysis unit 102 and the contour reconstruction unit 103;
2, a vertex aligning unit 104 for acquiring and aligning vertex data from the contour reconstructing unit 103;
4, a sorted vertex storage unit 105 that stores the sorted vertices output from step 4, a vertex selection unit 107 that selects and stores three vertices from the effective contour line storage unit 106, and a stored in the sorted vertex storage unit 105. Using the sorted vertex data, the valid triangle determining unit 108 that determines whether the triangle formed by the three vertices stored in the vertex selecting unit 107 is a triangle included in the contour, An effective triangle storage unit 109 that stores triangles determined to be valid by the triangle determination unit 108, and upper and lower surfaces of a mesh that configures the surface of a three-dimensional object with a set of triangles.
A three-dimensional object data constructing unit 110 is constructed that constructs a mesh representing a columnar three-dimensional object by using the contour data obtained by constructing the obtained effective triangle and excluding the self-intersection of the upper surface and the lower surface from the side surface. .
【0011】このように構成される本発明の実施の形態
について、図1から図16を参照してさらに詳しく説明
する。The embodiment of the present invention configured as described above will be described in more detail with reference to FIGS.
【0012】本発明では目的を達成するために、ポイン
タ構造体データと頂点構造体データと交点構造体データ
を保持する。In order to achieve the object, the present invention holds pointer structure data, vertex structure data, and intersection structure data.
【0013】図2は、輪郭線データの連結を保つ役割で
あるポインタ構造体データを表す図で、一方向リストを
構成するための順次アクセスポインタと、自分自身の頂
点座標を取得する位置取得ポインタから構成される。FIG. 2 is a diagram showing pointer structure data which plays a role in maintaining the connection of contour data. A sequential access pointer for constructing a one-way list and a position acquisition pointer for acquiring its own vertex coordinates are shown. Consists of
【0014】図3は、頂点構造体データを表す図で、輪
郭線データの各頂点の位置を表す頂点座標と、図2に示
したポインタ構造体データから構成される。FIG. 3 is a diagram showing the vertex structure data, which is composed of vertex coordinates indicating the position of each vertex of the contour data and the pointer structure data shown in FIG.
【0015】図4は、自己交差によって生成される交点
の情報を表す交点構造体データを表す図で、交点位置を
表す頂点座標一つとポインタ構造体データと経路コスト
データをそれぞれ二つ持つ。ここで経路コストデータと
は、交点構造体データが保持している交点から輪郭線を
たどって、次の自己交差の交点に到達する際に通過する
頂点の数である。FIG. 4 is a diagram showing intersection structure data representing information on intersections generated by self-intersection. The intersection structure data has one vertex coordinate indicating the intersection position, two pointer structure data, and two route cost data. Here, the route cost data is the number of vertices that pass when tracing the contour from the intersection held by the intersection structure data and reaching the next intersection of self-intersection.
【0016】図5は、文字の輪郭線と、頂点構造体の関
係を表す図である。この図では、輪郭線は連結した頂点
構造体によって構成され、頂点構造体に含まれるポイン
タ構造体によって、次の頂点に順次アクセスすることが
できることを示している。FIG. 5 is a diagram showing the relationship between the outline of a character and the vertex structure. In this drawing, the outline is constituted by a connected vertex structure, and indicates that the next vertex can be sequentially accessed by a pointer structure included in the vertex structure.
【0017】図6は、輪郭線解析部102において、交
点列挙の処理を説明する図である。FIG. 6 is a diagram for explaining the process of listing intersections in the contour analysis unit 102.
【0018】図7は、輪郭線解析部102の動作を示す
フローの一例を示している。FIG. 7 shows an example of a flow showing the operation of the contour analysis unit 102.
【0019】図8は、輪郭線解析部102において、図
6の輪郭線に対して交点列挙処理した結果得られ、交点
記憶部111に記憶された交点構造体の一例を示してい
る。FIG. 8 shows an example of an intersection structure obtained as a result of performing intersection enumeration processing on the outline of FIG. 6 in the outline analysis unit 102 and stored in the intersection storage unit 111.
【0020】図9は、輪郭線再構築部103において、
図6の輪郭線内に発見された相互閉曲線の再構築を説明
する図である。FIG. 9 shows the outline reconstruction unit 103
FIG. 7 is a diagram for explaining reconstruction of a mutual closed curve found in the outline of FIG. 6.
【0021】図10は、輪郭線再構築部103におい
て、交点構造体を受け取り、自己閉曲線あるいは相互閉
曲線を得るフローの一例を示している。FIG. 10 shows an example of a flow in which the contour reconstruction unit 103 receives the intersection structure and obtains a self-closed curve or a mutually closed curve.
【0022】図11は、輪郭線解析部102において、
自己交差を検出し、輪郭線再構築部103が再構築を行
う自己閉曲線の一例を示している。FIG. 11 shows the outline analysis unit 102
An example of a self-closed curve in which a self-intersection is detected and the contour reconstruction unit 103 performs reconstruction is shown.
【0023】図12は、輪郭線再構築部103におい
て、交点構造体を1つ用いて、自己閉曲線を再構築する
場合のフローの一例を示している。FIG. 12 shows an example of a flow when the contour reconstructing unit 103 reconstructs a self-closed curve using one intersection structure.
【0024】図13は、輪郭線再構築部103におい
て、交点構造体を2つ用いて、相互閉曲線を再構築する
場合のフローの一例を示している。FIG. 13 shows an example of a flow in the case where the contour reconstruction unit 103 reconstructs a mutual closed curve using two intersection structures.
【0025】図14は、有効三角形判定部108におい
て、頂点選択部107から受け取った三つの頂点から構
成される三角形が、有効三角形である場合とない場合の
一例を示している。FIG. 14 shows an example in which the effective triangle judging section 108 determines whether or not the triangle composed of the three vertices received from the vertex selecting section 107 is an effective triangle.
【0026】図15は、有効三角形判定部108におい
て、頂点選択部107から受け取った三つの頂点座標か
ら構成される三角形が、輪郭線内部の領域を構成する三
角形として成立するかどうかを判定するフローの一例を
示している。FIG. 15 shows a flow in which the effective triangle judging section 108 judges whether or not a triangle composed of three vertex coordinates received from the vertex selecting section 107 is satisfied as a triangle constituting an area inside the contour. An example is shown.
【0027】図16は、本発明を、ひらがな「あ」の自
己交差のある輪郭線データについて適用した例を示す図
である。FIG. 16 is a diagram showing an example in which the present invention is applied to contour data having a self-intersection of Hiragana "A".
【0028】ここで、本発明を用いて、図6−(a)に
示す輪郭線データから三次元オブジェクトデータを生成
する際の動作について説明する。Here, an operation of generating three-dimensional object data from the contour data shown in FIG. 6A using the present invention will be described.
【0029】図6−(a)は、時計周りに輪郭線をたど
っていった時にその右側の領域が輪郭線の内部となるよ
うなデータであり、25個の頂点で構成されている。FIG. 6A shows data in which the area to the right becomes the inside of the contour when the contour is traced clockwise, and is composed of 25 vertices.
【0030】最初に、交点列挙処理について説明する。First, the intersection enumeration process will be described.
【0031】輪郭線記憶部101には、0〜24番まで
の頂点位置とその順序を保持する25個の輪郭線データ
が記憶されている。このデータは、輪郭線解析部102
に転送される。The contour storage unit 101 stores 25 pieces of contour data holding the positions of vertices 0 to 24 and their order. This data is stored in the contour analysis unit 102
Is forwarded to
【0032】輪郭線解析部102は受け取った輪郭線デ
ータ中から基本線分を選択し、輪郭線上の全ての線分
と、交差判定を行う。この様子を図6を用いて説明す
る。The contour analyzing unit 102 selects a basic line segment from the received contour data, and determines intersection with all the line segments on the contour. This will be described with reference to FIG.
【0033】図6−(b)において、頂点0と頂点1で
構成される線分を基本線分とする。この基本線分に対し
て最初に比較する線分は、頂点2と頂点3で構成される
線分である。基本線分と比較線分が交わるかどうか判定
し、交わらない場合には、次に頂点3と頂点4によって
構成される線分を比較線分として判定する。これを、比
較線分が頂点23と頂点24で構成される線分になるま
で繰り返し交わり判定を行う。図6−(b)では、0,
1で構成される基本線分は、他のどの線分とも交わらな
いことがわかる。In FIG. 6- (b), a line segment composed of a vertex 0 and a vertex 1 is defined as a basic line segment. The first line segment to be compared with this basic line segment is a line segment composed of vertices 2 and 3. It is determined whether or not the basic line segment and the comparison line segment intersect. If they do not intersect, then the line segment formed by the vertices 3 and 4 is determined as the comparison line segment. This is repeated until the comparison line segment becomes a line segment composed of the vertices 23 and 24. In FIG. 6- (b), 0,
It can be seen that the basic line segment constituted by 1 does not intersect with any other line segment.
【0034】次に、基本線分を頂点1と頂点2で構成さ
れる線分に置き換える。同様にして、この基本線分に対
して、比較線分が交わるかどうかを順次判定する。この
操作によって、輪郭線上の自己交差の有無を判定でき
る。Next, the basic line segment is replaced with a line segment composed of vertices 1 and 2. Similarly, it is sequentially determined whether or not the comparison line segment intersects the basic line segment. With this operation, it is possible to determine whether or not there is a self-intersection on the contour line.
【0035】図6−(c)では、基本線分が頂点5と頂
点6で構成されている。比較線分が頂点18と頂点19
によって構成された場合には、この二本の直線が交わる
ため、交点構造体データを生成し、交点記憶部111に
登録する。説明のため、この交点を頂点Pとする。交点
構造体データには図8−(a)に示す情報が設定され
る。ただし、この時点で経路コストは設定されず、輪郭
線の交点列挙処理の最後で設定される。また、交点を生
成する各線分の間に、交点の座標値を持つ頂点構造体を
新たに挿入することによって、輪郭線を構成する頂点構
造体のリストに頂点構造体の要素を2つ追加する。In FIG. 6C, the basic line segment is composed of vertices 5 and 6. Vertex 18 and vertex 19
In this case, since these two straight lines intersect, the intersection structure data is generated and registered in the intersection storage unit 111. For the sake of explanation, this intersection is referred to as a vertex P. Information shown in FIG. 8A is set in the intersection structure data. However, the path cost is not set at this time, but is set at the end of the process of listing the intersections of the contour lines. In addition, two elements of the vertex structure are added to the list of vertex structures forming the contour by newly inserting a vertex structure having the coordinate value of the intersection between each line segment generating the intersection. .
【0036】図6−(d)では、図6−(c)と同様に
交点が発見され、この交点を説明のため、交点Qとす
る。図 6−(e)の状態になると交点列挙の調査を終
了する。In FIG. 6- (d), an intersection is found in the same manner as in FIG. 6- (c), and this intersection is referred to as an intersection Q for explanation. When the state shown in FIG. 6- (e) is reached, the investigation of the intersection enumeration ends.
【0037】次に交点記憶部111の全ての交点構造体
について、交点記憶装置の座標値データと比較し、交点
間の経路コストを計算する。一つの交点に関し二つの経
路コストが設定される。Next, all the intersection structures in the intersection storage unit 111 are compared with the coordinate value data in the intersection storage device, and the path cost between the intersections is calculated. Two path costs are set for one intersection.
【0038】図6の場合、交点Pの経路コストはP―6
―7―8―Qと経由するコスト4、P―19―20―
‥‥ ―5―Pと経由するコスト13の2つの値が設定
される。また交点列挙とともに、頂点整列部104は輪
郭線を構成する全ての頂点のy座標について整列を行
い、整列済み頂点記憶部105に登録する。In the case of FIG. 6, the route cost at the intersection P is P-6.
―7-8-Q and the cost via 4, P-19-20-
値 Two values of -5-P and the cost 13 to be passed are set. In addition to the intersection enumeration, the vertex aligning unit 104 aligns the y-coordinates of all vertices constituting the contour and registers them in the aligned vertex storage unit 105.
【0039】図7は、図6において交点列挙処理を行っ
たフローの一例を示している。FIG. 7 shows an example of a flow in which the intersection enumeration processing in FIG. 6 is performed.
【0040】図中のs、tはそれぞれ基本線分、比較線
分の起点を表し、L1,L2は基本線分、比較線分であ
る。基本線分L1は頂点s、頂点s+1から構成され、
比較線分L2は頂点t、頂点t+1から構成される。n
は輪郭線に含まれる頂点数である。In the drawing, s and t represent the starting points of the basic line segment and the comparison line segment, respectively, and L1 and L2 are the basic line segment and the comparison line segment, respectively. The basic line segment L1 is composed of a vertex s and a vertex s + 1,
The comparison line segment L2 includes a vertex t and a vertex t + 1. n
Is the number of vertices included in the contour.
【0041】ステップS72で各線分を設定し、ステッ
プS73で交差判定を行う。交点が存在すれば、座標を
求めステップS74で交点記憶装置に交点構造体データ
を保存する。Each line segment is set in step S72, and an intersection is determined in step S73. If the intersection exists, the coordinates are obtained and the intersection structure data is stored in the intersection storage device in step S74.
【0042】ステップS75,ステップS76、ステッ
プS77、ステップS71によって、輪郭線上の全ての
線分に対して交差判定を行うことができる。In steps S75, S76, S77, and S71, the intersection can be determined for all the line segments on the contour line.
【0043】ステップS78、ステップS80で頂点整
列処理を行い、ステップS79で経路コストを計算して
いる。ここで、整列処理は頂点のy座標について行った
が、x座標について行ってもよい。In steps S78 and S80, vertex alignment processing is performed, and in step S79 a path cost is calculated. Here, the alignment processing is performed on the y coordinate of the vertex, but may be performed on the x coordinate.
【0044】次に、自己交差のない輪郭線を生成する処
理について説明する。列挙された交点から自己交差のな
い輪郭線を生成するために、登録された交点構造体デー
タの組あわせを行う。交点記憶部111に登録された順
に一つ交点構造体データを取得し、経路コストが低いポ
インタ構造体を選択する。図8−(a)で、経路コスト
が小さい方は頂点6へのポインタであるので、図9−
(a)でPを開始点として頂点6以降の頂点に順次アク
セスし、次の交点までこの作業を継続し、その時の交点
構造体データを取得する。図9−(b)では、頂点Qが
次の交点であるため、図8−(b)の自己交差交点Qの
交点構造体データから、頂点9に進まない方向の頂点1
7を取得し、経路の方向転換を行う。Next, a process for generating a contour line having no self-intersection will be described. In order to generate a contour line without self-intersection from the enumerated intersections, the registered intersection structure data is combined. One intersection structure data is acquired in the order registered in the intersection storage unit 111, and a pointer structure having a low path cost is selected. In FIG. 8A, the one with the smaller path cost is the pointer to the vertex 6, so that FIG.
In (a), the vertices after the vertex 6 are sequentially accessed with P as a starting point, this operation is continued until the next intersection, and the intersection structure data at that time is acquired. In FIG. 9- (b), since the vertex Q is the next intersection, from the intersection structure data of the self-intersection intersection Q in FIG.
7 is obtained and the direction of the route is changed.
【0045】この場合、頂点Pの位置と頂点Qの位置が
異なるため、この経路は相互閉曲線によって囲まれる領
域の一部となる。相互閉曲線とは、輪郭線の二つの部分
で囲まれる閉曲線である。In this case, since the position of the vertex P and the position of the vertex Q are different, this path becomes a part of the area surrounded by the mutual closed curve. A mutual closed curve is a closed curve surrounded by two parts of the contour.
【0046】このようにして得られた、相互閉曲線を頂
点の昇順にたどる方向が、時計周りか反時計周りかを求
める。もし、時計周りであれば、この閉曲線で囲まれる
領域は三角形分割すべき内部領域であるので、経路変更
の対象になり、後に述べる経路再構成を行う。反時計周
りであれば外部領域であるので、経路変更の対象になら
ず、自己交差点Pの構造体を参照し、経路コストの大き
い方について、図9−(a)から同様の処理を行う。It is determined whether the direction of tracing the mutual closed curve thus obtained in ascending vertex order is clockwise or counterclockwise. If it is clockwise, since the area surrounded by the closed curve is an internal area to be triangulated, it becomes a target of a route change, and a route reconstruction described later is performed. If the area is counterclockwise, since the area is an external area, the path is not changed and the structure of the self-intersection P is referred to, and the same processing is performed from FIG.
【0047】図9では、相互閉曲線の方向が時計周りで
あるので、経路変更の対象になる。In FIG. 9, since the direction of the mutual closed curve is clockwise, it becomes an object of the route change.
【0048】経路変更の対象になった、一組の交点構造
体データもしくは、1つの交点構造体データは、交点記
憶部111から削除される。もし、交点記憶部111に
交点構造体データが残っていれば、上記の処理を交点記
憶部111に交点構造体データがなくなるまで継続して
行う。The set of intersection structure data or one set of intersection structure data that has been subjected to the route change is deleted from the intersection storage unit 111. If the intersection structure data remains in the intersection storage unit 111, the above processing is continued until the intersection storage unit 111 has no more intersection structure data.
【0049】相互閉曲線の場合には、交点構造体データ
からもう一方の交点構造体データに移動するための経路
が2つ存在し、経路をたどる移動コストが高い方を削除
する。ここでは特に移動コストを経路に含まれる頂点数
にしているが、経路の滑らかさなど別のコスト計算方法
を導入してもかまわない。In the case of a mutually closed curve, there are two paths for moving from the intersection structure data to the other intersection structure data, and the path having the higher moving cost following the path is deleted. Here, the movement cost is specifically set to the number of vertices included in the route, but another cost calculation method such as smoothness of the route may be introduced.
【0050】図9−(d)では、経路P−6−7−8−
Qよりも、経路Q−17−18−Pのコストが低いの
で、前者の経路が削除され、経路P−6−7−8−Qの
代わりに 経路P−18−17−Qが挿入される。In FIG. 9- (d), the route P-6-7-8-
Since the cost of the route Q-17-18-P is lower than that of Q, the former route is deleted and the route P-18-17-Q is inserted instead of the route P-6-7-8-Q. .
【0051】図9では、特に相互閉曲線の例について、
再構築を行ったが図11に示す自己閉曲線についても、
図12に示すフローによって輪郭線データの再構築を行
うことができる。In FIG. 9, particularly regarding the example of the mutual closed curve,
After reconstructing, the self-closed curve shown in FIG.
The reconstruction of the contour data can be performed by the flow shown in FIG.
【0052】以上の方法で、自己交差を排除した輪郭線
0−1−2−3−4−5−P−18−17−Q−9−1
0−11−12−13−14−15−16−Q−17−
18−P−19−20−21−22−23−24を得
る。In the above method, the contour line 0-1--2--4--4-5-P-18-17-Q-9-1 from which self-intersection is eliminated.
0-11-12-13-14-15-16-Q-17-
18-P-19-20-21-22-23-24 is obtained.
【0053】図10、12、13は、輪郭線再構築部1
03の動作を示すフローの一例である。FIGS. 10, 12, and 13 show the outline reconstructing unit 1.
It is an example of the flow showing the operation of No. 03.
【0054】図10は、交点構造体データの取得から次
の交点までの経路をたどる処理を行う。FIG. 10 shows a process of following the path from the acquisition of the intersection structure data to the next intersection.
【0055】図12は図10の自己閉曲線処理の詳細フ
ローであり、図13は図10の相互閉曲線処理の詳細フ
ローである。FIG. 12 is a detailed flow of the self-closed curve processing of FIG. 10, and FIG. 13 is a detailed flow of the mutual closed curve processing of FIG.
【0056】図中のA,Bは交点構造体データの2つの
ポインタ構造体データを示し、Aを経路コストが小さい
方のポインタ構造体と仮定している。dは、Aの順次ア
クセスポインタが指し示す頂点で、kは交点記憶部11
1に格納された交点構造体データを指し示す。In the figure, A and B indicate two pointer structure data of the intersection structure data, and it is assumed that A is a pointer structure having a smaller path cost. d is the vertex pointed by the sequential access pointer of A, and k is the intersection storage unit 11
Pointing to the intersection structure data stored in No. 1.
【0057】図9−(b)で交点Qを見つけるために、頂
点dが交点構造体データQの位置と等しいかどうかをス
テップS05で判定する。ステップS05,ステップS
06,ステップS09の繰り返しで、頂点dが交点かど
うか判定する。頂点dが交点でない場合、ステップS0
7、ステップS04を処理することによって、次の頂点
が交点であるかどうか判定する。In order to find the intersection Q in FIG. 9- (b), it is determined in step S05 whether the vertex d is equal to the position of the intersection structure data Q. Step S05, Step S
It is determined whether the vertex d is an intersection by repeating steps S06 and S09. If the vertex d is not an intersection, step S0
7. It is determined whether the next vertex is an intersection by processing step S04.
【0058】図9−(c)で、Q―17―18―Pの経
路を探す処理は、図13のステップS21,ステップS
22,ステップS23で行う。In FIG. 9- (c), the process of searching for the route of Q-17-18-P is performed in steps S21 and S21 of FIG.
Step 22 is performed in step S23.
【0059】図9−(d)で、経路削除を行う処理は、
図13のステップS27,ステップS28,ステップS
29で行う。In FIG. 9- (d), the process for deleting the route is as follows.
Steps S27, S28, and S in FIG.
Perform at 29.
【0060】次に、得られた自己交差のない輪郭線デー
タを三角形に分割する処理について説明する。Next, a process of dividing the obtained contour data having no self-intersection into triangles will be described.
【0061】三角形を構成する頂点をA,B,Cと表記
し、この三点は輪郭線上で連続している頂点を選択す
る。図14−(a)で示すように、最初に頂点0,1,
2が選択される。この図では、この三点が時計周りであ
り、輪郭線内部領域の一部であるため、三角形分割が成
功する。成功した三頂点は有効三角形記憶部109に登
録され、頂点1が有効輪郭線から除去される。図14―
(a)の分割後は、頂点0,2,3について有効三角形
であるか判定を行う。The vertices forming the triangle are denoted as A, B, and C, and these three points select vertices that are continuous on the contour. As shown in FIG. 14A, first, vertices 0, 1,
2 is selected. In this figure, since these three points are clockwise and are a part of the inside region of the contour, the triangulation is successful. Successful three vertices are registered in the effective triangle storage unit 109, and vertex 1 is removed from the effective contour. Fig. 14-
After the division in (a), it is determined whether the vertices 0, 2, and 3 are valid triangles.
【0062】三角形分割が成功した場合には、二番目の
頂点Bが削除され、頂点Cが新たに頂点Bとして、頂点
Cの次の点が新たに頂点Cとして同様の処理が行われ
る。When the triangulation is successful, the second vertex B is deleted, the vertex C is newly set as the vertex B, and the next point after the vertex C is set as the new vertex C, and the same processing is performed.
【0063】図14−(b),(c)では、三角形分割
が失敗になる場合を示している。FIGS. 14 (b) and (c) show a case where the triangulation fails.
【0064】図14−(b)は、三角形0−3−4の内
部に輪郭線上の頂点が含まれるため三角形分割に失敗
し、図14−(c)は、三角形14−15−16が反時
計周りで構成されるため、三角形分割に失敗する。In FIG. 14- (b), triangulation fails because the vertices on the contour line are included in the triangle 0-3-4. In FIG. 14- (c), the triangle 14-15-16 is Triangulation fails because of clockwise configuration.
【0065】三角形分割が失敗した場合には、各頂点が
それぞれ輪郭線上の次の点に置き換わり、再度新しい三
頂点について有効三角形の判定を行う。If the triangulation fails, each vertex is replaced with the next point on the contour line, and the valid three triangles are again determined as valid triangles.
【0066】この処理を再帰的に行い、輪郭線データの
頂点数が三つになったら、その三点からなる三角形を有
効三角形記憶部109に登録して終了する。This process is performed recursively, and when the number of vertices of the contour line data becomes three, the triangle composed of the three points is registered in the effective triangle storage unit 109 and the processing is terminated.
【0067】図14―(a)の三角形分割が成功する場
合には、図15のステップS48、ステップS49,ス
テップS51の処理を行う。図14−(b)の分割失敗
する場合には、図15のステップS46,ステップS5
0の処理を行う。図14−(c)で失敗する場合には図
15のステップS41、ステップS42の処理を行う。If the triangulation shown in FIG. 14- (a) is successful, the processing of steps S48, S49 and S51 of FIG. 15 is performed. If the division of FIG. 14- (b) fails, steps S46 and S5 in FIG.
0 processing is performed. If it fails in FIG. 14- (c), the processing of steps S41 and S42 in FIG. 15 is performed.
【0068】三角形構築で抽出した三角形が輪郭線内部
領域に含まれるかどうかは、三角形内部に輪郭線上の点
が存在するかどうかという問題に置きかえることができ
るが、本発明では三角形に外接する矩形を図15のステ
ップS43で求め、整列済み頂点記憶部105からこの
範囲に存在する頂点だけを選び出し判定を行うため、計
算量を大幅に削減でき、高速に三角形構築を行うことが
できる。Whether the triangle extracted by the triangle construction is included in the region inside the contour can be replaced by the problem of whether or not a point on the contour exists inside the triangle. Is obtained in step S43 in FIG. 15 and only the vertices existing in this range are selected from the sorted vertex storage unit 105 and the determination is performed. Therefore, the calculation amount can be significantly reduced and the triangle construction can be performed at high speed.
【0069】本発明の実施の形態では、時計周りに輪郭
線をたどっていった時にその右側の領域が輪郭線の内部
となるようなデータを仮定しているが、特にこれに限定
されるわけではなく、反時計周りの場合でも処理するこ
とができる。この場合、閉曲線処理や三角形分割処理に
おける判定基準「時計周りか」は、「反時計周りか」に
なる。In the embodiment of the present invention, data is assumed such that, when the contour is traced clockwise, the area on the right side is inside the contour. However, the present invention is not limited to this. Instead, it can be processed even in a counterclockwise direction. In this case, the criterion “clockwise” in the closed curve processing and the triangulation processing is “counterclockwise”.
【0070】最後に、三次元オブジェクトデータ構築部
110において、有効三角形記憶部109に記憶されて
いる三角形から、三次元データオブジェクトの上面と下
面の表面を構成し、有効輪郭線記憶部106に記憶され
ている、有効輪郭線の上面と下面の対応する点を結ぶ長
方形を対角線で二分してできる三角形から、側面を構成
することによって、三次元オブジェクトデータを生成す
る。Finally, the three-dimensional object data constructing unit 110 constructs the upper and lower surfaces of the three-dimensional data object from the triangles stored in the effective triangle storage unit 109 and stores them in the effective contour line storage unit 106. Three-dimensional object data is generated by forming a side surface from a triangle formed by diagonally dividing a rectangle connecting corresponding points on the upper surface and the lower surface of the effective contour line.
【0071】図16に本発明を適用して、ひらがな
「あ」から、3次元オブジェクトデータを生成した結果
を示す。FIG. 16 shows a result of generating three-dimensional object data from Hiragana “A” by applying the present invention.
【0072】また、上述した三次元オブジェクトデータ
を生成する機能をコンピュータによって実現するため
に、このコンピュータが読み取り可能なCD−ROMや
フロッピーディスク等の記録媒体に本発明の機能をコン
ピュータに実現せしめるプログラムを格納して提供され
る形態でもよい。Further, in order to realize the function of generating the three-dimensional object data by a computer, a computer-readable recording medium such as a CD-ROM or a floppy disk has a program for realizing the function of the present invention. May be stored and provided.
【0073】[0073]
【発明の効果】輪郭線データが自己交差している場合で
も、この自己交差を排除し自己交差のない輪郭線データ
を生成することによって、三次元オブジェクトデータを
生成することができる。また、輪郭線を構成する頂点デ
ータを整列しておくことにより、三角形分割を効率的に
行うことができる。According to the present invention, even when the contour data has self-intersection, three-dimensional object data can be generated by eliminating the self-intersection and generating contour data without self-intersection. In addition, by arranging the vertex data constituting the contour line, triangulation can be performed efficiently.
【図1】本発明の構成の一実施の形態を示すブロック図
である。FIG. 1 is a block diagram showing an embodiment of the configuration of the present invention.
【図2】本発明において、輪郭線を構成する頂点を順次
たどるために使用するポインタ構造体データの一例を示
す図である。FIG. 2 is a diagram showing an example of pointer structure data used for sequentially following vertices constituting a contour line in the present invention.
【図3】本発明において、輪郭線を構成する頂点を表現
するために使用する頂点構造体データの一例を示す図で
ある。FIG. 3 is a diagram showing an example of vertex structure data used to represent vertices forming a contour line in the present invention.
【図4】本発明において、自己交差があった場合に、輪
郭線上の交点を表現するために使用する交点構造体デー
タの一例を示す図である。FIG. 4 is a diagram illustrating an example of intersection structure data used to represent an intersection on a contour line when a self-intersection occurs in the present invention.
【図5】文字の輪郭線と頂点構造体データの関係の一例
を示す図である。FIG. 5 is a diagram illustrating an example of a relationship between a contour line of a character and vertex structure data.
【図6】本発明において、輪郭線解析部102で交点を
列挙する動作を示す図である。FIG. 6 is a diagram illustrating an operation of enumerating intersections in a contour analysis unit according to the present invention.
【図7】本発明において、輪郭線解析部102の動作を
示すフローチャートである。FIG. 7 is a flowchart showing the operation of the contour analysis unit 102 in the present invention.
【図8】本発明において、交点構造体データに設定され
る情報の一例を示す図である。FIG. 8 is a diagram showing an example of information set in intersection structure data in the present invention.
【図9】本発明において、自己交差を排除する過程の一
例を示す図である。FIG. 9 is a diagram showing an example of a process for eliminating self-intersection in the present invention.
【図10】本発明において、輪郭線解析部102で交点
構造体データの組み合わせの動作を示すフローチャート
である。FIG. 10 is a flowchart showing an operation of combining intersection structure data in the contour analysis unit 102 in the present invention.
【図11】本発明において、輪郭線データが一つの交点
だけで自己交差する自己閉曲線の一例を示す図である。FIG. 11 is a diagram showing an example of a self-closed curve in which contour data self-intersects at only one intersection in the present invention.
【図12】本発明において、輪郭線再構築部103で自
己閉曲線を再構築する動作を示すフローチャートであ
る。FIG. 12 is a flowchart showing an operation of reconstructing a self-closed curve by the contour reconstruction unit 103 in the present invention.
【図13】本発明において、輪郭線再構築部103で相
互閉曲線を再構築する動作を示すフローチャートであ
る。FIG. 13 is a flowchart showing an operation of reconstructing a mutual closed curve by the contour reconstruction unit 103 in the present invention.
【図14】本発明において、輪郭線内部領域を三角形分
割する場合に、その三角形が有功か否かを説明する図で
ある。FIG. 14 is a diagram for explaining whether or not the triangle is effective when the contour inner region is divided into triangles in the present invention.
【図15】本発明において、有効三角形判定部108に
おける動作を示すフローチャートである。FIG. 15 is a flowchart illustrating an operation of the effective triangle determining unit according to the present invention.
【図16】本発明において、ひらがな「あ」に適用した
例を示す図である。FIG. 16 is a diagram showing an example applied to Hiragana “A” in the present invention.
101 輪郭線記憶部 102 輪郭線解析部 103 輪郭線再構築部 104 頂点整列部 105 整列済み頂点記憶部 106 有効輪郭線記憶部 107 頂点選択部 108 有効三角形判定部 109 有効三角形記憶部 110 三次元オブジェクトデータ構築部 111 交点記憶部 S01 交点構造体取得処理 S02 経路コスト計算処理 S03 経路探索頂点初期化処理 S04 交点探索初期化処理 S05 交点座標判定処理 S06 交点探索終了判定処理 S07 経路探索頂点移動処理 S08 輪郭線交点起点判定処理 S09 交点探索頂点移動処理 S10 経路方向判定処理 S11 自己閉曲線経路修正処理 S12 自己閉曲線経路削除処理 S13 輪郭線再構築終了判定処理 S20 経路探索方向初期化処理 S21 経路探索頂点初期化処理 S22 交点座標判定処理 S23 経路探索頂点移動処理 S24 経路方向判定処理 S25 経路方向転換済み判定処理 S26 経路方向転換処理 S27 経路コスト判定処理 S28 経路変更処理1 S29 経路変更処理2 S30 交点構造体除去処理 S31 再築終了判定処理 S40 頂点初期化処理 S41 頂点方向判定処理 S42 頂点移動処理 S43 比較頂点領域設定処理 S44 比較頂点受け取り処理 S45 比較頂点インデックス初期化処理 S46 三角形内部領域内判定処理 S47 比較頂点インデックス増加処理 S48 分割成功可否判定処理 S49 有効三角形登録処理 S50 全選択頂点移動処理 S51 選択頂点移動処理 S52 三角形分割終了判定処理 S70 交点列挙初期化処理 S71 交点列挙終了判定処理 S72 線分決定処理 S73 線分交差判定処理 S74 交点登録処理 S75 比較頂点更新処理 S76 比較頂点終了判定処理 S77 基準頂点更新処理 S78 最終頂点整列処理処理 S79 経路コスト計算処理 S80 頂点整列処理 101 contour storage unit 102 contour analysis unit 103 contour reconstruction unit 104 vertex alignment unit 105 sorted vertex storage unit 106 effective contour storage unit 107 vertex selection unit 108 effective triangle determination unit 109 effective triangle storage unit 110 3D object Data construction unit 111 Intersection storage unit S01 Intersection structure acquisition process S02 Route cost calculation process S03 Route search vertex initialization process S04 Intersection search initialization process S05 Intersection coordinate determination process S06 Intersection search end determination process S07 Route search vertex movement process S08 Contour Line intersection start point determination processing S09 Intersection search vertex movement processing S10 Path direction determination processing S11 Self-closed curve path correction processing S12 Self-closed curve path deletion processing S13 Contour restructuring end determination processing S20 Path search direction initialization processing S21 Path search vertex initialization processing S22 exchange Coordinate determination process S23 Route search vertex movement process S24 Route direction determination process S25 Route direction completed determination process S26 Route direction conversion process S27 Route cost determination process S28 Route change process 1 S29 Route change process 2 S30 Intersection structure removal process S31 Reconstruction end Judgment process S40 Vertex initialization process S41 Vertex direction judgment process S42 Vertex movement process S43 Comparison vertex region setting process S44 Comparison vertex reception process S45 Comparison vertex index initialization process S46 Triangle inside region judgment process S47 Comparison vertex index increase process S48 Successful division Availability determination processing S49 Effective triangle registration processing S50 All selected vertex movement processing S51 Selected vertex movement processing S52 Triangulation division end determination processing S70 Intersection enumeration initialization processing S71 Intersection enumeration end determination processing S72 Line segment determination processing S73 Line segment intersection determination processing S74 Intersection registration processing S75 Comparative vertex update processing S76 Comparative vertex end determination processing S77 Reference vertex update processing S78 Final vertex alignment processing processing S79 Path cost calculation processing S80 Vertex alignment processing
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 1/00 - 17/50 G09G 1/00 - 5/42 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int. Cl. 7 , DB name) G06T 1/00-17/50 G09G 1/00-5/42
Claims (6)
列である頂点データ配列で表現される文字や図形を構成
する一つ以上の輪郭線データから任意の輪郭線データを
取得し、 前記取得した輪郭線データを構成する任意の部分と同一
輪郭線の他の部分との交差である自己交差があるか否か
判定し、 前記自己交差があると判定した場合に、その交点を交点
記憶部に記憶し、その輪郭線データの前記自己交差を排
除した輪郭線データを生成し、 前記自己交差を排除した輪郭線データから三角形データ
を生成し、 あらかじめ整列済み頂点記憶部に記憶された、座標位置
で整列された輪郭線の頂点データと、前記三角形データ
とを比較し、前記三角形の有効性を判定し、 有効な三角形と判定した場合に、前記三角形データを有
効三角形記憶部に記憶し、 前記記憶した三角形データを、柱状図形の上面と下面に
適用し、側面は上面および下面の自己交差を排除した輪
郭線データの対応する点を結んでできる長方形を対角線
で分けてできる三角形から三次元オブジェクトデータを
生成することを特徴とする三次元オブジェクトデータ生
成方法。An arbitrary contour data is obtained from one or more contour data constituting a character or a graphic represented by a vertex data array as a two-dimensional point sequence of three or more points stored in a storage device. It is determined whether or not there is a self-intersection that is an intersection with an arbitrary part constituting the acquired contour data and another part of the same contour, and when it is determined that the self-intersection exists, the intersection is determined. It is stored in the intersection storage unit, generates contour data from which the self-intersection of the contour data is eliminated, generates triangle data from the contour data from which the self-intersection is eliminated, and stores the triangle data in the pre-aligned vertex storage unit. Further, the vertex data of the contour line aligned at the coordinate position is compared with the triangle data, the validity of the triangle is determined, and when the triangle is determined to be a valid triangle, the triangle data is stored in the valid triangle storage unit. Record Then, the stored triangle data is applied to the upper surface and the lower surface of the columnar figure, and the side surface is a triangle formed by connecting the corresponding points of the contour data excluding the self-intersection of the upper surface and the lower surface by a diagonal triangle. A method for generating three-dimensional object data, comprising generating three-dimensional object data.
れる情報を用いて、前記座標位置で整列させた頂点デー
タを作成することを特徴とする請求項1記載の三次元オ
ブジェクトデータ生成方法。2. The three-dimensional object data generation according to claim 1, wherein vertex data aligned at the coordinate position is created using information output when the process of eliminating the self-intersection is performed. Method.
ータから、柱状の三次元オブジェクトデータを生成する
三次元オブジェクトデータ生成装置であって、 一つの輪郭線データを構成する任意の部分が、同一輪郭
線の他の部分と交差する自己交差がある場合に、その輪
郭線データの自己交差を排除した輪郭線データを生成
し、 該文字や図形の輪郭線データが、三点以上の二次元点列
である頂点データ配列で表現される場合、あらかじめ頂
点データの座標位置で整列させたデータを用意しておく
ことにより、分割する三角形が有効な三角形かどうかを
判定することを特徴とする文字や図形の三角形分割方法
を用いることによって分割された三角形データを、該柱
状図形の上面と下面に適用し、側面は上面および下面の
自己交差を排除した輪郭線データの対応する点を結んで
できる長方形を対角線で分けてできる三角形から三次元
オブジェクトデータを生成することを特徴とする三次元
オブジェクトデータ生成装置。3. A three-dimensional object data generating apparatus for generating columnar three-dimensional object data from one or more contour data constituting a character or a figure, wherein an arbitrary part constituting one contour data is provided. However, if there is a self-intersection that intersects another part of the same contour, the contour data excluding the self-intersection of the contour data is generated, and the contour data of the character or the figure has three or more points. When represented by a vertex data array that is a two-dimensional point sequence, by preparing data aligned in advance at the coordinate position of the vertex data, it is determined whether or not the triangle to be divided is a valid triangle. The triangle data divided by using the triangulation method of characters and figures to be applied to the upper and lower surfaces of the columnar figure, and the side surface is a ring in which the self-intersection of the upper and lower surfaces is eliminated. Three-dimensional object data generating device and generating a three-dimensional object data rectangle formed by connecting the corresponding points of the line data from the triangles that can be divided by a diagonal line.
れる情報を用いて、前記座標位置で整列させたデータを
作成することを特徴とする請求項3記載の三次元オブジ
ェクトデータ生成装置。4. The three-dimensional object data generating apparatus according to claim 3, wherein data aligned at said coordinate position is created using information output when said self-intersection is eliminated. .
ータを格納する輪郭線記憶手段と、 前記輪郭線記憶手段から取得した前記輪郭線データが、
自己交差しているかどうか解析する輪郭線解析手段と、 前記輪郭線データが自己交差している場合にその交点を
記憶する交点記憶手段と、 前記輪郭線データが自己交差している場合に自己交差が
ない輪郭線に修正する輪郭線再構築手段と、 前記輪郭線解析手段と前記輪郭線再構築手段から自己交
差しない輪郭線を受け取り記憶する有効輪郭線記憶手段
と、 前記輪郭線解析手段と前記輪郭線再構築手段から頂点デ
ータを取得し、整列する頂点整列手段と、 前記頂点整列手段から出力された整列済み頂点を記憶す
る整列済み頂点記憶手段と、 前記有効輪郭線記憶手段から三つの頂点を選択し記憶す
る頂点選択手段と、 前記整列済み頂点記憶手段に記憶された整列された頂点
データを利用して、前記頂点選択手段に記憶された三つ
の頂点がなす三角形が、輪郭線内部に含まれる三角形か
どうかを判定する有効三角形判定手段と、 前記有効三角形判定手段で有効と判定された三角形を記
憶する有効三角形記憶手段と、 柱状の三次元オブジェクトの表面を構成するメッシュの
上面と下面を、得られた有効三角形で構築し、側面は上
面および下面の自己交差を排除した輪郭線データを使用
して、柱状の三次元オブジェクトを表すメッシュを構築
するメッシュ構築手段とを具備することを特徴とする三
次元オブジェクトデータ生成装置。5. An outline storing means for storing one or more outline data constituting a character or a figure, and wherein the outline data obtained from the outline storing means is:
Contour analyzing means for analyzing whether or not self-intersecting; intersection storing means for storing the intersection when the contour data self-intersects; self-intersecting when the contour data self-intersecting Contour reconstructing means for correcting a contour having no contour, effective contour storage means for receiving and storing contours that do not intersect themselves from the contour analyzing means and the contour reconstructing means, the contour analyzing means, Vertex alignment means for obtaining and aligning vertex data from the contour reconstructing means, aligned vertex storage means for storing aligned vertices output from the vertex aligning means, and three vertices from the effective contour line storing means A vertex selecting unit that selects and stores the three vertices stored in the vertex selecting unit using the aligned vertex data stored in the aligned vertex storing unit. Valid triangle determining means for determining whether or not the triangle is a triangle included in the contour; effective triangle storing means for storing the triangle determined to be valid by the valid triangle determining means; and a surface of the columnar three-dimensional object. Mesh construction for constructing a mesh representing a columnar three-dimensional object using the contour data excluding the self-intersection of the upper and lower surfaces, constructing the upper and lower surfaces of the constituting mesh with the obtained effective triangles Means for generating three-dimensional object data.
ータを格納する輪郭線記憶機能と、 前記輪郭線記憶手段から取得した前記輪郭線データが、
自己交差しているかどうか解析する輪郭線解析機能と、 前記輪郭線データが自己交差している場合にその交点を
記憶する交点記憶機能と、 前記輪郭線データが自己交差している場合に自己交差が
ない輪郭線に修正する輪郭線再構築機能と、 前記輪郭線解析機能と前記輪郭線再構築機能から自己交
差しない輪郭線を受け取り記憶する有効輪郭線記憶機能
と、 前記輪郭線解析機能と前記輪郭線再構築機能から頂点デ
ータを取得し、整列する頂点整列機能と、 前記頂点整列機能から出力された整列済み頂点を記憶す
る整列済み頂点記憶機能と、 前記有効輪郭線記憶機能から三つの頂点を選択し記憶す
る頂点選択機能と、 前記整列済み頂点記憶機能に記憶された整列された頂点
データを利用して、前記頂点選択機能に記憶された三つ
の頂点がなす三角形が、輪郭線内部に含まれる三角形か
どうかを判定する有効三角形判定機能と、 前記有効三角形判定機能で有効と判定された三角形を記
憶する有効三角形記憶機能と、 柱状の三次元オブジェクトの表面を構成するメッシュの
上面と下面を、得られた有効三角形で構築し、側面は上
面および下面の自己交差を排除した輪郭線データを使用
して、柱状の三次元オブジェクトを表すメッシュを構築
するメッシュ構築機能とをコンピュータに生成せしめる
ことを特徴とする三次元オブジェクトデータを生成する
プログラムを記録した記録媒体。6. A contour storage function for storing one or more contour data constituting a character or a figure, and wherein the contour data acquired from the contour storage means is:
A contour analysis function for analyzing whether or not the intersection is self-intersecting; an intersection storage function for storing the intersection when the contour data is self-intersecting; and a self-intersection when the contour data is self-intersecting. A contour reconstructing function for correcting a contour having no contour, an effective contour storing function for receiving and storing contours that do not self-intersect from the contour analyzing function and the contour reconstructing function, and the contour analyzing function and A vertex alignment function for obtaining and aligning vertex data from the contour reconstructing function, an aligned vertex storing function for storing the aligned vertices output from the vertex aligning function, and three vertices from the effective contour storing function A vertex selection function for selecting and storing the three vertices stored in the vertex selection function using the aligned vertex data stored in the sorted vertex storage function. An effective triangle determining function for determining whether a triangle is a triangle included in a contour; an effective triangle storing function for storing a triangle determined to be effective by the effective triangle determining function; and a surface of a columnar three-dimensional object. Mesh construction for constructing a mesh representing a columnar three-dimensional object using the contour data excluding the self-intersection of the upper and lower surfaces, constructing the upper and lower surfaces of the constituting mesh with the obtained effective triangles A recording medium storing a program for generating three-dimensional object data, wherein the program causes a computer to generate functions.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10008449A JP3109585B2 (en) | 1998-01-20 | 1998-01-20 | Method and apparatus for generating three-dimensional object data, and recording medium storing program for generating three-dimensional object data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10008449A JP3109585B2 (en) | 1998-01-20 | 1998-01-20 | Method and apparatus for generating three-dimensional object data, and recording medium storing program for generating three-dimensional object data |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11203503A JPH11203503A (en) | 1999-07-30 |
| JP3109585B2 true JP3109585B2 (en) | 2000-11-20 |
Family
ID=11693443
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10008449A Expired - Fee Related JP3109585B2 (en) | 1998-01-20 | 1998-01-20 | Method and apparatus for generating three-dimensional object data, and recording medium storing program for generating three-dimensional object data |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3109585B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3025879U (en) * | 1995-10-04 | 1996-06-25 | 弘子 小森 | Yamagata Shimizu-yaki, which is made by digging Gozan's bonfire and adding phosphorescent paint. |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1238819C (en) | 2000-12-05 | 2006-01-25 | 松下电器产业株式会社 | 3-D character data generating device and 3-D graphics data generating device |
| CN111127649B (en) * | 2019-12-30 | 2023-04-14 | 重庆市勘测院 | Method and device for constructing three-dimensional volume model, and server |
-
1998
- 1998-01-20 JP JP10008449A patent/JP3109585B2/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3025879U (en) * | 1995-10-04 | 1996-06-25 | 弘子 小森 | Yamagata Shimizu-yaki, which is made by digging Gozan's bonfire and adding phosphorescent paint. |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH11203503A (en) | 1999-07-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Gansner et al. | Topological fisheye views for visualizing large graphs | |
| US6392647B1 (en) | System and method for computer modeling of 3D objects or surfaces by mesh constructions having optimal quality characteristics and dynamic resolution capabilities | |
| JP5854802B2 (en) | Image processing apparatus, image processing method, and computer program | |
| KR100537574B1 (en) | Graphics image generation apparatus, method, and program | |
| JP5984114B2 (en) | Model creation program, model creation method, and model creation device | |
| JP2005182547A (en) | Drawing processing apparatus, drawing processing method, and drawing processing program | |
| JP4248399B2 (en) | Automatic branch labeling method | |
| JP2002092658A (en) | Three-dimensional digital map creation device and storage medium storing three-dimensional digital map creation program | |
| US6760023B2 (en) | System and method for correctly decimating height fields with missing values | |
| JP3109585B2 (en) | Method and apparatus for generating three-dimensional object data, and recording medium storing program for generating three-dimensional object data | |
| CN117687543A (en) | Three-dimensional model regular curved surface extraction method and device, electronic equipment and storage medium | |
| CN115828827A (en) | Method and system for reconstructing integrated circuit design layout hierarchical structure and storage medium | |
| JP3931701B2 (en) | Image generating apparatus and program | |
| JPH0636013A (en) | Topographic data creation method and device | |
| JP3308869B2 (en) | Parts display image operation system and method | |
| JP2676116B2 (en) | Image data processing method and apparatus | |
| JP2003263464A (en) | Fillet creation method and three-dimensional CAD program | |
| JP3495159B2 (en) | Image component adjacency determination method | |
| Žalik | A topology construction from line drawings using a uniform plane subdivision technique | |
| CN110580274B (en) | GIS data rendering method | |
| CN114022518A (en) | Method, device, equipment and medium for acquiring optical flow information of image | |
| US20070146359A1 (en) | CAD apparatus, CAD method and recording medium storing CAD program thereof | |
| KR101673442B1 (en) | The method and apparatus for remeshing visual hull approximation by DBSS(displaced butterfly subdivision surface) | |
| JP2011134165A (en) | Mesh change device, mesh change method and program | |
| JP3657725B2 (en) | Line figure image processing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20000816 |
|
| LAPS | Cancellation because of no payment of annual fees |