JP4501479B2 - Polygon model simplification method, image processing apparatus, image drawing apparatus, and program - Google Patents

Polygon model simplification method, image processing apparatus, image drawing apparatus, and program Download PDF

Info

Publication number
JP4501479B2
JP4501479B2 JP2004079089A JP2004079089A JP4501479B2 JP 4501479 B2 JP4501479 B2 JP 4501479B2 JP 2004079089 A JP2004079089 A JP 2004079089A JP 2004079089 A JP2004079089 A JP 2004079089A JP 4501479 B2 JP4501479 B2 JP 4501479B2
Authority
JP
Japan
Prior art keywords
model
polygon
polygon model
contour
vertices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004079089A
Other languages
Japanese (ja)
Other versions
JP2005267272A (en
JP2005267272A5 (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2004079089A priority Critical patent/JP4501479B2/en
Publication of JP2005267272A publication Critical patent/JP2005267272A/en
Publication of JP2005267272A5 publication Critical patent/JP2005267272A5/ja
Application granted granted Critical
Publication of JP4501479B2 publication Critical patent/JP4501479B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Description

本発明は、複数の頂点を持つポリゴンの集合により3次元の物体を表現するポリゴンモデルを簡略化する技術に関する。   The present invention relates to a technique for simplifying a polygon model that represents a three-dimensional object by a set of polygons having a plurality of vertices.

近年、コンピュータ・グラフィックス(CG)は様々な分野で利用されている。そのCGで画像の表現に用いられるものにポリゴンモデルがある。そのポリゴンモデルは、ポリゴンと呼ばれる多角形の平面の集合により3次元物体を表現するモデルである。そのポリゴンの形状としては三角形が採用されるのが一般的である。そのポリゴンの集合により表された面はポリゴンパッチ面と呼ばれる。   In recent years, computer graphics (CG) has been used in various fields. A polygon model is used in the CG to represent an image. The polygon model is a model that represents a three-dimensional object by a set of polygonal planes called polygons. As the shape of the polygon, a triangle is generally adopted. The surface represented by the set of polygons is called a polygon patch surface.

3次元CGでは、描画品質と描画速度の向上が望まれている。描画品質を向上させるためには、細部まで表現された解像度の高いモデルが必要である。しかし、解像度の高いモデルではポリゴン数が多いために、描画時間は長くなる。その描画時間を短くするためにポリゴン数を少なくすると、解像度は低下する。このように、描画品質と描画速度はトレードオフの関係にあるのが普通である。   In three-dimensional CG, improvement of drawing quality and drawing speed is desired. In order to improve the drawing quality, a model with high resolution expressed in detail is required. However, since the number of polygons is large in a model with high resolution, the drawing time becomes long. If the number of polygons is decreased in order to shorten the drawing time, the resolution decreases. As described above, the drawing quality and the drawing speed are generally in a trade-off relationship.

描画速度と描画品質の両方を満足させるための手法の一つにLOD(Level Of Detail)を用いた描画手法がある。その手法では、図13に示すように、画面上に描画する画像の見かけの大きさに応じて、その大きさが小さくなるほどポリゴン数のより少ないポリゴンモデルで画像を描画するようになっている。それにより、その画像の描画品質の視覚的な低下を回避しつつ、より高速な描画を実現させている。このことから、そのLODは、VR(Virtual Reality)やゲームなどのアプリケーション・プログラム(以下「アプリケーション」と略記)で広く採用されている。これは、そのようなアプリケーションでは、膨大なデータで表現される仮想空間内で描画する部分を変更(更新)する頻度が高いために、描画を高速に行えるようにすることが強く求められるからである。   One of the methods for satisfying both the drawing speed and the drawing quality is a drawing method using LOD (Level Of Detail). In this method, as shown in FIG. 13, the image is drawn with a polygon model having a smaller number of polygons as the size of the image is reduced according to the apparent size of the image drawn on the screen. Thereby, higher-speed drawing is realized while avoiding a visual deterioration of the drawing quality of the image. Therefore, the LOD is widely used in application programs (hereinafter abbreviated as “application”) such as VR (Virtual Reality) and games. This is because, in such applications, the frequency of changing (updating) the portion to be drawn in the virtual space represented by a large amount of data is high, so it is strongly required to be able to draw at high speed. is there.

LODで用いるポリゴンモデルは事前に用意しても良い。しかし、各ポリゴンモデルを手作業で作成するのは困難である。このことから、詳細なポリゴンモデルを一つだけ用意して、それよりもポリゴン数の少ないポリゴンモデルはその詳細なポリゴンモデルから自動的に生成することも行われている(非特許文献1、2)。以降、詳細なポリゴンモデルから生成されるポリゴンモデルについては、元のポリゴンモデル(で表現される画像)を簡略化する形で近似するものであることから「近似ポリゴンモデル」と呼ぶこととする。   The polygon model used for LOD may be prepared in advance. However, it is difficult to manually create each polygon model. Therefore, only one detailed polygon model is prepared, and a polygon model having a smaller number of polygons than that is automatically generated from the detailed polygon model (Non-Patent Documents 1 and 2). ). Hereinafter, a polygon model generated from a detailed polygon model will be referred to as an “approximate polygon model” because it approximates the original polygon model (an image represented by) in a simplified form.

上記ポリゴンモデルの簡略化とは、ポリゴン数を減少させることである。そのポリゴン数の減少は、edge collapseと呼ばれる稜線縮退操作により行われる。その操作について図14を参照して具体的に説明する。   The simplification of the polygon model is to reduce the number of polygons. The reduction of the number of polygons is performed by an edge line reduction operation called edge collapse. The operation will be specifically described with reference to FIG.

図14中のv1、及びv2は、ポリゴンの頂点である。その2つの頂点v1、v2を一つの頂点Vにまとめると、頂点v1、v2間の線である稜線は縮退して消滅し、その消滅に伴い、2つのポリゴンも消滅する。稜線縮退操作は、そのようにして稜線を縮退させることでポリゴン数を減少させるものである。ポリゴン数の簡略化は、その稜線縮退操作を反復的に行うことにより実現される。   V1 and v2 in FIG. 14 are the vertices of the polygon. When the two vertices v1 and v2 are combined into one vertex V, the ridge line that is a line between the vertices v1 and v2 is degenerated and disappears, and the two polygons disappear along with the disappearance. The edge line reduction operation is to reduce the number of polygons by reducing the edge lines in this way. The simplification of the number of polygons is realized by repeatedly performing the ridgeline shrinking operation.

稜線縮退操作の逆操作は、頂点分割操作(vsplit)と呼ばれる。その頂点分割操作は、一つにまとめられた頂点Vを元の2つの頂点v1、v2に分割し、その分割によって2つのポリゴンを発生させる操作である。頂点分割操作、稜線縮退操作は、その操作内容を示す情報を保存しておくことにより可逆性を持たせることができる(非特許文献2)。そのため、稜線縮退操作を利用した簡略化を行う場合には、その操作情報を保存しておくことにより、任意の段階の近似ポリゴンモデルを可逆的に生成することができる。   The reverse operation of the edge reduction operation is called a vertex split operation (vsplit). The vertex dividing operation is an operation of dividing the vertex V combined into one into two original vertices v1 and v2, and generating two polygons by the division. The vertex division operation and the ridgeline reduction operation can be made reversible by storing information indicating the operation content (Non-patent Document 2). Therefore, when performing simplification using the ridgeline reduction operation, an approximate polygon model at an arbitrary stage can be generated reversibly by storing the operation information.

上記稜線縮退操作では、縮退させる稜線の選択(縮退させていく稜線の順番)、稜線縮退後の頂点位置の決定、の2点が重要である。なぜなら、簡略化後のポリゴンモデルで表現される画像は、この2点の決め方に大きく影響されるからである。従って、それら2点を適切な方法で決定しなければならない。   In the ridge line reduction operation, two points are important: selection of ridge lines to be reduced (order of ridge lines to be reduced) and determination of vertex positions after ridge line reduction. This is because an image represented by a simplified polygon model is greatly influenced by how these two points are determined. Therefore, these two points must be determined in an appropriate manner.

その従来の方法として、非特許文献1に記載されたように、QEM(Quadric Error Metric)を用いたものがある。そのQEMを用いた従来の方法では、前処理として、全ての頂点でQEMを計算し、全ての稜線でQEM、縮退後の頂点の位置、その頂点の位置に縮退させることによって生じる誤差の大きさを示す評価値(QED:Quadric Error Distance)をそれぞれ計算する。以降、稜線のなかで評価値が最小(エネルギーが最小)の稜線を選択して縮退させていくことにより、ポリゴンモデルを簡略化していた。   As the conventional method, as described in Non-Patent Document 1, there is a method using QEM (Quadric Error Metric). In the conventional method using the QEM, as a preprocessing, the QEM is calculated at all the vertices, the QEM is calculated at all the ridgelines, the position of the vertex after the reduction, and the magnitude of the error caused by the reduction to the position of the vertex. An evaluation value (QED: Quadric Error Distance) is calculated. Since then, the polygon model has been simplified by selecting the ridge line with the smallest evaluation value (minimum energy) from the ridge lines and reducing it.

縮退させた稜線の周辺に位置する頂点、稜線のQEMは更新する。縮退によって1つにまとめられた頂点のQEMは、縮退前の2つの頂点のQEMの和とさせる。それにより、縮退操作前の形状情報を保存する。そのようにして形状情報を保存しながら稜線縮退操作を行うため、その操作によって簡略化されるポリゴンモデルが元のモデルから大きく変化するようなことを回避できるようになっている。また、行列を用いた比較的に単純な計算のみでその縮退操作は行えるため、ポリゴンモデルの簡略化を高速に行えるという利点もある。   The QEMs of vertices and ridgelines located around the degenerated ridgeline are updated. The QEM of vertices combined into one by degeneration is the sum of the QEMs of the two vertices before degeneration. Thereby, the shape information before the degeneration operation is stored. In this way, the ridgeline reduction operation is performed while preserving the shape information, so that the polygon model simplified by the operation can be prevented from greatly changing from the original model. Further, since the degeneration operation can be performed only by relatively simple calculation using a matrix, there is an advantage that the polygon model can be simplified at high speed.

ここでQEMについて具体的に説明する。そのQEMは、各頂点における、隣接面との距離の二乗和を計算するための行列を示すものである。
ポリゴンの面分の法線ベクトルをn、頂点座標をvとすると次式が成り立つ。
Here, QEM will be specifically described. The QEM shows a matrix for calculating the sum of squares of the distance to the adjacent surface at each vertex.
If the normal vector of the polygon surface is n and the vertex coordinates are v, the following equation holds.

Tv+d=0 ・・・ (1)
ただし、(1)式中に上添字として示すTは転置を表している。
このとき、任意の点v(x、y、z)との距離Dと二乗距離(quadric error)D2はそれぞれ
D=nTv+d ・・・ (2)
2=(nTv+d)2=vT(nnT)v+2dnTv+d2 ・・・ (3)
により求められる。ここで、3×3行列をA、3次元ベクトルをb、定数をc、及びそれらの数値から構成される4×4行列をQとすると、行列Qは以下のように定義することができ、二乗距離Q(v)すなわちD2は以下のように変形される。
n T v + d = 0 (1)
However, T shown as a superscript in the expression (1) represents transposition.
At this time, the distance D to the arbitrary point v (x, y, z) and the square error (quadric error) D 2 are respectively D = n T v + d (2)
D 2 = (n T v + d) 2 = v T (nn T ) v + 2dn T v + d 2 (3)
It is calculated by. Here, assuming that a 3 × 3 matrix is A, a three-dimensional vector is b, a constant is c, and a 4 × 4 matrix composed of these numerical values is Q, the matrix Q can be defined as follows: The square distance Q (v), that is, D 2 is modified as follows.

Q=(A,b、c)=(nnT,dn,d2) ・・・ (4)
Q(v)=vTAv+2bTv+c ・・・ (5)
さらに点座標をv(x,y,z,1)とすれば、(5)式は
Q(v)=vTQv ・・・ (6)
とも表される。このQをQEM、二乗距離Q(v)をQEDと呼ぶ。そのQ(v)は2次式なので
∂Q(v)/∂x=∂Q(v)/∂y=∂Q(v)/∂z=0 ・・・ (7)
のとき最小値となる。この条件から、Q(v)の最小値、およびそれに対応する位置座標Vはそれぞれ以下のようになる。
Q = (A, b, c) = (nn T , dn, d 2 ) (4)
Q (v) = v T Av + 2b T v + c (5)
Further, if the point coordinates are v (x, y, z, 1), the equation (5) can be expressed as Q (v) = v T Qv (6)
It is also expressed. This Q is called QEM, and the square distance Q (v) is called QED. Since Q (v) is a quadratic equation, ∂Q (v) / ∂x = ∂Q (v) / ∂y = ∂Q (v) / ∂z = 0 (7)
At the minimum. From this condition, the minimum value of Q (v) and the corresponding position coordinate V are as follows.

Q(V)=−bT-1b+c ・・・ (8)
V=−A-1b ・・・ (9)
稜線縮退後の頂点位置は、(9)式を用いて決定される。
Q (V) = − b T A −1 b + c (8)
V = −A −1 b (9)
The vertex position after ridgeline degeneration is determined using equation (9).

詳細度を示すLODを用いた描画手法では、描画する物体の見かけ上の大きさに応じて決定する。物体の見かけ上の大きさが小さくなるほど、ポリゴン数はより少なく設定される。しかし、従来は、ポリゴン数を減少させる稜線縮退操作はQED(評価値)が小さい稜線から順次、行うことにより、物体の表面形状を全体的に保存するようになっていた。このため、例えば図15に示すように、簡略化によるポリゴン数の減少に伴い、物体の輪郭形状が大きく崩れてしまうことがあった。   In the drawing method using the LOD indicating the degree of detail, it is determined according to the apparent size of the object to be drawn. The smaller the apparent size of the object, the smaller the number of polygons is set. Conventionally, however, the ridge line shrinking operation for reducing the number of polygons is performed sequentially from the ridge line having a small QED (evaluation value), thereby preserving the entire surface shape of the object. For this reason, for example, as shown in FIG. 15, the outline shape of the object may be greatly collapsed as the number of polygons is reduced due to simplification.

物体を大きく表示する場合、その全体を詳細に表現することが望まれる。しかし、物体を小さく表示するような場合には、輪郭はそれ以外の部分より正確に表現するのが望ましいと云える。これは、物体を認識するうえで輪郭から得られる情報量はそれ以外の部分から得られるそれより多いのが普通だからである。輪郭から物体の種類を判別することは比較的に容易であるが、模様からその判別をするのは困難なのが普通だからである。このようなことから、詳細度を低くする場合には、視覚的な違和感を与えるのを回避するために、言い換えれば物体の表示をより適切に行うために、表面形状は輪郭部分とそうでない部分とに分けて、輪郭形状の保存を優先させることが重要であると考えられる。
特開平11−259674号公報 M. Garland, P.S. Heckbert, Surface Simplification Using Quadric Error Metrics, Computer Graphics(SIGGRAPH), 1997, pp209-216 H. Hoppe, Progressive Meshes, Computer Graphics(SIGGRAPH), 1996, pp99-108
When an object is displayed in a large size, it is desired to express the whole in detail. However, when the object is displayed in a small size, it can be said that it is desirable to express the outline more accurately than the other parts. This is because the amount of information obtained from the outline for recognizing an object is usually larger than that obtained from other parts. This is because it is relatively easy to discriminate the type of object from the outline, but it is usually difficult to discriminate it from the pattern. For this reason, when reducing the level of detail, in order to avoid giving a sense of discomfort visually, in other words, in order to display the object more appropriately, the surface shape is a contour portion and a portion that is not the contour portion. It is considered that it is important to prioritize the preservation of the contour shape.
Japanese Patent Laid-Open No. 11-259647 M. Garland, PS Heckbert, Surface Simplification Using Quadric Error Metrics, Computer Graphics (SIGGRAPH), 1997, pp209-216 H. Hoppe, Progressive Meshes, Computer Graphics (SIGGRAPH), 1996, pp99-108

本発明の課題は、詳細度が低いポリゴンモデルでの物体の表示をより適切に行えるようにするための技術を提供することにある。   An object of the present invention is to provide a technique for more appropriately displaying an object with a polygon model having a low level of detail.

本発明の第1の態様のポリゴンモデルの簡略化方法は、複数の頂点を持つポリゴンの集合により3次元の物体を表現するポリゴンモデルの簡略化を行う画像処理装置におけるポリゴンモデルの簡略化方法であって、ポリゴンモデルで表現された物体の輪郭を所定の視点で検出するステップと、検出した輪郭を保持するよう、物体の表現に用いるポリゴンの数を減少させることにより、ポリゴンモデルを簡略化するステップと、ポリゴンモデルを簡略化した後に視点のみを変更する場合に、該簡略化したポリゴンモデルによる物体の輪郭を該変更後の視点で再度、検出するステップと、再度、検出した輪郭を考慮して、簡略化したポリゴンモデルに対し、ポリゴンの2つの頂点を結ぶ稜線の縮退操作、及び該縮退によって既に1つにまとめられた頂点を分割する分割操作を行うことにより、該ポリゴンの数の変化を少なくとも抑えつつ簡略化したポリゴンモデルを新たに生成するステップと、を含む。 The polygon model simplification method according to the first aspect of the present invention is a polygon model simplification method in an image processing apparatus that simplifies a polygon model that represents a three-dimensional object by a set of polygons having a plurality of vertices. Thus, the polygon model is simplified by detecting the contour of the object represented by the polygon model from a predetermined viewpoint, and reducing the number of polygons used to represent the object so as to retain the detected contour. And, when only the viewpoint is changed after simplifying the polygon model, again detecting the contour of the object by the simplified polygon model at the changed viewpoint, and again considering the detected contour For the simplified polygon model, the ridge line connecting the two vertices of the polygon is reduced, and the reduction is already combined into one. By performing the division operation for dividing the vertices, comprising the steps of generating a new simplified polygon model with at least suppressing the change in the number of the polygons, the.

第2の態様のポリゴンモデルの簡略化方法は、上記第1の態様において、ポリゴンの2つの頂点を結ぶ稜線別に、該2つの頂点を1つにまとめて該稜線を消滅させる縮退操作を行うことにより生じる誤差を評価するステップと、評価した誤差を輪郭と併せて考慮して、稜線の数を縮退操作により減らすことにより、ポリゴンの数を減少させてポリゴンモデルを簡略化するステップと、を含む。 A polygon model simplification method according to a second aspect is the method according to the first aspect, in which, for each ridge line connecting two vertices of a polygon, a reduction operation is performed in which the two vertices are combined into one and the ridge line disappears. and evaluating the error caused by the error of the evaluation by considering in conjunction with the contour by reducing the degeneracy operation the number of ridge lines, comprising the steps of simplifying the polygon model by reducing the number of polygons, the .

本発明の第1の態様の画像処理装置は、複数の頂点を持つポリゴンの集合により3次元の物体を表現するポリゴンモデルの簡略化を行うことを前提とし、ポリゴンモデルを表すモデルデータを取得するデータ取得手段と、モデルデータが表すポリゴンモデルで表現された物体の輪郭を所定の視点で検出する輪郭検出手段と、輪郭検出手段により検出された輪郭を保持するよう、物体の表現に用いるポリゴンの数を減少させることにより、データ取得手段がモデルデータを取得したポリゴンモデルを簡略化したモデルデータを生成するデータ生成手段と、を具備し、輪郭検出手段は、ポリゴンモデルを簡略化した後に視点のみを変更する場合に、該簡略化したポリゴンモデルによる物体の輪郭を該変更後の視点で再度、検出し、データ生成手段は、輪郭検出手段により再度、検出した輪郭を考慮して、簡略化したポリゴンモデルに対し、ポリゴンの2つの頂点を結ぶ稜線の縮退操作、及び該縮退によって既に1つにまとめられた頂点を分割する分割操作を行うことにより、該ポリゴンの数の変化を少なくとも抑えつつ簡略化したポリゴンモデルを新たに生成する。 The image processing apparatus according to the first aspect of the present invention acquires model data representing a polygon model on the premise that the polygon model representing a three-dimensional object is simplified by a set of polygons having a plurality of vertices. A data acquisition means, a contour detection means for detecting the contour of the object represented by the polygon model represented by the model data from a predetermined viewpoint, and a polygon used for the representation of the object so as to hold the contour detected by the contour detection means; And a data generation unit that generates model data obtained by simplifying the polygon model from which the data acquisition unit has acquired the model data by reducing the number, and the contour detection unit is configured only for the viewpoint after simplifying the polygon model. The contour of the object by the simplified polygon model is detected again from the viewpoint after the change, and the data generation means The contour detection unit again considers the detected contour, and the ridge line connecting the two vertices of the polygon is shrunk to the simplified polygon model, and the vertices already combined by the shrinking are divided. By performing the division operation, a new simplified polygon model is generated while at least suppressing the change in the number of polygons.

第2の態様の画像処理装置は、上記第1の態様における構成に加えて、物体の表現に用いるポリゴンの2つの頂点を結ぶ稜線別に、該2つの頂点を1つにまとめて該稜線を消滅させる縮退操作を行うことにより生じる誤差を評価する誤差評価手段、を更に具備し、データ生成手段は、輪郭、及び誤差評価手段が評価した誤差を基に、稜線の数を縮退操作により減らすことにより、ポリゴンの数を減少させてポリゴンモデルを簡略化する。   The image processing apparatus according to the second aspect, in addition to the configuration according to the first aspect, combines the two vertices into one for each ridge line connecting the two vertices of the polygon used to represent the object, and erases the ridge line. Error evaluation means for evaluating an error caused by performing the reduction operation, and the data generation means reduces the number of ridge lines by the reduction operation based on the contour and the error evaluated by the error evaluation means. Reduce the number of polygons and simplify the polygon model.

本発明の画像描画装置は、ポリゴンモデルで表現された3次元の物体の画像を描画することを前提とし、ポリゴンモデルを表すモデルデータを取得するデータ取得手段と、モデルデータが表すポリゴンモデルで表現された物体の輪郭を所定の視点で検出する輪郭検出手段と、ポリゴンモデルの詳細度から、ポリゴン数を決定するポリゴン数決定手段と、輪郭検出手段により検出された輪郭を保持するよう、ポリゴンの2つの頂点を1つにまとめて該頂点間の稜線を消滅させる縮退操作を行うことにより、データ取得手段がモデルデータを取得したポリゴンモデルを簡略化して、該ポリゴンモデルが表現する物体をポリゴン数決定手段が決定したポリゴン数で表現するポリゴンモデルのモデルデータを生成するデータ生成手段と、データ生成手段が生成したモデルデータを用いて物体の画像を描画する画像描画手段と、を具備し、輪郭検出手段は、ポリゴンモデルを簡略化した後に視点のみを変更する場合に、該簡略化したポリゴンモデルによる物体の輪郭を該変更後の視点で再度、検出し、データ生成手段は、輪郭検出手段により再度、検出した輪郭を考慮して、簡略化したポリゴンモデルに対し、ポリゴンの2つの頂点を結ぶ稜線の縮退操作、及び該縮退によって既に1つにまとめられた頂点を分割する分割操作を行うことにより、該ポリゴンの数の変化を少なくとも抑えつつ簡略化したポリゴンモデルを新たに生成する。 The image drawing apparatus according to the present invention is based on the premise that an image of a three-dimensional object expressed by a polygon model is drawn, and a data acquisition unit that acquires model data representing the polygon model, and a polygon model represented by the model data. A contour detection means for detecting the contour of the object detected from a predetermined viewpoint, a polygon number determination means for determining the number of polygons from the detail level of the polygon model, and a polygon so as to hold the contour detected by the contour detection means. By combining the two vertices into one and performing a degeneration operation that eliminates the ridge line between the vertices, the data acquisition unit simplifies the polygon model from which the model data has been acquired, and the object represented by the polygon model is converted to a polygon. data generating means for generating model data of the polygon model representing the number of polygons number determining means has determined, data production Comprising an image drawing unit that draws an image of the object by using the model data unit is generated, the contour detection unit, when changing only the viewpoint after a simplified polygon model, the instant Ryakuka polygon model The contour of the object is detected again from the viewpoint after the change, and the data generation unit connects the two vertexes of the polygon to the simplified polygon model in consideration of the detected contour again by the contour detection unit. By performing an edge reduction operation and a division operation to divide the vertices that are already combined by the reduction, a new simplified polygon model is generated while at least suppressing a change in the number of polygons.

本発明の第1、及び第2の態様のプログラムは、上記第1の態様の画像処理装置、上記画像描画装置を実現させるための機能が搭載されている。   The programs of the first and second aspects of the present invention are equipped with functions for realizing the image processing apparatus and the image drawing apparatus of the first aspect.

本発明は、ポリゴンモデルで表現された物体の輪郭を検出し、検出した輪郭を考慮して、物体の表現に用いるポリゴンの数を減少させることにより、ポリゴンモデルを簡略化する。このため、輪郭の保存を他の部分より優先させた形での簡略化を行うことができる。その輪郭を保存することにより、物体の視認性の低下はより抑えられるため、簡略化後のポリゴンモデルでの物体の表示(描画)はより適切に行うことができる。   The present invention simplifies a polygon model by detecting the contour of an object represented by a polygon model and reducing the number of polygons used to represent the object in consideration of the detected contour. For this reason, simplification in a form in which the preservation of the contour is prioritized over other parts can be performed. By preserving the outline, a decrease in the visibility of the object can be further suppressed, so that the display (drawing) of the object in the simplified polygon model can be performed more appropriately.

ポリゴンの2つの頂点を結ぶ稜線別に、その稜線を消滅させる縮退操作を行うことにより生じる誤差を評価し、評価した誤差を輪郭と併せて考慮してポリゴンモデルを簡略化するようにした場合には、全体的な誤差をより抑える形でポリゴンモデルの簡略化を行えるようになる。   For each ridgeline that connects two vertices of a polygon, if the error caused by performing a degeneration operation that eliminates the ridgeline is evaluated, and the polygon model is simplified by considering the evaluated error together with the contour The polygon model can be simplified in such a way as to suppress the overall error.

ポリゴンモデルを簡略化した後に視点のみを変更する場合に、簡略化したポリゴンモデルによる物体の輪郭を変更後の視点で再度、検出し、検出した輪郭を考慮して、簡略化したポリゴンモデルに対し、稜線の縮退操作、及び頂点を分割する分割操作を行うことにより、ポリゴンの数の変化を少なくとも抑えつつ簡略化したポリゴンモデルを新たに生成するようにした場合には、行うべき操作の数をより抑えられるようになる。このため、簡略化したポリゴンモデルの新たな生成をより高速に行えるようになる。   When only the viewpoint is changed after simplifying the polygon model, the outline of the object by the simplified polygon model is detected again at the changed viewpoint, and the simplified polygon model is taken into account by taking the detected outline into account. When a new simplified polygon model is generated while at least suppressing a change in the number of polygons by performing an edge reduction operation and a division operation to divide vertices, the number of operations to be performed is It becomes more suppressed. For this reason, a new generation of a simplified polygon model can be performed at higher speed.

以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図1は、本実施の形態による画像描画装置の構成図である。
その画像描画装置は、図1に示すように、装置全体の制御を実行するCPU1と、CPU1が実行するプログラムや各種制御用データを格納したROM2と、CPU1がワークに用いるRAM3と、ユーザが操作の対象とするスイッチ部4と、画像を表示する表示部5と、例えばハードディスク装置である外部記憶装置6と、を備えて構成されている。それにより、描画した画像を表示部5上に表示するものとして実現されている。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a configuration diagram of an image drawing apparatus according to the present embodiment.
As shown in FIG. 1, the image drawing apparatus includes a CPU 1 that controls the entire apparatus, a ROM 2 that stores programs executed by the CPU 1 and various control data, a RAM 3 that the CPU 1 uses for work, and a user operation. And a display unit 5 that displays an image, and an external storage device 6 that is, for example, a hard disk device. Thereby, the rendered image is realized as being displayed on the display unit 5.

上記スイッチ部4は、各種スイッチやそれらへのユーザの操作を検出する検出回路を備えたものである。その検出回路は、随時、ユーザが操作したスイッチ、その操作内容をCPU1に通知する。   The switch unit 4 includes various switches and a detection circuit that detects user operations on the switches. The detection circuit notifies the CPU 1 of the switch operated by the user and the operation content at any time.

特には図示していないが、他に、通信ネットワークを介して通信を行うための通信制御部や、外部機器を接続するための各種インターフェースも備えている。外部記憶装置6は主に、物体をポリゴンモデルで表現するモデルデータを含め、それらを介して取得したデータやアプリケーションの保存に用いられる。   Although not particularly shown, a communication control unit for performing communication via a communication network and various interfaces for connecting external devices are also provided. The external storage device 6 is mainly used for storing data and applications obtained through them including model data that expresses an object with a polygon model.

本実施の形態では、ポリゴンの集合により3次元の物体を表現するポリゴンモデルの簡略化、つまり近似ポリゴンモデルの生成を必要に応じて行いつつ、その物体(の画像)を描画して表示部5に表示させるようにしている。   In the present embodiment, a polygon model that represents a three-dimensional object by a set of polygons is simplified, that is, an approximate polygon model is generated as necessary, and the object (image thereof) is drawn and displayed on the display unit 5. To be displayed.

画面上における物体の見かけの大きさは、視点と物体間の仮想的な距離が大きくなるほど小さくさせる必要がある。小さく表示させるほど、描画品質の違いを認識できる詳細度(LOD)はより低くなる。このことから、本実施の形態では、視点と物体間の距離をユーザが指定できるようにして、ユーザが指定の距離に応じた詳細度でポリゴンモデルの簡略化を行うようにしている。また、物体(の画像)を描画(表示)する向き、つまり物体を見る視点、その方向もユーザが指定できるようにさせている。その向きについては以降「姿勢」と呼ぶことにする。詳細度を距離に応じて切り換える技術としては特許文献1に記載されたものがある。   The apparent size of the object on the screen needs to be reduced as the virtual distance between the viewpoint and the object increases. The smaller the display, the lower the level of detail (LOD) at which the difference in drawing quality can be recognized. Therefore, in this embodiment, the user can designate the distance between the viewpoint and the object, and the polygon model is simplified with the degree of detail according to the distance designated by the user. In addition, the user can also specify the direction in which the object (image) is drawn (displayed), that is, the viewpoint and direction in which the object is viewed. The orientation is hereinafter referred to as “posture”. As a technique for switching the degree of detail according to the distance, there is one described in Patent Document 1.

ポリゴンモデルの簡略化は、姿勢に応じて物体の輪郭を検出し、検出した輪郭の保存を優先する形で行っている。輪郭の保存を優先することにより、輪郭近傍では他の部分より稜線縮退操作を行う頻度が抑えられる。このため、図12に示すように、元のモデルを簡略化すると、簡略化後のモデルでは輪郭近傍のポリゴンは他の部分と比較して簡略化の影響を受ける度合いが減少して、輪郭形状の大きな崩れは抑えられることとなる。   The polygon model is simplified by detecting the contour of an object according to the posture and preferentially saving the detected contour. By giving priority to the preservation of the contour, the frequency of performing the ridgeline reduction operation in the vicinity of the contour is reduced compared to other portions. For this reason, as shown in FIG. 12, when the original model is simplified, the degree of the influence of the simplification of the polygons in the vicinity of the contour in the simplified model is reduced compared with other portions, and the contour shape is reduced. The major collapse will be suppressed.

簡略化によってポリゴン数を比較的に大きく減少させる場合、物体の細部まで詳細に表現することは不可能となる。細部の詳細が表現されなければ、物体の一部分から全体を認識するのは困難となる。それにより、物体を認識するうえで輪郭(外形)から得る情報量の割合はより増大することとなる。このため、輪郭形状の保存を他の部分より優先させることにより、より認識しやすい適切な形でモデルの簡略化を行えるようになる。そのように簡略化を行える結果、簡略化したポリゴンモデルで描画した物体が視覚的な違和感を与えるようなことはより抑えられることとなる。以降、その簡略化を実現させる動作について詳細に説明する。   When the number of polygons is reduced relatively greatly by simplification, it is impossible to express details of the object in detail. If the details of the details are not expressed, it is difficult to recognize the whole from a part of the object. As a result, the ratio of the amount of information obtained from the contour (outer shape) when recognizing the object is further increased. For this reason, it is possible to simplify the model in an appropriate form that is easier to recognize by prioritizing the preservation of the contour shape over other parts. As a result of such simplification, it is further suppressed that an object drawn with a simplified polygon model gives a visual discomfort. Hereinafter, the operation for realizing the simplification will be described in detail.

図2は、ポリゴンモデルデータの構成を説明する図である。先ず、図2を参照して、そのモデルデータについて詳細に説明する。そのモデルデータは、例えば上記通信制御部、或いはインターフェースを介して取得されて外部記憶装置6に保存される。   FIG. 2 is a diagram illustrating the configuration of polygon model data. First, the model data will be described in detail with reference to FIG. The model data is acquired through, for example, the communication control unit or the interface and stored in the external storage device 6.

図2において、M、LI、SI、NV、及びNFはパラメータを示すシンボルである。具体的にはMはモデル番号、LIは距離データ初期値、SIは姿勢データ初期値、NVは頂点個数、NFは面分個数(ポリゴン数)をそれぞれ示している。モデル番号Mは、モデルデータ毎に割り当てられた識別用のパラメータである。距離データ初期値LI、及び姿勢データ初期値SIは共に、視点と物体間の位置関係を示すパラメータである。距離データ初期値LIはその間の距離の初期値を示し、姿勢データ初期値SIは物体に対する視点の角度の初期値を示している。   In FIG. 2, M, LI, SI, NV, and NF are symbols indicating parameters. Specifically, M represents a model number, LI represents distance data initial value, SI represents posture data initial value, NV represents the number of vertices, and NF represents the number of surface segments (the number of polygons). The model number M is an identification parameter assigned to each model data. Both the distance data initial value LI and the posture data initial value SI are parameters indicating the positional relationship between the viewpoint and the object. The distance data initial value LI indicates the initial value of the distance between them, and the posture data initial value SI indicates the initial value of the angle of the viewpoint with respect to the object.

図2中のV[1]は、括弧内の数値が割り当てられた頂点のXYZの各座標値が格納されたエリアである。そのエリアは頂点個数分、確保されている。同様に、F[1]は、括弧内の番号が割り当てられたポリゴンを構成する各頂点の座標値が格納されたエリアである。図2中の「V1」「V2」「V3」は各頂点の位置を示すXYZの各座標値を表している。図9は、それらのデータで形状、及び配置が定義されるポリゴンを表している。図9中のnは法線ベクトルを表している。以降、便宜的に、例えば頂点毎にXYZの座標値が格納されたエリア全体は括弧の前のシンボルからVエリア、頂点毎にXYZ座標値が格納されたエリアはV[]エリアと呼ぶことにする。V[]エリアのなかで数値(変数を含む)などによって具体的に特定されるエリアは括弧内にその数値、或いはシンボルなどを表記して表現(例えばV[1]エリア)することにする。これは他でも同様である。また、特に断らない限り、座標値とはXYZの各座標値を指す意味で用いることにする。   V [1] in FIG. 2 is an area in which XYZ coordinate values of vertices to which numerical values in parentheses are assigned are stored. The area is secured by the number of vertices. Similarly, F [1] is an area in which the coordinate value of each vertex constituting the polygon assigned the number in parentheses is stored. “V1”, “V2”, and “V3” in FIG. 2 represent XYZ coordinate values indicating the positions of the vertices. FIG. 9 shows a polygon whose shape and arrangement are defined by these data. In FIG. 9, n represents a normal vector. Hereinafter, for convenience, for example, the entire area in which XYZ coordinate values are stored for each vertex will be referred to as the V area from the symbol before the parenthesis, and the area in which the XYZ coordinate values are stored for each vertex will be referred to as the V [] area. To do. An area specifically specified by a numerical value (including variables) in the V [] area is expressed by expressing the numerical value or symbol in parentheses (for example, a V [1] area). The same applies to other cases. Unless otherwise specified, the coordinate value is used to mean each coordinate value of XYZ.

上記構成のモデルデータは、外部記憶装置6に1つ以上、保存される。その記憶装置6に保存されたモデルデータは、モデル番号を指定することでユーザが任意に選択できるようになっている。   One or more model data having the above configuration is stored in the external storage device 6. The model data stored in the storage device 6 can be arbitrarily selected by the user by specifying a model number.

図3は、モデルデータによる物体の描画用にRAM3に確保されるエリアを説明する図である。図3に示すように、RAM3には、L_V_Iエリア、L_E_Iエリア、L_Vエリア、L_Eエリア、L_OLVエリア、L_Hエリア、及びL_Sエリアが確保される。各エリアには以下のようなパラメータ(データ)が格納される。   FIG. 3 is a diagram for explaining an area secured in the RAM 3 for drawing an object based on model data. As illustrated in FIG. 3, an L_V_I area, an L_E_I area, an L_V area, an L_E area, an L_OLV area, an L_H area, and an L_S area are secured in the RAM 3. The following parameters (data) are stored in each area.

L_V_Iエリアには、頂点関係のパラメータの初期値が格納される。図3中のVは図2のV[]エリアに格納された座標値と同じものである。QEMは、Vで座標値を示す頂点に対するQEMであり、(4)式により算出されるものである。それらがサブエリアであるL_V_I[]エリア(頂点)毎に格納される。以降、Vで座標値を示す頂点は頂点Vと表記する。他も同様の表記法を用いる。   In the L_V_I area, initial values of vertex-related parameters are stored. V in FIG. 3 is the same as the coordinate value stored in the V [] area in FIG. QEM is a QEM for a vertex whose coordinate value is indicated by V, and is calculated by equation (4). They are stored for each L_V_I [] area (vertex) which is a sub-area. Hereinafter, a vertex whose coordinate value is represented by V is referred to as a vertex V. Others use the same notation.

L_E_Iエリアには、稜線関係のパラメータの初期値が格納される。図3中のV1、V2は稜線の両端に位置する頂点の座標値を示し、QEMは稜線のQEM、VMは稜線を縮退した場合にQEDを最小にする頂点の座標値、QEDは頂点VMに対応する最小のQEDをそれぞれ示している。それらがサブエリアであるL_E_I[]エリア(稜線)毎に格納される。QEMの値は頂点V1、V2のQEMの値を加算して得られる和である。   The L_E_I area stores initial values of ridge line related parameters. In FIG. 3, V1 and V2 indicate the coordinate values of the vertices located at both ends of the ridge line, QEM indicates the QEM of the ridge line, VM indicates the coordinate value of the vertex that minimizes QED when the ridge line is degenerated, and QED indicates the vertex VM. Each corresponding minimum QED is shown. They are stored for each L_E_I [] area (ridgeline) which is a sub-area. The QEM value is a sum obtained by adding the QEM values of the vertices V1 and V2.

L_Vエリアには、V、QEM、Nで示す頂点関係のパラメータがL_V[]エリア毎に格納される。V、QEMは、L_V_Iエリアに格納されたものと同様である。Nは、頂点Vに対する輪郭係数である。   In the L_V area, vertex-related parameters indicated by V, QEM, and N are stored for each L_V [] area. V and QEM are the same as those stored in the L_V_I area. N is a contour coefficient for the vertex V.

その輪郭係数Nの値は、図11に示すように、輪郭上の頂点である輪郭頂点のなかで頂点Vに最も近いものとの距離に応じて決定している。輪郭頂点ではその最大値Nmaxを割り当て、それから十分、離れた輪郭頂点でない頂点には1を割り当てるようにしている。輪郭頂点に比較的に近い距離内では、単位距離当たりの変化分を抑えることにより、輪郭係数Nとして大きい値を割り当てられるようにしている。これは、輪郭、及びその近傍における稜線縮退操作の実行を抑えるためである。図11に示すように輪郭係数Nを決定するために、距離と輪郭係数Nの関係を定義したテーブル(輪郭係数変換テーブル)を例えば制御用データとしてROM2に用意している。ここでの距離とは、空間上の2点間の距離ではなく、ポリゴンの表面上を辿る最短距離である。   As shown in FIG. 11, the value of the contour coefficient N is determined according to the distance from the contour vertex that is the vertex on the contour and the one closest to the vertex V. The maximum value Nmax is assigned to the contour vertex, and then 1 is assigned to a vertex that is not sufficiently away from the contour vertex. Within a distance relatively close to the contour vertex, a large value is assigned as the contour coefficient N by suppressing the change per unit distance. This is to suppress the execution of the edge degeneration operation in the contour and its vicinity. As shown in FIG. 11, in order to determine the contour coefficient N, a table (contour coefficient conversion table) defining the relationship between the distance and the contour coefficient N is prepared in the ROM 2 as control data, for example. The distance here is not the distance between two points in space, but the shortest distance to follow on the surface of the polygon.

L_Eエリアには、V1、V2、QEM、VM、QED、N、及びEで示す稜線関係のパラメータがL_E[]エリア毎に格納される。それらのなかで、V1、V2、QEM、VM、及びQEDは、L_E_Iエリアに格納されたものと同様である。Nは、頂点V1、V2に対する輪郭係数、具体的には例えばそれらの値の平均値、或いはそれらのなかの最大値である。Eは、評価値であり、本実施の形態ではQEDにNを掛けた値を採用している。そのような値を評価値Eとして採用することにより、輪郭、及びその近傍における稜線縮退操作の実行を抑え、輪郭形状を優先して保存できるようにさせている。   In the L_E area, ridge line-related parameters indicated by V1, V2, QEM, VM, QED, N, and E are stored for each L_E [] area. Among them, V1, V2, QEM, VM, and QED are the same as those stored in the L_E_I area. N is a contour coefficient for the vertices V1 and V2, specifically, for example, an average value of these values, or a maximum value among them. E is an evaluation value, and in this embodiment, a value obtained by multiplying QED by N is adopted. By adopting such a value as the evaluation value E, it is possible to suppress the execution of the edge and the ridgeline shrinking operation in the vicinity thereof, and to save the contour shape with priority.

L_OLVエリアは、輪郭頂点Vの座標値を格納するエリアである。
L_Hエリアは、実行した稜線縮退操作の内容を示す履歴データ保存用のエリアである。サブエリアであるL_H[]エリアには、その履歴データとして、V1、QEM1、V2、QEM2、及びVが格納される。V1、V2は縮退させた稜線の両端に位置する頂点の座標値、QEM1、QEM2はその頂点のQEM、Vは縮退後の頂点の座標値、をそれぞれ示している。
The L_OLV area is an area for storing the coordinate value of the contour vertex V.
The L_H area is an area for storing history data indicating the contents of the executed ridgeline reduction operation. In the L_H [] area, which is a sub area, V1, QEM1, V2, QEM2, and V are stored as history data. V1 and V2 indicate the coordinate values of the vertices located at both ends of the contracted ridgeline, QEM1 and QEM2 indicate the QEM of the vertex, and V indicates the coordinate value of the vertex after the contraction, respectively.

L_H[]エリアの頂点Vの座標値は、L_E[]エリアに頂点V1、及びV2の一方の座標値として格納されている。L_H[]エリアの頂点V1、V2をその頂点Vにまとめることで消滅したポリゴンは、頂点V1、V2、及びその頂点Vと稜線で結ばれた頂点を組み合わせとしたものである(図14参照)。このようなことから、上記履歴データを保存しておくことにより、縮退させた稜線を復元することができる。   The coordinate value of the vertex V in the L_H [] area is stored as one coordinate value of the vertexes V1 and V2 in the L_E [] area. The polygon disappeared by combining the vertices V1 and V2 of the L_H [] area into the vertex V is a combination of the vertices V1 and V2 and the vertex connected to the vertex V by the edge line (see FIG. 14). . For this reason, the degenerated ridgeline can be restored by storing the history data.

ユーザが姿勢のみを変更した場合、距離は変更されていないことから、ポリゴン数を変化させない形で近似ポリゴンモデルを生成する必要がある。L_Sエリアは、そのように近似ポリゴンモデルを生成するために利用されるエリアである。そのサブエリアであるL_S[]エリアには、L_Hエリアに格納された頂点V、QEDの中から、必要なものが選択されて格納される。   When the user changes only the posture, since the distance is not changed, it is necessary to generate an approximate polygon model without changing the number of polygons. The L_S area is an area that is used to generate an approximate polygon model. In the L_S [] area which is the sub area, necessary ones are selected from the vertices V and QED stored in the L_H area and stored.

次に、図4〜図8に示す各処理のフローチャートを参照して、ポリゴンモデルの簡略化を行い画像を表示部5に表示させる画像描画装置の動作について詳細に説明する。なお、図4〜図8に示す各処理は、例えばCPU1がROM2に格納されたプログラムを実行することで実現される。   Next, the operation of the image drawing apparatus that simplifies the polygon model and displays the image on the display unit 5 will be described in detail with reference to the flowcharts of the processes shown in FIGS. Each process illustrated in FIGS. 4 to 8 is realized by, for example, the CPU 1 executing a program stored in the ROM 2.

図4は、全体処理のフローチャートである。その全体処理は、電源をオンさせた後に実行する全体的な処理の流れを示したものである。始めに図4を参照して、全体処理について詳細に説明する。   FIG. 4 is a flowchart of the entire process. The overall process shows the flow of the overall process executed after the power is turned on. First, the overall process will be described in detail with reference to FIG.

先ず、ステップSA1では、変数Mに初期値M0を代入する。続くステップSA2では、変数Mに代入された値がモデル番号として割り当てられたポリゴンモデルを画像描画用に選択するモデル選択処理を実行する。その後は、ステップSA3でその他初期処理を実行してからステップSA4に移行する。その他初期処理を実行することにより、画像描画装置は予め定めた状態に初期設定される。   First, in step SA1, the initial value M0 is substituted for the variable M. In the subsequent step SA2, a model selection process for selecting a polygon model assigned with the value assigned to the variable M as a model number for image drawing is executed. Thereafter, after other initial processing is executed in step SA3, the process proceeds to step SA4. By performing other initial processing, the image drawing apparatus is initialized to a predetermined state.

ステップSA4では、モデル選択が行われたか否か判定する。ユーザがスイッチ部4を操作してモデルを指定した場合、その操作内容がCPU1に通知されることから、判定はYESとなってステップSA5に移行し、そうでない場合には、判定はNOとなってステップSA7に移行する。   In step SA4, it is determined whether model selection has been performed. When the user operates the switch unit 4 to specify a model, the operation content is notified to the CPU 1, so the determination is YES and the process proceeds to step SA5. Otherwise, the determination is NO. To step SA7.

ステップSA5では、ユーザが指定したポリゴンモデルに対応する値を変数Mに代入する。次のステップSA6では、そのモデルで画像を描画するためにモデル選択処理を実行する。その後に移行するステップSA7では、視点と物体間の距離が入力されたか否か判定する。その入力のための操作をスイッチ部4に対してユーザが行った場合、判定はYESとなってステップSA8に移行し、そうでない場合には、判定はNOとなってステップSA10に移行する。   In step SA5, a value corresponding to the polygon model designated by the user is substituted into the variable M. In the next step SA6, model selection processing is executed to draw an image with the model. In step SA7 which moves to after that, it is determined whether the distance between a viewpoint and an object was input. If the user performs an operation for the input on the switch unit 4, the determination is yes and the process proceeds to step SA8, and if not, the determination is no and the process proceeds to step SA10.

ステップSA8では、ユーザが入力した距離を変数Lに代入する。続くステップSA9では、その距離に応じた詳細度で物体(の画像)を描画するための距離修正処理を実行する。その次のステップSA10では、姿勢が入力されたか否か判定する。その入力のための操作をスイッチ部4に対してユーザが行った場合、判定はYESとなってステップSA11に移行し、そうでない場合には、判定はNOとなってステップSA13に移行する。   In step SA8, the distance input by the user is substituted into variable L. In the subsequent step SA9, a distance correction process for drawing an object (image thereof) with a degree of detail corresponding to the distance is executed. In the next step SA10, it is determined whether or not a posture has been input. If the user performs an operation for the input on the switch unit 4, the determination is yes and the process proceeds to step SA11. If not, the determination is no and the process proceeds to step SA13.

ステップSA11では、ユーザが入力した姿勢を示す値を変数Sに代入する。次のステップSA12では、その姿勢で物体(の画像)を描画するための姿勢修正処理を実行する。その後は、ステップSA13で物体の描画をその時点で対象となるポリゴンモデルで行う描画処理を実行し、更にステップSA14でそれ以外のユーザの要求などに対応するためのその他処理を実行した後、上記ステップSA4に戻る。その描画処理を実行することにより、表示部5の画面上にポリゴンモデルで表現された物体の画像が表示されることとなる。   In step SA11, a value indicating the posture input by the user is substituted into the variable S. In the next step SA12, posture correction processing for drawing an object (image thereof) with the posture is executed. After that, in step SA13, the drawing process of drawing the object with the target polygon model is executed, and in step SA14, other processes for responding to other user requests are executed. The process returns to step SA4. By executing the drawing process, an image of the object represented by the polygon model is displayed on the screen of the display unit 5.

上記全体処理を実行することにより、ユーザは所望のポリゴンモデルでの物体の描画を、距離により指定する大きさ(詳細度)、姿勢により指定する方向で行わせることができることとなる。以降は、その全体処理内で実行されるサブルーチン処理について詳細に説明する。   By executing the entire process, the user can draw an object with a desired polygon model in a direction (detail level) designated by a distance and a direction designated by a posture. Hereinafter, subroutine processing executed in the entire processing will be described in detail.

図5は、上記ステップSA2、或いはSA6として実行されるモデル選択処理のフローチャートである。全体処理内で実行されるサブルーチン処理では、始めに図5を参照して、その選択処理について詳細に説明する。   FIG. 5 is a flowchart of the model selection process executed as step SA2 or SA6. In the subroutine process executed in the overall process, the selection process will be described in detail with reference to FIG.

先ず、ステップSB1では、外部記憶装置6に格納されたポリゴンモデルのなかからモデル番号が変数Mの値と一致するポリゴンモデルを選択し、距離データ初期値LIを変数L、姿勢データ初期値SIを変数S、ポリゴン数NFを変数K、変数Kの値を変数KMAXにそれぞれ代入し、RAM3には図3に示すエリアをそれぞれ確保する。続くステップSB2では、V[]エリア(図2参照)に格納されたXYZの座標値をL_V_I[]エリアの頂点Vの座標値として全てコピーし、頂点V毎に、(4)式を用いて、その頂点Vに隣接する全てのポリゴン分に対して和を取ったQEMを計算して格納する。ステップSB3にはその後に移行する。   First, in step SB1, a polygon model whose model number matches the value of the variable M is selected from the polygon models stored in the external storage device 6, the distance data initial value LI is set as the variable L, and the posture data initial value SI is set as the polygon model. The variable S, the number of polygons NF are substituted for the variable K, and the value of the variable K is substituted for the variable KMAX, and the areas shown in FIG. In the subsequent step SB2, all the coordinate values of XYZ stored in the V [] area (see FIG. 2) are copied as the coordinate values of the vertices V of the L_V_I [] area, and for each vertex V, the expression (4) is used. The QEM obtained by calculating the sum of all polygons adjacent to the vertex V is calculated and stored. Then, the process proceeds to step SB3.

ステップSB3では、Fエリア(図2参照)に格納された、ポリゴンを構成する頂点の組み合わせを参照して、稜線の両端に位置する頂点V1、V2を全て特定し、その頂点V1、V2の座標値をL_E_I[]エリアにそれぞれ格納する。QEMとしては頂点V1、V2のQEMの和、縮退後の頂点VMの座標値としては(9)式により計算したQEDが最小となる座標値、QEDとしては(8)式により計算した最小値、をそれぞれ各L_E_I[]エリアに格納する。それらの格納が終了した後は、QEDの値に着目して例えばL_E_I[]エリアに格納したデータを降順にソートする。   In step SB3, with reference to the combination of vertices constituting the polygon stored in the F area (see FIG. 2), all the vertices V1 and V2 located at both ends of the ridge line are specified, and the coordinates of the vertices V1 and V2 are specified. Each value is stored in the L_E_I [] area. QEM is the sum of QEMs of vertices V1 and V2, the coordinate value of vertex VM after degeneration is the coordinate value that minimizes QED calculated by equation (9), and QED is the minimum value calculated by equation (8). Are stored in each L_E_I [] area. After those storages are completed, focusing on the value of QED, for example, the data stored in the L_E_I [] area is sorted in descending order.

ステップSB3に続くステップSB4では、各L_V_I[]エリアの頂点Vの座標値、QEMを各L_V[]エリアにそれぞれコピーし、各L_E_I[]エリアの頂点V1、V2の各座標値、QEM、頂点VMの座標値、QEDを各L_E[]エリアにそれぞれコピーする。その後はステップSB5に移行して、ポリゴンモデルで表現された物体の輪郭を変数Sの値で指定される視点(方向)で検出する輪郭検出処理を実行してから一連の処理を終了する。   In step SB4 following step SB3, the coordinate value and QEM of the vertex V of each L_V_I [] area are copied to each L_V [] area, respectively, and the coordinate value, QEM and vertex of the vertices V1 and V2 of each L_E_I [] area are respectively copied. The VM coordinate value and QED are copied to each L_E [] area. Thereafter, the process proceeds to step SB5, where the contour detection process for detecting the contour of the object represented by the polygon model at the viewpoint (direction) designated by the value of the variable S is executed, and then the series of processes is terminated.

次にその輪郭検出処理について、図6に示すそのフローチャートを参照して詳細に説明する。
先ず、ステップSC1では、変数Sの値で指定される視点から物体を見た場合の輪郭、つまり輪郭頂点を検出する。その検出は、以下のようにして行う。図10を参照して具体的に説明する。
Next, the contour detection process will be described in detail with reference to the flowchart shown in FIG.
First, in step SC1, a contour when the object is viewed from the viewpoint specified by the value of the variable S, that is, a contour vertex is detected. The detection is performed as follows. This will be specifically described with reference to FIG.

輪郭を検出する場合、図10(a)に示すような隣接する2つのポリゴンを抽出する。その図10(a)において、ポリゴンf1は頂点V1、V2、V3から構成され、ポリゴンf2は頂点V1、V4、V2から構成されている。   When detecting an outline, two adjacent polygons as shown in FIG. 10A are extracted. In FIG. 10A, the polygon f1 is composed of vertices V1, V2, and V3, and the polygon f2 is composed of vertices V1, V4, and V2.

図10(b)、(c)に示すスクリーンは、視点から見る視線方向と直交する仮想的な面である。V1’〜V4’は、各頂点V1〜4をその方向でスクリーンに投影した場合の点である。   The screens shown in FIGS. 10B and 10C are virtual surfaces orthogonal to the viewing direction seen from the viewpoint. V1 'to V4' are points when the vertices V1 to V4 are projected onto the screen in that direction.

図10(a)に示すポリゴンf1、f2は、頂点V1、V2を結ぶ稜線で接している。輪郭は、視点から見える部分の境界である。このため、視点からポリゴンf1、f2の一方のみが見える場合、つまり頂点V1、V2が輪郭頂点であった場合、接していない頂点V3、V4のスクリーンに投影した点V3’、V4’は、図10(b)に示すように、点V1’、V2’を通る直線で区切った2つの領域のうちの一方に共に存在することになる。逆に、視点からポリゴンf1、f2の両方が見える場合には、つまり頂点V1、V2が輪郭頂点でなかった場合には、接していない頂点V3、V4のスクリーンに投影した点V3’、V4’は、図10(c)に示すように、点V1’、V2’を通る直線で区切った2つの領域のうちで存在する領域が異なることになる。   The polygons f1 and f2 shown in FIG. 10A are in contact with each other at the ridgeline connecting the vertices V1 and V2. The contour is the boundary of the part visible from the viewpoint. Therefore, when only one of the polygons f1 and f2 is visible from the viewpoint, that is, when the vertices V1 and V2 are contour vertices, the points V3 ′ and V4 ′ projected on the screen of the non-contact vertices V3 and V4 are As shown in FIG. 10 (b), both exist in one of the two regions separated by a straight line passing through the points V1 ′ and V2 ′. Conversely, when both polygons f1 and f2 are visible from the viewpoint, that is, when the vertices V1 and V2 are not contour vertices, the points V3 ′ and V4 ′ projected on the screen of the non-contact vertices V3 and V4 As shown in FIG. 10 (c), the existing areas are different among the two areas separated by the straight lines passing through the points V1 ′ and V2 ′.

上記ステップSC1では、上述したようにして頂点単位で頂点が輪郭頂点か否かの確認を行い、輪郭頂点を抽出する。そのようにして抽出した輪郭頂点の座標値がL_OLV[]エリアにそれぞれ格納される。   In step SC1, whether or not the vertex is a contour vertex is confirmed for each vertex as described above, and the contour vertex is extracted. The coordinate values of the contour vertices thus extracted are stored in the L_OLV [] area.

そのステップSC1に続くステップSC2では、L_OLV[]エリアに格納された座標値、及び上記輪郭係数変換テーブル(図11参照)を参照して、頂点毎に輪郭係数Nを算出し、L_V[]エリアには算出した係数N、L_E[]エリアには2つの頂点でそれぞれ算出した係数Nの平均値をそれぞれ格納する。次に移行するステップSC3では、L_E[]エリアの評価値Eとして、輪郭係数NにQEDを掛けた値を算出し格納する。各エリアに評価値Eを格納し、更に評価値Eに着目して例えばL_E[]エリアに格納したデータを昇順にソートした後、一連の処理を終了する。   In step SC2 following step SC1, the contour value N is calculated for each vertex with reference to the coordinate values stored in the L_OLV [] area and the contour coefficient conversion table (see FIG. 11), and the L_V [] area. The calculated coefficient N and the L_E [] area store the average values of the coefficients N calculated at the two vertices, respectively. In the next step SC3, a value obtained by multiplying the contour coefficient N by QED is calculated and stored as the evaluation value E of the L_E [] area. The evaluation value E is stored in each area, and the data stored in the L_E [] area, for example, is sorted in ascending order while paying attention to the evaluation value E, and then the series of processing ends.

輪郭係数N、評価値Eは、ユーザが姿勢を変更させる度に更新される。それにより、近似ポリゴンモデルの生成は、検出した輪郭の保存を優先して行われることとなる。
図7は、図4に示す全体処理内でステップSA9として実行される距離修正処理のフローチャートである。次に図7を参照して、その修正処理について詳細に説明する。
The contour coefficient N and the evaluation value E are updated every time the user changes the posture. As a result, the generation of the approximate polygon model is performed with priority given to storing the detected contour.
FIG. 7 is a flowchart of distance correction processing executed as step SA9 in the overall processing shown in FIG. Next, the correction process will be described in detail with reference to FIG.

先ず、ステップSD1では、変数Lの値が示す距離、視点、視線方向から画面上に描画する物体の見かけの大きさを求め、その大きさからポリゴンモデルで目標とするポリゴン数K1を決定する。続くステップSD2では、目標ポリゴン数K1が変数KMAXの値より大きいか、またはそのポリゴン数K1が変数Kの値と等しいか否か判定する。目標ポリゴン数K1が変数KMAXの値より大きいことは、オリジナルのポリゴンモデルに対する簡略化を行う必要がないことを意味する。ポリゴン数K1が変数Kの値と等しいということは、現在、物体の描画に用いているポリゴンモデルをそのまま用いることができるということを意味する。このようなことから、何れにしても近似ポリゴンモデルを新たに生成する必要がない場合、判定はYESとなり、ここで一連の処理を終了する。そうでない場合には、判定はNOとなってステップSD3に移行する。   First, in step SD1, the apparent size of the object to be drawn on the screen is obtained from the distance, viewpoint, and line-of-sight direction indicated by the value of the variable L, and the target polygon number K1 is determined from the size. In the subsequent step SD2, it is determined whether the target polygon number K1 is greater than the value of the variable KMAX or whether the polygon number K1 is equal to the value of the variable K. If the target polygon number K1 is larger than the value of the variable KMAX, it means that it is not necessary to simplify the original polygon model. The fact that the number of polygons K1 is equal to the value of the variable K means that the polygon model currently used for drawing an object can be used as it is. For this reason, if it is not necessary to generate a new approximate polygon model anyway, the determination is YES, and the series of processing ends here. Otherwise, the determination is no and the process moves to step SD3.

ステップSD3では、目標ポリゴン数K1が変数Kの値より大きいか否か判定する。変数Kには、現在、物体の描画に用いているポリゴンモデルのポリゴン数が代入されている。このことから、そのポリゴンモデルよりもポリゴン数の多いポリゴンモデルが必要な場合、判定はYESとなってステップSD4に移行し、そうでない場合には、判定はNOとなってステップSD6に移行する。   In step SD3, it is determined whether or not the target polygon number K1 is larger than the value of the variable K. The variable K is assigned the number of polygons of the polygon model currently used for drawing the object. Therefore, if a polygon model having more polygons than the polygon model is required, the determination is yes and the process proceeds to step SD4, and if not, the determination is no and the process proceeds to step SD6.

ステップSD4では、図5に示すステップSB4と同様に、各L_V_I[]エリアのデータを各L_V[]エリアにそれぞれコピーし、各L_E_I[]エリアのデータを各L_E[]エリアにそれぞれコピーする。その後はステップSD5で輪郭検出処理を実行してからステップSD6に移行する。   In step SD4, as in step SB4 shown in FIG. 5, the data in each L_V_I [] area is copied to each L_V [] area, and the data in each L_E_I [] area is copied to each L_E [] area. Thereafter, the contour detection process is executed in step SD5, and then the process proceeds to step SD6.

ステップSD6では、変数Kの値が目標ポリゴン数K1より大きいか否か、つまりポリゴンモデルの簡略化が終了していないか否か判定する。その簡略化が終了した場合、判定はNOとなり、ここで一連の処理を終了する。そうでない場合には、判定はYESとなってステップSD7に移行する。   In step SD6, it is determined whether or not the value of the variable K is larger than the target polygon number K1, that is, whether or not the simplification of the polygon model has been completed. When the simplification is completed, the determination is no, and the series of processes is terminated here. Otherwise, the determination is yes and the process moves to step SD7.

ステップSD7では、L_Eエリアのなかで評価値Eが最小となっている稜線を縮退させ、縮退稜線周辺の頂点、稜線のパラメータを再計算し、それらパラメータを更新する。具体的には、L_Vエリアでは消失させた2頂点に対応するL_V[]エリア内のパラメータを消去し、その2頂点をまとめた1頂点のパラメータとしてその座標値、及びQEMをL_V[]エリアに新たに格納する。L_Eエリアでは、縮退させた稜線に対応するL_E[]エリア内のパラメータを消去し、その縮退によって両端の頂点V1、V2のうちの何れかを変更すべき稜線では、図5に示すステップSB3と同様に、頂点V1、V2の座標値、QEM、縮退後の頂点VMの座標値、QEDを更新する。L_Hエリアでは、L_H[]エリアを確保して、消失させた2頂点の座標値、各QEM、生成した1頂点の座標値を格納する。   In step SD7, the ridgeline having the smallest evaluation value E in the L_E area is shrunk, the vertices and ridgeline parameters around the shrunken ridgeline are recalculated, and these parameters are updated. Specifically, in the L_V area, the parameters in the L_V [] area corresponding to the disappeared two vertices are deleted, and the coordinate values and the QEM are set in the L_V [] area as parameters of one vertex obtained by combining the two vertices. Store new. In the L_E area, the parameters in the L_E [] area corresponding to the contracted ridge line are erased, and for the ridge line to which one of the vertices V1 and V2 at both ends is to be changed by the contraction, step SB3 shown in FIG. Similarly, the coordinate values of the vertices V1 and V2, QEM, the coordinate value of the degenerated vertex VM, and QED are updated. In the L_H area, the L_H [] area is secured, and the coordinate values of the disappeared two vertices, each QEM, and the generated coordinate value of one vertex are stored.

ステップSD7に続くステップSD8では、図6に示すステップSC2と同様に、稜線縮退周辺で輪郭係数Nを算出してL_V[]エリア、L_E[]エリアに格納し、L_E[]エリアでは、その係数NにQEDを掛けて評価値Eを更に算出して格納する。評価値Eに着目したL_Eエリア内のソートをその後に行ってからステップSD9に移行し、変数Kにそれまでの値から2を引いた値を代入する。その代入を行った後に上記ステップSD6に戻る。   In step SD8 following step SD7, as in step SC2 shown in FIG. 6, the contour coefficient N is calculated around the edge degeneration and stored in the L_V [] area and L_E [] area. In the L_E [] area, the coefficient is calculated. An evaluation value E is further calculated by multiplying N by QED and stored. After the sorting in the L_E area focusing on the evaluation value E, the process proceeds to step SD9, and a value obtained by subtracting 2 from the previous value is substituted for the variable K. After the substitution, the process returns to step SD6.

このように、縮退させる稜線は評価値Eが最小のものから順に選択している。その評価値Eは輪郭係数NにQEDを掛けて算出したものである。このため、評価値Eが最小のものから順に縮退させる稜線を選択することにより、輪郭を保存する形で簡略化が行われることとなる。   In this way, the ridge lines to be degenerated are selected in order from the smallest evaluation value E. The evaluation value E is calculated by multiplying the contour coefficient N by QED. For this reason, simplification is performed in the form of preserving the contour by selecting the ridge lines to be degenerated in order from the smallest evaluation value E.

図8は、図4に示す全体処理内でステップSA12として実行される姿勢修正処理のフローチャートである。最後に図8を参照して、その修正処理について詳細に説明する。
先ず、ステップSE1では、図6に示す輪郭検出処理を実行する。次のステップSE2では、L_Vエリア内で輪郭係数Nが閾値Nt以上、且つその座標値がL_Hエリアに縮退後の頂点の座標値として格納されている頂点を抽出し、その座標値、及び(5)式を用いて算出したQEDをL_Sエリアに格納し、QEDに着目して降順にソートする。
FIG. 8 is a flowchart of the posture correction process executed as step SA12 in the overall process shown in FIG. Finally, the correction process will be described in detail with reference to FIG.
First, in step SE1, the contour detection process shown in FIG. 6 is executed. In the next step SE2, a vertex whose contour coefficient N is equal to or greater than the threshold value Nt in the L_V area and whose coordinate value is stored as the coordinate value of the vertex after degeneration in the L_H area is extracted, and the coordinate value and (5 ) QED calculated using the equation is stored in the L_S area, and is sorted in descending order focusing on QED.

その次に移行するステップSE3では、変数QED1にL_Sエリア内でQEDの最大値を代入する。続くステップSE4では、変数QED1の値が閾値QEDtより大きいか否か判定する。変数QED1の値が閾値QEDtより大きい場合、判定はYESとなってステップSE5に移行する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。   In the next step SE3, the maximum value of QED in the L_S area is substituted for variable QED1. In the following step SE4, it is determined whether or not the value of the variable QED1 is larger than the threshold value QEDt. If the value of the variable QED1 is greater than the threshold value QEDt, the determination is yes and the process moves to step SE5. Otherwise, the determination is no and the series of processing ends here.

ステップSE5では、変数QED1にQEDを代入した頂点Vを2つの頂点に分割し、その周辺の頂点、稜線のパラメータを再計算し、それらパラメータを更新する。具体的には、L_Vエリアではその頂点Vに対応するL_V[]エリア内のパラメータを消去し、L_Hエリア内のその頂点Vに対応する履歴データをコピーして、分割した2頂点のパラメータとして頂点の座標値、QEMをL_V[]エリアに新たに格納する。頂点分割により稜線は3つ増加する(図14参照)。このことから、L_Eエリアでは、L_E[]エリアを3つ確保して、それぞれ稜線のパラメータを格納する。   In step SE5, the vertex V obtained by assigning QED to the variable QED1 is divided into two vertices, the parameters of the vertices and ridgelines around the vertex are recalculated, and the parameters are updated. Specifically, in the L_V area, the parameter in the L_V [] area corresponding to the vertex V is deleted, the history data corresponding to the vertex V in the L_H area is copied, and the vertex is used as the parameter of the divided two vertices. Are newly stored in the L_V [] area. The ridgeline is increased by three by the vertex division (see FIG. 14). For this reason, in the L_E area, three L_E [] areas are secured and the parameters of the ridge line are stored respectively.

そのうちの一つは分割した2頂点が両端に位置する稜線である。その稜線のパラメータとしては、頂点V1、V2、VMの各座標値は履歴データからコピーして格納する。QEMとしては、QEM1とQEM2の和を格納する。QEDはQEM及び頂点VMの座標値を用いて計算する。残り2つの稜線、及び頂点分割が影響する稜線では、頂点V1、V2の一方が分割した2頂点のうちの何れかとなる。このことから、その何れかの頂点の座標値、QEMを履歴データから取得し、その座標値は頂点V1、V2の一方として格納する。QEMは、取得したものに、他方の頂点のQEMを加算して求める。縮退後の頂点VMの座標値、QEDも新たに求める。L_Hエリアでは、頂点を分割した頂点に対応する履歴データを消去する。   One of them is a ridge line where two divided vertices are located at both ends. As the parameters of the ridgeline, the coordinate values of the vertices V1, V2, and VM are copied from the history data and stored. As the QEM, the sum of QEM1 and QEM2 is stored. QED is calculated using the coordinate values of QEM and vertex VM. In the remaining two ridge lines and the ridge line affected by the vertex division, one of the vertices V1 and V2 is one of the two vertices divided. From this, the coordinate value and QEM of any one of the vertices are acquired from the history data, and the coordinate value is stored as one of the vertices V1 and V2. The QEM is obtained by adding the QEM of the other vertex to the acquired one. The coordinate value and QED of the vertex VM after degeneration are also newly obtained. In the L_H area, history data corresponding to the vertex obtained by dividing the vertex is deleted.

上述したような更新を行った後に移行するステップSE6では、分割した頂点の座標値、QEDをL_Sエリアから消去し、QEDについてソートする。次のステップSE7では、分割頂点周辺で、図7のステップSD8と同様に、輪郭係数Nを算出してL_V[]エリア、L_E[]エリアに格納し、L_E[]エリアでは、その係数NにQEDを掛けて評価値Eを更に算出して格納し、評価値Eに着目したL_Eエリア内のソートを行う。その後にステップSE8に移行する。   In step SE6 to which the process proceeds after updating as described above, the coordinate values and QED of the divided vertices are deleted from the L_S area, and the QEDs are sorted. In the next step SE7, the contour coefficient N is calculated and stored in the L_V [] area and the L_E [] area around the divided vertex as in the step SD8 of FIG. 7, and in the L_E [] area, the coefficient N is set. The evaluation value E is further calculated by QED and stored, and the L_E area focusing on the evaluation value E is sorted. Thereafter, the process proceeds to step SE8.

ステップSE8では、図7のステップSD7と同様に、L_Eエリアのなかで評価値Eが最小となっている稜線を縮退させ、縮退稜線周辺の頂点、稜線のパラメータを再計算し、それらパラメータを更新する。続くステップSE9では、図7に示すステップSD8と同様に、稜線縮退周辺で輪郭係数Nを算出してL_V[]エリア、L_E[]エリアに格納し、L_E[]エリアでは、その係数NにQEDを掛けて評価値Eを更に算出して格納し、評価値Eに着目したL_Eエリア内のソートを行う。その後に上記ステップSE3に戻る。   In step SE8, as in step SD7 of FIG. 7, the ridgeline having the smallest evaluation value E in the L_E area is degenerated, the parameters of the vertices and ridgelines around the degenerated ridgeline are recalculated, and the parameters are updated. To do. In the subsequent step SE9, as in step SD8 shown in FIG. 7, the contour coefficient N is calculated around the edge reduction and stored in the L_V [] area and L_E [] area, and in the L_E [] area, the coefficient N is QED. The evaluation value E is further calculated and stored, and the L_E area focusing on the evaluation value E is sorted. Thereafter, the process returns to step SE3.

このように、本実施の形態では、姿勢を変更する場合、閾値QEDtより大きいQEDを持つ頂点の分割が終了するまで、その分割と併せて評価値Eが最小の稜線を対象とした縮退を行うようにしている。それにより、ポリゴン数を維持しつつ、姿勢の変更に応じた近似ポリゴンモデルの生成を行うようにしている。   As described above, in the present embodiment, when the posture is changed, until the division of the vertex having the QED larger than the threshold value QEDt is completed, the degeneration is performed on the edge line having the smallest evaluation value E together with the division. I am doing so. As a result, an approximate polygon model is generated in accordance with the posture change while maintaining the number of polygons.

姿勢を変更させた物体描画用の近似ポリゴンモデルを元のポリゴンモデルの簡略化により生成する場合、その生成に要する処理時間は詳細度が低くなるほど長くなる。しかし、その近似ポリゴンモデルを、分割すべき頂点の分割、及び縮退させるべき稜線の縮退により生成するようにした場合には、全体的に行うべき操作の数をより抑えられるようになる。このため、詳細度に係わらず、必要な近似ポリゴンモデルを常に高速に生成できることとなる。   When the approximate polygon model for object drawing with the posture changed is generated by simplifying the original polygon model, the processing time required for the generation becomes longer as the level of detail becomes lower. However, when the approximate polygon model is generated by dividing the vertices to be divided and the ridge lines to be reduced, the number of operations to be performed as a whole can be further suppressed. Therefore, the necessary approximate polygon model can always be generated at high speed regardless of the level of detail.

なお、本実施の形態では、閾値QEDtは予め設定した値としているが、適切な閾値QEDtはポリゴンモデルや詳細度などによって異なると思われることから、算出されるQEDを参照して自動的に設定するようにしても良い。また、姿勢の変更に伴い物体の見かけ上の大きさが比較的に大きく変化することもあることから、姿勢のみをユーザが変更した場合にも目標ポリゴン数K1を求め、そのポリゴン数K1の近似ポリゴンモデルを必要に応じて生成するようにしても良い。   In this embodiment, the threshold value QEDt is set in advance. However, since the appropriate threshold value QEDt seems to vary depending on the polygon model and the level of detail, it is automatically set with reference to the calculated QED. You may make it do. Further, since the apparent size of the object may change relatively with the change in posture, the target polygon number K1 is obtained even when the user changes only the posture, and an approximation of the polygon number K1 is obtained. You may make it produce | generate a polygon model as needed.

頂点を分割すべき度合いと稜線を縮退させるべき度合いに比較的に大きな差が生じることも考えられる。このことから、姿勢の変更に応じた近似ポリゴンモデルの生成を行う場合には、それらの度合いを考慮して、一方の操作をより多く行うようにしても良い。そのようにすると、全体的な誤差をより低減させることができることから、より適切な近似ポリゴンモデルを生成できるようになる。   It is also conceivable that there is a relatively large difference between the degree to which the vertices should be divided and the degree to which the edge lines should be degenerated. For this reason, when generating an approximate polygon model in accordance with a change in posture, one operation may be performed more in consideration of the degree thereof. By doing so, since the overall error can be further reduced, a more appropriate approximate polygon model can be generated.

保存する輪郭としては、物体の外形を表すものを想定しているが、輪郭には、模様といったように表面の表現が異なることで生じるものがある。このことから、例えば輪郭を重要度に応じて複数の階層に分類し、輪郭を階層別に異なる輪郭係数で優先して保存させるようにしても良い。   The contour to be stored is assumed to represent the outer shape of the object, but there are contours that occur due to different surface representations such as patterns. For this reason, for example, the contours may be classified into a plurality of hierarchies according to importance, and the contours may be preferentially stored with different contour coefficients for each layer.

上述したような画像描画装置(画像処理装置)、或いはその変形例を実現させるようなプログラムは、CD−ROM、DVD、或いは着脱自在なフラッシュメモリ等の記録媒体に記録させて配布しても良い。通信ネットワークを介して、そのプログラムの一部、若しくは全部を配信するようにしても良い。そのようにした場合には、ユーザーはプログラムを取得してデータ処理装置にロードすることによって本発明を適用させることができるようになる。このことから、記録媒体は、プログラムを配信する装置がアクセスできるものであっても良い。   The image drawing apparatus (image processing apparatus) as described above, or a program that realizes a modification example thereof may be recorded and distributed on a recording medium such as a CD-ROM, a DVD, or a removable flash memory. . Part or all of the program may be distributed via a communication network. In such a case, the user can apply the present invention by acquiring the program and loading it into the data processing apparatus. Therefore, the recording medium may be accessible by a device that distributes the program.

本実施の形態による画像描画装置の構成図である。It is a block diagram of the image drawing apparatus by this Embodiment. ポリゴンモデルデータの構成を説明する図である。It is a figure explaining the structure of polygon model data. ポリゴンモデルデータによる物体の描画用にRAMに確保されるエリアを説明する図である。It is a figure explaining the area ensured in RAM for drawing of the object by polygon model data. 全体処理のフローチャートである。It is a flowchart of the whole process. モデル選択処理のフローチャートである。It is a flowchart of a model selection process. 輪郭検出処理のフローチャートである。It is a flowchart of an outline detection process. 距離修正処理のフローチャートである。It is a flowchart of a distance correction process. 姿勢修正処理のフローチャートである。It is a flowchart of a posture correction process. ポリゴンモデルデータで形状、及び配置が定義されるポリゴンを説明する図である。It is a figure explaining the polygon in which a shape and arrangement | positioning are defined by polygon model data. 輪郭の検出方法を説明する図である。It is a figure explaining the detection method of an outline. 輪郭頂点からの距離に応じて設定される輪郭係数を説明する図である。It is a figure explaining the outline coefficient set according to the distance from an outline vertex. 本実施の形態で行われるモデルの簡略化を説明する図である。It is a figure explaining the simplification of the model performed in this Embodiment. 画面上に描画する画像の見かけの大きさに応じた詳細度の変更を説明する図である。It is a figure explaining the change of the detail level according to the apparent magnitude | size of the image drawn on a screen. 稜線縮退操作、頂点分割操作を説明する図である。It is a figure explaining ridgeline reduction operation and vertex division | segmentation operation. 従来の簡略化方法で行われるモデルの簡略化を説明する図である。It is a figure explaining simplification of the model performed by the conventional simplification method.

符号の説明Explanation of symbols

1 CPU
2 ROM
3 RAM
4 スイッチ部
5 表示部
6 外部記憶装置


1 CPU
2 ROM
3 RAM
4 Switch unit 5 Display unit 6 External storage device


Claims (7)

複数の頂点を持つポリゴンの集合により3次元の物体を表現するポリゴンモデルの簡略化を行う画像処理装置におけるポリゴンモデルの簡略化方法であって、
前記ポリゴンモデルで表現された前記物体の輪郭を所定の視点で検出するステップと
前記検出した輪郭を保持するよう、前記物体の表現に用いるポリゴンの数を減少させることにより、前記ポリゴンモデルを簡略化するステップと
前記ポリゴンモデルを簡略化した後に前記視点のみを変更する場合に、該簡略化したポリゴンモデルによる前記物体の輪郭を該変更後の視点で再度、検出するステップと、
前記再度、検出した輪郭を考慮して、前記簡略化したポリゴンモデルに対し、前記ポリゴンの2つの頂点を結ぶ稜線の縮退操作、及び該縮退によって既に1つにまとめられた頂点を分割する分割操作を行うことにより、該ポリゴンの数の変化を少なくとも抑えつつ簡略化したポリゴンモデルを新たに生成するステップと、
を含むことを特徴とするポリゴンモデルの簡略化方法。
A polygon model simplification method in an image processing apparatus for simplifying a polygon model that represents a three-dimensional object by a set of polygons having a plurality of vertices,
Detecting a contour of the object represented by the polygon model at a predetermined viewpoint ;
To hold the detected contour by reducing the number of polygons used to represent the object, the steps to simplify the polygon model,
When only changing the viewpoint after simplifying the polygon model, detecting again the contour of the object by the simplified polygon model at the viewpoint after the change;
Considering the detected contour again, a reduction operation of an edge line connecting two vertices of the polygon to the simplified polygon model, and a division operation for dividing the vertices already combined into one by the reduction To newly generate a simplified polygon model while suppressing at least a change in the number of polygons, and
A method for simplifying a polygon model characterized by including :
前記ポリゴンの2つの頂点を結ぶ稜線別に、該2つの頂点を1つにまとめて該稜線を消滅させる縮退操作を行うことにより生じる誤差を評価するステップと
前記評価した誤差を前記輪郭と併せて考慮して、前記稜線の数を前記縮退操作により減らすことにより、前記ポリゴンの数を減少させて前記ポリゴンモデルを簡略化するステップと
を含むことを特徴とする請求項1記載のポリゴンモデルの簡略化方法。
For each ridgeline connecting the two vertices of the polygon, evaluating the error caused by performing a degeneracy operation that combines the two vertices into one and eliminates the ridgeline;
The error described above evaluated considering in conjunction with the contour, by the number of the ridge lines be reduced by the degenerate operation, the steps to simplify the polygon model by decreasing the number of the polygons,
The method for simplifying a polygon model according to claim 1, wherein:
複数の頂点を持つポリゴンの集合により3次元の物体を表現するポリゴンモデルの簡略化を行う画像処理装置において、
前記ポリゴンモデルを表すモデルデータを取得するデータ取得手段と、
前記モデルデータが表すポリゴンモデルで表現された前記物体の輪郭を所定の視点で検出する輪郭検出手段と、
前記輪郭検出手段により検出された輪郭を保持するよう、前記物体の表現に用いるポリゴンの数を減少させることにより、前記データ取得手段がモデルデータを取得したポリゴンモデルを簡略化したモデルデータを生成するデータ生成手段と、を具備し、
前記輪郭検出手段は、
前記ポリゴンモデルを簡略化した後に前記視点のみを変更する場合に、該簡略化したポリゴンモデルによる前記物体の輪郭を該変更後の視点で再度、検出し、
前記データ生成手段は、
前記輪郭検出手段により再度、検出した輪郭を考慮して、前記簡略化したポリゴンモデルに対し、前記ポリゴンの2つの頂点を結ぶ稜線の縮退操作、及び該縮退によって既に1つにまとめられた頂点を分割する分割操作を行うことにより、該ポリゴンの数の変化を少なくとも抑えつつ簡略化したポリゴンモデルを新たに生成する
ことを特徴とする画像処理装置。
In an image processing apparatus that simplifies a polygon model that represents a three-dimensional object by a set of polygons having a plurality of vertices,
Data acquisition means for acquiring model data representing the polygon model;
Contour detecting means for detecting the contour of the object represented by the polygon model represented by the model data from a predetermined viewpoint ;
By reducing the number of polygons used to represent the object so as to retain the contour detected by the contour detection means, the data acquisition means generates model data obtained by simplifying the polygon model from which the model data has been acquired. Data generating means ,
The contour detection means includes
When only changing the viewpoint after simplifying the polygon model, the contour of the object by the simplified polygon model is detected again at the viewpoint after the change,
The data generation means includes
Considering the contour detected again by the contour detection means, a reduction operation of a ridge line connecting two vertices of the polygon to the simplified polygon model, and vertices already combined by the reduction are combined. An image processing apparatus that newly generates a simplified polygon model while performing at least a change in the number of polygons by performing a division operation .
前記物体の表現に用いる前記ポリゴンの2つの頂点を結ぶ稜線別に、該2つの頂点を1つにまとめて該稜線を消滅させる縮退操作を行うことにより生じる誤差を評価する誤差評価手段、を更に具備し、
前記データ生成手段は、前記輪郭、及び前記誤差評価手段が評価した誤差を基に、前記稜線の数を前記縮退操作により減らすことにより、前記ポリゴンの数を減少させて前記ポリゴンモデルを簡略化する、
ことを特徴とする請求項記載の画像処理装置。
Error evaluation means for evaluating an error caused by performing a degeneracy operation for merging the two vertices and annihilating the ridgeline for each ridgeline connecting the two vertices of the polygon used for the object representation; And
The data generation means simplifies the polygon model by reducing the number of polygons by reducing the number of ridge lines by the reduction operation based on the contour and the error evaluated by the error evaluation means. ,
The image processing apparatus according to claim 3 .
ポリゴンモデルで表現された3次元の物体の画像を描画する画像描画装置において、
前記ポリゴンモデルを表すモデルデータを取得するデータ取得手段と、
前記モデルデータが表すポリゴンモデルで表現された前記物体の輪郭を所定の視点で検出する輪郭検出手段と、
前記ポリゴンモデルの詳細度から、ポリゴン数を決定するポリゴン数決定手段と、
前記輪郭検出手段により検出された輪郭を保持するよう、前記ポリゴンの2つの頂点を1つにまとめて該頂点間の稜線を消滅させる縮退操作を行うことにより、前記データ取得手段がモデルデータを取得したポリゴンモデルを簡略化して、該ポリゴンモデルが表現する物体を前記ポリゴン数決定手段が決定したポリゴン数で表現するポリゴンモデルのモデルデータを生成するデータ生成手段と、
前記データ生成手段が生成したモデルデータを用いて前記物体の画像を描画する画像描画手段と、を具備し、
前記輪郭検出手段は、
前記ポリゴンモデルを簡略化した後に前記視点のみを変更する場合に、該簡略化したポリゴンモデルによる前記物体の輪郭を該変更後の視点で再度、検出し、
前記データ生成手段は、
前記輪郭検出手段により再度、検出した輪郭を考慮して、前記簡略化したポリゴンモデルに対し、前記ポリゴンの2つの頂点を結ぶ稜線の縮退操作、及び該縮退によって既に1つにまとめられた頂点を分割する分割操作を行うことにより、該ポリゴンの数の変化を少なくとも抑えつつ簡略化したポリゴンモデルを新たに生成する
ことを特徴とする画像描画装置。
In an image drawing apparatus for drawing an image of a three-dimensional object represented by a polygon model,
Data acquisition means for acquiring model data representing the polygon model;
Contour detecting means for detecting the contour of the object represented by the polygon model represented by the model data from a predetermined viewpoint ;
Details of how these the polygon model, and the polygon number determining means for determining the number of polygons,
The data acquisition unit acquires model data by performing a degeneration operation that combines the two vertices of the polygon into one and eliminates the ridge line between the vertices so as to retain the contour detected by the contour detection unit. Data generating means for simplifying the polygon model, and generating model data of the polygon model expressing the object represented by the polygon model by the number of polygons determined by the polygon number determining means;
Image drawing means for drawing an image of the object using the model data generated by the data generation means ,
The contour detection means includes
When only changing the viewpoint after simplifying the polygon model, the contour of the object by the simplified polygon model is detected again at the viewpoint after the change,
The data generation means includes
Considering the contour detected again by the contour detection means, a reduction operation of a ridge line connecting two vertices of the polygon to the simplified polygon model, and vertices already combined by the reduction are combined. An image drawing apparatus characterized by generating a new simplified polygon model while performing at least a change in the number of polygons by performing a division operation .
複数の頂点を持つポリゴンの集合により3次元の物体を表現するポリゴンモデルの簡略化を行う画像処理装置に実行させるプログラムであって、
前記ポリゴンモデルを表すモデルデータを取得する機能と、
前記モデルデータが表すポリゴンモデルで表現された前記物体の輪郭を所定の視点で検出する機能と、
前記検出する機能により検出された輪郭を保持するよう、前記物体の表現に用いるポリゴンの数を減少させることにより、前記取得する機能によりモデルデータを取得したポリゴンモデルを簡略化したモデルデータを生成する機能と、
前記ポリゴンモデルを簡略化した後に前記視点のみを変更する場合に、該簡略化したポリゴンモデルによる前記物体の輪郭を該変更後の視点で再度、検出する機能と、
前記再度、検出した輪郭を考慮して、前記簡略化したポリゴンモデルに対し、前記ポリゴンの2つの頂点を結ぶ稜線の縮退操作、及び該縮退によって既に1つにまとめられた頂点を分割する分割操作を行うことにより、該ポリゴンの数の変化を少なくとも抑えつつ簡略化したポリゴンモデルを新たに生成する機能と、
を実現させるためのプログラム。
A program that is executed by an image processing apparatus that simplifies a polygon model that represents a three-dimensional object by a set of polygons having a plurality of vertices,
A function of obtaining model data representing the polygon model;
A function of detecting a contour of the object represented by a polygon model represented by the model data from a predetermined viewpoint ;
To hold the contour detected by the ability to the detection, by reducing the number of polygons used to represent the object, to generate the model data to simplify the polygon model obtained model data by function the obtaining Function and
A function of detecting again the outline of the object by the simplified polygon model at the viewpoint after the change when only changing the viewpoint after simplifying the polygon model;
Considering the detected contour again, a reduction operation of an edge line connecting two vertices of the polygon to the simplified polygon model, and a division operation for dividing the vertices already combined into one by the reduction A function of newly generating a simplified polygon model while suppressing at least a change in the number of the polygons, and
A program to realize
ポリゴンモデルで表現された3次元の物体の画像を描画する画像描画装置に実行させるプログラムであって、
前記ポリゴンモデルを表すモデルデータを取得する機能と、
前記モデルデータが表すポリゴンモデルで表現された前記物体の輪郭を所定の視点で検出する機能と、
前記ポリゴンモデルの詳細度から、ポリゴン数を決定する機能と、
前記検出する機能により検出された輪郭を保持するよう、前記ポリゴンの2つの頂点を1つにまとめて該頂点間の稜線を消滅させる縮退操作を行うことにより、前記取得する機能によりモデルデータを取得したポリゴンモデルを簡略化して、該ポリゴンモデルが表現する物体を前記決定する機能により決定したポリゴン数で表現するポリゴンモデルのモデルデータを生成する機能と、
前記生成する機能により生成したモデルデータを用いて前記物体の画像を描画する機能と、
前記ポリゴンモデルを簡略化した後に前記視点のみを変更する場合に、該簡略化したポリゴンモデルによる前記物体の輪郭を該変更後の視点で再度、検出する機能と、
前記再度、検出した輪郭を考慮して、前記簡略化したポリゴンモデルに対し、前記ポリゴンの2つの頂点を結ぶ稜線の縮退操作、及び該縮退によって既に1つにまとめられた頂点を分割する分割操作を行うことにより、該ポリゴンの数の変化を少なくとも抑えつつ簡略化したポリゴンモデルを新たに生成する機能と、
を実現させるためのプログラム。
A program for causing an image drawing apparatus to draw an image of a three-dimensional object represented by a polygon model,
A function of obtaining model data representing the polygon model;
A function of detecting a contour of the object represented by a polygon model represented by the model data from a predetermined viewpoint ;
Details of how these the polygon model, the function of determining the number of polygons,
To hold the detected contour by the function of the detection, by performing degenerate operation to extinguish the ridge between the vertex together two vertices of the polygon into one, obtain the model data by function the obtaining A function of simplifying the polygon model, and generating model data of a polygon model expressing the number of polygons determined by the function of determining the object represented by the polygon model;
A function of drawing an image of the object using model data generated by the function of generating;
A function of detecting again the outline of the object by the simplified polygon model at the viewpoint after the change when only changing the viewpoint after simplifying the polygon model;
Considering the detected contour again, a reduction operation of an edge line connecting two vertices of the polygon to the simplified polygon model, and a division operation for dividing the vertices already combined into one by the reduction A function of newly generating a simplified polygon model while suppressing at least a change in the number of the polygons, and
A program to realize
JP2004079089A 2004-03-18 2004-03-18 Polygon model simplification method, image processing apparatus, image drawing apparatus, and program Expired - Fee Related JP4501479B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004079089A JP4501479B2 (en) 2004-03-18 2004-03-18 Polygon model simplification method, image processing apparatus, image drawing apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004079089A JP4501479B2 (en) 2004-03-18 2004-03-18 Polygon model simplification method, image processing apparatus, image drawing apparatus, and program

Publications (3)

Publication Number Publication Date
JP2005267272A JP2005267272A (en) 2005-09-29
JP2005267272A5 JP2005267272A5 (en) 2007-04-05
JP4501479B2 true JP4501479B2 (en) 2010-07-14

Family

ID=35091756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004079089A Expired - Fee Related JP4501479B2 (en) 2004-03-18 2004-03-18 Polygon model simplification method, image processing apparatus, image drawing apparatus, and program

Country Status (1)

Country Link
JP (1) JP4501479B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4606898B2 (en) * 2005-02-15 2011-01-05 三菱電機株式会社 Information generation device and search device
JP4722803B2 (en) * 2006-09-21 2011-07-13 パナソニック株式会社 Portable terminal device, game device, wireless communication system, and portable terminal device program
KR101076807B1 (en) * 2009-05-29 2011-10-25 주식회사 실리콘아츠 Ray tracing apparatus and method
US9311749B2 (en) * 2012-12-07 2016-04-12 Donya Labs Ab Method for forming an optimized polygon based shell mesh
JP6565494B2 (en) * 2015-08-28 2019-08-28 大日本印刷株式会社 Data reduction device for 3D object modeling
CN115511947B (en) * 2022-10-09 2023-06-09 山东科翔智能科技有限公司 Real-time accurate acre measurement and correction method for land parcels

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000067270A (en) * 1998-06-12 2000-03-03 Sony Corp Method for approximating shape data, information processor and medium
JP2002501650A (en) * 1998-01-30 2002-01-15 ユニバーシティー オブ サザン カリフォルニア 3D mesh compression and encoding
JP2002324246A (en) * 2001-03-16 2002-11-08 Mitsubishi Electric Research Laboratories Inc System for modeling graphics object and method for the same
JP2002334344A (en) * 2001-05-11 2002-11-22 Ricoh Co Ltd Triangular mesh simplifying device and program
JP2003228725A (en) * 2002-02-04 2003-08-15 Japan Science & Technology Corp 3d image processing system
JP2004078511A (en) * 2002-08-16 2004-03-11 Fuji Xerox Co Ltd System and method for distributing data of three-dimensional shape

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3785700B2 (en) * 1995-12-18 2006-06-14 ソニー株式会社 Approximation method and apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002501650A (en) * 1998-01-30 2002-01-15 ユニバーシティー オブ サザン カリフォルニア 3D mesh compression and encoding
JP2000067270A (en) * 1998-06-12 2000-03-03 Sony Corp Method for approximating shape data, information processor and medium
JP2002324246A (en) * 2001-03-16 2002-11-08 Mitsubishi Electric Research Laboratories Inc System for modeling graphics object and method for the same
JP2002334344A (en) * 2001-05-11 2002-11-22 Ricoh Co Ltd Triangular mesh simplifying device and program
JP2003228725A (en) * 2002-02-04 2003-08-15 Japan Science & Technology Corp 3d image processing system
JP2004078511A (en) * 2002-08-16 2004-03-11 Fuji Xerox Co Ltd System and method for distributing data of three-dimensional shape

Also Published As

Publication number Publication date
JP2005267272A (en) 2005-09-29

Similar Documents

Publication Publication Date Title
EP1049049B1 (en) Curved surface reconstruction at plural resolution levels
JP3654616B2 (en) Hierarchical polygon data generation apparatus and method, and three-dimensional real-time video generation apparatus and method using the hierarchical polygon data
US20070229544A1 (en) Nurbs surface deformation apparatus and the method using 3d target curve
JP3574202B2 (en) Graphic I / O device
JP4481931B2 (en) Method for approximating and displaying three-dimensional CAD data, and system for executing the method
US6597368B1 (en) Morphing image processing system using polygon reduction processing
JP2005352657A (en) Device, method, and program for drawing processing
JPH08110950A (en) Plotting device and method utilizing hierarchical approximation system for graphic data
Lin et al. Metamorphosis of 3d polyhedral models using progressive connectivity transformations
CN109636889B (en) Large-scale three-dimensional terrain model rendering method based on dynamic sewing belt
JPH11237836A (en) Stereoscopic topography display device
Limper et al. Box cutter: atlas refinement for efficient packing via void elimination.
JP4501479B2 (en) Polygon model simplification method, image processing apparatus, image drawing apparatus, and program
JP4125251B2 (en) Information processing method and apparatus
US10297036B2 (en) Recording medium, information processing apparatus, and depth definition method
JP2007041692A (en) Three-dimensional geographical data controller and three-dimensional geographical data control method
JP2837584B2 (en) How to create terrain data
CN116740104A (en) Method for generating smooth contour based on pixel contour unit
JP4771807B2 (en) Computer-aided design apparatus, program and method thereof
US9311747B2 (en) Three-dimensional image display device and three-dimensional image display program
KR100848304B1 (en) Apparatus for nurbs surface rendering of sculpting deformation effect using the multi-resolution curved surface trimming
JP4479957B2 (en) Curved surface subdivision device
JP5151946B2 (en) Drawing device
WO2006003856A1 (en) Image drawing device, vertex selecting method, vertex selecting program, and integrated circuit
JP4960768B2 (en) Information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100305

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100330

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100412

R150 Certificate of patent or registration of utility model

Ref document number: 4501479

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees