JPH11306392A - 近似ポリゴン表面スムース化方法 - Google Patents
近似ポリゴン表面スムース化方法Info
- Publication number
- JPH11306392A JPH11306392A JP10107482A JP10748298A JPH11306392A JP H11306392 A JPH11306392 A JP H11306392A JP 10107482 A JP10107482 A JP 10107482A JP 10748298 A JP10748298 A JP 10748298A JP H11306392 A JPH11306392 A JP H11306392A
- Authority
- JP
- Japan
- Prior art keywords
- vertex
- normal vector
- original
- vertices
- triangles
- 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.)
- Granted
Links
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
する複数の元の三角形を細分化する方法であって、細分
化に先立ち、その細分化により発生させるべき複数の三
角形の複数の頂点であって元の三角形にはない新規頂点
を、その元の三角形の各辺の両端における2つの頂点の
各々における法線ベクトルである2つの頂点法線ベクト
ルに基づき、その辺上にではなく、その辺が近似すべき
曲線要素上に発生させる方法において、頂点法線ベクト
ルを容易にかつ精度よく決定する。 【解決手段】複数の元の三角形のうち各頂点(120) を共
有するもの(122,124,126,128,130)を抽出し、その抽出
した各元の三角形の3つの頂点に基づいて各元の三角形
の面に対する法線ベクトル(132,134,136,138,140) を取
得し、その取得した複数の法線ベクトルに基づいて頂点
法線ベクトル(142) を決定する。
Description
ポリゴン化して近似的に表現する複数の元の三角形を細
分化することにより、それら複数の元の三角形の集合に
より形成される近似ポリゴン表面をスムース化する技術
に関するものである。
分化に先立ち、その細分化により発生させるべき複数の
三角形の頂点であって元の三角形にはない新規頂点を、
その元の三角形の各辺の両端における2つの頂点と、そ
れら2つの頂点の各々における法線ベクトルである2つ
の頂点法線ベクトルとに基づき、その辺上にではなく、
その辺が近似すべき曲線要素上に発生させる技術が記載
されている。また、この公報には、頂点法線ベクトルを
決定する方法に関し、『例えば、CT X線断層撮影装
置又はMR装置のような画像補捉測定装置1は、検査さ
れるべき対象物の多数の断層画像又は3次元画像を形成
する。上記画像に基づいて、画像処理装置2は、多数の
三角形によって対象物の面を近似的に表す物体モデルを
形成する。上記三角形の頂点の位置情報と、上記頂点に
おける上記対象物の面に対する法線は、画像メモリ3に
記憶される。』と記載されている。
よび発明の効果】しかし、この公報は、『上記頂点にお
ける上記対象物の面に対する法線』、すなわち、前記頂
点法線ベクトルを決定する方法を具体的に教えてはいな
い。一方、頂点法線ベクトルを利用する近似ポリゴン表
面スムース化方法においては、頂点法線ベクトルが、容
易に決定できるとともに、真のもの、すなわち、与えら
れた曲面に対する法線ベクトルであって頂点を通過する
ものにできる限り一致するように精度よく決定できるこ
とが望ましい。
法線ベクトルを容易にかつ精度よく決定することによ
り、与えられた曲面を容易にかつ精度よく再現し得る近
似ポリゴン表面スムース化方法を提供することを課題と
してなされたものである。
なお、以下の説明において、本発明の各態様を、それぞ
れに項番号を付して請求項と同じ形式で記載する。各項
に記載の特徴を組み合わせて採用することの可能性を明
示するためである。
的に表現する複数の元の三角形を細分化することによ
り、それら複数の元の三角形の集合により形成される近
似ポリゴン表面をスムース化する方法であって、細分化
に先立ち、その細分化により発生させるべき複数の三角
形の複数の頂点であって元の三角形にはない新規頂点
を、その元の三角形の各辺の両端における2つの頂点
と、それら2つの頂点の各々における法線ベクトルであ
る2つの頂点法線ベクトルとに基づき、その辺上にでは
なく、その辺が近似すべき曲線要素上に発生させる近似
ポリゴン表面スムース化方法において、前記2つの頂点
の各々につき、前記複数の元の三角形のうちそれら各頂
点を共有するものを抽出し、その抽出した複数の元の三
角形に関し、元の三角形の3つの頂点に基づいてその元
の三角形の面に対する法線ベクトルを複数の面法線ベク
トルとして取得し、その取得した複数の面法線ベクトル
に基づいて前記頂点法線ベクトルを、前記2つの頂点に
ついてそれぞれ決定し、その決定した2つの頂点法線ベ
クトルと前記2つの頂点とに基づいて前記曲線要素を取
得し、その取得した曲線要素上に前記新規頂点を発生さ
せる新規頂点発生工程を設けたことを特徴とする近似ポ
リゴン表面スムース化方法〔請求項1〕。本発明者ら
は、元の三角形の3つの頂点の位置が分かれば元の三角
形の面に対する法線ベクトルである面法線ベクトルを取
得でき、また、同じ頂点を共有する複数の元の三角形に
ついて面法線ベクトルが分かれば頂点法線ベクトルを決
定できることに気がついた。また、面法線ベクトルは、
与えられた曲面のうち元の三角形が近似すべき曲面要素
に対する代表的な法線ベクトルと十分に一致すると考え
られるため、面法線ベクトルを用いて頂点法線ベクトル
を決定することは、結果的に曲面要素に対する法線ベク
トルであってその頂点を通過するものを考慮して頂点法
線ベクトルが決定されることになることにも気がつい
た。以上の知見に基づき、本項に記載の方法において
は、同じ頂点を共有する複数の元の三角形に関し、元の
三角形の3つの頂点に基づいてその元の三角形の面法線
ベクトルが取得され、それら複数の元の三角形について
取得された複数の面法線ベクトルに基づいてその頂点に
おける頂点法線ベクトルが決定される。したがって、こ
の方法によれば、頂点法線ベクトルを容易にかつ精度よ
く決定でき、その結果、与えられた曲面を容易にかつ精
度よく再現できる。 (2) 前記新規頂点発生工程が、前記取得した複数の面法
線ベクトルに基づいて前記頂点法線ベクトルを決定する
際に、各面法線ベクトルの影響を頂点法線ベクトルに、
各面法線ベクトルに対応する前記元の三角形の前記共有
頂点における角度が大きいほど強く及ぼさせる工程を含
む(1) 項に記載の近似ポリゴン表面スムース化方法〔請
求項2〕。この方法においては、各面法線ベクトルの影
響が、決定すべき頂点法線ベクトルに、同じ頂点を共有
する複数の元の三角形の間で常に互いに等しい強さで及
ぼされるのではなく、その共有頂点の角度が大きい三角
形ほど、その三角形に対応する面法線ベクトルの影響
が、決定すべき頂点法線ベクトルに強く及ぼされる。し
たがって、この方法によれば、頂点法線ベクトルを真の
もの、すなわち、与えられた曲面に対する法線ベクトル
であって頂点を通過するものにより近いものとして決定
できる。 (3) 前記新規頂点発生工程が、前記複数の面法線ベクト
ルに基づいて前記複数の元の三角形について前記複数の
頂点法線ベクトルを決定した後に、その決定した複数の
頂点法線ベクトルの各々を、それの近傍に位置する他の
複数の頂点法線ベクトルに基づいて修正する工程を含む
(1) または(2) 項に記載の近似ポリゴン表面スムース化
方法。この方法によれば、近傍の頂点法線ベクトルを全
く考慮しないで頂点法線ベクトルを決定する場合に比較
して、互いに近接する複数の頂点法線ベクトルが向きが
互いにより連続性を有するように決定できる。 (4) 前記新規頂点発生工程が、前記複数の元の三角形の
各辺が互いに接続されることによって構成される複数の
構成線の少なくとも一つを特徴線として抽出し、前記頂
点法線ベクトルを決定すべき頂点がその抽出した特徴線
上にない場合には、その頂点を共有するすべての元の三
角形の面法線ベクトルに基づいて前記頂点法線ベクトル
を決定し、一方、その抽出した特徴線上にある場合に
は、その特徴線の一側に位置する少なくとも一つの元の
三角形の面法線ベクトルに基づいて第1の頂点法線ベク
トル、他側に位置する少なくとも一つの元の三角形の面
法線ベクトルに基づいて第2の頂点法線ベクトルをそれ
ぞれ決定する工程を含む(1)ないし(3) 項のいずれかに
記載の近似ポリゴン表面スムース化方法〔請求項3〕。
与えられた曲面においてある線を境界とする2部分の面
の向きが互いに大きく異なる場合、その境界上の頂点に
おける頂点法線ベクトルを、境界の両側に位置する複数
の面法線ベクトルに基づいて決定すると、最終的に、そ
れら2部分の面間の角度が小さくなるように近似ポリゴ
ン表面のスムース化が行われてしまう。このような事態
を容認したのでは、近似ポリゴン表面の再現性を低下さ
せることになる。これに対して、本項に記載の方法にお
いては、境界上の頂点については、境界の一側と他側と
で互いに独立して頂点法線ベクトルがそれぞれ決定され
る。したがって、この方法によれば、曲面のうち2部分
の面の向きが互いに大きく異なる部分についても、頂点
法線ベクトルを適正に決定できる。 (5) 前記工程が、前記複数の元の三角形のうち同じ辺を
共有する2つの元の三角形を抽出し、その抽出した2つ
の元の三角形がその共有辺において接続される角度が基
準値より小さい場合には、その共有辺を前記特徴線とし
て抽出する一方、基準値以上である場合には、抽出しな
い工程を含む(4) 項に記載の近似ポリゴン表面スムース
化方法。この方法において「特徴線の抽出」は、作業者
により行っても、コンピュータにより行ってもよい。 (6) 前記新規頂点発生工程が、(a) 取得すべき前記曲線
要素に対応する前記辺に対して、それの両端点の一方で
ある第1端点を始点、他方である第2端点を終点とする
第1関数と、第2端点を始点、第1端点を終点とする第
2関数とを定義し、(b) 第1関数と、第1端点における
前記頂点法線ベクトルである第1頂点法線ベクトルとの
積を第1端点から辺上の任意点まで積分した値を、第1
関数の下で前記辺に対応する第1曲線要素を取得するた
めに辺上の任意点を移動させる向きと量とを表す第1移
動ベクトルとし、(c) 第2関数と、第2端点における前
記頂点法線ベクトルである第2頂点法線ベクトルとの積
を第2端点から辺上の任意点まで積分した値を、第2関
数の下で前記辺に対応する第2曲線要素を取得するため
に辺上の任意点を移動させる向きと量とを表す第2移動
ベクトルとし、(d) それら第1および第2移動ベクトル
の和として、前記辺に対応する最終曲線要素を取得する
工程であって、前記各関数が、 前記辺上を始点から終点まで移動するにつれて0か
ら辺の長さLまで変化する変数tを有し、 変数tに関して0から辺の長さLまで積分した値が
0となり、 変数tが0のときに値h、変数tが辺の長さの半値
L/2のときに大きさが値hの半分であって符号が値h
とは逆である値−h/2、変数tが辺の長さLのときに
0となり、 前記値hが、前記最終曲線要素が第1および第2端
点において前記第1および第2頂点法線ベクトルとそれ
ぞれ直交するように設定されている工程を含む(1) ない
し(5) 項のいずれかに記載の近似ポリゴン表面スムース
化方法〔請求項4〕。この方法によれば、曲線要素を、
その形状の種類を問わず、同じ種類の関数によって表現
でき、よって、曲線要素の形状の種類に対して汎用性が
高い近似ポリゴン表面スムース化方法が得られる。 (7) 前記各関数が、横軸に前記変数t、縦軸に前記関数
の値が取られた座標面において、変数tが0であり、か
つ、関数値が前記値hである点と、変数tが前記半値L
/2であり、かつ、関数値が前記値−h/2である点
と、変数tが前記長さLであり、かつ、関数値が0であ
る点とを相互に1本の直線でつないだグラフで表される
関係を定義するものである(6) 項に記載の近似ポリゴン
表面スムース化方法。この方法によれば、前項の記載の
関数として使い勝手のよいものを使用できる。 (8) 前記新規頂点発生工程が、前記細分化に先立ち、前
記元の三角形の各辺とそれに対応する前記曲線要素との
隔たりが基準値より大きい場合には、その辺に関して前
記新規頂点を発生させる一方、基準値以下である場合に
は、発生させない工程を含む(1) ないし(7) 項のいずれ
かに記載の近似ポリゴン表面スムース化方法〔請求項
5〕。この方法においては、複数の元の三角形の複数の
辺のうち、辺の細分化(新規頂点の発生)が必要でない
ものについては辺の細分化が省略される。したがって、
この方法によれば、無駄な辺の細分化を回避できる。こ
の方法において「元の三角形」は、細分化の対象となる
三角形を意味する。よって、「元の三角形」は、最初の
細分化に際しては最初の三角形を意味し、再度の細分化
に際してはその細分化の直前に存在する三角形を意味す
ることとなる。 (9) 前記新規頂点発生工程が、前記細分化に先立ち、前
記曲面のうち作業者により指定された領域内において
は、前記元の三角形の各辺とそれに対応する前記曲線要
素との隔たりが第1基準値より大きい場合には、その辺
に関して前記新規頂点を発生させる一方、第1基準値以
下である場合には、発生させず、指定された領域外にお
いては、前記隔たりが第2基準値より大きいか否かを問
わず、すべの前記辺に関して前記新規頂点を発生させる
工程を含む(1) ないし(7) 項のいずれかに記載の近似ポ
リゴン表面スムース化方法。この方法によれば、例え
ば、第1基準値を第2基準値より小さく設定し、それに
より、指定領域の内側において外側におけるより細かな
辺の細分化を行おうとする場合に、指定領域内におい
て、細かな辺の細分化が無駄に行われてしまうことを回
避できる。 (10)前記新規頂点発生工程が、前記細分化を、前記曲面
のうち作業者により指定された領域内においてのみ行う
工程を含む(1) ないし(7) 項のいずれかに記載の近似ポ
リゴン表面スムース化方法。 (11)(1) ないし(10)項のいずれかに記載の近似ポリゴン
表面スムース化方法を実施するためにコンピュータによ
り実行されるプログラムを記録したことを特徴とするコ
ンピュータ読み取り可能な記録媒体〔請求項6〕。ここ
における「記録媒体」には例えば、フロッピーディス
ク,磁気テープ,磁気ディスク,磁気ドラム,磁気カー
ド,光ディスク,光磁気ディスク,ROM,CD−RO
M,ICカード,穿孔テープ等がある。
形態である近似ポリゴン表面スムース化方法を図面に基
づいて詳細に説明する。
は、本実施形態を実施するのに使用されるデータ処理シ
ステムが示されている。このシステムにおいては、コン
ピュータ10に入力装置12,出力装置14,表示装置
16および外部記憶装置18が接続されている。コンピ
ュータ10は、プロセッサ20およびメモリ22を備え
ている。入力装置12は、キーボード,マウス,デジタ
イザ等により構成される。出力装置14は、プリンタ,
プロッタ等により構成される。表示装置16は、CR
T,液晶ディスプレイ等により構成される。外部記憶装
置18は、可搬な記録媒体24に対してデータの読み込
みと書き込みとを行う部分を含むように構成される。記
録媒体24には、コンピュータ10により実行されるア
プリケーションプログラムとしての近似ポリゴン表面ス
ムース化プログラム(以下、単に「スムース化プログラ
ム」という)が記録されるとともに、そのスムース化プ
ログラムが実行される対象としてのSTL(ステレオリ
ソグラフィ)データが記録されている。
べき3次元モデルの形状を表現するための標準的なデー
タとして知られている。STLデータは、与えられた曲
面を複数の三角形の集合により近似的に表現するデータ
であり、各々三角形に関する情報を表す複数の三角形デ
ータを含んでいる。各三角形データは、属性として、 三角形の番号である三角形番号を表すデータと、 三角形の3辺の各々の番号である辺番号を表すデータ
と、 各辺の両端点の座標値である端点座標値を表すデータ
と、 それら三角形番号,辺番号および端点座標値間の関連
を表すデータと を有している。ただし、STLデータは、各三角形とそ
れが隣接する他の三角形との関係である隣接関係を直接
に規定する隣接関係規定データを有してはいない。
した後、近似ポリゴン表面スムース化の実行指令を入力
するとともに、その実行対象であるSTLデータを指定
する。それに応じて、外部記憶装置18が記録媒体24
から、上記スムース化プログラムとSTLデータとを読
み出してメモリ22にストアする。その後、プロセッサ
20はスムース化プログラムをメモリ22から読み出し
てSTLデータを対象として実行する。
ず、図2のステップS1(以下、単に「S1」で表す。
他のステップについても同じ)において、STLデータ
に上記隣接関係規定データが付加される。具体的には、
まず、複数の元の三角形の各々がそれの三角形番号に従
って順に対象三角形とされ、次に、その対象三角形がそ
れの各辺において隣接する他の元の三角形である隣接三
角形が求められ、続いて、対象三角形の各辺の辺番号
と、隣接三角形の三角形番号と、その隣接三角形の3辺
のうち対象三角形と共有する共有辺の辺番号とが互いに
関連付けられたデータが隣接関係規定データとしてメモ
リ22にストアされる。隣接関係規定データの付加によ
ってSTLデータの構造が変化する様子を概念的に可視
化して説明すれば、隣接関係規定データの付加前は、図
3の(a) に示すように、複数の三角形データが直接には
互いに関連付けられずにばらばらに存在していたが、隣
接関係規定データの付加後は、同図の(b) に示すよう
に、複数の三角形データが直接に互いに関連付けられる
ことになる。
複数の辺の中から、STLデータにより表現すべき曲面
の形状を特徴付けるものが特徴線として抽出される。具
体的には、同じ辺において互いに接続される2つの元の
三角形の面が成す角度が基準値より小さい場合に、その
辺が特徴線として抽出される。図4の例では、辺100
において互いに接続される2つの元の三角形102,1
04の接続角度が基準値より小さいため、辺100が特
徴線として抽出される。同様にして、辺106において
互いに接続される2つの元の三角形108,110の接
続角度が基準値より小さいため、辺106が特徴線とし
て抽出される。結局、この例においては、2本の閉じた
太い実線で示す複数の辺が特徴線として抽出される。な
お、2つの元の三角形の接続角度は、それら2つの元の
三角形の内側における角度として定義でき、また、その
場合、基準値を100〜120度に設定できる。
の複数の頂点の各々について頂点法線ベクトルが決定さ
れる。このステップの詳細が図5に頂点法線ベクトル決
定ルーチンとしてフローチャートで表されている。
いて、複数の元の三角形の複数の頂点の各々が順に対象
頂点に決定され、次に、S12において、複数の元の三
角形の中から、その決定された対象頂点を共有する複数
の元の三角形が抽出される。続いて、S13において、
抽出された複数の元の三角形の各々の3つの頂点の位置
データがメモリ22から読み込まれ、その読み込まれた
位置データに基づき、その複数の元の三角形の各々の面
に対する法線ベクトルである面法線ベクトルが取得され
る。具体的には、元の三角形の3つの頂点を含む一平面
が取得され、その取得された一平面に直交する単位ベク
トルとして面法線ベクトルが取得される。
が、前記抽出された特徴線上にないか否かが判定され
る。今回はないと仮定すれば、判定がYESとなり、S
15において、その対象頂点について1つの頂点法線ベ
クトルが決定される。具体的には、抽出された複数の元
の三角形に対応する複数の面法線ベクトルの加重平均が
1つの頂点法線ベクトルに決定される。加重平均におけ
る重みは、各面法線ベクトルが対応する元の三角形の3
つの頂点のうち対象頂点と一致するものの角度が大きい
ほど、大きく設定されている。
い場合の一例が示されている。この場合、対象頂点12
0を共有する複数の元の三角形122,124,12
6,128,130の全ての面法線ベクトル132,1
34,136,138,140の加重平均として1つの
頂点法線ベクトル142が決定される。
出された特徴線上にある場合には、S14の判定がNO
となり、S16において、その対象頂点について2つの
頂点法線ベクトル、すなわち、第1および第2頂点法線
ベクトルが決定される。具体的には、対象頂点を共有す
る複数の元の三角形が、その特徴線に関して一側にある
グループと他側にあるグループとに分けられ、各グルー
プ毎に頂点法線ベクトルが、S15におけると同様にし
て決定される。第1頂点法線ベクトルは、特徴線の一側
にある元の三角形のグループ、第2頂点法線ベクトル
は、特徴線の他側にある元の三角形のグループにそれぞ
れ対応して決定される。
る場合の一例が示されている。この場合、特徴線150
上にある対象頂点152に関して、元の三角形154,
156,158が第1グループ、元の三角形160,1
62が第2グループを構成する。そして、第1グループ
に属する3つの元の三角形154,156,158の3
つの面法線ベクトルの加重平均として第1頂点法線ベク
トル164が決定され、一方、第2グループに属する2
つの元の三角形160,162の2つの面法線ベクトル
の加重平均として第2頂点法線ベクトル166が決定さ
れる。
て、全ての頂点について頂点法線ベクトルが決定された
か否かが判定される。今回は、そうではないと仮定すれ
ば、判定がNOとなり、S11に戻り、新たな頂点が対
象頂点に決定されて以下のステップが前記の場合と同様
に実行される。これに対して、全ての頂点について頂点
法線ベクトルが決定されたと仮定すれば、S17の判定
がYESとなり、S18に移行する。
法線ベクトルが順に対象頂点法線ベクトルに決定される
とともに、対象頂点法線ベクトルの向きが、隣接する他
の少なくとも一つの頂点法線ベクトルの向きを考慮して
修正される。隣接する他の少なくとも一つの頂点法線ベ
クトルは、他の複数の頂点法線ベクトルのうち、通過す
る頂点が、対象頂点法線ベクトルが通過する頂点を中心
として半径が設定値である球内に存在するものとして抽
出される。また、隣接する他の少なくとも一つの頂点法
線ベクトルのうち、それが通過する頂点と対象頂点法線
ベクトルが通過する頂点との距離が短いものほど、対象
頂点法線ベクトルに強い影響を及ぼすように修正され
る。このようにすることにより、複数の頂点法線ベクト
ル間で向きの連続性が向上させられることになる。以上
で本ルーチンの一回の実行が終了する。
て、図2のS4において、三角形が細分化される。本ス
テップの詳細が図7に三角形細分化ルーチンとしてフロ
ーチャートで表されている。
の複数の辺が順に対象辺とされるとともに、その対象辺
について山谷関数f(t) が定義される。山谷関数f(t)
は、図8に示すように、下に凸の折れ線のグラフで表さ
れる。図において、「L」は、対象辺の長さを表してお
り、また、「t」は、対象辺上を始点P0 から終点P L
まで移動するにつれて0からLまで変化する変数であ
る。この山谷関数f(t)は、上記長さLと値hとが設定
されれば、唯一に特定される。長さLは、その対象辺の
両端における2つの頂点に基づいて設定される。値hの
設定については後述する。
区間として積分すると、0になるように定義される。ま
た、その山谷関数f(t) と頂点法線ベクトルNとの積を
t=0〜t(0≦t≦L)を積分区間として積分したも
の、すなわち、∫N・f(t) dtは、図9に示すように、
対象辺S上の任意点Pt が、対象辺Sから曲線要素Cに
到達するまでに移動する向きおよび量を示す移動ベクト
ルXt である。その向きはもちろん、頂点法線ベクトル
Nに平行である。図の例においては、Xt1は任意点Pt1
の移動ベクトル、Xt2は任意点Pt2の移動ベクトルを示
している。
1 を始点P0 、第2端点Q2 を終点PL とする第1山谷
関数f1 (t) と、第2端点Q2 を始点P0 、第1端点Q
1 を終点PL とする第2山谷関数f2 (t) とを含んでい
る。図10には、それら第1および第2山谷関数f
1 (t) ,f2 (t) により表される第1および第2曲線要
素C1 ,C2 がそれぞれ示されている。
移動ベクトルXt と、第2山谷関数f2 (t) による第2
移動ベクトルYt との和を対象辺S全体について取得す
れば、第1および第2曲線要素C1 ,C2 の合成が取得
され、これが対象辺Sに対応する最終曲線要素CFNL と
なる。この最終曲線要素CFNL は、対象辺Sの両端点に
おいて各頂点法線ベクトルN1 ,N2 と直交する。図1
1は、変数tの同じ値に関する第1移動ベクトルXt と
第2移動ベクトルYt とのベクトル和が、対象辺S上
の、変数tに対応する任意点Pt を始点として最終曲線
要素CFNL 上に終点を有する移動ベクトルZt を意味す
ることを示している。図には、変数tがt 1 ,t2 ,t
3 であるときの3つの移動ベクトルZt1,Zt2,Zt3が
示されている。
る。値hは、対象辺Sに対応する最終曲線要素CFNL が
その対象辺Sの両端点Q1,Q2 において各頂点法線ベ
クトルN1 ,N2 と直交することとなるように設定され
る。
P(t) とすれば、第1曲線要素C1上の任意点R1tであ
って対象辺S上の任意点Pt に対応するものの位置ベク
トルR1 (t) は、 R1 (t) =P(t) +∫N1 ・f1(t) dt で表される。一方、第2曲線要素C2 上の任意点R2tで
あって対象辺S上の任意点Pt に対応するものの位置ベ
クトルR2 (L-t) は、 R2(L-t)=P(L-t) +∫N2 ・f2(L-t) dt で表される。よって、最終曲線要素CFNL の第1端点Q
1 における位置ベクトルR(0) は、 R1(0)+R2 (L) ={P(0) +∫N1 ・f1(t) dt }+{P(L) +∫N2 ・f2(L-t) dt } =P(0) +N1 ・h1 +P(L) +0 となる。ここで、第1端点Q1 を始点、第2端点Q2 を
終点とするベクトルをUと定義すれば、位置ベクトルR
(0) は、U+N1 ・h1となる。この位置ベクトルR(0)
が0となるように、第1山谷関数f1(t)の値h 1 が設
定される。同様にして、最終曲線要素CFNL の第2端点
Q2 における位置ベクトルR(L)は、 R1(L)+R2 (0) ={P(L) +∫N1 ・f1(t) dt }+{P(0) +∫N2 ・f2(L-t) dt } =P(L) +0+P(0) +N2 ・h2 となる。この位置ベクトルR(L) は結局、 U+N2 ・h2 となる。この位置ベクトルR(L) が0となるように、第
2山谷関数f2(t)の値h 2 が設定される。
素CFNL (以下、単に「曲線要素C」という)上におい
て、対象辺Sの中点PM (t=L/2)に対応する点R
M が取得される。その対応点RM と中点PM との間の移
動ベクトルZM は、上述の説明から明らかなように、 ZM =∫N1 ・f1(L/2) dt +∫N2 ・f2(L/2) dt で表される。図12には、その移動ベクトルZM の一例
が示されている。
の三角形が順に対象三角形とされるとともに、対象三角
形が4つの三角形に細分化される。対象三角形の3つの
頂点と上記S32において取得された3つの対応点RM
とからなる6つの点を相互に複数の直線要素でつなぐこ
とによって複数の三角形に分割されるのである。図13
には、3つの頂点Q1 ,Q2 ,Q3 を有する元の三角形
170が示されるとともに、その元の三角形170が、
3つの頂点Q1 ,Q2 ,Q3 と3つの対応点R M1,
RM2,RM3とからなる6つの点を複数の直線要素に互い
につなぐことにより、4つの新たな三角形172,17
4,176,178に分割される様子が示されている。
なお、図13以後の各図において、「C1 」,
「C2 」,「C3 」はそれぞれ、辺S1 ,S2 ,S3 に
対応する最終曲線要素を示す。
いて取得された複数の対応点、すなわち、細分化のため
に発生させられた新規頂点における頂点法線ベクトルが
決定される。その頂点法線ベクトルは、元の三角形の3
辺のうち、その新規頂点が位置する辺の両端点における
既知の2つの頂点法線ベクトルを平均化して正規化する
(ベクトルの長さを1とする)ことにより、決定され
る。図14に例示するように、新規頂点RM1Z1 につい
ては、それの対応する辺S1 の両端点Q1 ,Q2におけ
る頂点法線ベクトルN1 ,N2 を平均化して正規化した
ベクトル、すなわち、 (N1 +N2 )/|N1 +N2 | が取得される。他の新規頂点RM2,RM3についても同様
である。
細分化を終了させるべきであるか否かが判定される。具
体的には、元の三角形の各辺とそれに対応する曲線要素
との隔たりとして、元の三角形の各辺の中点PM (t=
L/2)に対応する前記移動ベクトルZM の大きさ(以
下、「移動量M」という)が用いられるとともに、元の
三角形の3辺全てについて、その移動量Mが、作業者に
より指定された誤差以下であるか否かが判定される。図
15には、辺S1 と曲線要素C1 との隔たりとして移動
量M1 、辺S2 と曲線要素C2 との隔たりとして移動量
M2 、辺S3 と曲線要素C3 との隔たりとして移動量M
3 が用いられる様子が示されている。
が指定誤差以下である場合には、細分化を終了させるべ
きであると判定される。これに対して、少なくとも一つ
の辺についての移動量Mが指定誤差より大きい場合に
は、細分化を終了させるべきでないと判定される。この
場合には、その後、S36において、細分化された各三
角形が次回に細分化すべき元の三角形に選ばれ、その
後、S31〜S35が前記の場合と同様にして実行され
る。
一回の実行が終了すれば、図13および図14に示す元
の三角形170は、図16に示すように、複数の三角形
に細分化されることになる。
ただし、本実施形態は、先の第1実施形態と対象三角形
を分割する点について異なり、他の点については共通で
あるため、異なる点についてのみ詳細に説明し、共通の
点については同一の符号を使用することによって詳細な
説明を省略する。
辺とそれに対応する曲線要素との隔たりが大きいか否か
を問わず、全ての辺に対応する全ての曲線要素が2分割
されてその分割点が新規頂点として発生させられるよう
になっている。なお、曲線要素を2分割することと各辺
を2分割することとは厳密には一致しないが、曲線要素
が各辺に関連付けて発生させられるものであることに着
目するとともに、元の三角形の各辺との関係を重視する
ため、以下、曲線要素の2分割を各辺の2分割ともい
う。そして、本実施形態においては、隔たりが大きい辺
に限り、2分割が行われるようになっている。
分化ルーチンがフローチャートで表されている。以下、
本ルーチンを説明するが、図7のルーチンと共通するス
テップについては簡単に説明する。
けると同様にして山谷関数f(t) が定義される。次に、
S52において、対象辺Sの中点PM に対応する移動量
Mが取得される。この取得は、第1実施形態におけると
同様にして行われる。その後、S53において、対象三
角形の3辺全てにつき、取得された移動量Mが指定誤差
(基準値)より大きいか否かが判定される。
大きい場合には、判定がYESとなり、S54におい
て、それら3辺がそれぞれ2分割され、それにより、3
辺全てについて3つの新規頂点が発生させられる。その
後、S55において、その発生させられた3つの新規頂
点と対象三角形の3つの頂点とからなる6つの点を複数
の直線要素でつなぐことによって対象三角形が細分化さ
れる。その一例が図18の(a) に示されている。
が指定誤差より大きい場合には、S53の判定はNO、
S56の判定はYESとなり、S57において、その2
辺がそれぞれ2分割され、それにより、その2辺につい
て2つの新規頂点が発生させられる。その後、S56に
おいて、その発生させられた2つの新規頂点と対象三角
形の3つの頂点とからなる5つの点を複数の直線要素で
つなぐことによって対象三角形が細分化される。
は2つ存在する。5つの点を1本の閉じた折れ線でつな
ぐと、1つの五角形が発生し、その五角形を1本の直線
要素で分割すると、1つの三角形と1つの四角形とが発
生する。その四角形を1本の直線要素で2つの三角形に
分割する際に、その分割線に四角形の2本の対角線のい
ずれを選ぶかによって2つの方法が存在するのである。
本実施形態においては、2本の対角線のうち、その四角
形の4つの頂点のうち角度が最大であるものを通過する
対角線が分割線に選ばれるようになっていて、四角形の
分割によって鈍角三角形ができる限り発生しないように
なっている。図18の(b) には、その一例が示されてい
る。
量Mが指定誤差より大きい場合には、S53およびS5
6の判定は共にNOとなり、S59の判定はYESとな
る。その後、S60において、その1辺が2分割され、
それにより、1つの新規頂点が発生させられる。続い
て、S61において、その発生させられた1つの新規頂
点と対象三角形の3つの頂点とからなる4つの点を複数
の直線要素でつなぐことにより、対象三角形が分割され
る。図18の(c) には、その一例が示されている。
て、細分化された各三角形(細分化により発生した新た
な三角形)が次回にも細分化させるべき三角形に選ば
れ、続いて、S51に戻り、新たな対象三角形について
前記の場合と同様な処理が行われる。
量Mが指定誤差より大きい場合を説明したが、いずれの
辺の移動量Mも指定誤差以下である場合には、S53と
S56とS59との判定がいずれもNOとなり、新規頂
点の発生も対象三角形の細分化も行われることなく、本
ルーチンの一回の実行が終了する。
ただし、本実施形態は、先の第1および第2実施形態と
共通する点が多いため、異なる点についてのみ詳細に説
明する。
ンピュータ10に対して近似ポリゴン表面スムース化の
実行指令を出したならば、自動的に曲面全体が細分化領
域となって、実行対象である複数の元の三角形の全てが
細分化の対象となる。これに対して、本実施形態におい
ては、曲面のうち作業者がその細分化を行いたい領域を
指定可能となっている。
ゴン表面スムース化プログラムがフローチャートで表さ
れている。以下、本プログラムを説明するが、最先の第
1実施形態における近似ポリゴン表面スムース化プログ
ラムと共通するステップと、直前の第2実施形態におけ
る三角形細分化ルーチンと共通するステップとが存在す
るため、それら共通するステップについては簡単に説明
する。
12を操作することにより、複数の元の三角形に対し
て、細分化すべき領域を指定することが行われたか否か
が判定される。今回は行われていないと仮定すれば、判
定がNOとなり、本プログラムの一回の実行が終了する
が、行われたと仮定すれば、判定がYESとなり、S7
2に移行する。
様子が示されている。作業者は、表示装置16の画面に
表示されている図形の一部を閉じた線200(折れ線ま
たは曲線)で囲むことにより、細分化領域を指定する。
ち細分化領域内に存在するものが抽出される。図20の
(b) には、細分化領域内に存在するものとして抽出され
た複数の元の三角形が示されている。その後、S73〜
S75において、第1実施形態におけると同様にして、
隣接関係規定データの付加,特徴線の抽出および頂点法
線ベクトルの決定が行われる。続いて、S76におい
て、第2実施形態におけると同様にして、三角形細分化
が行われる。図20の(c) には、細分化領域内の複数の
元の三角形が細分化される様子が拡大して示されてい
る。以上で本プログラムの一回の実行が終了する。
200で囲まれた領域内に閉じた特徴線202で存在す
る場合には、閉じた線200で囲まれた領域全体を細分
化領域として定義したり、閉じた線200と特徴線20
2とで囲まれた領域を細分化領域として定義することが
できる。
に基づいて詳細に説明したが、これらの他にも、特許請
求の範囲を逸脱することなく、当業者の知識に基づいて
種々の変形,改良を施した形態で本発明を実施すること
ができる。
スムース化方法を実施するためのデータ処理システムを
示すブロック図である。
曲面スムース化プログラムを示すフローチャートであ
る。
チンとして示すフローチャートである。
ための斜視図である。
て示すフローチャートである。
ある。
めの斜視図である。
て曲線要素を取得する様子を示す斜視図である。
ための斜視図である。
る。
る。
る。
る。
の一実行結果を示す斜視図である。
面スムース化方法において使用される三角形細分化ルー
チンを示すフローチャートである。
斜視図である。
面スムース化方法において使用される近似ポリゴン表面
スムース化ルーチンを示すフローチャートである。
説明するための斜視図である。
26,128,130,154,156,158,16
0,162,170:元の三角形 120,152:対象頂点 132,134,136,138,140:面法線ベク
トル 142:頂点法線ベクトル 150:特徴線 164:第1頂点法線ベクトル 166:第2頂点法線ベクトル 172,174,176,178:新たな三角形 N1 ,N2 ,N3 :頂点法線ベクトル C1 ,C2 ,C3 :曲線要素 S1 ,S2 ,S3 :辺 Q1 ,Q2 ,Q3 :端点 RM1,RM2,RM3:対応点 PM :中点 M1 ,M2 ,M3 :移動量 Zt1,Zt2,Zt3:移動ベクトル Pt :辺S上の任意点 Rt :曲線要素C上の任意点
Claims (6)
- 【請求項1】与えられた曲面をポリゴン化して近似的に
表現する複数の元の三角形を細分化することにより、そ
れら複数の元の三角形の集合により形成される近似ポリ
ゴン表面をスムース化する方法であって、細分化に先立
ち、その細分化により発生させるべき複数の三角形の複
数の頂点であって元の三角形にはない新規頂点を、その
元の三角形の各辺の両端における2つの頂点と、それら
2つの頂点の各々における法線ベクトルである2つの頂
点法線ベクトルとに基づき、その辺上にではなく、その
辺が近似すべき曲線要素上に発生させる近似ポリゴン表
面スムース化方法において、 前記2つの頂点の各々に関し、前記複数の元の三角形の
うちそれら各頂点を共有するものを抽出し、その抽出し
た複数の元の三角形に関し、元の三角形の3つの頂点に
基づいてその元の三角形の面に対する法線ベクトルを複
数の面法線ベクトルとして取得し、その取得した複数の
面法線ベクトルに基づいて前記頂点法線ベクトルを、前
記2つの頂点についてそれぞれ決定し、その決定した2
つの頂点法線ベクトルと前記2つの頂点とに基づいて前
記曲線要素を取得し、その取得した曲線要素上に前記新
規頂点を発生させる新規頂点発生工程を設けたことを特
徴とする近似ポリゴン表面スムース化方法。 - 【請求項2】前記新規頂点発生工程が、前記取得した複
数の面法線ベクトルに基づいて前記頂点法線ベクトルを
決定する際に、各面法線ベクトルの影響を頂点法線ベク
トルに、各面法線ベクトルに対応する前記元の三角形の
前記共有頂点における角度が大きいほど強く及ぼさせる
工程を含む請求項1に記載の近似ポリゴン表面スムース
化方法。 - 【請求項3】前記新規頂点発生工程が、前記複数の元の
三角形の各辺が互いに接続されることによって構成され
る複数の構成線の少なくとも一つを特徴線として抽出
し、前記頂点法線ベクトルを決定すべき頂点がその抽出
した特徴線上にない場合には、その頂点を共有するすべ
ての元の三角形の面法線ベクトルに基づいて前記頂点法
線ベクトルを決定し、一方、その抽出した特徴線上にあ
る場合には、その特徴線の一側に位置する少なくとも一
つの元の三角形の面法線ベクトルに基づいて第1の頂点
法線ベクトル、他側に位置する少なくとも一つの元の三
角形の面法線ベクトルに基づいて第2の頂点法線ベクト
ルをそれぞれ決定する工程を含む請求項1または2に記
載の近似ポリゴン表面スムース化方法。 - 【請求項4】前記新規頂点発生工程が、 (a) 取得すべき前記曲線要素に対応する前記辺に対し
て、それの両端点の一方である第1端点を始点、他方で
ある第2端点を終点とする第1関数と、第2端点を始
点、第1端点を終点とする第2関数とを定義し、 (b) 第1関数と、第1端点における前記頂点法線ベクト
ルである第1頂点法線ベクトルとの積を第1端点から辺
上の任意点まで積分した値を、第1関数の下で前記辺に
対応する第1曲線要素を取得するために辺上の任意点を
移動させる向きと量とを表す第1移動ベクトルとし、 (c) 第2関数と、第2端点における前記頂点法線ベクト
ルである第2頂点法線ベクトルとの積を第2端点から辺
上の任意点まで積分した値を、第2関数の下で前記辺に
対応する第2曲線要素を取得するために辺上の任意点を
移動させる向きと量とを表す第2移動ベクトルとし、 (d) それら第1および第2移動ベクトルの和として、前
記辺に対応する最終曲線要素を取得する工程であって、
前記各関数が、 前記辺上を始点から終点まで移動するにつれて0か
ら辺の長さLまで変化する変数tを有し、 その変数tに関して0から辺の長さLまで積分した
値が0となり、 前記変数tが0のときに値h、変数tが辺の長さの
半値L/2のときに大きさが値hの半分であって符号が
値hとは逆である値−h/2、変数tが辺の長さLのと
きに0となり、 前記値hが、前記最終曲線要素が第1および第2端
点において前記第1および第2頂点法線ベクトルとそれ
ぞれ直交するように設定されている工程を含む請求項1
ないし3のいずれかに記載の近似ポリゴン表面スムース
化方法。 - 【請求項5】前記新規頂点発生工程が、前記細分化に先
立ち、前記元の三角形の各辺とそれに対応する前記曲線
要素との隔たりが基準値より大きい場合には、その辺に
関して前記新規頂点を発生させる一方、基準値以下であ
る場合には、発生させない工程を含む請求項1ないし4
のいずれかに記載の近似ポリゴン表面スムース化方法。 - 【請求項6】請求項1ないし5のいずれかに記載の近似
ポリゴン表面スムース化方法を実施するためにコンピュ
ータにより実行されるプログラムを記録したことを特徴
とするコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10748298A JP3643237B2 (ja) | 1998-04-17 | 1998-04-17 | 近似ポリゴン表面スムース化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10748298A JP3643237B2 (ja) | 1998-04-17 | 1998-04-17 | 近似ポリゴン表面スムース化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11306392A true JPH11306392A (ja) | 1999-11-05 |
JP3643237B2 JP3643237B2 (ja) | 2005-04-27 |
Family
ID=14460346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10748298A Expired - Fee Related JP3643237B2 (ja) | 1998-04-17 | 1998-04-17 | 近似ポリゴン表面スムース化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3643237B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007172180A (ja) * | 2005-12-20 | 2007-07-05 | Toyota Motor Corp | 設計データ生成装置及び設計データ生成プログラム |
JP2007207021A (ja) * | 2006-02-02 | 2007-08-16 | Kanazawa Inst Of Technology | 3次元形状データ生成方法および3次元形状データ生成装置 |
JP2008032489A (ja) * | 2006-07-27 | 2008-02-14 | Kanazawa Inst Of Technology | 人体の3次元形状データ生成方法および3次元形状データ生成装置 |
KR101434380B1 (ko) * | 2013-03-19 | 2014-08-27 | 배재대학교 산학협력단 | 그래픽 가속기 기반의 3차원 폴리곤 모델에서의 특징선 추출 방법 및 장치 |
JP2017045429A (ja) * | 2015-08-28 | 2017-03-02 | 大日本印刷株式会社 | 立体物造形用データ分離装置 |
-
1998
- 1998-04-17 JP JP10748298A patent/JP3643237B2/ja not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007172180A (ja) * | 2005-12-20 | 2007-07-05 | Toyota Motor Corp | 設計データ生成装置及び設計データ生成プログラム |
JP4595805B2 (ja) * | 2005-12-20 | 2010-12-08 | トヨタ自動車株式会社 | 設計データ生成装置及び設計データ生成プログラム |
JP2007207021A (ja) * | 2006-02-02 | 2007-08-16 | Kanazawa Inst Of Technology | 3次元形状データ生成方法および3次元形状データ生成装置 |
JP2008032489A (ja) * | 2006-07-27 | 2008-02-14 | Kanazawa Inst Of Technology | 人体の3次元形状データ生成方法および3次元形状データ生成装置 |
KR101434380B1 (ko) * | 2013-03-19 | 2014-08-27 | 배재대학교 산학협력단 | 그래픽 가속기 기반의 3차원 폴리곤 모델에서의 특징선 추출 방법 및 장치 |
JP2017045429A (ja) * | 2015-08-28 | 2017-03-02 | 大日本印刷株式会社 | 立体物造形用データ分離装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3643237B2 (ja) | 2005-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5936628A (en) | Three-dimensional model processing method, and apparatus therefor | |
US7265752B2 (en) | Multi-chart geometry images | |
US6396491B2 (en) | Method and apparatus for reproducing a shape and a pattern in a three-dimensional scene | |
JP3466661B2 (ja) | 画像処理装置及びその方法 | |
US7295202B2 (en) | System for approximating and displaying three dimensional CAD data, and system for executing method thereof | |
JP2000163590A (ja) | 三次元モデル変換装置及び方法 | |
US5666472A (en) | Image processing apparatus and method for generating polygons for use in rendering an object | |
Grevera et al. | An order of magnitude faster isosurface rendering in software on a PC than using dedicated, general purpose rendering hardware | |
US5771341A (en) | Graphics apparatus and method for dividing parametric surface patches defining an object into polygons | |
JP2003115042A (ja) | 3次元形状モデルの評価方法および生成方法並びに装置 | |
US20020190986A1 (en) | Method, apparatus, and computer program for generating three-dimensional shape data or volume data | |
JP2005508680A (ja) | プローブ位置合わせのための枝選択方法 | |
JP3643237B2 (ja) | 近似ポリゴン表面スムース化方法 | |
Huang | Detecting color boundaries on 3D surfaces by applying edge‐detection image filters on a quad‐remeshing | |
US7453457B2 (en) | Computer graphics using coarse level meshes | |
JPH1196372A (ja) | 画像処理方法およびその装置、ならびに画像処理用の制御プログラムの記録媒体 | |
EP3620941A1 (en) | Generating a spatial model of an indoor structure | |
JP3781008B2 (ja) | 3次元モデルの編集方法および装置並びにコンピュータプログラム | |
JPH06176107A (ja) | 距離画像処理方法及び装置 | |
JP3332511B2 (ja) | 画像データ処理方法及び装置及びグラフィックシステム | |
JP2000057376A (ja) | 新視点画像生成方法 | |
JP2796900B2 (ja) | 画像の補間装置 | |
JP3467948B2 (ja) | 画像処理装置 | |
JP3543209B2 (ja) | 標高データ描画処理装置及び標高データ描画処理プログラムを記録した記録媒体 | |
JPWO2022130534A5 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040720 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041227 |
|
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: 20050125 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050127 |
|
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: 20080204 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090204 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100204 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110204 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |