(57)【特許請求の範囲】
【請求項１】
２つの多面体Ｍａ、Ｍｂを比較する、多面体形状比較システムであって、
（１）変数が多面体の重心を中心とする球面上の点であり、量が変数である球面上の点と球面の中心を通る線を軸としたときの多面体の軸モーメント量である関数である、多面体の点対称の方向にある頂点情報を同符号で総和する第１モーメント関数と、多面体データの点対称の方向にある頂点情報を異符号で総和する第２モーメント関数において、多面体Ｍａ、Ｍｂのサンプル点における、第１モーメント関数と第２モーメント関数の和関数を求め、和関数の差分の自乗和を算出する手段と、
（２）前記自乗和の値が、ある閾値以下の場合に前記多面体が類似形状と判断する手段と、
を有する、多面体形状比較システム。
【請求項２】
１つ以上の多面体の集合から、特定の多面体Ｍに最も類似する形状を検索する、多面体検索システムであって、
（１）変数が多面体の重心を中心とする球面上の点であり、量が変数である球面上の点と球面の中心を通る線を軸としたときの多面体の軸モーメント量である関数である、多面体の点対称の方向にある頂点情報を同符号で総和する第１モーメント関数と、多面体データの点対称の方向にある頂点情報を異符号で総和する第２モーメント関数において、多面体Ｍと前記多面体の集合の各々について、各々のサンプル点における、第１モーメント関数と第２モーメント関数の和関数を求め、和関数の差分の自乗和を算出する手段と、
（２）前記算出した自乗和の値のうち、最も小さい値における多面体を、多面体Ｍと最も類似する多面体と判断する手段と、
を有する、類似形状多面体検索システム。
【請求項３】
前記最も類似する多面体と判断する手段（２）が、
（２）前記算出した自乗和の値のうち、ある閾値以下でかつ、最も小さい値における多面体を、多面体Ｍと最も類似する多面体と判断する手段、
である、請求項２記載のシステム。
【請求項４】
２つの多面体Ｍａ、Ｍｂを比較する多面体形状の類似度算出方法であって、変数が多面体の重心を中心とする球面上の点であり、量が変数である球面上の点と球面の中心を通る線を軸としたときの多面体の軸モーメント量である関数である、多面体の点対称の方向にある頂点情報を同符号で総和する第１モーメント関数と、多面体データの点対称の方向にある頂点情報を異符号で総和する第２モーメント関数において、多面体Ｍａ、Ｍｂのサンプル点における、第１モーメント関数と第２モーメント関数の和関数を求め、和関数の差分の自乗和を算出する方法。
【請求項５】
２つの多面体を比較する、多面体形状比較方法であって、
（１）変数が多面体の重心を中心とする球面上の点であり、量が変数である球面上の点と球面の中心を通る線を軸としたときの多面体の軸モーメント量である関数である、多面体の点対称の方向にある頂点情報を同符号で総和する第１モーメント関数と、多面体データの点対称の方向にある頂点情報を異符号で総和する第２モーメント関数において、多面体Ｍａ、Ｍｂのサンプル点における、第１モーメント関数と第２モーメント関数の和関数を求め、和関数の差分の自乗和を算出する段階と、
（２）前記自乗和の値が、ある閾値以下の場合に前記多面体が類似形状と判断する段階と、
を有する、多面体形状比較方法
【請求項６】
１つ以上の多面体の集合から、特定の多面体Ｍに最も類似する形状を検索する、多面体検索方法であって、
（１）変数が多面体の重心を中心とする球面上の点であり、量が変数である球面上の点と球面の中心を通る線を軸としたときの多面体の軸モーメント量である関数である、多面体の点対称の方向にある頂点情報を同符号で総和する第１モーメント関数と、多面体データの点対称の方向にある頂点情報を異符号で総和する第２モーメント関数において、多面体Ｍと前記多面体の集合の各々について、各々のサンプル点における、第１モーメント関数と第２モーメント関数の和関数を求め、和関数の差分の自乗和を算出する段階と、
（２）前記算出した自乗和の値のうち、最も小さい値における多面体を、多面体Ｍと最も類似する多面体と判断する段階と、
を有する、類似形状多面体検索方法。
【請求項７】
前記最も類似する多面体と判断する段階（２）が、
（２）前記算出した自乗和の値のうち、ある閾値以下でかつ、最も小さい値における多面体を、多面体Ｍと最も類似する多面体と判断する段階と、
である、請求項６記載の方法。
【請求項８】
１つ以上の多面体の集合から、特定の多面体Ｍに最も類似する形状を検索させるためのプログラムを含む記録媒体であって、該プログラムがコンピュータに、
（１）変数が多面体の重心を中心とする球面上の点であり、量が変数である球面上の点と球面の中心を通る線を軸としたときの多面体の軸モーメント量である関数である、多面体の点対称の方向にある頂点情報を同符号で総和する第１モーメント関数と、多面体データの点対称の方向にある頂点情報を異符号で総和する第２モーメント関数において、多面体Ｍと前記多面体の集合の各々について、各々のサンプル点における、第１モーメント関数と第２モーメント関数の和関数を求め、和関数の差分の自乗和を算出する機能と、
（２）前記算出した自乗和の値のうち、最も小さい値における多面体を、多面体Ｍと最も類似する多面体と判断する機能と、
を実現させる記録媒体。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、多面体の類似形状検索方法およびシステムに関し、特に多面体の特徴量を有効に数値化する関数を用いて多面体を表現し、該関数の値を用いて多面体を比較する方法およびシステム、複数の多面体から類似する多面体を検索する方法およびシステムに関する発明である。
【０００２】
【従来の技術】
参考文献１（廣津  尾内，”マルチメディア情報検索に関する退−考察−三次元モデル情報からのアプローチ，”Ｐｒｏｃｅｅｄｉｎｇ  ｏｆ  ＷＩＳＳ’９６，ｐｐ１７９−ｐｐ１８８，  １９９６）では形状のマッチングを空間占有配列、形状個誘致、法線ベクトル、部分毎の代表的幾何形状への抽象化、回転体、平面、直角等の幾何特徴を使う手法が記載されている。参考文献１では、空間占有配列、形状固有値を用いて、形状マッチングを行なう。しかしながら、このような方法では、尤度の算出は可能であるが特徴量として配列を持った場合特徴量が膨大になり実用的ではない。精度を得るためには元データより多い特徴量を持つ必要がある。
【０００３】
参考文献２（Ｅｒｉｃ  Ｐａｑｕｅｔ  ａｎｄ  Ｍｒｃ  Ｒｏｉｕｘ，  ”Ａ  Ｃｏｎｔｅｎｔ−ｂａｓｅｄ  Ｓｅａｒｃｈ  Ｅｎｇｉｎｅ  ｆｏｒ  ＣＡＤ  ａｎｄ  ＶＲＭＬ，”  Ｍｏｔｈｉｏｎ  ａｎｄ  Ｍａｃｈｎｅ  Ｖｉｓｉｏｎ  ｉｎ  ｔｈｅ  Ａｕｔｏｍｏｔｉｖｅ  Ｉｎｄｕｓｔｒｉｅｓ，  Ｐｒｏｃ．  ＩＳＡＴＡ  ３１，ｐｐ４２７−ｐｐ４３４，１９９８）では本発明の発明の詳細において述べた方法と類似の方法で位置、スケール、向き、の正規化を行った後、向きを合わせるために求めた第１主軸、第２主軸と重心から多面体を構成する面の重心を結んだベクトルの角度によって以下の３種類のヒストグラムを作成し比較を行う方法が記載されている。
【０００４】
第１のヒストグラムは第１主軸との角度  第２主軸との角度を区別しないで作成したヒストグラム
第２のヒストグラムは第１主軸との角度  第２主軸との角度を独立に扱った２個のヒストグラム
第３のヒストグラムは第１主軸との角度  第２主軸との角度で構成される２次元平面上に定義されるヒストグラム
【０００５】
しかしながら、参考文献２の第１、第２のヒストグラムは、形状の局所情報をかなり畳み込んだ状態で比較するため大まかな精度しか望めない。また第３のヒストグラムは局所形状を近傍で平均して比較することになるので精度を高めようとすると保持すべき情報量の量はやはり増大する。
【０００６】
多面体の幾何形状はメッシュの節点の座標の形で表現されており、一般に利用されている多面体のメッシュは任意に切られている。任意に切られたたメッシュの節点の座標を使い、多面体を比較のために数値化すると、異なる多面体間でメッシュの切り方が一定しないため、数値化された多面体の比較において算出される類似度の精度が一定せず、多面体の類似形状検索では検索結果の順位の逆転を招くことになる。
【０００７】
さらに、多面体を比較する目的で、多面体表面を多面体の重心を中心とする球面上に定義される関数によって数値化しようとしたときに、重心と球面上のある点を結ぶ半直線上に多面体表面が幾重にも重なって交差している場合、どのように対応するかが問題となる。球面上に定義される関数においてこの球面上の１点に対する値は１個であるため、１個の関数だけでは情報が欠落する。一方、Ｎ重に重なって居る場合にＮ個の関数で対応したとすると、任意の２個の多面体を関数（ｉ＝０，１，．．．．ｎ）と関数（ｊ＝０，１，．．．．ｍ）によって表現したとすると、比較の際にどのｎ個の関数とｍ個の関数をどう対応付け、比較するかが問題となる。また、この対応付けは比較する多面体の形状の相互関係によって変動するため、比較アルゴリズムの効率を大幅に悪化させる。
【０００８】
【発明が解決しようとする課題】
従って、本発明が解決しようとする課題は、精度を保ったまま、少ない情報量で多面体データを比較、検索する方法及びシステムを提供することである。
また別の課題は、多面体の解像度によらずコンパクトに比較のための多面体の表現を行う方法を提供することである。
また別の課題は、任意の精度で尤度を求めることができる、多面体データ比較、検索方法及びシステムを提供することである。
また別の課題は、数値化された多面体の比較において算出される類似度の精度が一定となる、多面体データ比較、検索方法及びシステムを提供することである。
また別の課題は、多面体を比較する目的で、多面体表面を多面体の重心を中心とする球面上に定義される関数によって数値化した場合に、多面体の形状の相互関係が変動しても、関数と関数の対応付けが容易に行える、多面体データ比較、検索方法及びシステムを提供することである。
【０００９】
【課題を解決するための手段】
上記課題を解決するために、まず２つの多面体を比較するにあたり、
（１）変数が多面体の重心を中心とする球面上の点であり、量が変数である球面上の点と球面の中心を通る線を軸としたときの多面体の軸モーメント量である関数である、多面体の点対称の方向にある頂点情報を同符号で総和する第１モーメント関数と、多面体データの点対称の方向にある頂点情報を異符号で総和する第２モーメント関数において、多面体Ｍａ、Ｍｂのサンプル点における、第１モーメント関数の差分の自乗和と、第２モーメント関数の差分の自乗和を独立に求め、これらを正規化し、両者の和を算出するか、または第１モーメント関数と第２モーメント関数の和関数を求め、和関数の差分の自乗和を算出し、
（２）前記和の値が、ある閾値以下の場合に前記多面体が類似形状と判断するように構成する。
【００１０】
ここで、前記第１モーメント関数および第２モーメント関数は、変数が多面体の重心を中心とする球面上の点であり、量が変数である球面上の点と球面の中心を通る線を軸としたときの多面体の軸モーメント量である関数で、多面体の形状を数値化して表現するための関数である。以下に第１モーメント関数、第２モーメント関数が如何なるものかをさらに詳細に説明する。
【００１１】
比較する多面体データの位置、大きさを正規化した状態で、半径１．０の球面上の任意の点であるｖ＿ｓｐｈｅｒｅに対応する任意のモーメント軸ａｘｉｓ（ｖ＿ｓｐｈｅｒｅ）によって決まるｎ次の軸モーメント量をｖ＿ｓｐｈｅｒｅの関数（以下モーメント関数Ｍｏ（ｖ＿ｓｐｈｅｒｅ）と呼ぶ）とみなす。図１に本発明のモーメント関数の定義を説明するための図を示す。但し  ｖａｉ  は多面体データのサーフェース上の個々の点、  ｗａｉ  は個々の点の重み、Ｇａは多面体Ｍａの重心を表す。ここで、第１モーメント関数は次式で表される。
【数１】
0003610270.tif 000002
また第２モーメント関数は次式で表される。
【数２】
0003610270.tif 000003
このときモーメント関数のΣｗａｉ（｜ｖａｉ｜（ｎ／２−１）ｖａｉ）Ｔ（｜ｖａｉ｜（ｎ／２−１）ｖａｉ）  および  Σｗｉｖａｉ｜ｖａｉ｜ｎ−１の部分を比較のための多面体データの表現として保持する。
【００１２】
以下に本発明の形状差分（尤度）を算出する方法を示し、算出された形状差分が極所的なモーメント量の差分と等価であることを示す。また第１、第２モーメント関数の導出法の詳細については発明の実施の形態において具体的に述べる。多面体データＭａ、Ｍｂを球面上に均等にばらまかれたサンプリング点ｖ＿ｓｐｈｅｒｅ＿ｉを使い、重心を原点とする極座標系で次のように表す。本発明で言う尤度は、形状差分という観点から、その値が低いほど形状が近いという意味で使用する。
【００１３】
Ｍａ：  ｗａｉ，ｒａｉ
Ｍｂ：  ｗｂｉ，ｒｂｉ
但し  ｗａｉ，ｗｂｉは点の重みである。
【００１４】
一方第１および第２モーメント関数の比較は適当なサンプリング点ｖ＿ｓｐｈｅｒｅ＿ｊをとると以下のように表すことができる。
【数３】
0003610270.tif 000004
但し  αｉｊ  はｖ＿ｓｐｈｅｒｅｉ  と  ｖ＿ｓｐｈｅｒｅｊ  のなす角度である。
第１モーメント関数において（ｃｏｓαｉｊ）２  は周期πであり、第２モーメント関数においては    ｃｏｓ（αｉｊ＋π）  ＝  −ｃｏｓαｉｊ  の関係が成り立つ。任意の  ｒａｉ，ｒｂｉ  の重心に対して点対称にある点をｒａｉ＋ｍ，ｒｂｉ＋ｍ  と表すと、第１および第２モーメント関数の差分の自乗和は以下のように表現できる。
【数４】
0003610270.tif 000005
すなわち数式４は角度αｉｊによって決まる関数（ｃｏｓαｉｊ）２と（ｃｏｓαｉｊ）とによって局所的に重み付けされた多面体のサンプリング点の総和を個別のｖ＿ｓｐｈｅｒｅ＿ｊに対して比較することを意味する。ここで０≦αｉｊ≦π／２において（ｃｏｓαｉｊ）２はｃｏｓαｉｊと近似し、モーメント関数の任意のサンプリング点ｖ＿ｓｐｈｅｒｅ＿ｊに着目し、成分ｊについて固定した状態で第１モーメント関数と第２モーメント関数の差分の自乗和を足しあわせると次式となる。
【数５】
0003610270.tif 000006
比較時にｖ＿ｓｐｈｅｒｅ＿ｊを変動させ重み付けされる局所を変化させることによって局所的な比較を実現する。
比較方法２
方法１と同様に
Ｍａ：  ｗａｉ，ｒａｉ
Ｍｂ：  ｗｂｉ，ｒｂｉ
但し  ｗａｉ，ｗｂｉは点の重みである。
一方、第１と第２モーメント関数の和関数の差分の自乗和は適当なサンプリング点ｖ＿ｓｐｈｅｒｅ＿ｊをとると以下のように表すことができる。
【数６】
0003610270.tif 000007
但し  αｉｊ  はｖ＿ｓｐｈｅｒｅｉ  と  ｖ＿ｓｐｈｅｒｅｊ  のなす角度である。
第１モーメント関数において（ｃｏｓαｉｊ）２の周期はπであり、第２モーメント関数においては    （ｃｏｓαｉｊ＋π）  ＝  −ｃｏｓαｉｊ  の関係が成り立つ。任意の  ｒａｉ，ｒｂｉ  の重心に対して点対称にある点をｒａｉ＋ｍ，ｒｂｉ＋ｍ  と表すと、第１モーメント関数と第２モーメント関数の和関数の比較は以下のように表現できる。
【数７】
0003610270.tif 000008
すなわち式７は角度αｉｊによって決まる関数（ｃｏｓαｉｊ）２と（ｃｏｓαｉｊ）とによって局所的に重み付けされた多面体のサンプリング点の総和を個別のｖ＿ｓｐｈｅｒｅ＿ｊに対して比較することを意味する。ここで０≦αｉｊ≦π／２において（ｃｏｓαｉｊ）２はｃｏｓαｉｊと近似し、モーメント関数の任意のサンプリング点ｖ＿ｓｐｈｅｒｅ＿ｊに着目し、成分ｊについて固定した状態で第１モーメント関数と第２モーメント関数の和関数の比較を考えると
【数８】
0003610270.tif 000009
比較時にｖ＿ｓｐｈｅｒｅ＿ｊを変動させ重み付けされる局所を変化させることによって局所的な比較を実現する。
【００１５】
数値化された多面体の比較において算出される類似度の精度が一定となるようにするためには、多面体の重心から、多面体表面上の点へのベクトルを多面体の幾何形状の特徴として捉える数値化手法に特化した形で多面体から比較のためのサンプル点を以下のような手法で求める。
【００１６】
［方法１］多面体上の点を、それぞれの点と多面体の重心を結ぶ線と多面体の重心を中心とする球面との交点に写像したとき、多面体を構成する稜線の写像の長さが均等となるように、多面体を構成するメッシュを分割または融合ししながら最適化し  、得られたメッシュの節を多面体のサンプル点とする。  または、
【００１７】
［方法２］多面体の重心を中心とする球面上に均等な点を作成し、多面体の重心を始点とし、球面上の点を通る半直線と多面体の交点を多面体のサンプル点とする。
【００１８】
サンプル点の重みは以下のような手法で求める
［方法３］サンプル点に接続する面の面積の総和から決定する。または、
［方法４］多面体上の点を、それぞれの点と多面体の重心を結ぶ線と多面体の重心を中心とする球面との交点に射影したとき、それぞれの点重みを、点に接続する面の写像の、面積の総和から決定する。
【００１９】
重心と球面上のある点を結ぶ半直線上に多面体表面が幾重にも重なって交差している場合、多面体の形状の相互関係が変動しても、関数と関数の対応付けが容易に行えるようにするため方法を以下に説明する。
【００２０】
多面体の重心から任意の方向に伸びる放射ベクトルに交差する多面体表面の法線ベクトルを比較し、放射ベクトルと法線ベクトルの向きが同じ場合に表面（おもてめん）、違う場合には裏面と定義し、放射ベクトル上において表面（おもてめん）との交点と裏面との交点によって挟まれる部分を疑似的に多面体内部とする。
【００２１】
多面体Ｐ＿ａの放射ベクトル上の、ある多面体内部の領域と、多面体Ｐ＿ｂの同じ方向にある放射ベクトル上の、ある多面体内部の領域を比較することを考える。それぞれの多面体の重心から、着目している、放射ベクトル上の、多面体内部の領域の境界までの距離を図９に示すように定義する。
【００２２】
図９の上段は多面体Ｐａにおけるある方向への放射ベクトル、図９の下段は多面体Ｐｂにおける同じ方向への放射ベクトルを説明している。Ｐａの重心とは多面体Ｐａの重心を言う。Ｐａの法線ベクトルとはＰａ図中に表記された矢印の始点となる点における多面体Ｐａの法線を言う。Ｐａの放射ベクトルとはＰａの重心から多面体Ｐａを始点とし、多面体Ｐａ上点への個々のベクトルを言う。Ｐａ表面（おもてめん）とは多面体Ｐａ上の面であって、面上の点に対応するＰａの法線ベクトルと、Ｐａの放射ベクトルの内積が正である面を言う。Ｐａ裏面とは多面体Ｐａ上の面であって、面上の点に対応するＰａの法線ベクトルと、Ｐａの放射ベクトルの内積が負である面を言う。ｒａ０，ｒａ１  は同一放射ベクトル上にある多面体Ｐａと放射ベクトルとの交点とＰａの重心との距離を表す。図９では２箇所で交差しており、添え字０が裏面との交点、添え字１が表面との交点を指す場合を示している。多面体Ｐｂに関する用語の定義も多面体Ｐａの場合と同様である。
【００２３】
比較する多面体Ｐａ，  Ｐｂの重心から同じ方向にある２つの放射ベクトル上にかつ、最近傍の多面体内部の領域を比較する際に、多面体Ｐａ，  Ｐｂの内部の領域の位置関係を次のように分類する。
【００２４】
（ａ）包含：一方が他方を包含する場合
（ｂ）重複：互いに重なりあう場合
（ｃ）離散：互いに重なる部分が無い場合
【００２５】
図１０は上記（ａ），（ｂ），（ｃ）の分類を図示したものである。図１０中の左、中、右は多面体Ｐａ，Ｐｂの同一方向の放射ベクトル上であって、表面（おもてめん）、裏面で挟まれる多面体の内部の領域の位置関係を表すものである。まず左は包含関係にある内部領域、中は重複関係にある内部領域、右は離散関係にある内部領域を示す。ｒａ０，ｒａ１，ｒｂ０，ｒｂ１  はそれぞれの多面体Ｐａ，Ｐｂの同一方向の放射ベクトル上の多面体の内部領域の境界からそれぞれの多面体の重心までの距離を表す。
【００２６】
それぞれの関係において差分を表１のように定義し、これを基準となる差分と呼ぶ。以下に基準となる差分の算出法を示す。
【表１】
0003610270.tif 000010
実際の比較においては放射ベクトル上に複数の多面体内部の領域が存在し、２つの多面体を比較する場合には同じ方向への放射ベクトル上の、多面体内部の領域は上記のいずれかの関係に分類される。
【００２７】
本発明は上記の基準となる差分に、有為な相関関係をなすように、１個の多面体に対して２種類の数値化データを保持し、比較することによって課題を解決する。以下にその具体的な方法について２通り述べる。
【００２８】
［方法５］多面体の重心から多面体表面上の点への放射状ベクトルと、多面体表面上の点の、法線ベクトルの向きを比較し、向きが同じ点の集合と、向きが違う点の集合に分け、それぞれを別に数値化する。比較時は２種類の数値化データを別々に比較し、算出された尤度の平均を尤度とする。表面（おもてめん）上の点から求めた数値化データによる差分と裏面上の点から求めた数値かデータによる差分の平均は以下のように表すことができる。
【数９】
0003610270.tif 000011
【００２９】
２種類の数値化データによる差分の平均によって求まる差分はそれぞれの場合において基準となる差分と常に以下のような相関関係を持つ。
【表２】
0003610270.tif 000012
［方法６］多面体の重心から多面体表面上の点への放射状ベクトルと、多面体表面上の点の法線ベクトルの向きを比較し、向きが同じ点の集合と、向きが違う点の集合に分け、両者に同符号および異符号の重みを付けてそれぞれ数値化する。比較時は２種類の数値化データを別々に比較し、算出された尤度の平均を尤度とする。２種類の数値化データによる差分と基準となる差分との相関関係はそれぞれ以下のようになる。
【数１０】
0003610270.tif 000013
まず同符号の重みを付けて求めた数値化データによる差分は以下のようになる。
【表３】
0003610270.tif 000014
次に異符号の重みを付けて求めた数値化データによる差分は以下のようになる。
【数１１】
0003610270.tif 000015
【表４】
0003610270.tif 000016
よって２種類の数値化データによる差分の平均によって求まる差分はそれぞれの場合において基準となる差分と常に以下のような相関関係を持つ。
【表５】
0003610270.tif 000017
【００３０】
【発明の実施の形態】
以下に形状をキーとして類似形状を検索する場合の本発明の実施例を述べる。３次元の形状の比較のため、多面体の位置、スケール、向きが正規化されていることが前提となる。しかしこれらの方法は既知である。検索時はキーとなるポリゴンデータ（多面体データ）から第１、第２モーメント関数と、候補となるポリゴンデータの第１、第２モーメント関数から形状差分の算出を行う。図２に本発明の類似形状検索のためのブロック図を示す。ブロック２２０は、ブロック２１０で入力されたポリゴンＭａ、Ｍｂの位置の正規化を行なうブロックである。ブロック２３０はスケールの正規化を行なうブロックである。ブロック２４０はポリゴンの向きの正規化を行なうブロックである。これらのブロックはモーメント関数の前処理部にあたる。ブロック２５０は本発明で用いられるモーメント関数の導出ブロックである。そしてブロック２７０はモーメント関数からの形状差分算出ブロックである。以下に、より詳細に各ブロックを説明する。
【００３１】
（Ａ１）位置の正規化
位置合わせは重心を使って行う。ここでは以下のような方法でポリゴンデータの重心と、頂点あたりの重みを求める。図３に頂点ｖａｉの重みの算出方法を示す。メッシュＭａを３角形分割し、個々の面の面積を求め（面積は三角形の二辺を構成するベクトルの外積などから求められる）図３に示すような方法で個々の頂点の重みを求める。求めた重みを使ってメッシュＭａの重心Ｇａを求め，原点をＧａとして頂点座標を定義し直す。
（Ａ２）スケールの正規化
Ｍａを構成する頂点と重心との距離を  ｒａｉ  とするならば、（Ａ１）によって求まる頂点の重みｗｉを使って  ｓｃａｌｅ  は次式によって求める。
【数１２】
0003610270.tif 000018
そして  Ｍａを構成する頂点の座標を１／ｓｃａｌｅ倍にする。これによって多面体データの体積が等しくなるようスケールが正規化される。
（Ａ３）  向きの正規化
多面体データＭａのサーフェース上の点を  Ｖａｉ  とすると第１のモーメント関数は以下のようにして求められる。
【数１３】
0003610270.tif 000019
ｗａｉ（｜ｖａｉ｜（ｎ／２−１）ｖａｉ）Ｔ（｜ｖａｉ｜（ｎ／２−１）ｖａｉ）を固有値の大きい順に固有ベクトルがそれぞれｘ、ｙ、ｚ軸に沿うように対角化すると次式となる。
【数１４】
0003610270.tif 000020
但しλは固有値、  Ｒは対角化のための回転行列である。第１モーメント関数の係数として固有ベクトルを保持する。
（Ｂ）モーメント関数導出
第一モーメント関数は向きの正規化においてすでに求めた。第２モーメント関数は向きの正規化によって求まった回転ベクトルをＲを使い、次式のように求まる。
【数１５】
0003610270.tif 000021
第１、第２モーメント関数はそれぞれ式１、式２に示す量を持つ。
（Ｃ）モーメント関数からの形状差分の算出
多面体データＭａ，Ｍｂが与えられたとき、球面上に均等にばらまかれたサンプル点をｖ＿ｓｐｅｒｅ＿ｊとすると比較方法１による両者の形状差分（尤度）は次の式で求められる。（サンプル点数の増減により、任意の精度で形状差分が求まる。）
【数１６】
0003610270.tif 000022
比較方法２による両者の形状差分（尤度）は次の式で求められる。（サンプル点数の増減により、任意の精度で形状差分が求まる。）
【数１７】
0003610270.tif 000023
上記形状差分が小さければ小さいほど、多面体データ  Ｍａ，  Ｍｂ  は近似していると判断する。なおこの時、ある閾値を定義し、該閾値より上記形状差分値が低い場合、多面体データ  Ｍａ，  Ｍｂ  は近似するとしてもよい。逆に該閾値を上記形状差分値が超えた場合は、多面体データ  Ｍａ，  Ｍｂ  は近似しないとしてもよい。これは２つの多面体形状の比較に限らず、多面体形状検索に使用できる。たとえば１つ以上の多面体の集合から、特定の多面体Ｍに最も類似する形状を検索する場合に、上記モーメント関数を用いて形状差分値を求め、この値により多面体検索を行なう。算出した形状差分値のうち、最も小さい値における多面体を、多面体Ｍと最も類似する多面体と判断してもよいが、全部異なる形状である場合に備え、算出した形状差分値のうち、ある閾値以下でかつ、最も小さい値における多面体を、多面体Ｍと最も類似する多面体と判断するようにする。
【００３２】
本発明の有効性を検証するため、約２５０個の様々な種類の車の多面体データに対し、任意の多面体データを検索キーとして形状類似検索を実行した例を図４，５，６に示す。検索キーとしてクーペ、ピックアップトラック、バンの典型的な形状を持つと思われる多面体データを選んだ。同じ種類の車が検索の上位を占めるかどうかによって本発明の有効性が示される。各図の左上の多面体データが検索キーとして使われた多面体データであり、他は検索結果の上位８個の多面体データである。それぞれの多面体データの図の下にある数字は本発明によって算出された形状差分（この場合類似度）であり、数字が小さいほど形状が似ていることを表す。図４、５、６に示されている通り検索キーとして指定したものと同じ種類の車が約２５０個の車の多面体データから抽出された。図７に本発明によって算出される形状差分の有効性を検証するために明らかに形状が違う多面体データ間で算出された形状差分も示す。図７の下にある表の個々の行が個々の比較を表す。それぞれの行の中で形状差分が０．０であるものが個々の比較において基準となった多面体データである。この表にある数字が図４、５、６にある数字に比べ明らかに大きいこと、種類の異なる車の間で算出された形状差分よりも飛行機と車の間で算出された形状差分が明らかに大きいことから本発明によって算出される形状差分の妥当性も示されている。
【００３３】
さらに上記多面体の比較において算出される類似度の精度が一定となる方法であり、また多面体表面を多面体の重心を中心とする球面上に定義される関数によって数値化した場合に、多面体の形状の相互関係が変動しても、関数と関数の対応付けが容易に行う方法をより詳細に述べる。
【００３４】
まず［方法１］によるサンプル点の生成方法について具体的に述べる。
多面体の位置を正規化する。多面体の面を三角形分割し、各々の三角形を構成する稜線が多面体の重心を中心とする球面に写像されたとき、長さが一定の長さより短くなるように個々の三角形を分割してゆく。ここで稜線は稜線を挟む２個の三角形と多面体の重心を中心とする球面上の稜線の写像のの長さを保持し、稜線リストは稜線を常に多面体の重心を中心とする球面上の、稜線の写像の長さによってソートしているされているものとする。
以下にこのサンプル点の生成方法の疑似コードを記載する。
【００３５】
0003610270.tif 000024
【００３６】
また図１１に［方法１］によって正規化されたメッシュに例を図示する。図１１において、左は［方法１］によって正規化された多面体を構成するメッシュを俯瞰で見た図である。メッシュを構成する三角形は異なる色で塗り分けられている。  右はメッシュの正規化の様子をより分かり易くするためにメッシュの一部を拡大した図である。
【００３７】
次に［方法２］によるサンプル点の生成方法について具体的に述べる。まず、多面体の位置および向きを正規化する。次に定義球の中心を始点とし、球面上に生成した点を通る半直線と多面体の交点を求める。以下にこのサンプル点の生成方法の疑似コードを記載する。
【００３８】
0003610270.tif 000025
【００３９】
次に球面上に均等に点を生成する具体的方法を述べる。多面体の重心を中心とする球面上に均等になるように点を生成する。多面体の重心を中心とする球に内接する正ｎ面体を使い、頂点数が目標に達するまで、すべての稜線を２等分するように新しい頂点を挿入し、新しく挿入した頂点を結ぶ新しい稜線を挿入し、球の中心から全ての頂点へのベクトルを求める。そして個々のベクトルの長さが定義球の半径となるように正規化する。以下にこの球面上に均等に点を生成する方法の疑似コードを記載する。
【００４０】
0003610270.tif 000026
【００４１】
図１２は、球面上に均等に分散する点を生成する方法を図示したものである。図１２において、中心は球および球に内接する正多面体の中心をあらわす。正多面体上の頂点は正多面体を構成する三角形または四角形を図に示すように再帰的に４分割することによって得る頂点を指す。生成された点は中心と正多面体上の頂点を結ぶベクトルを長さが均等になるように正規化したときに得られる点の集合であり、球面上に均等に生成される点である。
【００４２】
次に［方法３］によるサンプル点の重みの算出法について具体的に述べる。入力となるサンプル点は多面体表面上のメッシュの節点である。図１３にメッシュの節点を図示する。図１３において、Ｐａｉは多面体上Ｐａ上ののサンプル点を指す。Ｓ０〜Ｓ５は多面体Ｐａのメッシュを構成する面であって、サンプル点Ｐａｉに接続する面のそれぞれの面積をあらわす。あるサンプル点Ｐａｉに着目したとき、サンプル点Ｐａｉの重みｗａｉははこの点に接続する面の面積Ｓｉと多面体の表面積Ｓを使い、次のように求められる。
【数１８】
0003610270.tif 000027
【００４３】
次に［方法４］によるサンプル点の重みの算出法について具体的に述べる。［方法３］においてサンプル点Ｐａｉを多面体の重心を中心とする球面上に射影する。これは球の半径ｒとするならば、次式で実現される。
【数１９】
0003610270.tif 000028
射影された面の面積を使い、サンプル点の重みは［方法３］と同様、次式で求まる。
【数２０】
0003610270.tif 000029
【００４４】
次に［方法５］、［方法６］による多面体の数値化、比較方法をモーメント関数に適用する方法および装置について具体的に述べる。全体の構成を図１４に示す。図１４において、サーフェース・モデル６００１は入力となる多面体をあらわす。判断ブロック６００２は入力となる多面体上のサンプル点を表面（おもてめん）上の点か、裏面上の点かによって分類すると共にそれぞれのサンプル点に付随する重みの符号を決定する。デスクリプタ６００３は判断ブロック６００２によって分類されたサンプル点および、サンプル点に付随する重みによって多面体を数値化する装置をあらわす。
ディスクリプタ６００４，６００５は判断ブロック６００２によって分類されたサンプル点および、サンプル点に付随する重みによって数値化された多面体をあらわす。
ブロック６００６は数値化された多面体を比較し、差分を算出する比較装置をあらわす。
ブロック６００７はブロック６００６によって算出された差分から尤度を算出する尤度算出装置である。
【００４５】
図１５に基づき、多面体Ｐａ上の個々の点をＰａｉとし、その重みをＷａｉとして、多面体を数値化する手段を以下に述べる。図１５において、多面体Ｐａをモーメント関数によって数値化および比較する際に用いられるパラメータを説明した図である。Ｐａｉは多面体Ｐａのサンプル点をあらわす。”Ｄｅｆｉｎｉｔｉｏｎ  ｓｐｈｅｒｅ”は数値化された多面体を表現するモーメント関数の定義領域である球をあらわす。この球の中心は多面体Ｐａの重心である。ｒａｉは多面体の重心から個々のＰａｉまでの距離をあらわす。Ｖｊは多面体の重心を中心とする球面上に均等に生成された点をあらわし、モーメント関数の比較に用いる。αｉｊは多面体の重心を始点とするベクトル、ＰａｉとＶｊの角度をあらわす。添え字ｉは個々のサンプル点を、添え字ｊは個々の球面上の点Ｖｊに対応する。各々のＰａｉを以下の方法で表面（おもてめん）上の点と裏面上の点に分類し、表面（おもてめん）上の点、裏面上の点に同符号の重みを付けた場合、異符号の重みを付けた場合の２通りの数値化を行う。
【００４６】
１）全ての面をその法線とサーフェースの中心から面の中心に向かう放射ベクトルの向きの関係によって表面、裏面に分類する。（放射ベクトル法線の内積の正負によって判別）
２）全ての頂点において頂点を囲む面がすべて表面なら表面上、すべて裏面ならば裏面上に分類する（境界上は表面とする）
３）モーメント関数算出においてはｎ次の第一モーメント関数および、第二モーメント関数において、以下の２通りの数値化を行う。
【００４７】
第一モーメント関数：
表面（おもてめん）上の点と裏面上の点を同符号で重み付けた場合
【数２１】
0003610270.tif 000030
表面（おもてめん）上の点と裏面上の点を異符号で重み付けた場合
【数２２】
0003610270.tif 000031
第二モーメント関数：
表面（おもてめん）上の点と裏面上の点を同符号で重み付けた場合
【数２３】
0003610270.tif 000032
表面（おもてめん）上の点と裏面上の点を異符号で重み付けた場合
【数２４】
0003610270.tif 000033
但し添え字  ｋ  は表面（おもてめん）上のサンプル点、添え字  ｌ  は裏面上のサンプル点を表す。
【００４８】
以下に多面体Ｐａから求めたモーメント関数、Ｍａ１０（Ｖｊ），Ｍａ１１（Ｖｊ），Ｍａ２０（Ｖｊ），Ｍａ２１（Ｖｊ）と多面体から求めたモーメント関数、Ｍｂ１０（Ｖｊ），Ｍｂ１１（Ｖｊ），Ｍｂ２０（Ｖｊ），Ｍｂ２１（Ｖｊ）  によって多面体Ｐａと多面体Ｐｂの差分を求める方法を示す。第一モーメント関数の差分ｄ１を以下の式から求める。
【数２５】
0003610270.tif 000034
第２モーメント関数の差分を以下の式から求める
【数２６】
0003610270.tif 000035
２つの多面体ＰａとＰｂの差分ｄは両者の和として求まる
【数２７】
0003610270.tif 000036
【００４９】
本発明のまた別の実施形態として、本発明を適用したオンライン店舗への応用例について具体的に述べる。ワールドワイドウェブを使ったオンライン店舗において過去に成功している事例は本やＣＤのようにテキストベースのコンテンツで商品がどのようなものであるか分かるサイトに限られており、家具のように顧客が実物あるいは高品質の画像を見てから購入を検討するような商品にはインターネットのバンド幅による画質の制約もあり不向きとされていた。本発明はネットワーク越しに顧客から送られた顧客の部屋の画像を基に、顧客の部屋に家具を配置するシミュレーションを行うという新しいサービスを提供することによりオンライン店舗における家具の販売を促進すると共に販売者側に部屋のイメージ、顧客が興味を持った商品の形状を顧客のプロファイルと関連付けて蓄積するシステムである。
【００５０】
顧客はウェブページ上のオンライン店舗で自分の興味のある商品を選び、自分の部屋のイメージを添付して配置シミュレーションの依頼をする。オンライン店舗は受け取ったイメージと指定された商品や、指定された商品に類似するデザインの商品を形状から検索し、部屋のイメージと商品の３Ｄモデルによる合成シーンを使い、商品のプレゼンテーションを行い操作のログを保存し、顧客にアクセスポイントを知らせる。顧客は店舗のプロポーザルを再生したり、実際に自分のマシン上で色々な場所に家具を配置しながら購入を検討する。必要に応じて店舗のオペレータを呼び出しリアルタイムで合成シーンを共有しながら検討することも可能である。オンライン店舗はこのような顧客とのやり取りの過程で、顧客の部屋のイメージ、顧客が興味を示したデザイン（３Ｄの形状）を顧客のプロファイルと合わせて顧客ＤＢに収集することができる。このシステムは、合成シーン生成部  類似商品検索部  同期非同期共有部から成り立っている。それぞれの詳細を以下に示す。
【００５１】
１）合成シーン生成部
顧客の撮影した部屋のイメージを貼った仮想スクリーンと、仮想床上を任意に移動する３Ｄ家具モデルを使って部屋のイメージと３Ｄ家具モデルを合成し、部屋の床面上の任意の位置および床面に平行である面上（例えばテーブルや棚の上）の任意の位置に家具の設置シミュレーションをできるようにする。該合成シーン生成部を図１６に示す。
【００５２】
図１６において、ＨＴＭＬブラウザ（８００１）はインターネット上に置かれたＨＴＭＬコンテンツを閲覧する装置である。本実施例においては、インターネット上に置かれたＨＴＭＬコンテンツが店舗の入り口となる。この図ではＨＴＭＬコンテンツ閲覧装置に加えメールソフトが統合されたものを指す。顧客はここでオンライン店舗の商品を閲覧し、興味のある商品を選択する。ＨＴＭＬブラウザから選択した商品ＩＤ（８００６）を３Ｄ商品ＤＢ（９００２）に送る。また、その商品が自室に置かれた場合にどうなるかを検証するために顧客が自室をデジタルカメラで撮影した室内イメージ（８００７）を、電子メールに添付し、オンライン店舗に送付する。送付されたイメージは顧客ＤＢに登録され、登録されたイメージのＩＤが顧客に送付される。
【００５３】
合成機（８００２）  は  顧客が撮影した室内イメージ（８００７）と３Ｄ商品モデル（８０１０）および、類似商品検索部で検索された類似商品モデル（８０１６）を合成し、あたかも部屋に３Ｄ商品（８０１０）または類似商品モデル（８０１６）を設置したかのように見せる合成シーン（８０１１）をＶＲＭＬで記述し、作成する装置である。共有埋め込み機（８００３）は合成シーン（８０１１）に共有サーバ（１０００１）を経由して共有するためのＶＲＭＬによる記述を追加し、共有合成シーン（８０１２）を作成する。操作ログ埋め込み機（８００４）はオンライン店舗のオペレータが共有合成シーン（８０１２）に対して商品の、プレゼンテーションのための動作やアノテーションを操作（８０１３）として付加し、操作付き共有合成シーン（８０１４）を作成する。ＶＲＭＬブラウザ（８００５）は作成された、商品のプレゼンテーションの付加された操作付き共有合成シーン（８０１４）を顧客のマシンで再生したり、必要に応じて顧客のマシンと店舗のオペレータのマシン上で、共有サーバ（１０００１）を経由して合成シーンをリアルタイム共有し、商品のプレゼンテーションを可能とする。
【００５４】
以下に図１６における各ブロック間を流れるデータについて説明する。商品ＩＤ（８００６）は個々の商品を表すＩＤである。室内イメージ（８００７）は顧客がデジタルカメラで撮影した自室の画像である。イメージＩＤ（８００８）は顧客ＤＢ（１０００１）における室内イメージのＩＤである。顧客情報（８００９）は顧客の名前、住所、年齢、性別、職業、興味を持った商品、オンライン店舗が提示した商品、実際に購買した商品の情報である。商品３Ｄモデル（８０１０）は顧客の選択した商品の形状をあらわす多面体をＶＲＭＬで記述した、３Ｄコンテンツである。類似商品モデル（８０１０）は顧客の選択した商品の形状を表す多面体と類似した形状を持つ商品を、ＶＲＭＬで記述した多面体の３Ｄコンテンツである。合成シーン（８０１１）はＶＲＭＬによって記述された、商品３Ｄモデルおよび類似商品モデルをあたかも室内イメージの部屋に設置したかのように見せるコンテンツである。共有合成シーン（８０１２）は合成シーン（８０１１）に顧客と、オンライン店舗のオペレータ間の、ＶＲＭＬコンテンツ共有のための記述を追加したものである。操作（８０１３）はオンライン店舗のオペレータによって共有合成シーン（８０１２）に追加する商品の動作や、アノテーションである。操作付き共有合成シーン（８０１４）は共有合成シーン（８０１２）にオンライン店舗のオペレータによる商品の、プレゼンテーションのための動作や、アノテーションを追加したものである。なお、図中の（１）〜（６）は以降に説明する図１７、図１８の対応箇所に接続することをあらわす。
【００５５】
（２）類似商品検索部
類似商品検索部は、顧客の興味のある３Ｄモデルのデザイン（形状）をキーとして、類似形状を持つ商品を検索し，顧客の部屋への配置シミュレーションを顧客に提示する。また、類似形状検索を行う際に店舗のお勧め商品に対して検索を行い類似形状のお勧め商品の配置シミュレーションを顧客に提示する。また、顧客のシミュレーション依頼、購入依頼に対応することにより顧客が撮影した部屋のイメージ、顧客が興味を示した商品の３Ｄモデル、顧客が興味を示した商品に対して提示したオンライン店舗お勧め商品、顧客が実際に購入した商品、を顧客のプロファイルとして顧客ＤＢに収集する。  図１７に該類似商品検索部のブロック図を示す。
【００５６】
図１７において、３Ｄ商品ＤＢ（９００２）はオンライン店舗にて販売する商品のデザインである形状を持つ３Ｄ商品モデル（８０１０）を蓄積し、ＨＴＭＬブラウザから渡された、顧客が興味を示した商品の商品ＩＤ（８００６）による検索および、ＨＴＭＬブラウザから渡された商品ＩＤ（８００６）に対応する商品の形状を数値化したディスクリプタ（９００４）による類似形状検索をおこない、顧客が興味を持った商品の類似商品の提示をおこなう。顧客が興味を示した商品の商品ＩＤ（８００６）や、類似商品のＩＤである類似商品ＩＤ（９００８）は顧客情報（８００９）の一部として顧客ＤＢ（１０００１）に貯えられる。ディスクリプタ作成機（９００１）は３Ｄ商品ＤＢ中に貯えられている３Ｄ商品モデル（８０１０）を形状に基づき数値化したディスクリプタ（９００４）を３Ｄ商品ＤＢ（９００２）に渡す。３Ｄ商品ＤＢ（９００２）では商品の形状をあらわす多面体をモーメント関数によって数値化した、ディスクリプタ（９００４）と３Ｄ商品モデル（８０１０）が関連付けて蓄積される。類似形状検索機（９００３）は３Ｄ商品ＤＢ（９００２）における商品の形状類似検索の際、に３Ｄ商品ＤＢ（９００２）から検索キーとなる商品のディスクリプタ（９００４）を受け取り、３Ｄ商品ＤＢに格納されているディスクリプタ（９００４）からキーとなる商品に形状が類似する商品のディスクリプタ（９００４）を返す。３Ｄ商品ＤＢ（９００２）において、類似する商品のディスクリプタ（９００４）から、対応する商品３Ｄモデルが類似商品モデル（８０１６）として検索され、合成機（８００２）に渡される。
【００５７】
以下に図１７におけるブロック間を流れるデータについて説明する。ディスクリプタ（９００４）はモーメント関数によって数値化された商品３Ｄモデル及をあらわす。商品ディスクリプタ（９００５）は顧客が興味を示した商品の形状をあらわす多面体モデルをモーメント関数によって数値化したディスクリプタをあらわす。類似商品ディスクリプタ（９００６）は商品ディスクリプタ（９００５）に対応する商品と類似形状を持つ商品のディスクリプタをあらわす。類似商品ＩＤ（９００８）は３Ｄ商品ＤＢによって検索された、顧客が興味を示した商品に類似する形状を持つ商品のＩＤをあらわす。
【００５８】
（３）同期／非同期共有部
同期／非同期共有部では、顧客ＤＢに登録された個々の商品に対する店舗のオペレータの操作を操作ＤＢに蓄え、作成した顧客情報からオンデマンドでシーンを合成し、オペレータのデモンストレーションを再生するコンテンツを作成し、顧客がインターネットを介して任意の時刻に何度でも部屋に家具を配置するシミュレーションを実行し検討できるようにする。該同期／非同期共有部のブロック図を図１８に示す。
【００５９】
図１８において、顧客ＤＢ（１０００１）はＨＴＭＬブラウザから得た顧客の名前、住所、年齢、性別、職業、興味を持った商品、オンライン店舗が提示した商品、実際に購買した商品を管理する。また、顧客が興味を示した商品に対して付加される商品の、プレゼンテーションのための、操作ログＩＤ（１０００２）を管理する。操作ログＤＢ（１０００２）は顧客ＤＢから受け取った操作ログＩＤ（１０００２）と対応する商品に対するプレゼンテーションの操作ログ（１０００６）を対応付けて管理する。操作ログサーバ（１０００３）オンライン店舗のオペレータのＶＲＭＬブラウザにおける操作をシーンの変更（８０１５）として取得し、操作ログＤＢに（１０００２）登録したり、操作ログＤＢ（１０００２）から出力されたオンライン店舗のオペレータによるプレゼンテーションの操作ログを埋め込み機（８００４）に渡し、顧客がダウンロードする操作付き共有合成シーンに埋め込む。
【００６０】
以下に図１８におけるブロック間を流れるデータについて説明する。操作ログＩＤ（１０００５）は個々の商品３ＤモデルのＩＤであり、顧客ＤＢ（１０００１）において商品３Ｄモデルと関連付けて、操作ログＤＢにおいて商品に対するプレゼンテーションの操作ログ（１０００６）と関連付けてそれぞれ管理される。操作ログ（１０００６）は個々の商品３Ｄモデルに対してオンライン店舗のオペレータが付加するプレゼンテーションを記録したものである。ＶＲＭＬブラウザをから操作ログサーバ（１０００３）を介して操作ログＤＢ（１０００２）に蓄積され、顧客ＤＢ（１０００１）からの要請に応じて、操作ログＤＢ（１０００２）から操作埋め込み機（８００４）を介してＶＲＭＬブラウザにおいて再生される。
【００６１】
次に、合成シーン生成部の中核をなす合成機のブロック図を図１９に示す。図１９において、スクリーン作成（１１００１）は顧客の室内イメージ（８００７）から図２０に示すスクリーンオブジェクト（１１００５）を作成する。仮想床作成（１１００２）は商品３Ｄモデル（８０１０）および、類似商品モデル（８０１６）をマウスの操作で仮想の床面上で自由に動かすユーザインタフェースの付随する仮想床オブジェクト（１１００６）を作成する。合成（１１００３）作成されたスクリーンオブジェクト（１１００５）と仮想床オブジェクト（１１００６）を合成し、室内イメージ（８００７）に商品３Ｄモデル（８０１０）および、類似商品モデル（８０１６）をあたかも設置したかのような合成シーン（８０１１）を作成する。調節（１１００４）において作成された合成シーン（８０１１）における室内イメージ（８００７）を貼った仮想スクリーンと、商品３Ｄモデル（８０１０）および、類似商品モデル（８０１６）が移動する、仮想床の位置関係をオンライン店舗のオペレータが調節する。
【００６２】
図２０はスクリーンオブジェクトを説明する図である。スクリーンオブジェクトは予めスクリーン作成器（１１００１）により作成される。図２０に示されるように、スクリーンオブジェクトは仮想床オブジェクトとの合成が自然になるように幾何的に配置されたカメラにより作成されたイメージを電子的画像データとして記憶したものである。スクリーンオブジェクトにはユーザより送られたユーザの部屋などのテクスチャが電子的に貼られる。図２１は仮想床オブジェクトを説明する図である。仮想床オブジェクトはスクリーンオブジェクトとの合成が自然になるように作成された床のイメージを電子的画像データとして記憶したものである。顧客が撮影した自室のイメージはスクリーンオブジェクトのスクリーンにテクスチャとして貼られ、オペレータの操作により、床とイメージの位置関係をカメラ角度によって調節し、かつイメージと商品の大きさの関係をスクリーン距離または、スクリーン大きさによって調節する。なおここでイメージとはユーザの室内イメージを表わしており、スクリーンオブジェクトにテクスチャが貼られたものである。
【００６３】
商品の３Ｄモデルは仮想床オブジェクトの床面と平行に動くように拘束されており、画面上のマウスポインタと始点を結ぶ線と床面との交点に常に位置する。仮想床面は仮想床オブジェクトに付属するユーザインタフェースによってその高さを換えることができる。こうすることによって床面に置かれる家具だけでなく、イメージ中の床面に平行な面たとえばテーブル上の面に商品の３Ｄモデルを配置するシミュレーションを可能とする。
【００６４】
図２２に本発明のオンライン店舗における合成シーンをＶＲＭＬブラウザによって表示した様子を示す。図２２の合成シーンにおいて、部屋のイメージとして指されているオブジェクトが、図１６中の室内イメージ（８００７）である。３Ｄ商品モデルとして指されているオブジェクトが図１６中の３Ｄ商品モデル（８０１０）であり、あたかも室内イメージ（８００７）の中に３Ｄ商品モデル（８０１０）が置かれているかのように表示されている。さらにマウスで３Ｄ商品モデル（８０１０）をドラッグすることにより、床面上の好きな位置に３Ｄ商品モデル（８０１０）を設置し、家具のレイアウトのシミュレーションができる。
【００６５】
また運用にあたり、本実施例を促進するために部屋のイメージを提供する顧客に対して値引きや特典を付けることにより顧客が自室を撮影したイメージを送付することによる個人情報の流出に対する抵抗を緩和する。本実施例は家具のような商品をオンライン店舗で販売するために仮想現実によるシミュレーションという高品位画像とは別の付加価値を生み出すサービスを提供し、販売を促進すると共に顧客情報として顧客の部屋のイメージ、顧客が興味を示した商品の形状を顧客のプロファイルと共に収集、蓄積することでことである。また家具に限らず、車、アクセサリ、調度品など多様な商品を扱うオンライン店舗に応用できることは言うまでもない。
【００６６】
図８に本発明において使用される類似形状比較、検索、オンライン店舗システムのハードウェア構成の一実施例を示す。システム１００は、中央処理装置（ＣＰＵ）１とメモリ４とを含んでいる。ＣＰＵ１とメモリ４は、バス２を介して、補助記憶装置としてのハードディスク装置１３（またはＭＯ、ＣＤ−ＲＯＭ２３、ＤＶＤ等の記憶媒体駆動装置）とＩＤＥコントローラ２５を介して接続してある。同様にＣＰＵ１とメモリ４は、バス２を介して、補助記憶装置としてのハードディスク装置３０（またはＭＯ２８、ＣＤ−ＲＯＭ２３、ＤＶＤ等の記憶媒体駆動装置）とＳＣＳＩコントローラ２７を介して接続してある。フロッピーディスク装置２０はフロッピーディスクコントローラ１９を介してバス２へ接続されている。好ましくは補助記憶装置に多面体データを記憶する。
【００６７】
フロッピーディスク装置２０には、フロッピーディスクが挿入され、このフロッピーディスク等やハードディスク装置１３（またはＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ等の記憶媒体）、ＲＯＭ１４には、オペレーティングシステムと協働してＣＰＵ等に命令を与え、本発明を実施するためのコンピュータ・プログラムのコード若しくはデータを記録することができ、メモリ４にロードされることによって実行される。このコンピュータ・プログラムのコードは圧縮し、または、複数に分割して、複数の媒体に記録することもできる。
【００６８】
システム１００は更に、ユーザ・インターフェース・ハードウェアを備え、入力をするためのポインティング・デバイス（マウス、ジョイスティック等）７またはキーボード６や、視覚データをユーザに提示するためのディスプレイ１２を有する。好ましくは検索された多面体データ、合成シーンなどをディスプレイ１２に表示する。また、パラレルポート１６を介してプリンタを接続することや、シリアルポート１５を介してモデムを接続することが可能である。このシステム１００は、シリアルポート１５およびモデムまたは通信アダプタ１８（イーサネットやトークンリング・カード）等を介してネットワークに接続し、他のコンピュータ等と通信を行うことが可能である。たとえば通信アダプタ１８を介して遠隔にあるサーバ上の多面体データを計算対象としてもよい。あるいはインターネットを介してウェブ上の多面体コンテンツのダウンロードおよび検索も可能である。またシリアルポート１５若しくはパラレルポート１６に、遠隔送受信機器を接続して、赤外線若しくは電波によりデータの送受信を行うことも可能である。
【００６９】
スピーカ２３は、オーディオ・コントローラ２１によってＤ／Ａ（デジタル／アナログ変換）変換された音声信号を、アンプ２２を介して受領し、音声として出力する。また、オーディオ・コントローラ２１は、マイクロフォン２４から受領した音声情報をＡ／Ｄ（アナログ／デジタル）変換し、システム外部の音声情報をシステムにとり込むことを可能にしている。たとえば検索処理をＶｉａＶｏｉｃｅ（ＩＢＭ  Ｃｏｒｐ商標）などを用いて音声により指示してもよい。
【００７０】
このように、本発明の実施に使用されるシステムは、通常のパーソナルコンピュータ（ＰＣ）やワークステーション、ノートブックＰＣ、パームトップＰＣ、ネットワークコンピュータ、コンピュータを内蔵したテレビ等の各種家電製品、通信機能を有するゲーム機、電話、ＦＡＸ、携帯電話、ＰＨＳ、電子手帳、等を含む通信機能有する通信端末、または、これらの組合せによって実施可能であることを容易に理解できるであろう。ただし、これらの構成要素は例示であり、その全ての構成要素が本発明の必須の構成要素となるわけではない。
【００７１】
【発明の効果】
本発明を用いて、多面体の形状の特徴を精度よく数値化することにより、精度を保ったまま、少ない情報量で多面体データを比較することが可能となる。またサンプリング数の増減により、任意の精度で尤度を求めることが可能になる。
【図面の簡単な説明】
【図１】本発明のモーメント関数の定義を説明するための図である。
【図２】本発明の類似形状検索のためのブロック図である。
【図３】頂点の重みの算出方法を示す図である。
【図４】任意の多面体データを検索キーとして形状類似検索を実行した例である。
【図５】任意の多面体データを検索キーとして形状類似検索を実行した例である。
【図６】任意の多面体データを検索キーとして形状類似検索を実行した例である。
【図７】明らかに形状が違う多面体データ間で算出された形状差分を示す例とその表である。
【図８】本発明において使用される類似形状検索システムのハードウェア構成の一実施例である。
【図９】多面体内部の領域の境界までの距離を示す図である。
【図１０】包含、重複、離散の分類を示す図である。
【図１１】正規化されたメッシュの例である。
【図１２】球面上に均等に分散する点を生成する方法を示した図である。
【図１３】メッシュの節点を示した図である。
【図１４】尤度算出装置の構成を示す図である。
【図１５】多面体を数値化する際のパラメータを説明する図である。
【図１６】合成シーン生成部を示す図である。
【図１７】類似商品検索部のブロック図である。
【図１８】同期／非同期共有部のブロック図である。
【図１９】合成シーン生成部の合成機のブロック図である。
【図２０】スクリーンオブジェクトを説明する図である。
【図２１】仮想床オブジェクトを説明する図である。
【図２２】本発明によるオンライン店舗の合成シーンの例である。
【図１】
0003610270.tif 000037
【図２】
0003610270.tif 000038
【図３】
0003610270.tif 000039
【図４】
0003610270.tif 000040
【図５】
0003610270.tif 000041
【図６】
0003610270.tif 000042
【図７】
0003610270.tif 000043
【図８】
0003610270.tif 000044
【図９】
0003610270.tif 000045
【図１０】
0003610270.tif 000046
【図１１】
0003610270.tif 000047
【図１２】
0003610270.tif 000048
【図１３】
0003610270.tif 000049
【図１４】
0003610270.tif 000050
【図１５】
0003610270.tif 000051
【図１６】
0003610270.tif 000052
【図１７】
0003610270.tif 000053
【図１８】
0003610270.tif 000054
【図１９】
0003610270.tif 000055
【図２０】
0003610270.tif 000056
【図２１】
0003610270.tif 000057
【図２２】
0003610270.tif 000058