(57)【要約】【課題】同一の３次元座標空間に置かれた、２平面のなす角度が指定した角度以下であるときの２平面の交線を強調表示するようにして、とがった部分を視覚的に容易に判別することができる３次元形状処理装置を提供する。【解決手段】３次元形状モデルを表示する場合、３次元形状モデルの形状データを記憶する形状データ記憶手段から、指定された３次元形状モデルの辺情報を抽出し、前記抽出された辺情報に対して、前記形状データ記憶手段を参照して、当該辺情報を共有する２つの３次元平面のなす角度を計算し、該角度が予め指定された角度以下である場合、表示する３次元形状モデルのうち当該辺を強調表示する。【選択図】図２
2006268669.tif 000002
【特許請求の範囲】
【請求項１】
３次元形状モデルの処理と表示を行う３次元形状処理装置において、３次元形状モデルの形状データを記憶する形状データ記憶手段と、指定された３次元形状モデルの辺情報を前記形状データ記憶手段から抽出する辺情報抽出手段と、前記辺情報抽出手段で抽出された辺情報に対して、前記形状データ記憶手段を参照して、当該辺情報を共有する２つの３次元平面のなす角度を計算し、該角度が予め指定された角度以下であるかを判定する角度計算手段と、前記指定された３次元形状モデルを表示するときに、前記角度計算手段で予め指定された角度以下である判定された辺を強調表示する表示手段と、を備えることを特徴とする３次元形状処理装置。
【請求項２】
請求項１に記載の３次元形状処理装置において、前記角度計算手段は、辺情報を共有する２つの３次元平面のなす角度が凸である場合のみ、予め指定された角度以下であるかを判定するようにしたことを特徴とする３次元形状処理装置。
【請求項３】
請求項１または２に記載の３次元形状処理装置において、前記表示手段は、線の色を変更することによって強調表示するようにしたことを特徴とする３次元形状処理装置。
【請求項４】
請求項１乃至３のいずれかに記載の３次元形状処理装置において、前記表示手段は、線の幅を変更することによって強調表示するようにしたことを特徴とする３次元形状処理装置。
【請求項５】
請求項１乃至４のいずれかに記載の３次元形状処理装置において、前記表示手段は、線の種類を変更することによって強調表示するようにしたことを特徴とする３次元形状処理装置。
【請求項６】
請求項１乃至５のいずれかに記載の３次元形状処理装置において、前記表示手段は、予め指定された角度以下の角度をなす２平面の交線が、その交線より視点側にある３次元形状モデルのシェーディング表示される部分と重なる場合には、該交線を表示しないことを特徴とする３次元形状処理装置。
【請求項７】
請求項１乃至５のいずれかに記載の３次元形状処理装置において、前記表示手段は、予め指定された角度以下の角度をなす２平面の交線が、その交線より視点側にある３次元形状モデルのシェーディング表示される部分と重なる場合でも、該交線を強調表示することを特徴とする３次元形状処理装置。
【請求項８】
３次元形状モデルの処理と表示を行う３次元形状処理方法において、３次元形状モデルの形状データを記憶する形状データ記憶手段から、指定された３次元形状モデルの辺情報を抽出し、前記抽出された辺情報に対して、前記形状データ記憶手段を参照して、当該辺情報を共有する２つの３次元平面のなす角度を計算し、該角度が予め指定された角度以下である場合、表示する３次元形状モデルのうち当該辺を強調表示することを特徴とする３次元形状処理方法。
【請求項９】
コンピュータに、請求項１乃至７のいずれかに記載の３次元形状処理装置の機能を実現させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元形状処理装置、３次元形状処理方法、プログラムおよび記録媒体に関し、具体的には、３次元形状モデルの鋭い角度をなす２平面の交線を強調表示する３次元形状処理・表示技術に関し、３次元ＣＡＤ／ＣＡＭ／ＣＡＥ／ＣＧシステムなどにおける３次元形状処理・表示技術に好適である。
【背景技術】
【０００２】
３次元ＣＡＤ／ＣＡＭ／ＣＧシステムなどの普及により３次元形状データの利用者層が拡大するとともに、３次元形状データを有効活用する機会が増えている。
このようなシステムでは、３次元形状データを表示装置などに表示して形状を把握している。特定の部分を見つけたいときには、その部分を強調して表示したり、印を付けて表示している。
【０００３】
例えば、輪郭線を強調したいときには、特許文献１では、ＣＡＤデータ及びＣＡＤデータと予め位置合わせされた非接触計測点データを記録しておき、所定形状を有する解析面をＣＡＤデータから抽出し、解析面と非接触計測点データとを用いて面生成を行い、生成された面同士の交線を輪郭線として抽出するようにしている。これにより、非接触計測点データのバラツキによる影響を抑え、より正確な輪郭抽出ができ、鋭角を有する角部の輪郭線を正確に抽出することができる。
【０００４】
また、特許文献２では、表示画像に含まれる、投影後の多角形の各辺を構成する画素の各々が、２つの投影後の多角形で共有する辺である稜線を構成する画素であるか、１つの投影後の多角形の辺である輪郭線を構成する画素であるかを判定し、輪郭線を構成する画素と稜線を構成する画素との各画素の投影後の表示画像の輝度に対し、輪郭線を構成する画素と稜線を構成する画素とのそれぞれについて予め定めた複数の輝度変調方法のうち指定手段により指定された輝度変調方法にしたがって、投影後の表示画像の輝度の変調を行うようにしている。これにより、輪郭線や稜線を強調することができるので、３次元の物体形状を理解しやすくなる。
【０００５】
また、特許文献３では、３次元空間に配置されたＮＵＲＢＳ曲面の境界曲線を表示装置に表示したとき、まず、隣接する２枚のＮＵＲＢＳ曲面の境界曲線の制御点が完全に一致するかどうかを判定する。曲線の制御点が一致しないと判定されたときに、２曲線を融合した１本の曲線を生成し、元の２曲線をＮ分割したときの曲線上の点間の距離と点における接平面を計算し、生成した曲線のいくつかの点に接触するよう接平面を割り当てて、接触平面を生成し、接触平面上に元の２曲線の差分を実数倍した情報から点を生成し、生成した点より補間曲線を生成することにより、曲線間の微小距離を強調して表示するようにしている。
これにより、プログラムの煩雑さをなくし、形状全体と詳細に見たい部分との関連を直感的に把握できるようにした。
【特許文献１】特開２０００−３０６１１１号公報
【特許文献２】特開平０８−２７９０５７号公報
【特許文献３】特開２００１−３５１１１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
一方、出来上がった３次元形状が人手に触れるような物である場合、とがった部分があると誤って触れてけがをするなどの危険がある。このようなときには、設計段階等でそのような部分を取り除く、若しくは先端を丸める加工を施す等の対策をとる必要がある。
【０００７】
しかしながら、上記の従来技術では、３次元形状の２平面のなす角度が指定したある角度以下の場合に強調表示することができなかった。
【０００８】
本発明は、上述のような実情を考慮してなされたものであって、同一の３次元座標空間に置かれた、２平面のなす角度が指定した角度以下であるときの２平面の交線を強調表示するようにして、とがった部分を視覚的に容易に判別することができる３次元形状処理装置、３次元形状処理方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、請求項１に記載の発明は、３次元形状モデルの処理と表示を行う３次元形状処理装置において、３次元形状モデルの形状データを記憶する形状データ記憶手段と、指定された３次元形状モデルの辺情報を前記形状データ記憶手段から抽出する辺情報抽出手段と、前記辺情報抽出手段で抽出された辺情報に対して、前記形状データ記憶手段を参照して、当該辺情報を共有する２つの３次元平面のなす角度を計算し、該角度が予め指定された角度以下であるかを判定する角度計算手段と、前記指定された３次元形状モデルを表示するときに、前記角度計算手段で予め指定された角度以下である判定された辺を強調表示する表示手段と、を備えることを特徴とする。
【００１０】
請求項２に記載の発明は、請求項１に記載の３次元形状処理装置において、前記角度計算手段は、辺情報を共有する２つの３次元平面のなす角度が凸である場合のみ、予め指定された角度以下であるかを判定するようにしたことを特徴とする。
【００１１】
請求項３に記載の発明は、請求項１または２に記載の３次元形状処理装置において、前記表示手段は、線の色を変更することによって強調表示するようにしたことを特徴とする。
請求項４に記載の発明は、請求項１乃至３のいずれかに記載の３次元形状処理装置において、前記表示手段は、線の幅を変更することによって強調表示するようにしたことを特徴とする。
請求項５に記載の発明は、請求項１乃至４のいずれかに記載の３次元形状処理装置において、前記表示手段は、線の種類を変更することによって強調表示するようにしたことを特徴とする。
【００１２】
請求項６に記載の発明は、請求項１乃至５のいずれかに記載の３次元形状処理装置において、前記表示手段は、予め指定された角度以下の角度をなす２平面の交線が、その交線より視点側にある３次元形状モデルのシェーディング表示される部分と重なる場合には、該交線を表示しないことを特徴とする。
請求項７に記載の発明は、請求項１乃至５のいずれかに記載の３次元形状処理装置において、前記表示手段は、予め指定された角度以下の角度をなす２平面の交線が、その交線より視点側にある３次元形状モデルのシェーディング表示される部分と重なる場合でも、該交線を強調表示することを特徴とする。
【００１３】
請求項８に記載の発明は、３次元形状モデルの処理と表示を行う３次元形状処理方法において、３次元形状モデルの形状データを記憶する形状データ記憶手段から、指定された３次元形状モデルの辺情報を抽出し、前記抽出された辺情報に対して、前記形状データ記憶手段を参照して、当該辺情報を共有する２つの３次元平面のなす角度を計算し、該角度が予め指定された角度以下である場合、表示する３次元形状モデルのうち当該辺を強調表示することを特徴とする。
【００１４】
請求項９に記載の発明は、コンピュータに、請求項１乃至７のいずれかに記載の３次元形状処理装置の機能を実現させるためのプログラムである。
請求項１０に記載の発明は、請求項９に記載のプログラムを記憶したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１５】
本発明によれば、同一の３次元座標空間に置かれた、２平面のなす角度が指定した角度以下のシャープエッジを強調表示するので、シャープエッジを視覚的に容易に判別することができる。
また、２平面が凸をなす場合のシャープエッジのみを強調表示するので、凹凸が多い場合などに、凸になったシャープエッジを容易に判別することができる。
【００１６】
また、他の面の影に隠れるシャープエッジを表示しない構成にした場合、他の面によってシャープエッジが保護されているかを容易に判別することができる。
また、他の面の影に隠れるシャープエッジであっても表示する構成にした場合、他の面の影になっているシャープエッジも容易に判別することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明の３次元形状処理装置に係る好適な実施形態について説明する。
図１は、本発明が適用される３次元形状処理装置のハードウェア構成図である。図１において、３次元形状処理装置は、プログラムに従って動作するＣＰＵ１、そのプログラムや各種データを一時的に記憶するメモリ（例えば、ＲＯＭやＲＡＭ等）２、プログラムや各種データを保存しておく外部記憶装置（例えば、ハードディスク装置）３、キーボード、マウスなどを有して３次元形状データを含む各種データや指示を入力する入力装置４、３次元形状モデルなどを表示する表示装置５などを備えている。
【００１８】
図２は、本実施形態に係る３次元形状処理装置の機能を示すブロック図である。同図において、３次元形状処理装置は、形状データ記憶部１１に記憶された３次元形状データを用いて３次元形状処理を行う一般的な機能のほかに、辺情報抽出部１２、角度計算部１３、シャープエッジ記憶部１４、表示部１５とを含んで構成される。
上記の各処理部は、前記したようなハードウェアとプログラムにより実現され、また、形状データ記憶部１１、シャープエッジ記憶部１４は、外部記憶装置３を用い、各処理部の中間的な処理結果はメモリ２や外部記憶装置３を用いて記憶される。
【００１９】
辺情報抽出部１２は、形状データ記憶部１１に記憶されている３次元形状モデルが指定されると、次の手順で処理を行った後、制御を表示部１５へ渡す。
ここで、指定された３次元形状モデルと予め設定された角度ε（鋭角と判定するための閾値）に対して、３次元形状モデル中の２平面がなす角度が閾値ε以下である場合に、この２平面の交線をシャープエッジと定義する。
【００２０】
（１）形状データ記憶部１１を参照して、指定された３次元形状モデルから一本の辺の情報を抽出する。
辺の抽出方法は、指定された３次元形状モデル中の辺を一本ずつ取り出す方法や、この３次元形状モデル中のすべての辺を抽出してリストを作成し、このリストから一本ずつ取り出す方法などがある。
（２）取り出した辺を角度計算部１３へ渡して、この辺がシャープエッジであるかを判定させて、シャープエッジである場合、この辺の情報をシャープエッジ記憶部１４へ記憶させる。
（３）指定された３次元形状モデルの全ての辺に対して、上記（１）および（２）を処理する。
【００２１】
角度計算部１３は、次の処理を行って、渡された辺がシャープエッジであるかを判定し、シャープエッジであればその辺をシャープエッジ記憶部１４に記憶して、辺情報抽出部１２へ制御を戻す。
【００２２】
（１）辺情報抽出部１２から渡された辺情報から、渡された辺の端点（頂点Ｃ、頂点Ｄとする）の座標を形状データ記憶部１１から取り出しメモリ２に記憶しておく。
（２）辺ＣＤを含む２平面を形状データ記憶部１１から取得し、辺ＣＤを含む２つのポリゴンを取り出し、その端点ではない頂点（頂点Ａ、頂点Ｂとする）をメモリ２に記憶しておく。
（３）頂点Ａを含む平面の法線ベクトル（ｎＡとする）および頂点Ｂを含む平面の法線ベクトル（ｎＢとする）をそれぞれ形状データ記憶部１１から取得して、メモリ２に記憶しておく（図３参照）。このとき、各法線ベクトルが単位ベクトルでない場合は、各ベクトルをその長さで割って単位ベクトルにしておく。
（４）頂点Ａと頂点Ｃを結ぶベクトルαと頂点Ｂと頂点Ｃを結ぶベクトルβとの内積αβから角度θを計算し、メモリ２に記憶する。
ここで、図４に示すように、２つのベクトルの成分をそれぞれ
ベクトルα＝（ａ１，ａ２，ａ３）、
ベクトルβ＝（ｂ１，ｂ２，ｂ３）
とすると、ベクトルαとβがゼロベクトルでなければ、ベクトルαとベクトルβの内積αβから角度θを求めることができる。
【００２３】
【数１】
2006268669.tif 000003
【００２４】
（５）メモリ２に記憶しておいた法線ベクトルｎＡとｎＢのベクトルの和を求め、それをベクトルｎＡＢとしてメモリ２に記憶しておく。
（６）このベクトルｎＡＢと、ベクトルＣＡの成分を用いて、二つのベクトルの内積を（式１）で計算して、２つの平面のなす角の凹凸を判定する。この凹凸は、内積が正の値ならば凸であり（図５（Ａ）参照）、内積が負の値ならば凹であり（図５（Ｂ）参照）、内積が０であれば、２平面は１８０度をなしていると判定する。
（７）ベクトルＡＢとベクトルＣＡの内積が負であれば、（３６０−θ）度を２平面がなす角度θとする。
内積が正または０の場合には、角度θを２平面のなす角度とする。
（８）この角度θが、予め設定してあった閾値εより小さいときには、辺情報抽出部１２から渡された辺の情報をシャープエッジとしてシャープエッジ記憶部１４へ記憶する。
【００２５】
表示部１５は、表示装置５に表示された指定３次元形状モデルに対し、シャープエッジ記憶部１４に記憶された辺に対して、強調表示を行わせる。このとき、強調表示としては、例えば、線の色、線の幅や線の種類を１つ以上組み合わせて、他の辺とは異なるように変えて表示する。
【００２６】
また、ユーザから（１）隠れたシャープエッジを常に表示する、あるいは、（２）隠れた部分のシャープエッジだけは表示しないかを指示させるようにした場合、表示部１５は、表示装置５に３次元形状モデルを表示するときに、この指示に基づいて、シャープエッジより視点側にシェーディング表示にする３次元形状モデルとシャープエッジが重なる部分が存在する場合は、重なる部分についてはシャープエッジを表示しない。
あるいは、シャープエッジより視点側にシェーディング表示にする３次元形状モデルとシャープエッジが重なる部分が存在しても、常にシャープエッジを最前面に表示する。
【００２７】
図６は、シャープエッジの強調表示の例である。この例では、シャープエッジ（閾値εを９０度とする）を他の辺と線の色（黄色）や線の幅（太線）を変えて表示している。
【００２８】
以上のような構成により、同一の３次元座標空間に置かれた、２平面のなす角度が指定した角度以下のシャープエッジを強調表示するので、シャープエッジを視覚的に容易に判別することができる。
また、２平面が凸をなす場合のシャープエッジのみを強調表示するので、凹凸が多い場合などに、凸になったシャープエッジを容易に判別することができる。
【００２９】
また、他の面の影に隠れるシャープエッジを表示しない構成にした場合、他の面によってシャープエッジが保護されているかを容易に判別することができる。
また、他の面の影に隠れるシャープエッジであっても表示する構成にした場合、他の面の影になっているシャープエッジも容易に判別することができる。
【００３０】
図７は、角度計算部１３において、一つの辺がシャープエッジであるかを判定する処理を説明するためのフローチャートである。
まず、辺情報抽出部１２で辺情報を取得する（ステップＳ１）。
次に、辺情報抽出部１２から渡された辺情報からその辺に隣接する面の法線と、その辺に隣接するポリゴンの座標を形状データ記憶部１１から取得する（ステップＳ２）。
即ち、渡された辺の端点（それぞれ頂点Ｃ、頂点Ｄとする）の座標を取り出しメモリ２に記憶しておく。続いて、辺ＣＤを含む２平面を形状データ記憶部１１から取得し、辺ＣＤを含む２つのポリゴンを取り出し、その端点ではない頂点（頂点Ａ、頂点Ｂとする）をメモリ２に記憶しておく。そして、頂点Ａを含む平面の法線ベクトル（ｎＡとする）と、頂点Ｂを含む平面の法線ベクトル（ｎＢとする）を形状データ記憶部１１から取り出しメモリ２に記憶しておく。
【００３１】
頂点Ａと頂点Ｃを結ぶベクトルと頂点Ｂと頂点Ｃを結ぶベクトルの成分から（式２）を使って、二つのベクトルの内積から角度θを計算してメモリ２に記憶する（ステップＳ３）。
【００３２】
次に、２平面のなす角が凸であるか凹であるかを判定する（ステップＳ４）。
まず、メモリ２に記憶しておいた法線ベクトルｎＡ、ｎＢのベクトルの和をとる。このとき、各法線ベクトルが単位ベクトルでない場合は、各ベクトルをその長さで割って単位ベクトルとしてからベクトルの和を求め、それをベクトルｎＡＢとしてメモリに記憶しておく。
そして、このベクトルｎＡＢと、ベクトルＣＡの成分から（式１）を使って二つのベクトルの内積を計算する。もし、内積が正の値ならば２平面のなす角は凸であり、内積が負の値ならば２平面のなす角は凹であり、０ならば２平面のなす角は１８０度をなしていると判定する。
【００３３】
ベクトルｎＡＢとベクトルＣＡの内積が負であれば（ステップＳ５のＹＥＳ）、（３６０−θ）度を２平面がなす角度θとする（ステップＳ６）。一方、内積が正または０の場合（ステップＳ５のＮＯ）、角度θを２平面のなす角度とする。
【００３４】
最後に、角度θが予め設定した閾値ε以下である場合（ステップＳ７のＹＥＳ）、渡された辺がシャープエッジであるとして、この辺情報をシャープエッジ記憶部１４に記憶して処理を終了する（ステップＳ８）。
一方、角度θが予め設定した閾値ε以上である場合（ステップＳ７のＮＯ）、渡された辺はシャープエッジでないとして、処理を終了する。
【００３５】
本発明は、上述した実施形態のみに限定されたものではない。上述した実施形態の３次元形状処理装置を構成する各機能をそれぞれプログラム化して、予め記録媒体に書き込んでおき、この記録媒体に記録されたこれらのプログラムをコンピュータに備えられたメモリあるいは記憶装置に格納し、そのプログラムを実行することによって、本発明の目的が達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、そのプログラムおよびそのプログラムを記録した記録媒体も本発明を構成することになる。
また、上記プログラムは、そのプログラムの指示に基づき、オペレーティングシステムあるいは他のアプリケーションプログラム等と共同して処理することによって上述した実施形態の機能が実現される場合も含まれる。
【００３６】
なお、上述した実施形態の機能を実現するプログラムは、ディスク系（例えば、磁気ディスク、光ディスク等）、カード系（例えば、メモリカード、光カード等）、半導体メモリ系（例えば、ＲＯＭ、不揮発性メモリ等）、テープ系（例えば、磁気テープ、カセットテープ等）等のいずれの形態の記録媒体で提供されてもよい。あるいは、ネットワークを介して記憶装置に格納されたプログラムをサーバコンピュータから直接供給を受けるようにしてもよい。この場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
このように、上述した実施形態の機能をプログラム化して流通させることによって、コストの低廉化、および可搬性や汎用性を向上させることができる。
【図面の簡単な説明】
【００３７】
【図１】本発明が適用される３次元形状処理装置のハードウェア構成図である。
【図２】実施形態に係る３次元形状処理装置の機能を示すブロック図である。
【図３】ポリゴンにおける法線ベクトルを説明するための図である。
【図４】２つのベクトルの内積を説明するための図である。
【図５】２平面のなす角の凹凸判定を説明するための図である。
【図６】シャープエッジの表示例である。
【図７】角度算出部において、一つの辺がシャープエッジであるかを判定する処理を説明するためのフローチャートである。
【符号の説明】
【００３８】
１…ＣＰＵ、２…メモリ、３…外部記憶装置、４…入力装置、５…表示装置、１１…形状データ記憶部、１２…辺情報抽出部、１３…角度計算部、１４…シャープエッジ記憶部、１５…表示部。
【図１】
2006268669.tif 000004
【図２】
2006268669.tif 000005
【図３】
2006268669.tif 000006
【図４】
2006268669.tif 000007
【図５】
2006268669.tif 000008
【図６】
2006268669.tif 000009
【図７】
2006268669.tif 000010