JP4182565B2 - Polygon processing method and recording medium recording polygon processing program - Google Patents

Polygon processing method and recording medium recording polygon processing program Download PDF

Info

Publication number
JP4182565B2
JP4182565B2 JP22328398A JP22328398A JP4182565B2 JP 4182565 B2 JP4182565 B2 JP 4182565B2 JP 22328398 A JP22328398 A JP 22328398A JP 22328398 A JP22328398 A JP 22328398A JP 4182565 B2 JP4182565 B2 JP 4182565B2
Authority
JP
Japan
Prior art keywords
polygon
edge
edges
model
pair
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
JP22328398A
Other languages
Japanese (ja)
Other versions
JP2000057368A (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.)
Sega Corp
Original Assignee
Sega Corp
Sega Games 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 Sega Corp, Sega Games Co Ltd filed Critical Sega Corp
Priority to JP22328398A priority Critical patent/JP4182565B2/en
Publication of JP2000057368A publication Critical patent/JP2000057368A/en
Application granted granted Critical
Publication of JP4182565B2 publication Critical patent/JP4182565B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータグラッフィクスにおけるポリゴン処理方法及びポリゴン処理プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
コンピュータグラッフィックスにおいて曲線や曲面を持つ実際のモデルを表現するのに、曲線や曲面をそのまま表現できるNURBS(Non−Uniform Rational B−Spline)曲線又は曲面が利用される場合がある。しかし、曲線や曲面のデータ量は膨大なものとなるため、コンピュータグラッフィックスを利用したゲームプログラムでは、曲面を持つ実際のモデルを微小な平面(ポリゴン)で近似したモデルを使用する場合が多い。
【0003】
一方、コンピュータグラッフィックスを利用したゲームにおいては、ゲーム内のモデル等が、遊戯者が操作するスイッチに応答して、ほぼリアルタイムに移動したり変化する必要がある。モデルの動きの速さはそのモデルの形状データ等を処理する速度で決まるため、ゲーム内のモデルの形状等のデータ量はできるだけ少ない方がよい。このため、ゲームのデザイナーは、多数のポリゴンで表現されたオリジナルモデルのポリゴン数を削減し、ゲームにおける操作のリアルタイム性を確保していた。
【0004】
【発明が解決しようとする課題】
このように、NURBS曲線で表現されたモデルを微小なポリゴンで近似したり、実際の建築物等のモデルの平面をそのままポリゴンに変換すると、膨大な数のポリゴンが生成され、コンピュータグラッフィックスにおけるモデルのデータ量が増大する。このような膨大な数のポリゴンで形成されるモデルを、実際のモデルの形状の特徴を維持しつつ、操作のリアルタイム性を確保できるポリゴン数に削減する作業は、長い時間と労力を必要とし、ゲームのデザイナーにとって大きな負担となっていた。
【0005】
一方、コンピュータを利用してポリゴンを減らす従来のポリゴンリダクションツールは、単純に、多数のポリゴン数のモデルを指定したポリゴン数に減少させるため、実際のモデルの形状等の特徴が維持されない場合が多く、ゲームで使用するモデルの形状データの作成に必ずしも適したものではなかった。
【0006】
そこで本発明は、入力となるオリジナルモデルの形状の情報からポリゴンの再構築を行い、オリジナルモデルの形状の特徴を維持すると同時に、オリジナルモデルのポリゴン数の削減を行うポリゴン処理方法及びポリゴン処理プログラムを記録した記録媒体を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記の目的は、プログラムされたコンピュータによってオリジナルモデルのポリゴン数を削減するポリゴン処理方法において、該オリジナルモデルのポリゴンの頂点を、所定の間隔で並んだ格子点上に一致させて第1のモデルを生成する工程と、前記第1のモデルにおいて、1つのエッジを共有して隣接する2つのポリゴンの法線の成す角度が、所定の値より大きい場合に該エッジを抽出し、該角度が所定の値以下の場合に該エッジを削除する工程と、
前記抽出されたエッジのうち1端を共有する2つのエッジをペアにしてペアエッジを構成する工程と、該ペアエッジのうち一方のエッジを共有する複数のペアエッジを組み合わせてポリゴンを再構築する工程と、前記再構築したポリゴンの存在の可否及び該ポリゴンの法線の向きを、前記オリジナルモデルのポリゴンデータを参照して決定する工程とを含むことを特徴とするポリゴン処理方法及びそのプログラムを記録した記録媒体を提供することにより達成される。
【0008】
本発明によれば、1つのエッジを共有して隣接する2つのポリゴンの法線の成す角度が、所定の値より大きい場合にそのエッジを抽出し、抽出されたエッジのうち1端を共有する2つのエッジをペアにしてペアエッジを構成し、更にペアエッジのうち一方のエッジを共有する複数のペアエッジを組み合わせてポリゴンを再構築するので、多数のポリゴンで構成されるオリジナルモデルが、形状の特徴を維持したまま少ないポリゴン数のモデルに変換される。
【0009】
【発明の実施の形態】
以下、本発明の実施の形態の例について図面に従って説明する。図1は、本発明の実施の形態のポリゴン処理方法が実行されるハードウエアの構成例である。メモリ102内には、入力となるオリジナルモデルのポリゴンデータ、処理の過程で生成されるモデルのエッジデータ及びペアエッジデータ、本実施の形態の出力データとなるポリゴンリスト、及びポリゴン処理プログラムが格納される。
【0010】
CPU100は、バス101を介してメモリ102にアクセスし、入力モデルのポリゴンデータにポリゴン処理プログラムに従った処理を実行し、入力モデルのポリゴン数を削減して出力データとなるポリゴンリストを生成する。
【0011】
図2は本発明の実施の形態のポリゴン処理方法のフローチャートである。図2を参照してポリゴン処理方法の全体の流れについて説明する。本発明の実施の形態のポリゴン処理方法は、コンピュータにおいて実行されるので、まず、ポリゴン数を削減する対象となるオリジナルモデルのポリゴンデータをコンピュータに入力する(S11)。
【0012】
次に、モデルの形状を構成する上で必要性の低いポリゴンを削除するために、ポリゴンのクリーンアップ処理を行う(S12)。この処理には、ポリゴンの頂点を予め指定した微小な格子点上に移動する処理、格子点上で一致した頂点のデータを削除する処理等が含まれる。
【0013】
次にエッジの抽出処理を行う(S13)。この処理は、隣接するポリゴンの法線の成す角がユーザの指定した値以上のエッジを、モデルの形状維持に必要なエッジとして抽出する処理であり、隣接するポリゴンの法線の成す角が指定した値以下のエッジは削除される。なお、このステップではエッジのみが抽出され、ポリゴンはまだ構成されていない。
【0014】
次にポリゴンの構築処理を行う(S14)。この処理は、抽出されたエッジのうち1つの端点を共有する2本のエッジを組み合わせてペアエッジとし、更に1本のエッジを共有する複数のペアエッジを組み合わせてポリゴンを再構築する処理である。また、この処理には、再構築したポリゴンの存在の可否、及びポリゴンの表裏を区別する法線の向きを決定する処理が含まれる。
【0015】
次にポリゴンデータの出力を行う(S15)。本実施の形態では、ユーザが指定するパラメータに従って、オリジナルモデルの形状の特徴を維持しつつポリゴンが削減され、ポリゴンの頂点座標データが出力される。
【0016】
図3は、本実施の形態のポリゴン処理方法の処理の過程を示す説明図である。これにより多数のポリゴンで構成されるオリジナルモデルが、少ないポリゴンで構成されるモデルに変換される様子について説明する。
【0017】
図3(1)はオリジナルモデルの1例である。このオリジナルモデルは三角形のポリゴンA、B、C等で構成されており、全ポリゴン数が例えば30であるとする。なお、三角形ポリゴンは、頂点である3つの制御点で構成され、例えばポリゴンAは制御点1、2、3を有し、ポリゴンBは制御点2、4、5を有する。
【0018】
オリジナルモデルのポリゴンデータがコンピュータに入力されると(図2のS11)、次にポリゴンのクリーンアップ処理(S12)が行われ、接近している制御点が統合され、微小なポリゴンが削除される。例えば、図3(1)の接近している制御点3、5、7は制御点3に統合され、制御点2、3、5で構成される微小なポリゴンは削除される。
【0019】
次にエッジの抽出処理(S13)が行われる。エッジの抽出処理は、前述のように、隣接するポリゴンの法線の成す角がユーザの指定した値以上のエッジを、モデルの形状維持に必要なエッジとして抽出する処理である。例えば、図3(1)の制御点1、8、9で構成されるポリゴンFと制御点8、9、10で構成されるポリゴンGは、制御点8、9を両端とするエッジを共有している。そこで、ポリゴンFの法線とポリゴンGの法線との成す角がユーザの指定した値以下の場合は、制御点8、9を両端とするエッジが削除される。
【0020】
図3(2)は、オリジナルモデルにエッジの抽出処理を行い、12本のエッジが抽出された場合を示す。なお、この処理には、後述するように、1つの制御点を共有し、ほぼ直線状になっている2本のエッジを、1本のエッジにする処理が含まれる。従って、オリジナルモデルから、制御点1、2を両端とするエッジEA、制御点2、3を両端とするエッジEB等が抽出される。なお、K、L等は、エッジに隣接するポリゴンの番号である。
【0021】
図3(3)は、抽出したエッジからポリゴンを再構築(S14)する過程を示す図である。ポリゴンの再構築は、端点を共有する2本のエッジをペアエッジとし、複数のペアエッジを組み合わせ平面を構成する処理である。例えば、制御点4、1を両端とするエッジと制御点1、2を両端とするエッジを組み合わせてペアエッジPAとし、制御点1、2を両端とするエッジと制御点2、3を両端とするエッジを組み合わせてペアエッジPBとする。同様にペアエッジPC、PDを構成し、4つのペアエッジPA、PB、PC、PDを組み合わせて1つのポリゴンを構成する。なお、図3(2)の12本のエッジからは、24組のペアエッジが構成される。
【0022】
図3(4)は、ポリゴンの構築処理によりポリゴン数6のモデルが再構築された場合を示す。このように、本実施の形態では、図3(1)に示した、多数のポリゴンで構成されるオリジナルモデルが、形状の特徴を維持したまま少ないポリゴン数のモデルに変換される。
【0023】
図4は、本実施の形態のポリゴン処理方法で処理の対象となるモデルのポリゴンデータの構成例を示す。本実施の形態のポリゴン処理方法において、入力となるオリジナルモデルのポリゴンデータ、及び出力となるモデルのポリゴンデータは、同様の構成を有する。但し、本実施の形態のポリゴン処理方法により、オリジナルモデルの形状の特徴を維持しつつ、オリジナルモデルのポリゴン数、及び制御点の個数等のデータが削減される。なお、図4のデータ構成は、モデルを三角形ポリゴンで構成した場合を示す。
【0024】
図4(1)のポリゴン数は、モデルを構成するポリゴンの全数であり、図3(1)のオリジナルモデルの場合は、ポリゴンA、B、C等の合計で例えば30である。また、図4(2)のポリゴン毎の制御点の個数は、ポリゴンを構成する頂点の数であり、モデルを三角形ポリゴンで構成した場合は3である。
【0025】
図4(3)のポリゴン毎の制御点の番号は、三角形ポリゴンの頂点の番号で、図3(1)のオリジナルモデルの場合は、ポリゴンAの制御点は1、2、3であり、ポリゴンBの制御点は2、4、5である。また、図4(4)の全制御点の個数は、モデルを構成する制御点の合計であり、図3(1)のオリジナルモデルの場合は、制御点1、2、3等の合計で例えば25である。
【0026】
図4(5)の制御点の座標データは、ゲーム空間に設けられたワールド座標における制御点のX、Y、Z座標で、例えば制御点1の座標データは(X1、Y1、Z1)であり、制御点2の座標データは(X2、Y2、Z2)である。また、図4(6)のポリゴン毎の法線ベクトルは、ポリゴンの制御点から求まるポリゴンの法線ベクトルで、ポリゴンの表裏の区別等に使用される。
【0027】
図5は、モデルのエッジデータの構成例を示す。エッジデータは、必要に応じてモデルの制御点データから生成され、エッジの抽出処理等で使用される。図5(1)のエッジの本数は、モデルのエッジの総数で、図3(2)のモデルの場合は12本である。また、図5(2)のエッジの両端点の制御点の番号は、エッジの両端の2つの制御点の番号で、図3(2)のモデルの場合は、エッジEAは制御点1、2を有し、エッジEBは制御点2、3を有する。
【0028】
図5(3)のエッジに隣接するポリゴンの数は、通常の立体モデルの場合は2であるが、隣接するポリゴンがない場合は1であり、ポリゴンがT字型に接している場合は3である。また、図5(4)のエッジに隣接するポリゴンの番号は、1本のエッジを共有する2つのポリゴンの番号で、図3(2)のモデルの場合は、エッジEAに隣接するのはポリゴンK、Lであり、エッジEBに隣接するのはポリゴンK、Mである。
【0029】
図6は、モデルのペアエッジのデータ構成を示す。ペアエッジのデータは、抽出されたエッジの制御点のデータから生成され、ポリゴンを再構築する処理で使用される。図6(1)のペアエッジの個数は、抽出されたエッジで構成可能なペアエッジの総数で、図3(2)のモデルの場合は6本のエッジで組合せ可能な数24である。また、図6(2)のペアエッジの番号は、それぞれのペアエッジの番号で、図3(3)の場合は、ペアエッジPAは制御点4、1、2を有し、ペアエッジPBは制御点1、2、3を有する。
【0030】
図7は、図2に示したポリゴンのクリーンアップ処理(S12)の詳細フローチャートである。ポリゴンのクリーンアップ処理は、形状を維持する上で重要でないポリゴンを予め削除する処理で、まず、ポリゴンを構成する制御点を格子点上に移動する処理を行う(S21)。
【0031】
この場合、格子点の間隔は、モデルを表示する表示装置の解像度、及び削減すべきデータ量等により指定される。また、制御点を格子点上に移動するには、制御点のX座標、Y座標、Z座標それぞれの座標データを、格子間隔で割った値の整数部分と格子間隔の積を求めることにより行う。
【0032】
次に、不要な制御点の削除を行う(S22)。制御点を格子点上に移動することにより、オリジナルモデルにおいて接近している制御点が格子点上で一致する場合が生ずる。その場合に、一致した制御点は1つの制御点に統合し、制御点のデータ量を削減する。
【0033】
次に、不要なポリゴンの削除を行う(S23)。制御点が格子点上に移動することにより、ポリゴンが1本のエッジや1つの制御点に変化する場合も生じる。この場合は、そのポリゴンを削除し、ポリゴンのデータ量を削減する。
【0034】
図8は、ポリゴンのクリーンップ処理の過程を示す説明図である。図8(1)は、図3(1)のオリジナルモデルの一部を抜き出したものであり、ポリゴンA、B、C、D、Eと制御点1、2、3、4、5、6、7を有する。また、図8(2)は、制御点3、5、7が3次元の格子内に配置されている状態を示す。制御点5、7は、格子の中間に位置しているので、前述の処理により格子点上に移動する。
【0035】
図8(3)は、図7のステップS21で制御点を点線で示す格子点上に移動した場合を示す。但し、説明の都合上、格子は2次元で示す。このように、接近している制御点3、5、7は、1つの格子点上に移動する。また、制御点3、5、7が一致したことにより、ポリゴンD及びポリゴンEが削除される。
【0036】
図8(4)は、クリーンアップ処理により不要な制御点及び不要なポリゴンが削除された状態を示す。このようにオリジナルモデルは、ポリゴンA、B、C、と制御点1、2、3、4、5を有するモデルとなり、データ量が削減される。
【0037】
図9は、図2に示したエッジの抽出処理(S13)の詳細フローチャートである。エッジの抽出処理は、隣接するポリゴンの法線の成す角がユーザの指定した値以上のエッジを、モデルの形状維持に必要なエッジとして抽出する処理である。
【0038】
この処理では、まず、隣接するポリゴンの法線の成す角を計算する(S31)。この場合、法線はポリゴンの制御点座標から求まり、隣接するポリゴンの成す角は、180度からそれぞれの法線の成す角を引くことにより求まる。
【0039】
次に、隣接するポリゴンの法線の成す角がユーザの指定する値より大きいか否かを判断する(S32)。ユーザが指定する値により抽出されるエッジの個数に差異を生じるので、オリジナルモデルの形状の特徴の再現性、及びポリゴンデータを削減する程度により指定値を選択する。なお、本実施の形態では、指定値の初期値は80度である。
【0040】
判断の結果、隣接するポリゴンの法線の成す角が指定値より大きい(Yes)場合は、そのエッジを抽出する(S33)。これは、法線の成す角が指定値より大きい場合は、隣接するポリゴンの成す角が鋭く、そのエッジはオリジナルモデルの形状の特徴を維持するのに必要だからである。
【0041】
一方、隣接するポリゴンの法線の成す角が指定値より小さい(No)場合は、そのエッジを削除する(S34)。これは、法線の成す角が指定値より小さい場合は、隣接するポリゴンの成す角が鈍角であり、そのエッジを削除してもオリジナルモデルの形状の特徴を維持できるからである。
【0042】
次に、1つの制御点を共有するエッジの成す角をエッジの両端の座標により計算し(S35)、そのエッジの成す角が指定値より大きいか否かを判断する(S36)。そして、エッジの成す角が指定値より小さい(No)場合、即ち、2つのエッジの成す角が鋭い場合は、オリジナルモデルの形状の特徴を維持するために、その制御点を抽出する(S37)。
【0043】
一方、エッジの成す角が指定値より大きい(Yes)場合、即ち、2つのエッジがほぼ直線上に並んでいる場合はその制御点を削除する(S38)。このように、ほぼ直線上に並んだ2本のエッジを1本のエッジに置き換えて、ポリゴンを構成する制御点のデータ量を更に削減する。
【0044】
図10は、エッジの抽出処理の説明図である。図10(1)は、図3(1)に示したオリジナルモデルの一部を抜き出したものである。この場合、ポリゴンFとポリゴンGとは、制御点8、9を両端とするエッジを共有している。この場合に、ポリゴンFの制御点1、8、9各座標から法線ベクトルVFが求め、ポリゴンGの制御点8、9、10各座標から法線ベクトルVGが求める。
【0045】
図10(2)は、法線ベクトルVFと法線ベクトルVGとの成す角θを示す。図9のステップS31からステップS34で説明したように、角θが指定値より大きい場合は、ポリゴンFとポリゴンGとの成す角(180°−θ)は鋭くなり、制御点8、9を両端とするエッジが抽出される。一方、角θが指定値より小さい場合は、ポリゴンFとポリゴンGとの成す角(180°−θ)は鈍角となり、制御点8、9を両端とするエッジは削除される。
【0046】
図10(3)は、制御点15、16を両端とするエッジEPと制御点16、17を両端とするエッジEQとが、制御点16を共有している場合を示す。図9のステップS35からステップS38で説明したように、エッジEPとエッジEQとの成す角φが指定値より大きい場合は制御点16は削除され、角φが指定値より小さい場合は制御点16は抽出される。
【0047】
図11は、図2に示したポリゴンの構築処理(S14)の詳細なフローチャートであり、図12はその処理の過程を示す説明図である。図11及び図12によりポリゴンの構築処理について説明する。
【0048】
前述のように、モデルの形状維持に必要なものとして抽出されたエッジは、図5に示したデータ構成を有し、また、2本のエッジで構成されるペアエッジは図6に示したデータ構成を有する。
【0049】
ポリゴンを構築するには、まず、抽出されたエッジから構成されるペアエッジのうちの任意のペアエッジを選択する(S40)。ペアエッジは、端点を共有する2本のエッジをペアにしたもので、図12(1)は、エッジED、EAから構成されるペアエッジPAが選択された状態を示す。
【0050】
また、ペアエッジPAが選択されると、所定のレジスタに開始制御点番号4と、解リスト{PA}が記憶される。開始制御点番号は、最初に選択したペアエッジの一方の制御点の番号で、ポリゴンを構成する起点となる。また、解リストは、ポリゴンを構成する候補となるペアエッジのデータリストである。
【0051】
次に、最初に選択したペアエッジとエッジを共有する他のペアエッジを選択する(S41)。図12(2)は、ペアエッジPAのエッジEAを共有するペアエッジPBが選択された状態を示す。
【0052】
次に、2組のペアエッジの法線の成す角を調べる(S42)。ペアエッジの法線は、ペアエッジの3つの制御点で構成される平面の法線である。そして、ペアエッジの法線の成す角が指定値より小さいか否かを判断する(S43)。これは、1つのペアエッジとエッジを共有する他のペアエッジが複数存在する場合に、平面としてのポリゴンを構成できるペアエッジを選択するためである。
【0053】
そして、ペアエッジの法線の成す角が指定値より大きい場合(No)は、そのペアエッジは平面を構成しないとして、ステップS41に戻り別のエッジを選択する。一方、ペアエッジの法線の成す角が指定値より小さい場合(Yes)は、そのペアエッジはポリゴンを構成する要素と成り得るので、そのペアエッジを解リストに追加する。図12(2)のペアエッジPBは、ポリゴンを構成する要素と成り得るので、解リストは{PA、PB}となる。
【0054】
次に、選択した他のペアエッジとエッジを共有する更に他のペアエッジを選択する(S44)。図12(3)では、ペアエッジPBのエッジEBを共有するペアエッジPCを選択した状態を示す。そして、ペアエッジPBとペアエッジPCの法線の成す角が指定値より小さい場合は、ペアエッジPCが解リストに追加され、解リストは{PA、PB、PC}となる。
【0055】
このようにして、法線の成す角が指定値より小さいペアエッジを次々に組み合わせていく。なお、この指定値は、ユーザがどの範囲までを平面とみなすかにより指定することができる。
【0056】
このように、ポリゴンを構成するためにエッジを共有するペアエッジを次々に選択していくと、ペアエッジの制御点が最初のペアエッジの制御点と一致する場合が生じる(S45)。図12(3)では、ペアエッジPCの制御点4が最初のペアエッジPAの制御点4と一致した場合を示す。なお、制御点の一致は、前述した開始制御点番号4を記憶したレジスタを参照することにより検出する。
【0057】
このように、次々に組み合わせたペアエッジの制御点番号が開始制御点番号に一致した場合は、ポリゴンの再構成の処理に成功したことになる。一方、ペアエッジの制御点が開始制御点番号と一致しない場合は、ポリゴンの再構成の処理に失敗したことになる。
【0058】
次に、構成されたポリゴンをオリジナルモデルと比較し、その存在の可否を調べる(S46)。本実施の形態のポリゴン処理方法では、オリジナルモデルのエッジを抽出してポリゴンを再構成しているため、再構成したポリゴンが必ずしもオリジナルモデルを適切に表現しない場合も生じるからである。なお、この処理は、構成したポリゴンに含まれる点、例えば、中心又は重心等の座標データの近傍に、オリジナルモデルの対応点が存在するか否かにより判断する。
【0059】
次に、存在を確認したポリゴンのデータをポリゴンリストに追加し、オリジナルモデルを参照してポリゴンの法線の向きを決定する(S47)。ポリゴンリストは、本実施の形態のポリゴン処理方法の出力となるデータで、図4に示したデータ構成を有する。
【0060】
次に、最初のペアエッジのエッジと最後のペアエッジのエッジから構成されるペアエッジを選択する(S48)。図12(4)は、最初のペアエッジPAのエッジEDと、最後のペアエッジPCのエッジECから構成されるペアエッジPDを選択した状態を示す。また、この場合の解リストは{PA、PB、PC、PD}となる。
【0061】
次に、ペアエッジのデータから、ポリゴンの構築処理で使用したペアエッジのデータを削除する(S49)。即ち、図6に示したペアエッジのデータ、例えば{PA、PB、PC、PD、PE、PF、・・・}から、ポリゴンの再構築の処理で使用した解リスト{PA、PB、PC、PD}のデータを削除し、次のポリゴンを再構築する処理を行う。
【0062】
このように本実施の形態のポリゴン処理方法では、オリジナルモデルの隣接するポリゴンの法線の成す角が指定値以上のエッジを抽出し、そのエッジからペアエッジを構成し、更にそのペアエッジを組み合わせてポリゴンを再構築する。このため、オリジナルモデルの形状の特徴を維持しつつ、モデルのデータ量を削減することができる。
【0063】
以上、本実施の形態について具体的に説明したが、かかる実施の形態例が本発明の技術的範囲を限定するものではない。
【0064】
【発明の効果】
以上説明した通り、本発明は、1つのエッジを共有して隣接する2つのポリゴンの法線の成す角度が、所定の値より大きい場合にそのエッジを抽出し、抽出されたエッジのうち1端を共有する2つのエッジをペアにしてペアエッジを構成し、更にペアエッジのうち一方のエッジを共有する複数のペアエッジを組み合わせてポリゴンを再構築する。従って、多数のポリゴンで構成されるオリジナルモデルを、形状の特徴を維持したまま少ないポリゴン数のモデルに変換することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態のポリゴン処理方法が実行されるハードウエアの構成例である。
【図2】本発明の実施の形態のポリゴン処理方法のフローチャートである。
【図3】本発明の実施の形態のポリゴン処理方法の説明図である。
【図4】ポリゴンのデータ構成である。
【図5】エッジのデータ構成である。
【図6】ペアエッジのデータ構成である。
【図7】ポリゴンのクリーンアップ処理のフローチャートである。
【図8】ポリゴンのクリーンアップ処理の説明図である。
【図9】エッジの抽出処理のフローチャートである。
【図10】エッジの抽出処理の説明図である。
【図11】ポリゴンの構築処理のフローチャートである。
【図12】ポリゴンの構築処理の説明図である。
【符号の説明】
100 CPU
101 バス
102 メモリ
1、2・・ 制御点
A、B・・ ポリゴン
EA、EB・・ エッジ
PA、PB・・ ペアエッジ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a polygon processing method in computer graphics and a recording medium on which a polygon processing program is recorded.
[0002]
[Prior art]
In order to represent an actual model having a curve or a curved surface in a computer graphic, a NURBS (Non-Uniform Relational B-Spline) curve or a curved surface that can express the curve or the curved surface as it is may be used. However, since the amount of data of curves and curved surfaces becomes enormous, a game program using computer graphics often uses a model that approximates an actual model having a curved surface with a minute plane (polygon).
[0003]
On the other hand, in a game using computer graphics, a model or the like in the game needs to move or change almost in real time in response to a switch operated by the player. Since the speed of movement of a model is determined by the speed of processing the shape data of the model, the amount of data such as the shape of the model in the game should be as small as possible. For this reason, game designers have reduced the number of polygons of the original model represented by a large number of polygons, and ensured real-time operation of the game.
[0004]
[Problems to be solved by the invention]
In this way, if a model expressed by a NURBS curve is approximated by a minute polygon, or if a plane of a model such as an actual building is converted into a polygon as it is, a huge number of polygons are generated, and the model in computer graphics The amount of data increases. It takes a long time and labor to reduce the number of polygons formed from such a large number of polygons to the number of polygons that can ensure the real-time operation while maintaining the characteristics of the actual model shape. It was a big burden for game designers.
[0005]
On the other hand, conventional polygon reduction tools that reduce the number of polygons using a computer simply reduce the number of polygon models to a specified number of polygons, so the actual model shape and other features are often not maintained. This is not always suitable for creating model shape data used in games.
[0006]
Accordingly, the present invention provides a polygon processing method and a polygon processing program for reconstructing polygons from input original model shape information, maintaining the original model shape characteristics, and simultaneously reducing the number of polygons in the original model. It is an object to provide a recorded recording medium.
[0007]
[Means for Solving the Problems]
In the polygon processing method of reducing the number of polygons of the original model by a programmed computer, the above object is achieved by matching the vertices of the polygons of the original model on lattice points arranged at predetermined intervals. And generating an edge when the normal formed by two adjacent polygons sharing one edge is larger than a predetermined value in the first model. Deleting the edge if it is less than or equal to the value;
Forming a pair edge by pairing two edges sharing one end of the extracted edges, recombining a plurality of pair edges sharing one edge of the pair edges, and reconstructing a polygon; A polygon processing method including a step of determining whether or not the reconstructed polygon exists and a direction of a normal line of the polygon with reference to polygon data of the original model, and a record in which the program is recorded This is accomplished by providing a medium.
[0008]
According to the present invention, when an angle formed by normal lines of two adjacent polygons sharing one edge is larger than a predetermined value, the edge is extracted, and one end of the extracted edges is shared. Two edges are paired to form a paired edge, and a polygon is reconstructed by combining multiple paired edges that share one of the paired edges, so the original model consisting of a large number of polygons It is converted into a model with a small number of polygons while maintaining it.
[0009]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an example of an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a configuration example of hardware in which a polygon processing method according to an embodiment of the present invention is executed. The memory 102 stores polygon data of the original model to be input, model edge data and pair edge data generated in the process, polygon list to be output data of the present embodiment, and a polygon processing program. The
[0010]
The CPU 100 accesses the memory 102 via the bus 101, executes processing according to the polygon processing program on the polygon data of the input model, reduces the number of polygons of the input model, and generates a polygon list as output data.
[0011]
FIG. 2 is a flowchart of the polygon processing method according to the embodiment of the present invention. The overall flow of the polygon processing method will be described with reference to FIG. Since the polygon processing method according to the embodiment of the present invention is executed by a computer, first, polygon data of an original model to be reduced in number of polygons is input to the computer (S11).
[0012]
Next, in order to delete a polygon that is not necessary for constructing the model shape, a polygon clean-up process is performed (S12). This process includes a process of moving the vertex of the polygon onto a minute grid point designated in advance, a process of deleting the data of the vertex matched on the grid point, and the like.
[0013]
Next, edge extraction processing is performed (S13). This process is to extract the edge whose normal between adjacent polygons is greater than the value specified by the user as the edge necessary for maintaining the shape of the model. The angle between the normals of adjacent polygons is specified. Edges below the specified value are deleted. In this step, only the edge is extracted, and the polygon is not yet constructed.
[0014]
Next, polygon construction processing is performed (S14). This process is a process of reconstructing a polygon by combining two extracted edges that share one end point into a pair edge and combining a plurality of paired edges that share one edge. In addition, this processing includes processing for determining whether or not the reconstructed polygon exists and the direction of the normal line that distinguishes the front and back of the polygon.
[0015]
Next, polygon data is output (S15). In the present embodiment, the polygons are reduced while maintaining the shape characteristics of the original model according to the parameters specified by the user, and the vertex coordinate data of the polygons are output.
[0016]
FIG. 3 is an explanatory diagram showing the process of the polygon processing method according to the present embodiment. A description will now be given of how an original model composed of a large number of polygons is converted into a model composed of a small number of polygons.
[0017]
FIG. 3A is an example of the original model. This original model is composed of triangular polygons A, B, C, etc., and the total number of polygons is 30, for example. The triangular polygon is composed of three control points that are vertices. For example, polygon A has control points 1, 2, and 3, and polygon B has control points 2, 4, and 5.
[0018]
When the polygon data of the original model is input to the computer (S11 in FIG. 2), the polygon cleanup process (S12) is performed, the approaching control points are integrated, and the minute polygon is deleted. . For example, the approaching control points 3, 5, and 7 in FIG. 3A are integrated into the control point 3, and the minute polygon composed of the control points 2, 3, and 5 is deleted.
[0019]
Next, an edge extraction process (S13) is performed. As described above, the edge extraction processing is processing for extracting an edge having an angle between normals of adjacent polygons that is equal to or greater than a value designated by the user as an edge necessary for maintaining the shape of the model. For example, the polygon F composed of control points 1, 8, and 9 and the polygon G composed of control points 8, 9, and 10 in FIG. ing. Therefore, when the angle formed between the normal line of the polygon F and the normal line of the polygon G is equal to or less than the value specified by the user, the edges having the control points 8 and 9 at both ends are deleted.
[0020]
FIG. 3B shows a case where 12 edges are extracted by performing edge extraction processing on the original model. As will be described later, this process includes a process in which two edges that share one control point and are substantially linear are turned into one edge. Therefore, the edge EA having both ends of the control points 1 and 2 and the edge EB having both ends of the control points 2 and 3 are extracted from the original model. K, L, etc. are the numbers of polygons adjacent to the edge.
[0021]
FIG. 3 (3) is a diagram showing a process of reconstructing a polygon from the extracted edge (S14). Polygon reconstruction is processing in which two edges sharing an end point are paired edges, and a plurality of paired edges are combined to form a plane. For example, an edge having control points 4 and 1 as both ends and an edge having control points 1 and 2 as both ends are combined to form a pair edge PA, and an edge having control points 1 and 2 as both ends and control points 2 and 3 are both ends. The edges are combined to form a pair edge PB. Similarly, paired edges PC and PD are formed, and four paired edges PA, PB, PC, and PD are combined to form one polygon. It should be noted that 24 pairs of edge pairs are formed from the 12 edges shown in FIG.
[0022]
FIG. 3 (4) shows a case where a model having 6 polygons is reconstructed by the polygon construction process. As described above, in this embodiment, the original model composed of a large number of polygons shown in FIG. 3A is converted into a model having a small number of polygons while maintaining the shape characteristics.
[0023]
FIG. 4 shows a configuration example of polygon data of a model to be processed by the polygon processing method of the present embodiment. In the polygon processing method of the present embodiment, the polygon data of the original model that is input and the polygon data of the model that is output have the same configuration. However, the polygon processing method of the present embodiment reduces data such as the number of polygons and the number of control points of the original model while maintaining the shape characteristics of the original model. The data configuration in FIG. 4 shows a case where the model is configured with triangular polygons.
[0024]
The number of polygons in FIG. 4 (1) is the total number of polygons constituting the model. In the case of the original model in FIG. 3 (1), the total number of polygons A, B, C, etc. is 30, for example. Further, the number of control points for each polygon in FIG. 4B is the number of vertices constituting the polygon, and is 3 when the model is composed of triangular polygons.
[0025]
The control point number for each polygon in FIG. 4 (3) is the vertex number of the triangular polygon. In the case of the original model in FIG. 3 (1), the control points for polygon A are 1, 2, and 3. The control points of B are 2, 4, and 5. Also, the number of all control points in FIG. 4 (4) is the total number of control points constituting the model. In the case of the original model in FIG. 3 (1), the total number of control points 1, 2, 3, etc. 25.
[0026]
The coordinate data of the control point in FIG. 4 (5) is the X, Y, Z coordinate of the control point in the world coordinates provided in the game space. For example, the coordinate data of the control point 1 is (X1, Y1, Z1). The coordinate data of the control point 2 is (X2, Y2, Z2). Also, the normal vector for each polygon in FIG. 4 (6) is a polygon normal vector obtained from the polygon control point, and is used for distinguishing the front and back of the polygon.
[0027]
FIG. 5 shows a configuration example of model edge data. The edge data is generated from the control point data of the model as necessary, and is used in edge extraction processing or the like. The number of edges in FIG. 5 (1) is the total number of edges in the model, which is 12 in the case of the model in FIG. 3 (2). In addition, the numbers of the control points at both ends of the edge in FIG. 5B are the numbers of the two control points at both ends of the edge. In the model of FIG. And the edge EB has control points 2 and 3.
[0028]
The number of polygons adjacent to the edge in FIG. 5 (3) is 2 in the case of a normal three-dimensional model, but is 1 when there is no adjacent polygon, and 3 when the polygon is in contact with the T shape. It is. The number of the polygon adjacent to the edge in FIG. 5 (4) is the number of two polygons sharing one edge. In the model of FIG. 3 (2), the polygon adjacent to the edge EA is the polygon number. The polygons K and M are adjacent to the edge EB.
[0029]
FIG. 6 shows a data structure of a pair edge of the model. The pair edge data is generated from the extracted edge control point data and used in the process of reconstructing the polygon. The number of paired edges in FIG. 6 (1) is the total number of paired edges that can be configured with the extracted edges. In the case of the model in FIG. 3 (2), the number is 24 that can be combined with 6 edges. 6 (2) is the number of each pair edge. In the case of FIG. 3 (3), the pair edge PA has control points 4, 1, and 2, and the pair edge PB is control point 1, 2 and 3.
[0030]
FIG. 7 is a detailed flowchart of the polygon clean-up process (S12) shown in FIG. The polygon cleanup process is a process of deleting in advance polygons that are not important for maintaining the shape. First, a process of moving control points constituting the polygons onto the grid points is performed (S21).
[0031]
In this case, the grid point interval is specified by the resolution of the display device that displays the model, the amount of data to be reduced, and the like. Further, the control point is moved onto the lattice point by obtaining the product of the integer part of the value obtained by dividing the coordinate data of the control point X coordinate, Y coordinate, and Z coordinate by the lattice interval and the lattice interval. .
[0032]
Next, unnecessary control points are deleted (S22). By moving the control points on the grid points, there are cases where the control points approaching in the original model coincide on the grid points. In that case, the matched control points are integrated into one control point, and the data amount of the control points is reduced.
[0033]
Next, unnecessary polygons are deleted (S23). When the control point moves on the lattice point, the polygon may change to one edge or one control point. In this case, the polygon is deleted to reduce the polygon data amount.
[0034]
FIG. 8 is an explanatory diagram showing the process of polygon cleanup processing. FIG. 8 (1) shows a part of the original model shown in FIG. 3 (1). Polygons A, B, C, D, E and control points 1, 2, 3, 4, 5, 6, 7 FIG. 8 (2) shows a state in which the control points 3, 5, and 7 are arranged in a three-dimensional lattice. Since the control points 5 and 7 are located in the middle of the lattice, the control points 5 and 7 are moved onto the lattice point by the above-described processing.
[0035]
FIG. 8 (3) shows a case where the control point is moved onto the lattice point indicated by the dotted line in step S21 of FIG. However, for convenience of explanation, the lattice is shown in two dimensions. Thus, the approaching control points 3, 5, and 7 move on one grid point. In addition, the polygon D and the polygon E are deleted when the control points 3, 5, and 7 coincide with each other.
[0036]
FIG. 8 (4) shows a state in which unnecessary control points and unnecessary polygons are deleted by the cleanup process. Thus, the original model is a model having polygons A, B, and C and control points 1, 2, 3, 4, and 5, and the amount of data is reduced.
[0037]
FIG. 9 is a detailed flowchart of the edge extraction process (S13) shown in FIG. The edge extraction processing is processing for extracting an edge having an angle formed by normal lines of adjacent polygons that is equal to or greater than a value specified by the user as an edge necessary for maintaining the shape of the model.
[0038]
In this process, first, the angle formed by the normal lines of adjacent polygons is calculated (S31). In this case, the normal is obtained from the control point coordinates of the polygon, and the angle formed by the adjacent polygons is obtained by subtracting the angle formed by each normal from 180 degrees.
[0039]
Next, it is determined whether or not the angle formed by the normal lines of adjacent polygons is greater than a value designated by the user (S32). Since the number of edges to be extracted varies depending on the value specified by the user, the specified value is selected depending on the reproducibility of the feature of the shape of the original model and the degree to which polygon data is reduced. In the present embodiment, the initial value of the specified value is 80 degrees.
[0040]
As a result of the determination, if the angle formed by the normal lines of adjacent polygons is larger than the specified value (Yes), the edge is extracted (S33). This is because when the angle formed by the normal line is larger than the specified value, the angle formed by the adjacent polygon is sharp and its edge is necessary to maintain the shape characteristics of the original model.
[0041]
On the other hand, when the angle formed by the normal lines of adjacent polygons is smaller than the specified value (No), the edge is deleted (S34). This is because when the angle formed by the normal line is smaller than the specified value, the angle formed by the adjacent polygon is an obtuse angle, and the feature of the shape of the original model can be maintained even if the edge is deleted.
[0042]
Next, the angle formed by the edges sharing one control point is calculated from the coordinates of both ends of the edge (S35), and it is determined whether or not the angle formed by the edge is larger than a specified value (S36). When the angle formed by the edge is smaller than the specified value (No), that is, when the angle formed by the two edges is sharp, the control point is extracted in order to maintain the feature of the shape of the original model (S37). .
[0043]
On the other hand, when the angle formed by the edges is larger than the specified value (Yes), that is, when the two edges are substantially aligned on a straight line, the control point is deleted (S38). In this way, two edges arranged substantially on a straight line are replaced with one edge, and the data amount of control points constituting the polygon is further reduced.
[0044]
FIG. 10 is an explanatory diagram of edge extraction processing. FIG. 10 (1) shows a part of the original model shown in FIG. 3 (1). In this case, the polygon F and the polygon G share an edge having the control points 8 and 9 at both ends. In this case, the normal vector VF is obtained from the coordinates of the control points 1, 8, 9 of the polygon F, and the normal vector VG is obtained from the coordinates of the control points 8, 9, 10 of the polygon G.
[0045]
FIG. 10B shows an angle θ formed between the normal vector VF and the normal vector VG. As described in steps S31 to S34 in FIG. 9, when the angle θ is larger than the specified value, the angle (180 ° −θ) formed by the polygon F and the polygon G becomes sharp, and the control points 8 and 9 are set at both ends. Are extracted. On the other hand, when the angle θ is smaller than the specified value, the angle formed by the polygon F and the polygon G (180 ° −θ) is an obtuse angle, and edges having the control points 8 and 9 at both ends are deleted.
[0046]
FIG. 10 (3) shows a case where the edge EP having both ends of the control points 15 and 16 and the edge EQ having both ends of the control points 16 and 17 share the control point 16. As described in steps S35 to S38 in FIG. 9, the control point 16 is deleted when the angle φ formed by the edge EP and the edge EQ is larger than the specified value, and the control point 16 is deleted when the angle φ is smaller than the specified value. Is extracted.
[0047]
FIG. 11 is a detailed flowchart of the polygon construction process (S14) shown in FIG. 2, and FIG. 12 is an explanatory diagram showing the process. The polygon construction process will be described with reference to FIGS.
[0048]
As described above, the edge extracted as necessary for maintaining the shape of the model has the data configuration shown in FIG. 5, and the pair edge formed by two edges has the data configuration shown in FIG. Have
[0049]
In order to construct a polygon, first, an arbitrary pair edge is selected from among the pair edges composed of the extracted edges (S40). A pair edge is a pair of two edges sharing an end point, and FIG. 12A shows a state in which a pair edge PA composed of edges ED and EA is selected.
[0050]
When the pair edge PA is selected, the start control point number 4 and the solution list {PA} are stored in a predetermined register. The start control point number is the number of one control point of the pair edge selected first, and becomes the starting point constituting the polygon. The solution list is a data list of paired edges that are candidates for forming a polygon.
[0051]
Next, another pair edge that shares an edge with the first selected pair edge is selected (S41). FIG. 12 (2) shows a state where the pair edge PB sharing the edge EA of the pair edge PA is selected.
[0052]
Next, the angle formed by the normal lines of the two pairs of edges is examined (S42). The normal of the pair edge is a plane normal composed of three control points of the pair edge. Then, it is determined whether or not the angle formed by the pair edge normal is smaller than the specified value (S43). This is to select a pair edge that can form a polygon as a plane when there are a plurality of other pair edges that share an edge with one pair edge.
[0053]
If the angle formed by the normal line of the pair edge is larger than the specified value (No), the pair edge does not constitute a plane and the process returns to step S41 to select another edge. On the other hand, when the angle formed by the normal of the pair edge is smaller than the specified value (Yes), the pair edge can be an element constituting the polygon, and the pair edge is added to the solution list. Since the pair edge PB in FIG. 12B can be an element constituting a polygon, the solution list is {PA, PB}.
[0054]
Next, another pair edge that shares an edge with the other selected pair edge is selected (S44). FIG. 12 (3) shows a state in which the pair edge PC sharing the edge EB of the pair edge PB is selected. If the angle between the normal of the pair edge PB and the pair edge PC is smaller than the specified value, the pair edge PC is added to the solution list, and the solution list becomes {PA, PB, PC}.
[0055]
In this way, paired edges whose normals are smaller than the specified value are successively combined. This specified value can be specified by the user up to what range is considered as a plane.
[0056]
As described above, when pair edges that share edges are selected one after another in order to form a polygon, the control point of the pair edge may coincide with the control point of the first pair edge (S45). FIG. 12 (3) shows a case where the control point 4 of the pair edge PC coincides with the control point 4 of the first pair edge PA. The coincidence of the control points is detected by referring to the register storing the start control point number 4 described above.
[0057]
In this way, when the paired control points of the paired edges coincide with the start control point number, the polygon reconstruction process is successful. On the other hand, when the control point of the pair edge does not match the start control point number, the polygon reconstruction process has failed.
[0058]
Next, the constructed polygon is compared with the original model to check whether it exists (S46). This is because, in the polygon processing method of the present embodiment, the polygons are reconstructed by extracting the edges of the original model, and thus the reconstructed polygons may not always properly represent the original model. This process is determined based on whether or not a corresponding point of the original model exists in the vicinity of coordinate data such as the center or the center of gravity, for example, included in the configured polygon.
[0059]
Next, polygon data whose existence has been confirmed is added to the polygon list, and the normal direction of the polygon is determined with reference to the original model (S47). The polygon list is data that is output from the polygon processing method of the present embodiment, and has the data structure shown in FIG.
[0060]
Next, a pair edge composed of the edge of the first pair edge and the edge of the last pair edge is selected (S48). FIG. 12 (4) shows a state where the pair edge PD composed of the edge ED of the first pair edge PA and the edge EC of the last pair edge PC is selected. In this case, the solution list is {PA, PB, PC, PD}.
[0061]
Next, the pair edge data used in the polygon construction process is deleted from the pair edge data (S49). That is, from the paired edge data shown in FIG. 6, for example, {PA, PB, PC, PD, PE, PF,...}, The solution list {PA, PB, PC, PD used in the polygon reconstruction process is used. } Data is deleted and the next polygon is reconstructed.
[0062]
As described above, in the polygon processing method according to the present embodiment, an edge whose normal line between adjacent polygons of the original model has a specified value or more is extracted, a pair edge is formed from the edge, and the pair edge is combined to form a polygon. To rebuild. For this reason, it is possible to reduce the amount of model data while maintaining the characteristics of the shape of the original model.
[0063]
Although the present embodiment has been specifically described above, the embodiment does not limit the technical scope of the present invention.
[0064]
【The invention's effect】
As described above, the present invention extracts an edge when the angle formed by the normal lines of two adjacent polygons sharing one edge is larger than a predetermined value, and one end of the extracted edges. A pair edge is formed by pairing two edges sharing the same, and a polygon is reconstructed by combining a plurality of pair edges sharing one edge among the pair edges. Therefore, an original model composed of a large number of polygons can be converted into a model having a small number of polygons while maintaining the shape characteristics.
[Brief description of the drawings]
FIG. 1 is a configuration example of hardware in which a polygon processing method according to an embodiment of the present invention is executed.
FIG. 2 is a flowchart of a polygon processing method according to the embodiment of the present invention.
FIG. 3 is an explanatory diagram of a polygon processing method according to the embodiment of this invention.
FIG. 4 is a data structure of a polygon.
FIG. 5 is a data structure of an edge.
FIG. 6 is a data structure of a pair edge.
FIG. 7 is a flowchart of polygon cleanup processing;
FIG. 8 is an explanatory diagram of polygon cleanup processing;
FIG. 9 is a flowchart of edge extraction processing;
FIG. 10 is an explanatory diagram of edge extraction processing;
FIG. 11 is a flowchart of a polygon construction process.
FIG. 12 is an explanatory diagram of polygon construction processing;
[Explanation of symbols]
100 CPU
101 bus
102 memory
1, 2, ... Control point
A, B ... Polygon
EA, EB ... Edge
PA, PB ... Pair edge

Claims (7)

プログラムされたコンピュータによってオリジナルモデルのポリゴン数を削減するポリゴン処理方法において、
該オリジナルモデルのポリゴンの頂点を、所定の間隔で並んだ格子点上に一致させて第1のモデルを生成する第1の工程と、
第1のモデルに対して、1つのエッジを共有して隣接する2つのポリゴンの法線の成す角度が所定の値より大きい場合に、該エッジを抽出する第2の工程と、
抽出されたエッジのうち、1端を共有する2つのエッジをペアにしてペアエッジを構成し、該ペアエッジのうち一方のエッジを共有する複数のペアエッジを組み合わせてポリゴンを再構築する第3の工程と、
再構築したポリゴンの存在の可否及び該ポリゴンの法線の向きを、前記オリジナルモデルのポリゴンデータを参照して決定する第4の工程を含み、
前記第3の工程は、前記一方のエッジを共有する2つのペアエッジのうち、それぞれのペアエッジの法線の成す角度が所定の値より小さいペアエッジを組み合わせる工程を含むことを特徴とするポリゴン処理方法。
In a polygon processing method for reducing the number of polygons of an original model by a programmed computer,
A first step of generating a first model by matching the vertices of polygons of the original model on lattice points arranged at predetermined intervals;
A second step of extracting an edge when a normal formed by two adjacent polygons sharing one edge is larger than a predetermined value with respect to the first model;
A third step of constructing a pair edge by pairing two edges sharing one end among the extracted edges, and reconstructing a polygon by combining a plurality of pair edges sharing one edge of the pair edges; ,
The normal orientation of the availability and the polygon of the existence of polygons reconstructed, a fourth step of determining with reference to the polygon data of the original model seen including,
The polygon processing method, wherein the third step includes a step of combining pair edges whose angles formed by normals of the pair edges are smaller than a predetermined value among the two pair edges sharing the one edge .
請求項1において、前記第1の工程は、前記オリジナルモデルのポリゴンの頂点の座標データを、前記格子点の間隔で割った値を求め、該値の整数部分と格子点の間隔との積を前記第1のモデルの座標データとする工程を含むことを特徴とするポリゴン処理方法。  In Claim 1, said 1st process calculates | requires the value which divided | segmented the coordinate data of the vertex of the polygon of the said original model by the space | interval of the said grid point, and calculated the product of the integer part of this value, and the space | interval of a grid point. A polygon processing method comprising a step of setting the coordinate data of the first model. 請求項1において、前記第2の工程は、抽出したエッジに対して、1つの端点を共有する2つのエッジの成す角度が所定の値より大きい場合に、該端点を削除する工程を含むことを特徴とするポリゴン処理方法。  2. The method according to claim 1, wherein the second step includes a step of deleting an end point when an angle formed by two edges sharing one end point is larger than a predetermined value with respect to the extracted edge. Characteristic polygon processing method. 請求項1において、前記オリジナルモデルは、NURBS曲線を用いて生成されたポリゴンモデルであることを特徴とするポリゴン処理方法。  2. The polygon processing method according to claim 1, wherein the original model is a polygon model generated using a NURBS curve. 請求項1乃至に記載したポリゴン処理方法により生成したポリゴンデータを記録した記録媒体。Recording medium recording polygon data generated by the polygon processing method according to claim 1 to 4. 請求項1乃至に記載したポリゴン処理方法により生成したポリゴンデータを用いたゲームプログラムを記録した記録媒体。Recording medium having a game program using the polygon data generated by the polygon processing method according to claim 1 to 4. コンピュータによってオリジナルモデルのポリゴン数を削減するためのプログラムを記録した記録媒体において、
該オリジナルモデルのポリゴンの頂点を、所定の間隔で並んだ格子点上に一致させて第1のモデルを生成する第1の工程と
第1のモデルに対して、1つのエッジを共有して隣接する2つのポリゴンの法線の成す角度が、所定の値より大きい場合に該エッジを抽出する第2の工程と
抽出されたエッジのうち1端を共有する2つのエッジをペアにしてペアエッジを構成し、該ペアエッジのうち一方のエッジを共有する複数のペアエッジを組み合わせてポリゴンを再構築する第3の工程と
再構築したポリゴンの存在の可否及び該ポリゴンの法線の向きを、前記オリジナルモデルのポリゴンデータを参照して決定する第4の工程とをコンピュータに実行させ、
前記第3の工程では、前記一方のエッジを共有する2つのペアエッジのうち、それぞれのペアエッジの法線の成す角度が所定の値より小さいペアエッジを組み合わせてポリゴンを再構築することを特徴とするポリゴン処理プログラムを記録した記録媒体。
In a recording medium recording a program for reducing the number of polygons of the original model by a computer,
A first step of generating a first model by matching the vertices of polygons of the original model on lattice points arranged at predetermined intervals;
A second step of extracting an edge when the normal formed by two adjacent polygons sharing one edge is larger than a predetermined value with respect to the first model;
A third step of pairing two edges sharing one end of the extracted edges to form a pair edge and combining a plurality of pair edges sharing one edge of the pair edges to reconstruct a polygon;
Causing the computer to execute a fourth step of determining whether or not the reconstructed polygon exists and the normal direction of the polygon with reference to the polygon data of the original model ;
In the third step, among the two pair edges sharing the one edge, a polygon is reconstructed by combining pair edges whose normals of the pair edges are smaller than a predetermined value. A recording medium on which a processing program is recorded.
JP22328398A 1998-08-06 1998-08-06 Polygon processing method and recording medium recording polygon processing program Expired - Fee Related JP4182565B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22328398A JP4182565B2 (en) 1998-08-06 1998-08-06 Polygon processing method and recording medium recording polygon processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22328398A JP4182565B2 (en) 1998-08-06 1998-08-06 Polygon processing method and recording medium recording polygon processing program

Publications (2)

Publication Number Publication Date
JP2000057368A JP2000057368A (en) 2000-02-25
JP4182565B2 true JP4182565B2 (en) 2008-11-19

Family

ID=16795711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22328398A Expired - Fee Related JP4182565B2 (en) 1998-08-06 1998-08-06 Polygon processing method and recording medium recording polygon processing program

Country Status (1)

Country Link
JP (1) JP4182565B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3979162B2 (en) 2002-04-22 2007-09-19 ソニー株式会社 Image processing apparatus and method
JP5062080B2 (en) * 2008-07-22 2012-10-31 富士通株式会社 Apparatus and method for generating three-dimensional model data
JP4733757B2 (en) 2009-06-05 2011-07-27 株式会社スクウェア・エニックス Polygon processing apparatus, program, and information recording medium

Also Published As

Publication number Publication date
JP2000057368A (en) 2000-02-25

Similar Documents

Publication Publication Date Title
Gregson et al. All‐hex mesh generation via volumetric polycube deformation
CN104346769B (en) The compression of three-dimensional modeling object
Stanculescu et al. Freestyle: Sculpting meshes with self-adaptive topology
US20060028466A1 (en) Mesh editing with gradient field manipulation and user interactive tools for object merging
EP1808814B1 (en) Wrap deformation using subdivision surfaces
CN107578467B (en) Three-dimensional modeling method and device for medical instrument
KR20080018404A (en) Computer readable recording medium having background making program for making game
US20180276870A1 (en) System and method for mass-animating characters in animated sequences
CN112102480B (en) Image data processing method, apparatus, device and medium
Ripolles et al. Real-time tessellation of terrain on graphics hardware
JP4182565B2 (en) Polygon processing method and recording medium recording polygon processing program
Yuan et al. Simplified and tessellated mesh for realtime high quality rendering
JP3350473B2 (en) Three-dimensional graphics drawing apparatus and method for performing occlusion culling
Ryder et al. Survey of real‐time rendering techniques for crowds
CN109983509B (en) Instant Boolean operation method using geometric surface
CN106716500A (en) Program, information processing device, depth definition method, and recording medium
JP3605317B2 (en) Image drawing method, image drawing apparatus, and recording medium
KR101919085B1 (en) Apparatus and method for simplification of 3D mesh data
JP2003228725A (en) 3d image processing system
CN106846489B (en) A method of obj file is handled based on vtk
CN111729322A (en) Model stroke processing method and device, computer equipment and readable storage medium
Guennebaud et al. Dynamic surfel set refinement for high-quality rendering
Jiang et al. GPU-Driven Real-Time Mesh Contour Vectorization.
JP3711273B2 (en) 3D graphics drawing device for occlusion culling
CN116402989B (en) Data processing method, device, equipment and medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080603

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080714

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: 20080812

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: 20080825

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

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees