JP2005056083A - n次元形状モデル、n次元形状モデル格納装置、n次元形状モデル格納方法、n次元形状モデル表示装置、n次元形状モデル表示方法、n次元形状モデルのデータ構造、n次元形状モデル処理システム、プログラムおよび記録媒体 - Google Patents
n次元形状モデル、n次元形状モデル格納装置、n次元形状モデル格納方法、n次元形状モデル表示装置、n次元形状モデル表示方法、n次元形状モデルのデータ構造、n次元形状モデル処理システム、プログラムおよび記録媒体 Download PDFInfo
- Publication number
- JP2005056083A JP2005056083A JP2003285276A JP2003285276A JP2005056083A JP 2005056083 A JP2005056083 A JP 2005056083A JP 2003285276 A JP2003285276 A JP 2003285276A JP 2003285276 A JP2003285276 A JP 2003285276A JP 2005056083 A JP2005056083 A JP 2005056083A
- Authority
- JP
- Japan
- Prior art keywords
- polyline
- mesh
- shape model
- vertex
- dimensional shape
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
【課題】 ワイヤーシェーディング同時表示において、それぞれ十分な表示品質を保ちながらも、コンパクトなデータサイズを実現するn次元形状モデル格納・表示装置を提供する。
【解決手段】 n次元空間の形状モデルを格納するときは、ポリラインの頂点座標をポリライン頂点座標テーブルに格納し、三角形メッシュの頂点座標のうちメッシュ境界上にある頂点座標の場合は、該頂点座標にそれぞれ最も近いポリラインの頂点座標に置き換えて、三角形メッシュを三角形メッシュ頂点座標テーブルに格納し、ポリラインそれぞれに対応したポリラインの分割数をポリライン分割数テーブルに格納し、ポリラインそれぞれに対応したメッシュ境界の分割数をメッシュ境界分割数テーブルに格納する。n次元形状モデルを表示するときには、三角メッシュを表示した後、ポリライン分割をメッシュ境界の分割数に合わせてポリラインを表示する。
【選択図】 図7
【解決手段】 n次元空間の形状モデルを格納するときは、ポリラインの頂点座標をポリライン頂点座標テーブルに格納し、三角形メッシュの頂点座標のうちメッシュ境界上にある頂点座標の場合は、該頂点座標にそれぞれ最も近いポリラインの頂点座標に置き換えて、三角形メッシュを三角形メッシュ頂点座標テーブルに格納し、ポリラインそれぞれに対応したポリラインの分割数をポリライン分割数テーブルに格納し、ポリラインそれぞれに対応したメッシュ境界の分割数をメッシュ境界分割数テーブルに格納する。n次元形状モデルを表示するときには、三角メッシュを表示した後、ポリライン分割をメッシュ境界の分割数に合わせてポリラインを表示する。
【選択図】 図7
Description
本発明は、三角形メッシュとポリラインとで3次元形状モデルを表現する技術に関し、特に形状計測装置や仮想現実感装置に好適なn次元形状モデル格納装置、n次元形状モデル格納方法、n次元形状モデル表示装置、n次元形状モデル表示方法、n次元形状モデルのデータ構造、n次元形状モデル処理システム、プログラム、記録媒体に関する。
3次元形状モデルを表示するためのデータ形式としては、図12(A)〜図12(E)に示すものがある。これらのうち、(A)は個々の独立した線分(ラインセット形式という)、(B)は連結した線分(ラインストリップ形式という)、(C)は個々の独立した三角形(三角形セット形式)、(D)は連結した三角形(三角形ストリップ形式)、(E)は三角形を扇のように連結したもの(三角形ファン形式)であり、(A)および(B)はポリライン、(C)〜(E)は三角形メッシュと呼ばれる。
これらのポリラインおよび三角形メッシュは、代表的な表示方法である、三角形メッシュを用いて表示するシェーディング表示(図13(A)参照)、ポリラインを用いて表示するワイヤーフレーム表示(図13(B)参照)および三角形メッシュとポリラインを用いて表示するワイヤーシェーディング同時表示(図13(C)参照)に用いられる。これらの形式のデータは、PC上の標準的な表示用ライブラリOpenGLやDirectXでサポートされている。
これらのポリラインおよび三角メッシュで表現されるn(2乃至4)次元形状のデータをサーバに保管し、ネットワークを介してこれを多数の端末から参照したり、転送するような場合、データ量が多いと転送時間が多くかかるなどの問題点があった。
そのため、特許文献1の複数の線分で構成されるベクトルデータを保管、表示するベクトルデータ保管・表示装置では、互いに連接された複数の線分からなるポリライン又はポリゴンを構成するベクトルデータを、ポリライン又はポリゴンが有する複数の頂点の座標によって保管するベクトルデータ保管部と、該ベクトルデータ保管部に保管されたデータのうち表示に必要な範囲のデータを検索するベクトル検索手段と、該ベクトル検索手段によって検索された複数の頂点の座標からポリライン又はポリゴンを構成する各線分の始点、終点の座標を求める線分情報取得手段と、該線分情報取得手段により求められた各線分の始点、終点の座標に基づいてベクトルデータを表示するベクトルデータ表示部とを備えるようにして、少ない情報量の保管情報からポリライン又はポリゴンを構成するベクトルデータを生成しこれを表示することが可能となる。さらに、少ない情報量のためネットワークにより伝送されるデータ量を削減できる。
特開2000−276579公報
これらのポリラインおよび三角形メッシュは、代表的な表示方法である、三角形メッシュを用いて表示するシェーディング表示(図13(A)参照)、ポリラインを用いて表示するワイヤーフレーム表示(図13(B)参照)および三角形メッシュとポリラインを用いて表示するワイヤーシェーディング同時表示(図13(C)参照)に用いられる。これらの形式のデータは、PC上の標準的な表示用ライブラリOpenGLやDirectXでサポートされている。
これらのポリラインおよび三角メッシュで表現されるn(2乃至4)次元形状のデータをサーバに保管し、ネットワークを介してこれを多数の端末から参照したり、転送するような場合、データ量が多いと転送時間が多くかかるなどの問題点があった。
そのため、特許文献1の複数の線分で構成されるベクトルデータを保管、表示するベクトルデータ保管・表示装置では、互いに連接された複数の線分からなるポリライン又はポリゴンを構成するベクトルデータを、ポリライン又はポリゴンが有する複数の頂点の座標によって保管するベクトルデータ保管部と、該ベクトルデータ保管部に保管されたデータのうち表示に必要な範囲のデータを検索するベクトル検索手段と、該ベクトル検索手段によって検索された複数の頂点の座標からポリライン又はポリゴンを構成する各線分の始点、終点の座標を求める線分情報取得手段と、該線分情報取得手段により求められた各線分の始点、終点の座標に基づいてベクトルデータを表示するベクトルデータ表示部とを備えるようにして、少ない情報量の保管情報からポリライン又はポリゴンを構成するベクトルデータを生成しこれを表示することが可能となる。さらに、少ない情報量のためネットワークにより伝送されるデータ量を削減できる。
一般的に、3次元CADなどの3次元モデルを作成したり表示するには、モデルの表面は面と呼ばれる領域に分割され、領域の境界は稜線により区切られ(図14参照)、三角形メッシュのデータを面毎に管理し、ポリラインを稜線ごとに管理することにより、表示を行うことが行われている。この稜線ごとのポリラインの分割数を、隣接する面から見たときにメッシュ境界分割数と呼ぶ。
このような面や稜線を表示する上で、一般的に、三角形メッシュよりポリラインの方が、分割数を多めに設定される。これは、同一の分割数でもポリラインを用いたワイヤーフレーム表示すると粗さが目立ちやすく、三角形メッシュを用いたシェーディング表示では粗さが目立ちにくいためである。この三角形メッシュとポリラインの分割数の違いに起因して、以下のような問題が発生する。
(1)分割数をポリラインに一致させた場合、データサイズが大きくなる。
これは、見かけ上、必要以上に三角形メッシュを細かく分割して保持するためである。
(2)分割数を三角形メッシュに一致させた場合、ワイヤーフレーム表示の見かけが悪くなる。
(3)三角形メッシュとポリラインの分割数を一致させないと、ワイヤーシェーディング同時表示において、分割数の違いから、不一致が発生し、特に細部を拡大した際に不一致が目立つ。
上述した特許文献1でも、三角形メッシュとポリラインの分割数の違いについて考慮していないため、これらの問題点に対してなお解決されていない。
本発明は、上記の実情を考慮してなされたもので、シェーディング表示、ワイヤーフレーム表示、ワイヤーシェーディング同時表示において、それぞれ十分な表示品質を保ちながらも、コンパクトなデータサイズを実現するn次元形状モデル格納装置、n次元形状モデル格納方法、n次元形状モデル表示装置、n次元形状モデル表示方法、n次元形状モデルのデータ構造、n次元形状モデル処理システム、プログラム、記録媒体を提供することを目的とする。
このような面や稜線を表示する上で、一般的に、三角形メッシュよりポリラインの方が、分割数を多めに設定される。これは、同一の分割数でもポリラインを用いたワイヤーフレーム表示すると粗さが目立ちやすく、三角形メッシュを用いたシェーディング表示では粗さが目立ちにくいためである。この三角形メッシュとポリラインの分割数の違いに起因して、以下のような問題が発生する。
(1)分割数をポリラインに一致させた場合、データサイズが大きくなる。
これは、見かけ上、必要以上に三角形メッシュを細かく分割して保持するためである。
(2)分割数を三角形メッシュに一致させた場合、ワイヤーフレーム表示の見かけが悪くなる。
(3)三角形メッシュとポリラインの分割数を一致させないと、ワイヤーシェーディング同時表示において、分割数の違いから、不一致が発生し、特に細部を拡大した際に不一致が目立つ。
上述した特許文献1でも、三角形メッシュとポリラインの分割数の違いについて考慮していないため、これらの問題点に対してなお解決されていない。
本発明は、上記の実情を考慮してなされたもので、シェーディング表示、ワイヤーフレーム表示、ワイヤーシェーディング同時表示において、それぞれ十分な表示品質を保ちながらも、コンパクトなデータサイズを実現するn次元形状モデル格納装置、n次元形状モデル格納方法、n次元形状モデル表示装置、n次元形状モデル表示方法、n次元形状モデルのデータ構造、n次元形状モデル処理システム、プログラム、記録媒体を提供することを目的とする。
上記の課題を解決するために、本発明の請求項1のn次元形状モデル格納装置は、n次元空間の形状モデルを表すポリラインおよび三角形メッシュを格納するn次元形状モデル格納装置において、前記ポリラインの頂点座標と前記三角形メッシュの頂点座標のうちメッシュ境界上にない頂点座標を前記頂点座標テーブルに格納する頂点座標格納手段と、前記ポリラインの頂点座標を、該頂点座標を格納した前記頂点座標テーブルへのインデックスに置き換えて、該ポリラインをポリラインインデックステーブルに格納するポリラインテーブル格納手段と、前記三角形メッシュの頂点座標のうちメッシュ境界上にない頂点座標の場合は、該頂点座標を格納した前記頂点座標テーブルへのインデックスに置き換え、メッシュ境界上にある頂点座標の場合は、該頂点座標にそれぞれ最も近い前記ポリラインの頂点座標の前記頂点座標テーブルへのインデックスに置き換えて、該三角形メッシュを三角形メッシュインデックステーブルに格納する三角形メッシュテーブル格納手段と、前記ポリラインそれぞれに対応したポリラインの分割数をポリライン分割数テーブルに格納するポリライン分割数テーブル格納手段と、前記ポリラインそれぞれに対応したメッシュ境界の分割数をメッシュ境界分割数テーブルに格納するメッシュ境界分割数テーブル格納手段を備え、n次元形状モデルを表すポリラインと三角形メッシュを格納するようにしたことを特徴とする。
また、本発明の請求項2のn次元形状モデル格納方法は、n次元空間の形状モデルを表すポリラインおよび三角形メッシュを格納するn次元形状モデル格納方法において、前記ポリラインの頂点座標を頂点座標テーブルに格納し、前記ポリラインの頂点座標を、該頂点座標を格納した前記頂点座標テーブルへのインデックスに置き換えて、該ポリラインをポリラインインデックステーブルに格納し、前記三角形メッシュの頂点座標のうちメッシュ境界上にない頂点座標を前記頂点座標テーブルに格納し、前記三角形メッシュの頂点座標のうちメッシュ境界上にない頂点座標の場合は、該頂点座標を格納した前記頂点座標テーブルへのインデックスに置き換え、メッシュ境界上にある頂点座標の場合は、該頂点座標にそれぞれ最も近い前記ポリラインの頂点座標の前記頂点座標テーブルへのインデックスに置き換えて、該三角形メッシュを三角形メッシュインデックステーブルに格納し、前記ポリラインそれぞれに対応したポリラインの分割数をポリライン分割数テーブルに格納し、前記ポリラインそれぞれに対応したメッシュ境界の分割数をメッシュ境界分割数テーブルに格納して、n次元形状モデルを表すポリラインと三角形メッシュを格納するようにしたことを特徴とする。
また、本発明の請求項3のn次元形状モデル表示装置は、n次元空間の形状モデルを表すポリラインおよび三角形メッシュを表示するn次元形状モデル表示装置において、前記三角形メッシュを格納する三角形メッシュインデックステーブルから取り出した三角メッシュごとに、該三角メッシュの頂点を示すインデックスを、頂点座標テーブルを参照して頂点座標に置き換えて三角メッシュを表示する手段と、前記ポリラインを格納するポリラインインデックステーブルから取り出したラインごとに、該ポリラインに対応したポリラインの分割数(Nwとする)をポリライン分割数テーブルから取り出し、前記ポリラインに対応したメッシュ境界の分割数(Nmとする)をメッシュ境界分割数テーブルから取り出して、i×Nm(このiは、0≦i≦Nwの範囲内の整数とする)の値がNwの倍数または倍数に最も近い値となるようなiを決定し、前記取り出したラインの頂点のうちi番目のインデックスだけを選択し、選択されたインデックスを、頂点座標テーブルを参照して頂点座標に置き換えてポリラインを表示する手段とを備え、n次元形状モデルを表すポリラインと三角形メッシュを表示するようにしたことを特徴とする。
また、本発明の請求項3のn次元形状モデル表示装置は、n次元空間の形状モデルを表すポリラインおよび三角形メッシュを表示するn次元形状モデル表示装置において、前記三角形メッシュを格納する三角形メッシュインデックステーブルから取り出した三角メッシュごとに、該三角メッシュの頂点を示すインデックスを、頂点座標テーブルを参照して頂点座標に置き換えて三角メッシュを表示する手段と、前記ポリラインを格納するポリラインインデックステーブルから取り出したラインごとに、該ポリラインに対応したポリラインの分割数(Nwとする)をポリライン分割数テーブルから取り出し、前記ポリラインに対応したメッシュ境界の分割数(Nmとする)をメッシュ境界分割数テーブルから取り出して、i×Nm(このiは、0≦i≦Nwの範囲内の整数とする)の値がNwの倍数または倍数に最も近い値となるようなiを決定し、前記取り出したラインの頂点のうちi番目のインデックスだけを選択し、選択されたインデックスを、頂点座標テーブルを参照して頂点座標に置き換えてポリラインを表示する手段とを備え、n次元形状モデルを表すポリラインと三角形メッシュを表示するようにしたことを特徴とする。
また、本発明の請求項4のn次元形状モデル表示方法は、n次元空間の形状モデルを表すポリラインおよび三角形メッシュを表示装置へ表示するn次元形状モデル表示方法において、前記三角形メッシュを格納する三角形メッシュインデックステーブルから取り出した三角メッシュごとに、該三角メッシュの頂点を示すインデックスを、頂点座標テーブルを参照して頂点座標に置き換えて三角メッシュを表示し、前記ポリラインを格納するポリラインインデックステーブルから取り出したラインごとに、該ポリラインに対応したポリラインの分割数(Nwとする)をポリライン分割数テーブルから取り出し、前記ポリラインに対応したメッシュ境界の分割数(Nmとする)をメッシュ境界分割数テーブルから取り出して、i×Nm(このiは、0≦i≦Nwの範囲内の整数とする)の値がNwの倍数または倍数に最も近い値となるようなiを決定し、前記取り出したラインの頂点のうちi番目のインデックスだけを選択し、選択されたインデックスを、頂点座標テーブルを参照して頂点座標に置き換えてポリラインを表示することにより、n次元形状モデルを表すポリラインと三角形メッシュを表示するようにしたことを特徴とする。
また、本発明の請求項5のn次元形状モデルのデータ構造は、n次元空間の形状モデルを表すポリラインおよび三角形メッシュを格納するデータ構造であって、前記ポリラインおよび前記三角形メッシュの頂点座標を格納する頂点座標テーブルと、前記三角形メッシュを格納する三角形メッシュインデックステーブルと、前記ポリラインを格納するポリラインインデックステーブルと、前記ポリラインそれぞれに対応したポリラインの分割数を格納するポリライン分割数テーブルと、前記ポリラインそれぞれに対応したメッシュ境界の分割数を格納するメッシュ境界分割数テーブルと、からなることを特徴とする。
また、本発明の請求項5のn次元形状モデルのデータ構造は、n次元空間の形状モデルを表すポリラインおよび三角形メッシュを格納するデータ構造であって、前記ポリラインおよび前記三角形メッシュの頂点座標を格納する頂点座標テーブルと、前記三角形メッシュを格納する三角形メッシュインデックステーブルと、前記ポリラインを格納するポリラインインデックステーブルと、前記ポリラインそれぞれに対応したポリラインの分割数を格納するポリライン分割数テーブルと、前記ポリラインそれぞれに対応したメッシュ境界の分割数を格納するメッシュ境界分割数テーブルと、からなることを特徴とする。
また、本発明の請求項6は、請求項1に記載のn次元形状モデル格納装置、請求項2に記載のn次元形状モデル格納方法、請求項3に記載のn次元形状モデル表示装置、請求項3に記載のn次元形状モデル表示方法または請求項5に記載のn次元形状モデルのデータ構造において、前記頂点座標テーブルは、浮動小数点表現および/またはベクトル量子化圧縮がなされていることを特徴とする。
また、本発明の請求項7は、請求項1に記載のn次元形状モデル格納装置、請求項2に記載のn次元形状モデル格納方法、請求項3に記載のn次元形状モデル表示装置、請求項3に記載のn次元形状モデル表示方法または請求項5に記載のn次元形状モデルのデータ構造において、前記三角形メッシュインデックステーブルは、インデックス三角形セット形式、インデックス三角形ストリップ形式またはインデックス三角形ファン形式のいずれかであることを特徴とする。
また、本発明の請求項8は、請求項1に記載のn次元形状モデル格納装置、請求項2に記載のn次元形状モデル格納方法、請求項3に記載のn次元形状モデル表示装置、請求項3に記載のn次元形状モデル表示方法または請求項5に記載のn次元形状モデルのデータ構造において、前記ポリラインインデックステーブルは、インデックスラインストリップ形式またはインデックスラインセット形式のいずれかであることを特徴とする。
また、本発明の請求項9のn次元形状モデル格納装置は、n次元空間の形状モデルを表すポリラインおよび三角形メッシュを格納するn次元形状モデル格納装置において、前記ポリラインの頂点座標をポリライン頂点座標テーブルに格納するポリライン頂点座標テーブル格納手段と、前記三角形メッシュの頂点座標のうちメッシュ境界上にある頂点座標の場合は、該頂点座標にそれぞれ最も近い前記ポリラインの頂点座標に置き換えて、該三角形メッシュを三角形メッシュ頂点座標テーブルに格納する三角形メッシュ頂点座標テーブル格納手段と、前記ポリラインそれぞれに対応したポリラインの分割数をポリライン分割数テーブルに格納するポリライン分割数テーブル格納手段と、前記ポリラインそれぞれに対応したメッシュ境界の分割数をメッシュ境界分割数テーブルに格納するメッシュ境界分割数テーブル格納手段を備え、n次元形状モデルを表すポリラインと三角形メッシュを格納するようにしたことを特徴とする。
また、本発明の請求項7は、請求項1に記載のn次元形状モデル格納装置、請求項2に記載のn次元形状モデル格納方法、請求項3に記載のn次元形状モデル表示装置、請求項3に記載のn次元形状モデル表示方法または請求項5に記載のn次元形状モデルのデータ構造において、前記三角形メッシュインデックステーブルは、インデックス三角形セット形式、インデックス三角形ストリップ形式またはインデックス三角形ファン形式のいずれかであることを特徴とする。
また、本発明の請求項8は、請求項1に記載のn次元形状モデル格納装置、請求項2に記載のn次元形状モデル格納方法、請求項3に記載のn次元形状モデル表示装置、請求項3に記載のn次元形状モデル表示方法または請求項5に記載のn次元形状モデルのデータ構造において、前記ポリラインインデックステーブルは、インデックスラインストリップ形式またはインデックスラインセット形式のいずれかであることを特徴とする。
また、本発明の請求項9のn次元形状モデル格納装置は、n次元空間の形状モデルを表すポリラインおよび三角形メッシュを格納するn次元形状モデル格納装置において、前記ポリラインの頂点座標をポリライン頂点座標テーブルに格納するポリライン頂点座標テーブル格納手段と、前記三角形メッシュの頂点座標のうちメッシュ境界上にある頂点座標の場合は、該頂点座標にそれぞれ最も近い前記ポリラインの頂点座標に置き換えて、該三角形メッシュを三角形メッシュ頂点座標テーブルに格納する三角形メッシュ頂点座標テーブル格納手段と、前記ポリラインそれぞれに対応したポリラインの分割数をポリライン分割数テーブルに格納するポリライン分割数テーブル格納手段と、前記ポリラインそれぞれに対応したメッシュ境界の分割数をメッシュ境界分割数テーブルに格納するメッシュ境界分割数テーブル格納手段を備え、n次元形状モデルを表すポリラインと三角形メッシュを格納するようにしたことを特徴とする。
また、本発明の請求項10のn次元形状モデル格納方法は、n次元空間の形状モデルを表すポリラインおよび三角形メッシュを格納するn次元形状モデル格納方法において、前記ポリラインの頂点座標をポリライン頂点座標テーブルに格納し、前記三角形メッシュの頂点座標のうちメッシュ境界上にある頂点座標の場合は、該頂点座標にそれぞれ最も近い前記ポリラインの頂点座標に置き換えて、該三角形メッシュを三角形メッシュ頂点座標テーブルに格納し、前記ポリラインそれぞれに対応したポリラインの分割数をポリライン分割数テーブルに格納し、前記ポリラインそれぞれに対応したメッシュ境界の分割数をメッシュ境界分割数テーブルに格納して、n次元形状モデルを表すポリラインと三角形メッシュを格納するようにしたことを特徴とする。
また、本発明の請求項11のn次元形状モデル表示装置は、n次元空間の形状モデルを表すポリラインおよび三角形メッシュを表示するn次元形状モデル表示装置において、前記三角形メッシュを格納する三角形メッシュ頂点座標テーブルから取り出した三角メッシュごとに三角メッシュを表示する手段と、前記ポリラインを格納するポリライン頂点座標テーブルから取り出したラインごとに、該ポリラインに対応したポリラインの分割数(Nwとする)をポリライン分割数テーブルから取り出し、前記ポリラインに対応したメッシュ境界の分割数(Nmとする)をメッシュ境界分割数テーブルから取り出して、i×Nm(このiは、0≦i≦Nwの範囲内の整数とする)の値がNwの倍数または倍数に最も近い値となるようなiを決定し、前記取り出したラインの頂点のうちi番目の頂点座標だけを選択してポリラインを表示する手段とを備え、n次元形状モデルを表すポリラインと三角形メッシュを表示するようにしたことを特徴とする。
また、本発明の請求項11のn次元形状モデル表示装置は、n次元空間の形状モデルを表すポリラインおよび三角形メッシュを表示するn次元形状モデル表示装置において、前記三角形メッシュを格納する三角形メッシュ頂点座標テーブルから取り出した三角メッシュごとに三角メッシュを表示する手段と、前記ポリラインを格納するポリライン頂点座標テーブルから取り出したラインごとに、該ポリラインに対応したポリラインの分割数(Nwとする)をポリライン分割数テーブルから取り出し、前記ポリラインに対応したメッシュ境界の分割数(Nmとする)をメッシュ境界分割数テーブルから取り出して、i×Nm(このiは、0≦i≦Nwの範囲内の整数とする)の値がNwの倍数または倍数に最も近い値となるようなiを決定し、前記取り出したラインの頂点のうちi番目の頂点座標だけを選択してポリラインを表示する手段とを備え、n次元形状モデルを表すポリラインと三角形メッシュを表示するようにしたことを特徴とする。
また、本発明の請求項12のn次元形状モデル表示方法は、n次元空間の形状モデルを表すポリラインおよび三角形メッシュを表示装置へ表示するn次元形状モデル表示方法において、前記三角形メッシュを格納する三角形メッシュ頂点座標テーブルから取り出した三角メッシュごとに三角メッシュを表示し、前記ポリラインを格納するポリライン頂点座標テーブルから取り出したラインごとに、該ポリラインに対応したポリラインの分割数(Nwとする)をポリライン分割数テーブルから取り出し、前記ポリラインに対応したメッシュ境界の分割数(Nmとする)をメッシュ境界分割数テーブルから取り出して、i×Nm(このiは、0≦i≦Nwの範囲内の整数とする)の値がNwの倍数または倍数に最も近い値となるようなiを決定し、前記取り出したラインの頂点のうちi番目の頂点座標だけを選択してポリラインを表示することにより、n次元形状モデルを表すポリラインと三角形メッシュを表示するようにしたことを特徴とする。
また、本発明の請求項13のn次元形状モデルのデータ構造は、n次元空間の形状モデルを表すポリラインおよび三角形メッシュを格納するデータ構造であって、前記三角形メッシュの頂点座標を格納する三角形メッシュ頂点座標テーブルと、前記ポリラインの頂点座標を表すポリライン頂点座標テーブルと、前記ポリラインそれぞれに対応したポリラインの分割数を格納するポリライン分割数テーブルと、前記ポリラインそれぞれに対応したメッシュ境界の分割数を格納するメッシュ境界分割数テーブルとからなることを特徴とする。
また、本発明の請求項14は、請求項9に記載のn次元形状モデル格納装置、請求項10に記載のn次元形状モデル格納方法、請求項11に記載のn次元形状モデル表示装置、請求項12に記載のn次元形状モデル表示方法または請求項13に記載のn次元形状モデルのデータ構造において、前記三角形メッシュ頂点座標テーブルおよび前記ポリライン頂点座標テーブルの頂点座標は、浮動小数点表現および/またはベクトル量子化圧縮がなされていることを特徴とする。
また、本発明の請求項13のn次元形状モデルのデータ構造は、n次元空間の形状モデルを表すポリラインおよび三角形メッシュを格納するデータ構造であって、前記三角形メッシュの頂点座標を格納する三角形メッシュ頂点座標テーブルと、前記ポリラインの頂点座標を表すポリライン頂点座標テーブルと、前記ポリラインそれぞれに対応したポリラインの分割数を格納するポリライン分割数テーブルと、前記ポリラインそれぞれに対応したメッシュ境界の分割数を格納するメッシュ境界分割数テーブルとからなることを特徴とする。
また、本発明の請求項14は、請求項9に記載のn次元形状モデル格納装置、請求項10に記載のn次元形状モデル格納方法、請求項11に記載のn次元形状モデル表示装置、請求項12に記載のn次元形状モデル表示方法または請求項13に記載のn次元形状モデルのデータ構造において、前記三角形メッシュ頂点座標テーブルおよび前記ポリライン頂点座標テーブルの頂点座標は、浮動小数点表現および/またはベクトル量子化圧縮がなされていることを特徴とする。
また、本発明の請求項15は、請求項9に記載のn次元形状モデル格納装置、請求項10に記載のn次元形状モデル格納方法、請求項11に記載のn次元形状モデル表示装置、請求項12に記載のn次元形状モデル表示方法または請求項13に記載のn次元形状モデルのデータ構造において、前記三角形メッシュ頂点座標テーブルは、三角形セット形式、三角形ストリップ形式または三角形ファン形式のいずれかであることを特徴とする。
また、本発明の請求項16は、請求項9に記載のn次元形状モデル格納装置、請求項10に記載のn次元形状モデル格納方法、請求項11に記載のn次元形状モデル表示装置、請求項12に記載のn次元形状モデル表示方法または請求項13に記載のn次元形状モデルのデータ構造において、前記ポリライン頂点座標テーブルは、ラインストリップ形式またはラインセット形式のいずれかであることを特徴とする。
また、本発明の請求項17のn次元形状モデル処理システムは、n次元空間の形状モデルを処理するn次元形状モデル処理システムにおいて、請求項1または9に記載のn次元形状モデル格納装置と、請求項3または11に記載のn次元形状モデル表示装置を備え、前記n次元形状モデル格納装置は、格納された形状データを送信し、前記n次元形状モデル表示装置は、該形状データを受信して表示するようにしたことを特徴とする。
また、本発明の請求項18のプログラムは、コンピュータに、請求項1または9に記載のn次元形状モデル格納装置、請求項3または11に記載のn次元形状モデル表示装置、または、請求項17に記載のn次元形状モデル処理システムの機能を実行させるためのプログラムである。
また、本発明の請求項19の記録媒体は、請求項18に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
また、本発明の請求項16は、請求項9に記載のn次元形状モデル格納装置、請求項10に記載のn次元形状モデル格納方法、請求項11に記載のn次元形状モデル表示装置、請求項12に記載のn次元形状モデル表示方法または請求項13に記載のn次元形状モデルのデータ構造において、前記ポリライン頂点座標テーブルは、ラインストリップ形式またはラインセット形式のいずれかであることを特徴とする。
また、本発明の請求項17のn次元形状モデル処理システムは、n次元空間の形状モデルを処理するn次元形状モデル処理システムにおいて、請求項1または9に記載のn次元形状モデル格納装置と、請求項3または11に記載のn次元形状モデル表示装置を備え、前記n次元形状モデル格納装置は、格納された形状データを送信し、前記n次元形状モデル表示装置は、該形状データを受信して表示するようにしたことを特徴とする。
また、本発明の請求項18のプログラムは、コンピュータに、請求項1または9に記載のn次元形状モデル格納装置、請求項3または11に記載のn次元形状モデル表示装置、または、請求項17に記載のn次元形状モデル処理システムの機能を実行させるためのプログラムである。
また、本発明の請求項19の記録媒体は、請求項18に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
本発明によれば、n次元形状モデルを三角形メッシュとポリラインで表した場合、三角形メッシュの分割数とポリラインの分割数を独立して保持するようにしたことにより、三角形メッシュの分割数をポリラインに一致させる必要がないので、データサイズが大きくならない。
また、ワイヤーフレーム表示の見かけが悪くならない。
また、三角形メッシュの分割数とポリラインの分割数を独立して保持していても、表示する際には三角形メッシュとポリラインの分割数を一致させることができるので、ワイヤーシェーディング同時表示において、分割数の違いからの不一致は発生しない。
また、本発明を3次元CADシステムなどに実現することによって、コンパクトで見かけのよい3次元形状データを実現することができる。
また、ワイヤーフレーム表示の見かけが悪くならない。
また、三角形メッシュの分割数とポリラインの分割数を独立して保持していても、表示する際には三角形メッシュとポリラインの分割数を一致させることができるので、ワイヤーシェーディング同時表示において、分割数の違いからの不一致は発生しない。
また、本発明を3次元CADシステムなどに実現することによって、コンパクトで見かけのよい3次元形状データを実現することができる。
以下、図面を参照して本発明の好適な実施形態について説明する。
<実施形態1>
(1)データ構造
図1は、本発明のn次元(2乃至4次元)形状モデルをポリラインと三角形メッシュで表した場合の形状データを格納するためのデータ構造を示している。
n次元のポリラインと三角形メッシュを格納するためのデータ構造は、n次元空間の頂点座標を表す頂点座標テーブル1と、三角形メッシュを表す三角形メッシュインデックステーブル2と、ポリラインを表すポリラインインデックステーブル3と、ポリライン分割数テーブル4と、メッシュ境界分割数テーブル5から構成される。
頂点座標テーブル1には、頂点座標の数(=Nc)とNc個の頂点座標が格納され、Nc個の頂点座標は頂点座標0から頂点座標(Nc−1)の順に格納されている。また、これらの頂点座標は、それぞれ(x成分、y成分、z成分)の3成分から構成され、各成分は浮動小数点あるいはベクトル量子化圧縮が行われる。
三角形メッシュインデックステーブル2のデータ構造には、三角形メッシュインデックス数(=Nt)と、所定の曲面群を表す複数の三角形メッシュを、三角形セット形式、三角形ストリップ形式または三角形ファン形式のいずれかの形式で格納する。
三角形セット形式は、各三角形メッシュの3つの頂点を順次並べて格納しており、この3つの頂点の座標は頂点座標テーブルに格納された座標値へのインデックスを用いて表現される。
三角形ストリップ形式は、各三角形メッシュをストリップ形式で表現して順次並べて格納し、この頂点の座標は頂点座標テーブルに格納された座標値へのインデックスを用いて表現される。また、ストリップ形式は、一つのストリップ形式のデータの区切りを、頂点座標の並びの最後にデリミタを挿入して表現する。
<実施形態1>
(1)データ構造
図1は、本発明のn次元(2乃至4次元)形状モデルをポリラインと三角形メッシュで表した場合の形状データを格納するためのデータ構造を示している。
n次元のポリラインと三角形メッシュを格納するためのデータ構造は、n次元空間の頂点座標を表す頂点座標テーブル1と、三角形メッシュを表す三角形メッシュインデックステーブル2と、ポリラインを表すポリラインインデックステーブル3と、ポリライン分割数テーブル4と、メッシュ境界分割数テーブル5から構成される。
頂点座標テーブル1には、頂点座標の数(=Nc)とNc個の頂点座標が格納され、Nc個の頂点座標は頂点座標0から頂点座標(Nc−1)の順に格納されている。また、これらの頂点座標は、それぞれ(x成分、y成分、z成分)の3成分から構成され、各成分は浮動小数点あるいはベクトル量子化圧縮が行われる。
三角形メッシュインデックステーブル2のデータ構造には、三角形メッシュインデックス数(=Nt)と、所定の曲面群を表す複数の三角形メッシュを、三角形セット形式、三角形ストリップ形式または三角形ファン形式のいずれかの形式で格納する。
三角形セット形式は、各三角形メッシュの3つの頂点を順次並べて格納しており、この3つの頂点の座標は頂点座標テーブルに格納された座標値へのインデックスを用いて表現される。
三角形ストリップ形式は、各三角形メッシュをストリップ形式で表現して順次並べて格納し、この頂点の座標は頂点座標テーブルに格納された座標値へのインデックスを用いて表現される。また、ストリップ形式は、一つのストリップ形式のデータの区切りを、頂点座標の並びの最後にデリミタを挿入して表現する。
三角形ファン形式は、各三角形メッシュをファン形式で表現して順次並べて格納し、この頂点座標は頂点座標テーブルに格納された座標値へのインデックスを用いて表現される。また、ファン形式は、一つのファン形式のデータの区切りを、頂点座標の並びの最後にデリミタを挿入して表現する。
ポリラインインデックステーブル3のデータ構造には、ポリラインインデックス数(=Np)と、面の境界稜線(メッシュ境界)を表す複数のポリラインをラインセット形式またはラインストリップ形式のいずれかの形式で格納する。
ラインセット形式は、線分の始点座標、終点座標を格納している頂点座標テーブルに格納された座標値へのインデックスが順に格納される。
ラインストリップ形式は、各ポリラインをストリップ形式で表現して順次並べて格納し、この頂点座標は頂点座標テーブルに格納された座標値へのインデックスを用いて表現される。また、ストリップ形式は、一つのストリップ形式のデータの区切りを、頂点座標の並びの最後にデリミタを挿入して表現する。
ポリライン分割数テーブル4のデータ構造には、境界数(=Nd)と各稜線を表すポリラインごとの分割数を格納している。
メッシュ境界分割数テーブル5のデータ構造には、境界数(=Nb)と各メッシュ境界を表す稜線ごとの分割数を格納している。
このポリライン分割数テーブル4とメッシュ境界分割数テーブル5とは、同じ稜線に対して、ポリライン側から見たときの分割数と、面を表す三角形メッシュ側から見たときの稜線分割数である。
また、ポリラインインデックステーブル3から取り出された各ポリラインの順序と、各分割数テーブルの各エントリとは対応している。
ポリラインインデックステーブル3のデータ構造には、ポリラインインデックス数(=Np)と、面の境界稜線(メッシュ境界)を表す複数のポリラインをラインセット形式またはラインストリップ形式のいずれかの形式で格納する。
ラインセット形式は、線分の始点座標、終点座標を格納している頂点座標テーブルに格納された座標値へのインデックスが順に格納される。
ラインストリップ形式は、各ポリラインをストリップ形式で表現して順次並べて格納し、この頂点座標は頂点座標テーブルに格納された座標値へのインデックスを用いて表現される。また、ストリップ形式は、一つのストリップ形式のデータの区切りを、頂点座標の並びの最後にデリミタを挿入して表現する。
ポリライン分割数テーブル4のデータ構造には、境界数(=Nd)と各稜線を表すポリラインごとの分割数を格納している。
メッシュ境界分割数テーブル5のデータ構造には、境界数(=Nb)と各メッシュ境界を表す稜線ごとの分割数を格納している。
このポリライン分割数テーブル4とメッシュ境界分割数テーブル5とは、同じ稜線に対して、ポリライン側から見たときの分割数と、面を表す三角形メッシュ側から見たときの稜線分割数である。
また、ポリラインインデックステーブル3から取り出された各ポリラインの順序と、各分割数テーブルの各エントリとは対応している。
(2)ポリラインと三角形メッシュデータの格納:
次に、本実施形態1で示したデータ構造(図1)を用いて、所定のn次元形状を表すポリラインと三角形メッシュを格納する方法について説明する。
はじめに、n次元形状を表す三角形メッシュやポリラインのデータは、すでにn次元形状処理装置のようなシステムによってデータベース化(形状DB)されているものとする。従って、面は、三角形セット形式、三角形ストリップ形式または三角形ファン形式のいずれかで表現された三角形メッシュで作成されており、メッシュ境界がどの稜線であるかまたその分割数がいくつであるか等はその形状DBには格納されているものとする。
また、同様に、ポリラインに対しても、ラインセット形式またはラインストリップ形式のいずれかで表現されており、どの稜線と対応しているか、また、その分割数がいくつであるか等はその形状DBには格納されているものとする。
図2は、実施形態1のデータ構造で格納するためのn次元形状モデル格納装置の構成を示すブロック図である。同図において、20は頂点座標テーブル生成手段、30は三角メッシュテーブル生成手段、40はポリラインテーブル生成手段、50はポリライン分割数テーブル生成手段、60はメッシュ境界分割数テーブル生成手段、70は生成したテーブル(頂点座標テーブル、三角形メッシュインデックステーブル、ポリラインインデックステーブル、ポリライン分割数テーブル、メッシュ境界分割数テーブル)を格納するデータ格納手段、10は格納装置を制御する制御手段である。なお、請求項において、頂点座標テーブル格納手段とは頂点座標テーブル生成手段20およびデータ格納手段70を意味し、三角形メッシュテーブル格納手段とは三角形メッシュテーブル生成手段30およびデータ格納手段70を意味し、ポリラインテーブル格納手段とはポリラインテーブル生成手段40およびデータ格納手段70を意味し、ポリライン分割数テーブル格納手段とはポリライン分割数テーブル生成手段50およびデータ格納手段70を意味し、メッシュ境界分割数テーブル格納手段とはメッシュ境界分割数テーブル生成手段60およびデータ格納手段70を意味する。
次に、本実施形態1で示したデータ構造(図1)を用いて、所定のn次元形状を表すポリラインと三角形メッシュを格納する方法について説明する。
はじめに、n次元形状を表す三角形メッシュやポリラインのデータは、すでにn次元形状処理装置のようなシステムによってデータベース化(形状DB)されているものとする。従って、面は、三角形セット形式、三角形ストリップ形式または三角形ファン形式のいずれかで表現された三角形メッシュで作成されており、メッシュ境界がどの稜線であるかまたその分割数がいくつであるか等はその形状DBには格納されているものとする。
また、同様に、ポリラインに対しても、ラインセット形式またはラインストリップ形式のいずれかで表現されており、どの稜線と対応しているか、また、その分割数がいくつであるか等はその形状DBには格納されているものとする。
図2は、実施形態1のデータ構造で格納するためのn次元形状モデル格納装置の構成を示すブロック図である。同図において、20は頂点座標テーブル生成手段、30は三角メッシュテーブル生成手段、40はポリラインテーブル生成手段、50はポリライン分割数テーブル生成手段、60はメッシュ境界分割数テーブル生成手段、70は生成したテーブル(頂点座標テーブル、三角形メッシュインデックステーブル、ポリラインインデックステーブル、ポリライン分割数テーブル、メッシュ境界分割数テーブル)を格納するデータ格納手段、10は格納装置を制御する制御手段である。なお、請求項において、頂点座標テーブル格納手段とは頂点座標テーブル生成手段20およびデータ格納手段70を意味し、三角形メッシュテーブル格納手段とは三角形メッシュテーブル生成手段30およびデータ格納手段70を意味し、ポリラインテーブル格納手段とはポリラインテーブル生成手段40およびデータ格納手段70を意味し、ポリライン分割数テーブル格納手段とはポリライン分割数テーブル生成手段50およびデータ格納手段70を意味し、メッシュ境界分割数テーブル格納手段とはメッシュ境界分割数テーブル生成手段60およびデータ格納手段70を意味する。
図3は、形状DBの中の指定された形状データ(n次元のポリラインと三角形メッシュで表現されている。)を図1のデータ構造の形式で格納する手順を示すフローチャートである。
まず、頂点座標テーブル生成手段20により、形状DBの中の指定された形状の中のすべてのポリラインに対して、ポリラインを構成するn次元空間の頂点座標を頂点座標テーブルに格納し、格納した頂点数(Nc)を更新する(ステップS1)。
次に、ポリラインテーブル生成手段40により形状DBの中の指定された形状の中のすべてのポリラインに対して、各ポリラインの頂点座標を頂点座標テーブルへのインデックスに変換して、各ポリラインを順次ラインセット形式またはラインストリップ形式でポリラインインデックステーブルに格納し、格納したインデックス数をポリラインインデックス数(Np)として更新する(ステップS2)。
更に、頂点座標テーブル生成手段20により、形状DBの中の指定された形状の中のすべての三角形メッシュで用いるn次元空間の頂点座標のうち、メッシュ境界上にない頂点座標を頂点座標テーブルに格納し、頂点数Ncを更新する(ステップS3)。
まず、頂点座標テーブル生成手段20により、形状DBの中の指定された形状の中のすべてのポリラインに対して、ポリラインを構成するn次元空間の頂点座標を頂点座標テーブルに格納し、格納した頂点数(Nc)を更新する(ステップS1)。
次に、ポリラインテーブル生成手段40により形状DBの中の指定された形状の中のすべてのポリラインに対して、各ポリラインの頂点座標を頂点座標テーブルへのインデックスに変換して、各ポリラインを順次ラインセット形式またはラインストリップ形式でポリラインインデックステーブルに格納し、格納したインデックス数をポリラインインデックス数(Np)として更新する(ステップS2)。
更に、頂点座標テーブル生成手段20により、形状DBの中の指定された形状の中のすべての三角形メッシュで用いるn次元空間の頂点座標のうち、メッシュ境界上にない頂点座標を頂点座標テーブルに格納し、頂点数Ncを更新する(ステップS3)。
次に、三角形メッシュテーブル生成手段30により、形状DBの中の指定された形状の中のすべての三角形メッシュで用いるn次元空間の頂点座標のうち、メッシュ境界上にない頂点座標については、頂点座標テーブルに格納された座標値へのインデックスを取り出し、また、メッシュ境界上にある頂点座標については最も近いポリライン上の始点座標または終点座標への(頂点座標テーブルの)インデックスに置き換え、各三角形メッシュを三角形セット形式、三角形ストリップ形式または三角形ファン形式のいずれかの形式で三角形メッシュインデックステーブルに格納し、格納したインデックス数を三角形メッシュインデックス数(Nt)として更新する(ステップS4)。
以上のように、メッシュ境界上にある三角形メッシュの頂点座標をポリライン上の頂点と一致させることによって、表示したときの三角形メッシュの稜線とポリラインが表示する稜線との隙間をなくすことができる。
ポリライン分割数テーブル生成手段50により、形状DBの中の指定された形状の中のすべてのポリラインに対して、ポリラインインデックステーブルに格納した順序でポリラインごとの分割数をポリライン分割数テーブルに格納し、ポリラインの数を境界数(Nd)として更新する(ステップS5)。
メッシュ境界分割数テーブル生成手段60により、形状DBの中の指定された形状の中のすべての三角形メッシュ境界の稜線に対して、ポリラインインデックステーブルにポリラインを格納した順序でメッシュ境界ごとの分割数を三角メッシュ境界分割数テーブルに格納し、メッシュ境界の数を境界数(Nb)として更新する(ステップS6)。
以上のように、n次元形状を表す三角メッシュやポリラインのデータを作成することによって、三角形メッシュの分割数とポリラインの分割数を独立して保持することが可能になり、三角形メッシュの分割数をポリラインに一致させる必要がないので、データサイズが大きくならない。
以上のように、メッシュ境界上にある三角形メッシュの頂点座標をポリライン上の頂点と一致させることによって、表示したときの三角形メッシュの稜線とポリラインが表示する稜線との隙間をなくすことができる。
ポリライン分割数テーブル生成手段50により、形状DBの中の指定された形状の中のすべてのポリラインに対して、ポリラインインデックステーブルに格納した順序でポリラインごとの分割数をポリライン分割数テーブルに格納し、ポリラインの数を境界数(Nd)として更新する(ステップS5)。
メッシュ境界分割数テーブル生成手段60により、形状DBの中の指定された形状の中のすべての三角形メッシュ境界の稜線に対して、ポリラインインデックステーブルにポリラインを格納した順序でメッシュ境界ごとの分割数を三角メッシュ境界分割数テーブルに格納し、メッシュ境界の数を境界数(Nb)として更新する(ステップS6)。
以上のように、n次元形状を表す三角メッシュやポリラインのデータを作成することによって、三角形メッシュの分割数とポリラインの分割数を独立して保持することが可能になり、三角形メッシュの分割数をポリラインに一致させる必要がないので、データサイズが大きくならない。
(3)n次元のポリラインと三角形メッシュデータの表示
図4は、実施形態1のデータ構造で格納された形状データを表示するn次元形状モデル表示装置の構成を示すブロック図である。同図において、n次元形状モデル表示装置は、三角メッシュ表示手段110、ポリライン表示手段120、形状モデルデータ(頂点座標テーブル、三角形メッシュインデックステーブル、ポリラインインデックステーブル、ポリライン分割数テーブル、メッシュ境界分割数テーブル)を保持するデータ保持手段130と、これらの表示手段を制御する制御手段100とから構成される。
図5は、本実施形態1のn次元形状モデル格納装置で格納された形状データ(n次元のポリラインと三角形メッシュデータで表された)を表示するときの処理手順を示すフローチャートである。
三角メッシュ表示手段110により三角形メッシュインデックステーブルと頂点座標テーブルを用いて三角形メッシュを表示する(ステップS11)。
・三角形メッシュの頂点座標がセット形式で格納されている場合:
三角形メッシュインデックステーブルから3つのインデックスを取り出して、これらのインデックスが示す頂点座標テーブルの頂点座標を取り出して、三角形メッシュを表示する。これをNc/3個の三角形メッシュについて繰り返す。
・三角形メッシュの頂点座標が三角形ストリップ形式で格納されている場合:
三角形メッシュインデックステーブルからデリミタまでを取り出して、ストリップ形式で格納されているインデックスを、頂点座標テーブルを参照して頂点座標へ変換してから、三角形メッシュを表示する。これをインデックステーブルの最後まで繰り返す。
・三角形メッシュの頂点座標が三角形ファン形式で格納されている場合:
三角形メッシュインデックステーブルからデリミタまでを取り出して、ファン形式で格納されているインデックスを、頂点座標テーブルを参照して頂点座標へ変換してから、三角形メッシュを表示する。これをインデックステーブルの最後まで繰り返す。
ポリライン表示手段120により、ポリラインインデックステーブル、頂点座標テーブル、ポリライン分割数テーブルおよびメッシュ境界分割数テーブルを用いてポリラインを表示する(ステップS12)。
図4は、実施形態1のデータ構造で格納された形状データを表示するn次元形状モデル表示装置の構成を示すブロック図である。同図において、n次元形状モデル表示装置は、三角メッシュ表示手段110、ポリライン表示手段120、形状モデルデータ(頂点座標テーブル、三角形メッシュインデックステーブル、ポリラインインデックステーブル、ポリライン分割数テーブル、メッシュ境界分割数テーブル)を保持するデータ保持手段130と、これらの表示手段を制御する制御手段100とから構成される。
図5は、本実施形態1のn次元形状モデル格納装置で格納された形状データ(n次元のポリラインと三角形メッシュデータで表された)を表示するときの処理手順を示すフローチャートである。
三角メッシュ表示手段110により三角形メッシュインデックステーブルと頂点座標テーブルを用いて三角形メッシュを表示する(ステップS11)。
・三角形メッシュの頂点座標がセット形式で格納されている場合:
三角形メッシュインデックステーブルから3つのインデックスを取り出して、これらのインデックスが示す頂点座標テーブルの頂点座標を取り出して、三角形メッシュを表示する。これをNc/3個の三角形メッシュについて繰り返す。
・三角形メッシュの頂点座標が三角形ストリップ形式で格納されている場合:
三角形メッシュインデックステーブルからデリミタまでを取り出して、ストリップ形式で格納されているインデックスを、頂点座標テーブルを参照して頂点座標へ変換してから、三角形メッシュを表示する。これをインデックステーブルの最後まで繰り返す。
・三角形メッシュの頂点座標が三角形ファン形式で格納されている場合:
三角形メッシュインデックステーブルからデリミタまでを取り出して、ファン形式で格納されているインデックスを、頂点座標テーブルを参照して頂点座標へ変換してから、三角形メッシュを表示する。これをインデックステーブルの最後まで繰り返す。
ポリライン表示手段120により、ポリラインインデックステーブル、頂点座標テーブル、ポリライン分割数テーブルおよびメッシュ境界分割数テーブルを用いてポリラインを表示する(ステップS12)。
まず、ポリラインインデックステーブルから格納形式に従って1ラインずつ取り出す。
・ポリラインがラインセット形式で格納されている場合:
ポリラインインデックステーブルで、2つのインデックスを取り出し、そのうちの終点座標へのインデックスが、次の2つのインデックスのうち始点座標へのインデックスと異なるところを探して、1ライン分のポリラインとし、このインデックスを抜き出す。
・ポリラインがラインストリップ形式で格納されている場合:
ポリラインインデックステーブルで、デリミタまでを1ライン分のポリラインとし、このインデックスを抜き出す。
この抜き出した1ラインが何番目のライン抜き出しかをカウントしておく。いま、k番目と仮定する。
次に、ポリライン分割数テーブルのk番目の分割数Nwkと、メッシュ境界分割数テーブルのk番目の分割数Nmkとを取り出す。
次に、i×Nmk(0≦i≦Nwk)の値がNwkの倍数またはNwkの倍数に最も近い値となるiを求める。ここで、0番目(i=0)はポリラインの始点を表し、Nwk番目(i=Nwk)はポリラインの終点を表すものとするので、iの値の個数は、必ず2個乃至それ以上の個数がある。
さらに、先に取り出した1ライン分のポリラインの頂点を表すインデックスのうち、ここで求めたi番目のインデックスを選んで、頂点座標テーブルを参照して頂点座標に変換し、ポリラインを表示する。
以上のことを、ポリラインインデックステーブルに登録されているポリラインの本数分繰り返す。
・ポリラインがラインセット形式で格納されている場合:
ポリラインインデックステーブルで、2つのインデックスを取り出し、そのうちの終点座標へのインデックスが、次の2つのインデックスのうち始点座標へのインデックスと異なるところを探して、1ライン分のポリラインとし、このインデックスを抜き出す。
・ポリラインがラインストリップ形式で格納されている場合:
ポリラインインデックステーブルで、デリミタまでを1ライン分のポリラインとし、このインデックスを抜き出す。
この抜き出した1ラインが何番目のライン抜き出しかをカウントしておく。いま、k番目と仮定する。
次に、ポリライン分割数テーブルのk番目の分割数Nwkと、メッシュ境界分割数テーブルのk番目の分割数Nmkとを取り出す。
次に、i×Nmk(0≦i≦Nwk)の値がNwkの倍数またはNwkの倍数に最も近い値となるiを求める。ここで、0番目(i=0)はポリラインの始点を表し、Nwk番目(i=Nwk)はポリラインの終点を表すものとするので、iの値の個数は、必ず2個乃至それ以上の個数がある。
さらに、先に取り出した1ライン分のポリラインの頂点を表すインデックスのうち、ここで求めたi番目のインデックスを選んで、頂点座標テーブルを参照して頂点座標に変換し、ポリラインを表示する。
以上のことを、ポリラインインデックステーブルに登録されているポリラインの本数分繰り返す。
<実施形態2>
(1)データ構造
図6は、本発明のn次元(2乃至4次元)形状モデルをポリラインと三角形メッシュで表した場合の形状データを格納するためのデータ構造を示している。
n次元のポリラインと三角形メッシュを格納するためのデータ構造は、三角形メッシュを表す三角形メッシュ頂点座標テーブル6と、ポリラインを表すポリライン頂点座標テーブル7と、ポリライン分割数テーブル8と、メッシュ境界分割数テーブル9から構成される。
三角形メッシュ頂点座標テーブル6のデータ構造には、三角形メッシュの座標数(=Nt)と、所定の曲面を表す複数の三角形メッシュを、三角形セット形式、三角形ストリップ形式または三角形ファン形式のいずれかの形式で格納する。
三角形セット形式は、各三角形メッシュの3つの頂点を順次並べて格納する。
三角形ストリップ形式は、各三角形メッシュをストリップ形式で表現して順次並べて格納する。また、ストリップ形式は、一つのストリップ形式のデータの区切りを、頂点座標の並びの最後にデリミタを挿入して表現する。
三角形ファン形式は、各三角形メッシュをファン形式で表現して順次並べて格納する。また、ファン形式は、一つのファン形式のデータの区切りを、頂点座標の並びの最後にデリミタを挿入して表現する。
さらに、三角形メッシュを表す頂点座標がメッシュ境界上にない場合は、そのまま頂点座標とするが、メッシュ境界上の頂点座標の場合には、それぞれ最も近いポリラインの頂点座標を探し、その頂点座標値に置き換えるようにして、三角形メッシュ頂点座標テーブルに格納する。
ここで格納される頂点の座標は、それぞれ(x成分、y成分、z成分)の3成分から構成され、各成分は浮動小数点あるいはベクトル量子化圧縮が行われている。
(1)データ構造
図6は、本発明のn次元(2乃至4次元)形状モデルをポリラインと三角形メッシュで表した場合の形状データを格納するためのデータ構造を示している。
n次元のポリラインと三角形メッシュを格納するためのデータ構造は、三角形メッシュを表す三角形メッシュ頂点座標テーブル6と、ポリラインを表すポリライン頂点座標テーブル7と、ポリライン分割数テーブル8と、メッシュ境界分割数テーブル9から構成される。
三角形メッシュ頂点座標テーブル6のデータ構造には、三角形メッシュの座標数(=Nt)と、所定の曲面を表す複数の三角形メッシュを、三角形セット形式、三角形ストリップ形式または三角形ファン形式のいずれかの形式で格納する。
三角形セット形式は、各三角形メッシュの3つの頂点を順次並べて格納する。
三角形ストリップ形式は、各三角形メッシュをストリップ形式で表現して順次並べて格納する。また、ストリップ形式は、一つのストリップ形式のデータの区切りを、頂点座標の並びの最後にデリミタを挿入して表現する。
三角形ファン形式は、各三角形メッシュをファン形式で表現して順次並べて格納する。また、ファン形式は、一つのファン形式のデータの区切りを、頂点座標の並びの最後にデリミタを挿入して表現する。
さらに、三角形メッシュを表す頂点座標がメッシュ境界上にない場合は、そのまま頂点座標とするが、メッシュ境界上の頂点座標の場合には、それぞれ最も近いポリラインの頂点座標を探し、その頂点座標値に置き換えるようにして、三角形メッシュ頂点座標テーブルに格納する。
ここで格納される頂点の座標は、それぞれ(x成分、y成分、z成分)の3成分から構成され、各成分は浮動小数点あるいはベクトル量子化圧縮が行われている。
ポリライン頂点座標テーブル7のデータ構造には、ポリライン座標数(=Np)と、面の境界稜線(メッシュ境界)を表す複数のポリラインをラインセット形式またはラインストリップ形式のいずれかの形式で格納する。
ラインセット形式は、線分の始点座標、終点座標を順次格納する。
ラインストリップ形式は、各ポリラインをストリップ形式で表現して順次並べて格納する。また、ストリップ形式は、一つのストリップ形式のデータの区切りを、頂点座標の並びの最後にデリミタを挿入して表現する。
ここで格納される頂点の座標は、それぞれ(x成分、y成分、z成分)の3成分から構成され、各成分は浮動小数点あるいはベクトル量子化圧縮が行われている。
ポリライン分割数テーブル8のデータ構造には、境界数(=Nd)と各稜線を表すポリラインごとの分割数を格納している。
メッシュ境界分割数テーブル9のデータ構造には、境界数(=Nb)と各メッシュ境界を表す稜線ごとの分割数を格納している。
このポリライン分割数テーブル8とメッシュ境界分割数テーブル9とは、同じ稜線に対して、ポリライン側から見たときの分割数と、面を表す三角形メッシュ側から見たときの稜線分割数である。
また、ポリライン頂点座標テーブル7から取り出された各ポリラインの順序と、各分割数テーブルの各エントリとは対応している。
ラインセット形式は、線分の始点座標、終点座標を順次格納する。
ラインストリップ形式は、各ポリラインをストリップ形式で表現して順次並べて格納する。また、ストリップ形式は、一つのストリップ形式のデータの区切りを、頂点座標の並びの最後にデリミタを挿入して表現する。
ここで格納される頂点の座標は、それぞれ(x成分、y成分、z成分)の3成分から構成され、各成分は浮動小数点あるいはベクトル量子化圧縮が行われている。
ポリライン分割数テーブル8のデータ構造には、境界数(=Nd)と各稜線を表すポリラインごとの分割数を格納している。
メッシュ境界分割数テーブル9のデータ構造には、境界数(=Nb)と各メッシュ境界を表す稜線ごとの分割数を格納している。
このポリライン分割数テーブル8とメッシュ境界分割数テーブル9とは、同じ稜線に対して、ポリライン側から見たときの分割数と、面を表す三角形メッシュ側から見たときの稜線分割数である。
また、ポリライン頂点座標テーブル7から取り出された各ポリラインの順序と、各分割数テーブルの各エントリとは対応している。
(2)ポリラインと三角形メッシュデータの格納:
次に、本実施形態2で示したデータ構造(図6)を用いて、所定のn次元形状を表すポリラインと三角形メッシュを格納する方法について説明する。
実施形態1と同様に、n次元形状を表す三角形メッシュやポリラインのデータは、すでにn次元形状処理装置のようなシステムによってデータベース化(形状DB)されているものとする。
図7は、実施形態2のデータ構造で格納された形状データを生成し、かつ格納するn次元形状モデル格納装置の構成を示すブロック図である。同図において、n次元形状モデル格納装置は、三角メッシュ頂点座標テーブル生成手段210、ポリライン頂点座標テーブル生成手段220、ポリライン分割数テーブル生成手段230、メッシュ境界分割数テーブル生成手段240、生成したテーブル(三角形メッシュ頂点座標テーブル、ポリライン頂点座標テーブルと、ポリライン分割数テーブル、メッシュ境界分割数テーブル)を格納するデータ格納手段250と、これらの表示手段を制御する制御手段200とから構成される。なお、請求項において、三角形メッシュ頂点座標テーブル格納手段とは三角形メッシュ頂点座標テーブル生成手段210およびデータ格納手段250を意味し、ポリライン頂点座標テーブル格納手段とはポリライン頂点座標テーブル生成手段220およびデータ格納手段250を意味し、ポリライン分割数テーブル格納手段とはポリライン分割数テーブル生成手段230およびデータ格納手段250を意味し、メッシュ境界分割数テーブル格納手段とはメッシュ境界分割数テーブル生成手段240およびデータ格納手段250を意味する。
次に、本実施形態2で示したデータ構造(図6)を用いて、所定のn次元形状を表すポリラインと三角形メッシュを格納する方法について説明する。
実施形態1と同様に、n次元形状を表す三角形メッシュやポリラインのデータは、すでにn次元形状処理装置のようなシステムによってデータベース化(形状DB)されているものとする。
図7は、実施形態2のデータ構造で格納された形状データを生成し、かつ格納するn次元形状モデル格納装置の構成を示すブロック図である。同図において、n次元形状モデル格納装置は、三角メッシュ頂点座標テーブル生成手段210、ポリライン頂点座標テーブル生成手段220、ポリライン分割数テーブル生成手段230、メッシュ境界分割数テーブル生成手段240、生成したテーブル(三角形メッシュ頂点座標テーブル、ポリライン頂点座標テーブルと、ポリライン分割数テーブル、メッシュ境界分割数テーブル)を格納するデータ格納手段250と、これらの表示手段を制御する制御手段200とから構成される。なお、請求項において、三角形メッシュ頂点座標テーブル格納手段とは三角形メッシュ頂点座標テーブル生成手段210およびデータ格納手段250を意味し、ポリライン頂点座標テーブル格納手段とはポリライン頂点座標テーブル生成手段220およびデータ格納手段250を意味し、ポリライン分割数テーブル格納手段とはポリライン分割数テーブル生成手段230およびデータ格納手段250を意味し、メッシュ境界分割数テーブル格納手段とはメッシュ境界分割数テーブル生成手段240およびデータ格納手段250を意味する。
図8は、形状DBの中の指定された形状データ(n次元のポリラインと三角形メッシュで表現されている。)を図6のデータ構造の形式で格納する手順を示すフローチャートである。
ポリライン頂点座標テーブル生成手段220より、に形状DBの中の指定された形状の中のすべてのポリラインに対して、順次ラインセット形式またはストリップ形式でポリライン頂点座標テーブルに格納し、座標数(Np)を更新する(ステップS21)。
三角メッシュ頂点座標テーブル生成手段210により、形状DBの中の指定された形状の中のすべての三角形メッシュで用いるn次元空間の頂点座標のうち、境界上にない頂点座標についてはそのままとし、また、境界上にある頂点座標については最も近いポリライン上の始点座標または終点座標に置き換え、各三角形メッシュを三角形セット形式、三角形ストリップ形式または三角形ファン形式のいずれかの形式で三角形メッシュ頂点座標テーブルに格納し、座標数(Nt)を更新する(ステップS22)。
以上のように、メッシュ境界上にある三角形メッシュの頂点座標をポリライン上の頂点と一致させることによって、表示したときの三角形メッシュの稜線とポリラインが表示する稜線との隙間をなくすことができる。
ポリライン頂点座標テーブル生成手段220より、に形状DBの中の指定された形状の中のすべてのポリラインに対して、順次ラインセット形式またはストリップ形式でポリライン頂点座標テーブルに格納し、座標数(Np)を更新する(ステップS21)。
三角メッシュ頂点座標テーブル生成手段210により、形状DBの中の指定された形状の中のすべての三角形メッシュで用いるn次元空間の頂点座標のうち、境界上にない頂点座標についてはそのままとし、また、境界上にある頂点座標については最も近いポリライン上の始点座標または終点座標に置き換え、各三角形メッシュを三角形セット形式、三角形ストリップ形式または三角形ファン形式のいずれかの形式で三角形メッシュ頂点座標テーブルに格納し、座標数(Nt)を更新する(ステップS22)。
以上のように、メッシュ境界上にある三角形メッシュの頂点座標をポリライン上の頂点と一致させることによって、表示したときの三角形メッシュの稜線とポリラインが表示する稜線との隙間をなくすことができる。
ポリライン分割数テーブル生成手段230により、形状DBの中の指定された形状の中のすべてのポリラインに対して、ポリライン頂点座標テーブルに格納した順序でポリラインごとの分割数をポリライン分割数テーブルに格納し、ポリラインの数を境界数(Nd)として更新する(ステップS23)。
メッシュ境界分割数テーブル生成手段240により、形状DBの中の指定された形状の中のすべての三角形メッシュ境界の稜線に対して、ポリライン頂点座標テーブルにポリラインを格納した順序でメッシュ境界ごとの分割数を三角メッシュ境界分割数テーブルに格納し、メッシュ境界の数を境界数(Nb)として更新する(ステップS24)。
以上のように、n次元形状を表す三角メッシュやポリラインのデータを作成することによって、三角形メッシュの分割数とポリラインの分割数を独立して保持することが可能になり、三角形メッシュの分割数をポリラインに一致させる必要がないので、データサイズが大きくならない。
メッシュ境界分割数テーブル生成手段240により、形状DBの中の指定された形状の中のすべての三角形メッシュ境界の稜線に対して、ポリライン頂点座標テーブルにポリラインを格納した順序でメッシュ境界ごとの分割数を三角メッシュ境界分割数テーブルに格納し、メッシュ境界の数を境界数(Nb)として更新する(ステップS24)。
以上のように、n次元形状を表す三角メッシュやポリラインのデータを作成することによって、三角形メッシュの分割数とポリラインの分割数を独立して保持することが可能になり、三角形メッシュの分割数をポリラインに一致させる必要がないので、データサイズが大きくならない。
(3)ポリラインと三角形メッシュデータの表示
図9は、本実施形態2のデータ構造で格納された形状データを表示するn次元形状モデル表示装置の構成を示すブロック図である。同図において、n次元形状モデル表示装置は、三角メッシュ表示手段310、ポリライン表示手段320、形状モデルデータ(三角形メッシュ頂点座標テーブル、ポリライン頂点座標テーブルと、ポリライン分割数テーブル、メッシュ境界分割数テーブル)を保持するデータ保持手段330と、これらの表示手段を制御する制御手段300とから構成される。
図10は、本実施形態2のn次元形状モデル格納装置で格納された形状(n次元のポリラインと三角形メッシュデータで表された)を表示するときの処理手順を示すフローチャートである。
三角形メッシュ頂点座標テーブルを用いて三角形メッシュを表示する(ステップS31)。ステップS31で三角メッシュ表示手段310を構成する。
・三角形メッシュの頂点座標がセット形式で格納されている場合:
三角形メッシュ頂点座標テーブルから3つの頂点座標を取り出して、三角形メッシュを表示する。これをNt/3個の三角形メッシュについて繰り返す。
・三角形メッシュの頂点座標がストリップ形式で格納されている場合:
三角形メッシュ頂点座標テーブルからデリミタまでを取り出して、ストリップ形式で三角形メッシュを表示する。これを三角形メッシュ頂点座標テーブルの最後まで繰り返す。
・三角形メッシュの頂点座標がファン形式で格納されている場合:
三角形メッシュ頂点座標テーブルからデリミタまでを取り出して、ファン形式で三角形メッシュを表示する。これを三角形メッシュ頂点座標テーブルの最後まで繰り返す。
ポリライン頂点座標テーブル、ポリライン分割数テーブルおよびメッシュ境界分割数テーブルを用いてポリラインを表示する(ステップS32)。ステップS32でポリライン表示手段320を構成する。
図9は、本実施形態2のデータ構造で格納された形状データを表示するn次元形状モデル表示装置の構成を示すブロック図である。同図において、n次元形状モデル表示装置は、三角メッシュ表示手段310、ポリライン表示手段320、形状モデルデータ(三角形メッシュ頂点座標テーブル、ポリライン頂点座標テーブルと、ポリライン分割数テーブル、メッシュ境界分割数テーブル)を保持するデータ保持手段330と、これらの表示手段を制御する制御手段300とから構成される。
図10は、本実施形態2のn次元形状モデル格納装置で格納された形状(n次元のポリラインと三角形メッシュデータで表された)を表示するときの処理手順を示すフローチャートである。
三角形メッシュ頂点座標テーブルを用いて三角形メッシュを表示する(ステップS31)。ステップS31で三角メッシュ表示手段310を構成する。
・三角形メッシュの頂点座標がセット形式で格納されている場合:
三角形メッシュ頂点座標テーブルから3つの頂点座標を取り出して、三角形メッシュを表示する。これをNt/3個の三角形メッシュについて繰り返す。
・三角形メッシュの頂点座標がストリップ形式で格納されている場合:
三角形メッシュ頂点座標テーブルからデリミタまでを取り出して、ストリップ形式で三角形メッシュを表示する。これを三角形メッシュ頂点座標テーブルの最後まで繰り返す。
・三角形メッシュの頂点座標がファン形式で格納されている場合:
三角形メッシュ頂点座標テーブルからデリミタまでを取り出して、ファン形式で三角形メッシュを表示する。これを三角形メッシュ頂点座標テーブルの最後まで繰り返す。
ポリライン頂点座標テーブル、ポリライン分割数テーブルおよびメッシュ境界分割数テーブルを用いてポリラインを表示する(ステップS32)。ステップS32でポリライン表示手段320を構成する。
まず、ポリライン頂点座標テーブルから格納形式に従って1ラインずつ取り出す。
・ポリラインがラインセット形式で格納されている場合:
ポリライン頂点座標テーブルで、2つの頂点座標を取り出し、そのうちの終点座標が、次の2つの頂点座標のうちの始点座標と異なるところを探し、1ライン分のポリラインとして抜き出す。
・ポリラインがラインストリップ形式で格納されている場合:
ポリライン頂点座標テーブルで、デリミタまでを1ライン分のポリラインとして抜き出す。
この抜き出した1ラインが何番目のライン抜き出しかをカウントしておく。いま、k番目と仮定する。
次に、ポリライン分割数テーブルのk番目の分割数Nwkと、メッシュ境界分割数テーブルのk番目の分割数Nmkとを取り出す。
次に、i×Nmk(0≦i≦Nwk)の値がNwkの倍数またはNwkの倍数に最も近い値となるiを求める。ここで、0番目(i=0)はポリラインの始点を表し、Nwk番目(i=Nwk)はポリラインの終点を表すものとするので、iの値の個数は、必ず2個乃至それ以上の個数がある。
さらに、先に取り出した1ライン分のポリラインの頂点座標のうち、ここで求めたi番目の頂点座標を選んで、ポリラインを表示する。
以上のことを、ポリライン頂点座標テーブルに登録されているポリラインの本数分繰り返す。
・ポリラインがラインセット形式で格納されている場合:
ポリライン頂点座標テーブルで、2つの頂点座標を取り出し、そのうちの終点座標が、次の2つの頂点座標のうちの始点座標と異なるところを探し、1ライン分のポリラインとして抜き出す。
・ポリラインがラインストリップ形式で格納されている場合:
ポリライン頂点座標テーブルで、デリミタまでを1ライン分のポリラインとして抜き出す。
この抜き出した1ラインが何番目のライン抜き出しかをカウントしておく。いま、k番目と仮定する。
次に、ポリライン分割数テーブルのk番目の分割数Nwkと、メッシュ境界分割数テーブルのk番目の分割数Nmkとを取り出す。
次に、i×Nmk(0≦i≦Nwk)の値がNwkの倍数またはNwkの倍数に最も近い値となるiを求める。ここで、0番目(i=0)はポリラインの始点を表し、Nwk番目(i=Nwk)はポリラインの終点を表すものとするので、iの値の個数は、必ず2個乃至それ以上の個数がある。
さらに、先に取り出した1ライン分のポリラインの頂点座標のうち、ここで求めたi番目の頂点座標を選んで、ポリラインを表示する。
以上のことを、ポリライン頂点座標テーブルに登録されているポリラインの本数分繰り返す。
<実施形態3>
また、上述したn次元形状モデル格納装置を実施するための第1のコンピュータとn次元形状モデル表示装置を実施するための第2のコンピュータを通信リンクで接続し、第1のコンピュータで図1または図6の形式でデータ格納手段に格納された形状データを通信リンクによって第2のコンピュータへ送る。
第2のコンピュータでは、この形状データを受信し、n次元形状モデルをディスプレイ等の表示装置へ表示することができる(図11参照)。
ここで、通信リンクの例として、シリアルリンク(RS−232)、パラレルリンク、無線リンク、赤外線リンク、ネットワーク(ローカルエリアネットワーク、広域ネットワーク、イントラネット、インターネット)がある。
また、上述の第1のコンピュータと第2のコンピュータとを同じコンピュータとしてもよい。
また、上述したn次元形状モデル格納装置を実施するための第1のコンピュータとn次元形状モデル表示装置を実施するための第2のコンピュータを通信リンクで接続し、第1のコンピュータで図1または図6の形式でデータ格納手段に格納された形状データを通信リンクによって第2のコンピュータへ送る。
第2のコンピュータでは、この形状データを受信し、n次元形状モデルをディスプレイ等の表示装置へ表示することができる(図11参照)。
ここで、通信リンクの例として、シリアルリンク(RS−232)、パラレルリンク、無線リンク、赤外線リンク、ネットワーク(ローカルエリアネットワーク、広域ネットワーク、イントラネット、インターネット)がある。
また、上述の第1のコンピュータと第2のコンピュータとを同じコンピュータとしてもよい。
<実施形態4>
本発明は、上述した実施形態のみに限定されたものではない。上述した実施形態の機能をそれぞれプログラム化し、あらかじめCD−ROM等の記録媒体に書き込んでおき、コンピュータに搭載したCD−ROMドライブのような媒体駆動装置にこのCD−ROM等を装着して、これらのプログラムをコンピュータのメモリあるいは記憶装置に格納し、それを実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラム自体が上述した実施形態を実現することになり、そのプログラムおよびそのプログラムを記録した記録媒体も本発明を構成することになる。
なお、記録媒体としては半導体媒体(例えば、ROM、不揮発性メモリカード等)、光媒体(例えば、DVD、MO、MD、CD−R等)、磁気媒体(例えば、磁気テープ、フレキシブルディスク等)のいずれであってもよい。
また、ロードしたプログラムを実行することにより上述した実施形態が実現されるだけでなく、そのプログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって上述した実施形態が実現される場合も含まれる。
さらに、上述したプログラムをサーバコンピュータの磁気ディスク等の記憶装置に格納しておき、通信網で接続された利用者のコンピュータからダウンロード等の形式で頒布する場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
また、上述したプログラムをサーバコンピュータの磁気ディスク等の記憶装置に格納しておき、通信網で接続された利用者のコンピュータから実行指示受信して、当該プログラムを実行し、その結果を利用者のコンピュータへ返信するようなASPによる利用を提供する場合、このサーバコンピュータの記憶装置およびそのプログラムも本発明に含まれる。
尚、本発明は上述した実施形態に限定されることなく、本発明の要旨を逸脱しない範囲内で各種の変形、修正が可能であるのは勿論である。
本発明は、上述した実施形態のみに限定されたものではない。上述した実施形態の機能をそれぞれプログラム化し、あらかじめCD−ROM等の記録媒体に書き込んでおき、コンピュータに搭載したCD−ROMドライブのような媒体駆動装置にこのCD−ROM等を装着して、これらのプログラムをコンピュータのメモリあるいは記憶装置に格納し、それを実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラム自体が上述した実施形態を実現することになり、そのプログラムおよびそのプログラムを記録した記録媒体も本発明を構成することになる。
なお、記録媒体としては半導体媒体(例えば、ROM、不揮発性メモリカード等)、光媒体(例えば、DVD、MO、MD、CD−R等)、磁気媒体(例えば、磁気テープ、フレキシブルディスク等)のいずれであってもよい。
また、ロードしたプログラムを実行することにより上述した実施形態が実現されるだけでなく、そのプログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって上述した実施形態が実現される場合も含まれる。
さらに、上述したプログラムをサーバコンピュータの磁気ディスク等の記憶装置に格納しておき、通信網で接続された利用者のコンピュータからダウンロード等の形式で頒布する場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
また、上述したプログラムをサーバコンピュータの磁気ディスク等の記憶装置に格納しておき、通信網で接続された利用者のコンピュータから実行指示受信して、当該プログラムを実行し、その結果を利用者のコンピュータへ返信するようなASPによる利用を提供する場合、このサーバコンピュータの記憶装置およびそのプログラムも本発明に含まれる。
尚、本発明は上述した実施形態に限定されることなく、本発明の要旨を逸脱しない範囲内で各種の変形、修正が可能であるのは勿論である。
10 制御手段、20 頂点座標テーブル生成手段、30 三角メッシュテーブル生成手段、40 ポリラインテーブル生成手段、50 ポリライン分割数テーブル生成手段、60 メッシュ境界分割数テーブル生成手段、70 データ格納手段、100 制御手段、110 三角メッシュ表示手段、120 ポリライン表示手段、130 データ保持手段、200 制御手段、210 三角メッシュ頂点座標テーブル生成手段、220 ポリライン頂点座標テーブル生成手段、230 ポリライン分割数テーブル生成手段、240 メッシュ境界分割数テーブル生成手段、250 データ格納手段、300 制御手段、310 三角メッシュ表示手段、320 ポリライン表示手段、330 データ保持手段
Claims (19)
- n次元空間の形状モデルを表すポリラインおよび三角形メッシュを格納するn次元形状モデル格納装置において、前記ポリラインの頂点座標と前記三角形メッシュの頂点座標のうちメッシュ境界上にない頂点座標を前記頂点座標テーブルに格納する頂点座標格納手段と、前記ポリラインの頂点座標を、該頂点座標を格納した前記頂点座標テーブルへのインデックスに置き換えて、該ポリラインをポリラインインデックステーブルに格納するポリラインテーブル格納手段と、前記三角形メッシュの頂点座標のうちメッシュ境界上にない頂点座標の場合は、該頂点座標を格納した前記頂点座標テーブルへのインデックスに置き換え、メッシュ境界上にある頂点座標の場合は、該頂点座標にそれぞれ最も近い前記ポリラインの頂点座標の前記頂点座標テーブルへのインデックスに置き換えて、該三角形メッシュを三角形メッシュインデックステーブルに格納する三角形メッシュテーブル格納手段と、前記ポリラインそれぞれに対応したポリラインの分割数をポリライン分割数テーブルに格納するポリライン分割数テーブル格納手段と、前記ポリラインそれぞれに対応したメッシュ境界の分割数をメッシュ境界分割数テーブルに格納するメッシュ境界分割数テーブル格納手段を備え、n次元形状モデルを表すポリラインと三角形メッシュを格納するようにしたことを特徴とするn次元形状モデル格納装置。
- n次元空間の形状モデルを表すポリラインおよび三角形メッシュを格納するn次元形状モデル格納方法において、前記ポリラインの頂点座標を頂点座標テーブルに格納し、前記ポリラインの頂点座標を、該頂点座標を格納した前記頂点座標テーブルへのインデックスに置き換えて、該ポリラインをポリラインインデックステーブルに格納し、前記三角形メッシュの頂点座標のうちメッシュ境界上にない頂点座標を前記頂点座標テーブルに格納し、前記三角形メッシュの頂点座標のうちメッシュ境界上にない頂点座標の場合は、該頂点座標を格納した前記頂点座標テーブルへのインデックスに置き換え、メッシュ境界上にある頂点座標の場合は、該頂点座標にそれぞれ最も近い前記ポリラインの頂点座標の前記頂点座標テーブルへのインデックスに置き換えて、該三角形メッシュを三角形メッシュインデックステーブルに格納し、前記ポリラインそれぞれに対応したポリラインの分割数をポリライン分割数テーブルに格納し、前記ポリラインそれぞれに対応したメッシュ境界の分割数をメッシュ境界分割数テーブルに格納して、n次元形状モデルを表すポリラインと三角形メッシュを格納するようにしたことを特徴とするn次元形状モデル格納方法。
- n次元空間の形状モデルを表すポリラインおよび三角形メッシュを表示するn次元形状モデル表示装置において、前記三角形メッシュを格納する三角形メッシュインデックステーブルから取り出した三角メッシュごとに、該三角メッシュの頂点を示すインデックスを、頂点座標テーブルを参照して頂点座標に置き換えて三角メッシュを表示する手段と、前記ポリラインを格納するポリラインインデックステーブルから取り出したラインごとに、該ポリラインに対応したポリラインの分割数(Nwとする)をポリライン分割数テーブルから取り出し、前記ポリラインに対応したメッシュ境界の分割数(Nmとする)をメッシュ境界分割数テーブルから取り出して、i×Nm(このiは、0≦i≦Nwの範囲内の整数とする)の値がNwの倍数または倍数に最も近い値となるようなiを決定し、前記取り出したラインの頂点のうちi番目のインデックスだけを選択し、選択されたインデックスを、頂点座標テーブルを参照して頂点座標に置き換えてポリラインを表示する手段とを備え、n次元形状モデルを表すポリラインと三角形メッシュを表示するようにしたことを特徴とするn次元形状モデル表示装置。
- n次元空間の形状モデルを表すポリラインおよび三角形メッシュを表示装置へ表示するn次元形状モデル表示方法において、前記三角形メッシュを格納する三角形メッシュインデックステーブルから取り出した三角メッシュごとに、該三角メッシュの頂点を示すインデックスを、頂点座標テーブルを参照して頂点座標に置き換えて三角メッシュを表示し、前記ポリラインを格納するポリラインインデックステーブルから取り出したラインごとに、該ポリラインに対応したポリラインの分割数(Nwとする)をポリライン分割数テーブルから取り出し、前記ポリラインに対応したメッシュ境界の分割数(Nmとする)をメッシュ境界分割数テーブルから取り出して、i×Nm(このiは、0≦i≦Nwの範囲内の整数とする)の値がNwの倍数または倍数に最も近い値となるようなiを決定し、前記取り出したラインの頂点のうちi番目のインデックスだけを選択し、選択されたインデックスを、頂点座標テーブルを参照して頂点座標に置き換えてポリラインを表示することにより、n次元形状モデルを表すポリラインと三角形メッシュを表示するようにしたことを特徴とするn次元形状モデル表示方法。
- n次元空間の形状モデルを表すポリラインおよび三角形メッシュを格納するデータ構造であって、前記ポリラインおよび前記三角形メッシュの頂点座標を格納する頂点座標テーブルと、前記三角形メッシュを格納する三角形メッシュインデックステーブルと、前記ポリラインを格納するポリラインインデックステーブルと、前記ポリラインそれぞれに対応したポリラインの分割数を格納するポリライン分割数テーブルと、前記ポリラインそれぞれに対応したメッシュ境界の分割数を格納するメッシュ境界分割数テーブルと、からなることを特徴とするn次元形状モデルのデータ構造。
- 請求項1〜5において、前記頂点座標テーブルは、浮動小数点表現および/またはベクトル量子化圧縮がなされていることを特徴とするn次元形状モデル。
- 請求項1〜5において、前記三角形メッシュインデックステーブルは、インデックス三角形セット形式、インデックス三角形ストリップ形式またはインデックス三角形ファン形式のいずれかであることを特徴とするn次元形状モデル。
- 請求項1〜5において、前記ポリラインインデックステーブルは、インデックスラインストリップ形式またはインデックスラインセット形式のいずれかであることを特徴とするn次元形状モデル。
- n次元空間の形状モデルを表すポリラインおよび三角形メッシュを格納するn次元形状モデル格納装置において、前記ポリラインの頂点座標をポリライン頂点座標テーブルに格納するポリライン頂点座標テーブル格納手段と、前記三角形メッシュの頂点座標のうちメッシュ境界上にある頂点座標の場合は、該頂点座標にそれぞれ最も近い前記ポリラインの頂点座標に置き換えて、該三角形メッシュを三角形メッシュ頂点座標テーブルに格納する三角形メッシュ頂点座標テーブル格納手段と、前記ポリラインそれぞれに対応したポリラインの分割数をポリライン分割数テーブルに格納するポリライン分割数テーブル格納手段と、前記ポリラインそれぞれに対応したメッシュ境界の分割数をメッシュ境界分割数テーブルに格納するメッシュ境界分割数テーブル格納手段を備え、n次元形状モデルを表すポリラインと三角形メッシュを格納するようにしたことを特徴とするn次元形状モデル格納装置。
- n次元空間の形状モデルを表すポリラインおよび三角形メッシュを格納するn次元形状モデル格納方法において、前記ポリラインの頂点座標をポリライン頂点座標テーブルに格納し、前記三角形メッシュの頂点座標のうちメッシュ境界上にある頂点座標の場合は、該頂点座標にそれぞれ最も近い前記ポリラインの頂点座標に置き換えて、該三角形メッシュを三角形メッシュ頂点座標テーブルに格納し、前記ポリラインそれぞれに対応したポリラインの分割数をポリライン分割数テーブルに格納し、前記ポリラインそれぞれに対応したメッシュ境界の分割数をメッシュ境界分割数テーブルに格納して、n次元形状モデルを表すポリラインと三角形メッシュを格納するようにしたことを特徴とするn次元形状モデル格納方法。
- n次元空間の形状モデルを表すポリラインおよび三角形メッシュを表示するn次元形状モデル表示装置において、前記三角形メッシュを格納する三角形メッシュ頂点座標テーブルから取り出した三角メッシュごとに三角メッシュを表示する手段と、前記ポリラインを格納するポリライン頂点座標テーブルから取り出したラインごとに、該ポリラインに対応したポリラインの分割数(Nwとする)をポリライン分割数テーブルから取り出し、前記ポリラインに対応したメッシュ境界の分割数(Nmとする)をメッシュ境界分割数テーブルから取り出して、i×Nm(このiは、0≦i≦Nwの範囲内の整数とする)の値がNwの倍数または倍数に最も近い値となるようなiを決定し、前記取り出したラインの頂点のうちi番目の頂点座標だけを選択してポリラインを表示する手段とを備え、n次元形状モデルを表すポリラインと三角形メッシュを表示するようにしたことを特徴とするn次元形状モデル表示装置。
- n次元空間の形状モデルを表すポリラインおよび三角形メッシュを表示装置へ表示するn次元形状モデル表示方法において、前記三角形メッシュを格納する三角形メッシュ頂点座標テーブルから取り出した三角メッシュごとに三角メッシュを表示し、前記ポリラインを格納するポリライン頂点座標テーブルから取り出したラインごとに、該ポリラインに対応したポリラインの分割数(Nwとする)をポリライン分割数テーブルから取り出し、前記ポリラインに対応したメッシュ境界の分割数(Nmとする)をメッシュ境界分割数テーブルから取り出して、i×Nm(このiは、0≦i≦Nwの範囲内の整数とする)の値がNwの倍数または倍数に最も近い値となるようなiを決定し、前記取り出したラインの頂点のうちi番目の頂点座標だけを選択してポリラインを表示することにより、n次元形状モデルを表すポリラインと三角形メッシュを表示するようにしたことを特徴とするn次元形状モデル表示方法。
- n次元空間の形状モデルを表すポリラインおよび三角形メッシュを格納するデータ構造であって、前記三角形メッシュの頂点座標を格納する三角形メッシュ頂点座標テーブルと、前記ポリラインの頂点座標を表すポリライン頂点座標テーブルと、前記ポリラインそれぞれに対応したポリラインの分割数を格納するポリライン分割数テーブルと、前記ポリラインそれぞれに対応したメッシュ境界の分割数を格納するメッシュ境界分割数テーブルとからなることを特徴とするn次元形状モデルのデータ構造。
- 請求項9〜13において、前記三角形メッシュ頂点座標テーブルおよび前記ポリライン頂点座標テーブルの頂点座標は、浮動小数点表現および/またはベクトル量子化圧縮がなされていることを特徴とするn次元形状モデル。
- 請求項9〜13において、前記三角形メッシュ頂点座標テーブルは、三角形セット形式、三角形ストリップ形式または三角形ファン形式のいずれかであることを特徴とするn次元形状モデル。
- 請求項9〜13において、前記ポリライン頂点座標テーブルは、ラインストリップ形式またはラインセット形式のいずれかであることを特徴とするn次元形状モデル。
- n次元空間の形状モデルを処理するn次元形状モデル処理システムにおいて、請求項1または9に記載のn次元形状モデル格納装置と、請求項3または11に記載のn次元形状モデル表示装置を備え、前記n次元形状モデル格納装置は、格納された形状データを送信し、前記n次元形状モデル表示装置は、該形状データを受信して表示するようにしたことを特徴とするn次元形状モデル処理システム。
- コンピュータに、請求項1または9に記載のn次元形状モデル格納装置、請求項3または11に記載のn次元形状モデル表示装置、または、請求項17に記載のn次元形状モデル処理システムの機能を実行させるためのプログラム。
- 請求項18に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003285276A JP2005056083A (ja) | 2003-08-01 | 2003-08-01 | n次元形状モデル、n次元形状モデル格納装置、n次元形状モデル格納方法、n次元形状モデル表示装置、n次元形状モデル表示方法、n次元形状モデルのデータ構造、n次元形状モデル処理システム、プログラムおよび記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003285276A JP2005056083A (ja) | 2003-08-01 | 2003-08-01 | n次元形状モデル、n次元形状モデル格納装置、n次元形状モデル格納方法、n次元形状モデル表示装置、n次元形状モデル表示方法、n次元形状モデルのデータ構造、n次元形状モデル処理システム、プログラムおよび記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005056083A true JP2005056083A (ja) | 2005-03-03 |
Family
ID=34364956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003285276A Pending JP2005056083A (ja) | 2003-08-01 | 2003-08-01 | n次元形状モデル、n次元形状モデル格納装置、n次元形状モデル格納方法、n次元形状モデル表示装置、n次元形状モデル表示方法、n次元形状モデルのデータ構造、n次元形状モデル処理システム、プログラムおよび記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005056083A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011185650A (ja) * | 2010-03-05 | 2011-09-22 | Omron Corp | モデル作成装置およびモデル作成プログラム |
JP2017533494A (ja) * | 2014-08-29 | 2017-11-09 | エーティーアイ・テクノロジーズ・ユーエルシーAti Technologies Ulc | Mpeg/sc3dmc標準のポリゴンメッシュへの拡張 |
KR20210103183A (ko) * | 2020-02-13 | 2021-08-23 | 한국기술교육대학교 산학협력단 | 뼈의 불균질성에 기반하는 2차원 삼각 메시 생성장치 및 방법 |
CN113838202A (zh) * | 2021-09-27 | 2021-12-24 | 北京百度网讯科技有限公司 | 地图中三维模型的处理方法、装置、设备及存储介质 |
CN113847921A (zh) * | 2020-06-28 | 2021-12-28 | 蘑菇车联信息科技有限公司 | 建立地图对象三维模型的方法及电子设备 |
-
2003
- 2003-08-01 JP JP2003285276A patent/JP2005056083A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011185650A (ja) * | 2010-03-05 | 2011-09-22 | Omron Corp | モデル作成装置およびモデル作成プログラム |
US8825452B2 (en) | 2010-03-05 | 2014-09-02 | Omron Corporation | Model producing apparatus, model producing method, and computer-readable recording medium in which model producing program is stored |
JP2017533494A (ja) * | 2014-08-29 | 2017-11-09 | エーティーアイ・テクノロジーズ・ユーエルシーAti Technologies Ulc | Mpeg/sc3dmc標準のポリゴンメッシュへの拡張 |
KR20210103183A (ko) * | 2020-02-13 | 2021-08-23 | 한국기술교육대학교 산학협력단 | 뼈의 불균질성에 기반하는 2차원 삼각 메시 생성장치 및 방법 |
KR102299669B1 (ko) | 2020-02-13 | 2021-09-07 | 한국기술교육대학교 산학협력단 | 뼈의 불균질성에 기반하는 2차원 삼각 메시 생성장치 및 방법 |
CN113847921A (zh) * | 2020-06-28 | 2021-12-28 | 蘑菇车联信息科技有限公司 | 建立地图对象三维模型的方法及电子设备 |
CN113838202A (zh) * | 2021-09-27 | 2021-12-24 | 北京百度网讯科技有限公司 | 地图中三维模型的处理方法、装置、设备及存储介质 |
CN113838202B (zh) * | 2021-09-27 | 2023-09-26 | 北京百度网讯科技有限公司 | 地图中三维模型的处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210042991A1 (en) | Object loading method and apparatus, storage medium, and electronic device | |
EP3454302B1 (en) | Approximating mesh deformation for character rigs | |
CN112933597B (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
US20060143020A1 (en) | Device capable of easily creating and editing a content which can be viewed in three dimensional way | |
US20060282443A1 (en) | Information processing apparatus, information processing method, and information processing program | |
US20130278607A1 (en) | Systems and Methods for Displaying Animations on a Mobile Device | |
US20230120253A1 (en) | Method and apparatus for generating virtual character, electronic device and readable storage medium | |
CN109964255B (zh) | 使用3d视频数据的3d打印 | |
WO2020240809A1 (ja) | 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム | |
CA2294538A1 (en) | System and method for computer modeling of 3d objects and 2d images by mesh constructions that incorporate non-spatial data such as color or texture | |
EP2996086A1 (en) | System, method and computer program product for automatic optimization of 3d textured models for network transfer and real-time rendering | |
CN115661310B (zh) | 虚拟数字人表情逼近方法、装置、存储介质、电子设备 | |
US11282292B2 (en) | Method based on unique metadata for making direct modifications to 2D, 3D digital image formats quickly and rendering the changes on AR/VR and mixed reality platforms in real-time | |
JP2016143345A (ja) | プログラム、情報処理装置、及び情報処理方法 | |
JP2005056083A (ja) | n次元形状モデル、n次元形状モデル格納装置、n次元形状モデル格納方法、n次元形状モデル表示装置、n次元形状モデル表示方法、n次元形状モデルのデータ構造、n次元形状モデル処理システム、プログラムおよび記録媒体 | |
JPWO2007069557A1 (ja) | プレゼンテーション表示装置、コンピュータの制御方法及びプログラム | |
US20070229501A1 (en) | Method and system for organizing and rendering multiple geometric parts within a volume graphics data set | |
US20070109305A1 (en) | Animation reproducing apparatus and method | |
Raidou et al. | Slice and dice: A physicalization workflow for anatomical edutainment | |
CN103324659B (zh) | 图解部件目录的展示全景的可视化 | |
El-Sana et al. | Efficiently computing and updating triangle strips for real-time rendering | |
JP4218800B2 (ja) | データ圧縮装置、データ圧縮方法、データ伸張装置、データ伸張方法、n次元形状モデル処理装置並びにプログラムおよび記録媒体 | |
US6567082B1 (en) | Incremental resolution changes in multi-resolution meshes with update records | |
EP1190393A1 (en) | Method and apparatus for rendering images | |
JP2004233711A (ja) | 地図データ構築装置 |