JP2022068655A - 造形データ生成装置、造形データ生成方法及びプログラム - Google Patents
造形データ生成装置、造形データ生成方法及びプログラム Download PDFInfo
- Publication number
- JP2022068655A JP2022068655A JP2020177448A JP2020177448A JP2022068655A JP 2022068655 A JP2022068655 A JP 2022068655A JP 2020177448 A JP2020177448 A JP 2020177448A JP 2020177448 A JP2020177448 A JP 2020177448A JP 2022068655 A JP2022068655 A JP 2022068655A
- Authority
- JP
- Japan
- Prior art keywords
- dimensional shape
- reference point
- shape
- point
- human body
- 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
Abstract
【課題】機能的に設定されている厚さの装着物のテンプレート三次元形状を、当該装着物の機能を損なわないように、素材の厚さを考慮した変形を行う造形データ生成装置を提供する。【解決手段】本発明は、人体の部位に装着する所定の厚さの装着物を作成するための造形データを生成する装置であり、装着物の基準形状のテンプレート三次元形状における、部位の三次元形状を示す人体表面三次元形状モデルに接触する装着物三次元形状の接触面形状において基準点を設定する変形基準点設定部と、人体表面三次元形状モデルの三次元形状に合わせ、基準点を移動させる方向及び所定の距離を示す移動情報を求める基準点移動部と、テンプレート三次元形状の処理対象点の近傍に存在する少なくとも一個の基準点の移動情報に対応させて処理対象点を移動させ、造形データの生成を行う三次元形状変形部とを備える。【選択図】図1
Description
本発明は、装着対象の対象面の凹凸に対応して、装着物の三次元形状データを変形する造形データ生成装置、造形データ生成方法及びプログラムに関する。
近年、人体の三次元形状を計測し、計測した人体の形状に対応した衣服などを提供するサービスが提供されている(例えば、特許文献1及び特許文献2)。
特許文献1は、人体モデルの制御点(例えば、身体的特徴)の位置の違いに対応して、衣服データを変形する処理を行う。
これにより、ユーザの体形の三次元形状に合わせて、既製品の変形を行い、コンピュータ画面における仮想試着を行わせ、試着を行ったユーザの購買意欲を高めさせることができる。
特許文献1は、人体モデルの制御点(例えば、身体的特徴)の位置の違いに対応して、衣服データを変形する処理を行う。
これにより、ユーザの体形の三次元形状に合わせて、既製品の変形を行い、コンピュータ画面における仮想試着を行わせ、試着を行ったユーザの購買意欲を高めさせることができる。
また、特許文献2は、足と靴の内周面の隙間の形状を、靴に入れるインソールの初期形状とする変形を行う。
これにより、靴とインソールとの組み合わせたときに、足が所望の状態に保持され、かつ靴に挿入できるように、インソールの初期形状を設計することができる。
これにより、靴とインソールとの組み合わせたときに、足が所望の状態に保持され、かつ靴に挿入できるように、インソールの初期形状を設計することができる。
上述した特許文献1は、ウェブ上において、ユーザの身体の形状における三次元特徴点に対応した装着物である服の仮想試着の処理を行っている。
特許文献1においては、仮想的な試着を行う際、ユーザの身体の三次元特徴点の凹凸に合わせた仮想的なフィッティングを行い、服の形状を変形させている。しかしながら、装着物として服を対象としているため、服の厚みを考慮する必要がない。
一方、インソール、コルセット、マスク、ゴーグルやイヤホンカバーなどの装着物は、服とは異なり所定の厚みがあり、装着する人体の三次元形状に合わせて、形成する素材の元の厚みを考慮したうえで、三次元形状をフィッティングさせる必要がある。
特許文献1においては、仮想的な試着を行う際、ユーザの身体の三次元特徴点の凹凸に合わせた仮想的なフィッティングを行い、服の形状を変形させている。しかしながら、装着物として服を対象としているため、服の厚みを考慮する必要がない。
一方、インソール、コルセット、マスク、ゴーグルやイヤホンカバーなどの装着物は、服とは異なり所定の厚みがあり、装着する人体の三次元形状に合わせて、形成する素材の元の厚みを考慮したうえで、三次元形状をフィッティングさせる必要がある。
特に、各装着物を三次元プリンタにより生成する場合、装着物の三次元形状データの厚みの制御は重要な要素となる。
すなわち、上述した装着物の三次元形状においては、人体の表面に接触する面である接触面と、当該表面に接触しない非接触面とがあり、素材の厚さ(接触面と非接触面との距離)が装着物の機能に対応して設定されている。
このため、装着物を身体の形状に対応させるフィッティングにおいては、装着物の機能を損なわないように、装着物の形状において設定された素材の厚さを考慮する必要がある。
すなわち、上述した装着物の三次元形状においては、人体の表面に接触する面である接触面と、当該表面に接触しない非接触面とがあり、素材の厚さ(接触面と非接触面との距離)が装着物の機能に対応して設定されている。
このため、装着物を身体の形状に対応させるフィッティングにおいては、装着物の機能を損なわないように、装着物の形状において設定された素材の厚さを考慮する必要がある。
一方、特許文献2のインソール設計システムにおいては、インソールの使用用途から、身体の表面に接触する接触面と、靴の内面に接触する接触面とがある。
このため、装着物としてのインソールは、足と靴の内面の隙間を埋めるように、三次元形状がフィッティングされるため、厚さを考慮した三次元形状の変形が行われる。
しかし、特許文献2のインソールのように、三次元形状の全ての面が接触面であり、それぞれの接触面を接触する対象に合わせて変形する装着物は少ない。
このため、装着物としてのインソールは、足と靴の内面の隙間を埋めるように、三次元形状がフィッティングされるため、厚さを考慮した三次元形状の変形が行われる。
しかし、特許文献2のインソールのように、三次元形状の全ての面が接触面であり、それぞれの接触面を接触する対象に合わせて変形する装着物は少ない。
そのため、上記インソール設計システムは、靴の内周面の形状を示す三次元形状データが無い場合、すなわち靴の内周面側に対応するインソールの接触面が非接触面となるため、インソールの三次元形状を変形することができない。
したがって、インソール設計システムを用いても、すでにテンプレートとして用意されている、機能的に設定されている厚さの三次元形状データを、装着物の機能を損なわないように、素材の厚さを考慮した変形を行うことができない。
したがって、インソール設計システムを用いても、すでにテンプレートとして用意されている、機能的に設定されている厚さの三次元形状データを、装着物の機能を損なわないように、素材の厚さを考慮した変形を行うことができない。
本発明は、このような状況に鑑みてなされたもので、テンプレートとして用意されている、機能的に設定されている厚さの装着物の三次元形状データを、当該装着物の機能を損なわないように、装着物に設定された素材の厚さを考慮した変形を行うことができる造形データ生成装置、造形データ生成方法及びプログラムを提供する。
上述した課題を解決するために、本発明の造形データ生成装置は、人体形状の所定の人体表面に対して装着する所定の厚さの装着物を作成する、当該装着物の三次元形状を示す造形データを生成する造形データ生成装置であり、前記装着物の三次元形状の基準形状であるテンプレート三次元形状における、前記人体表面の三次元形状を示す人体表面三次元形状モデルに接触する装着物三次元形状の接触面形状において基準点を設定する変形基準点設定部と、前記人体表面三次元形状モデルの三次元形状に合わせて、前記基準点を移動させる所定の方向及び所定の距離を示す移動情報を求める基準点移動部と、前記テンプレート三次元形状における処理対象点の近傍に存在する少なくとも一個の前記基準点の前記移動情報に対応させて、前記処理対象点を移動させ、前記造形データの生成を行う三次元形状変形部とを備えることを特徴とする。
本発明の造形データ生成装置は、前記基準点として、前記接触面形状におけるメッシュの頂点を用い、前記処理対象点が前記テンプレート三次元形状における前記人体表面に接触しない非接触面形状データにおける、前記基準点に対応するメッシュの頂点であることを特徴とする。
本発明の造形データ生成装置は、前記基準点として、前記基準点として、前記接触面形状における任意に選択したメッシュの頂点である対応点を用い、前記処理対象点が当該対応点を含む前記テンプレート三次元形状を構成するメッシュの頂点であることを特徴とする。
本発明の造形データ生成装置は、前記基準点として、前記接触面形状における任意に設定した設定点を用い、前記処理対象点が前記テンプレート三次元形状を構成するメッシュの頂点及び前記設定点であることを特徴とする。
本発明の造形データ生成装置は、前記基準点移動部が、前記基準点の各々から前記人体表面三次元形状モデルに対して、所定の方向に延ばした直線と、当該人体表面三次元形状モデルとが交差する点を表面点として、前記基準点を当該表面点に移動させ、前記三次元形状変形部が、前記処理対象点の移動位置を、当該処理対象点の元の位置から前記所定の方向に位置する前記基準点が移動した前記表面点までの移動量の予め設定した比率倍の位置とすることを特徴とする。
本発明の造形データ生成装置は、前記基準点移動部が、前記基準点の各々から前記人体表面三次元形状モデルに対して、所定の方向に延ばした直線と、当該人体表面三次元形状モデルとが交差する点を表面点として、前記基準点を当該表面点に移動させ、前記三次元形状変形部が、処理対象点の移動位置を、前記所定の方向に位置する前記基準点の移動量と、当該基準点の所定の範囲内にある少なくとも一つの他の基準点の移動量との重み付け平均の位置とすることを特徴とする。
本発明の造形データ生成装置は、前記基準点移動部が、前記接触面形状における前記基準点のなかから対象となる基準点として対象基準点を選択し、当該対象基準点を含む所定の領域であるブロックを生成し、当該ブロックの各々を前記人体表面三次元形状モデルに対して位置合わせを行い、当該位置合わせにより抽出された部位へ所定の移動量で前記ブロックを移動させる第1変換行列を求め、前記三次元形状変形部が、前記処理対象点を移動させる第2変換行列を、当該処理対象点の近傍にある少なくとも一つの前記基準点の第1変換行列の重み付け平均として求めることを特徴とする。
本発明の造形データ生成装置は、前記基準点移動部が、前記接触面形状における前記基準点のなかから対象基準点のとしての基準点を選択し、当該対象基準点を含む所定の領域であるブロックを生成し、当該ブロックの各々を前記人体表面三次元形状モデルに対して位置合わせを行い、当該位置合わせに対応して前記接触面形状のメッシュの第1頂点の各々を移動させ、前記三次元形状変形部が、前記第1頂点の移動後の位置に対応して、前記装着物三次元形状における前記人体表面三次元形状モデルに接触しない非接触面形状の頂点である前記処理対象点を移動させる際、前記テンプレート三次元形状における前記第1頂点の各々と前記処理対象点のそれぞれとの間隔と、前記装着物三次元形状における前記第1頂点の各々と前記処理対象点のそれぞれとの間隔との変化量が最小となる位置に、当該処理対象点を所定の移動量で移動させることを特徴とする。
本発明の造形データ生成装置は、前記基準点移動部が、前記接触面形状における前記基準点のなかから対象基準点のとしての基準点を選択し、当該対象基準点の近傍の他の基準点複数からなるブロックを生成し、当該ブロックの各々を前記人体表面三次元形状モデルに対して位置合わせを行い、当該位置合わせにより抽出された部位へ前記ブロックを移動させる第1変換行列を求め、前記接触面形状におけるメッシュの頂点を移動させる第2変換行列を、前記処理対象点の近傍にある、少なくとも一つの前記基準点の第1変換行列の重み付け平均として求め、前記接触面形状の前記第1頂点を移動させることを特徴とする。
本発明の造形データ生成装置は、前記移動量の重み付け平均に用いる重み係数が、前記処理対象点と当該処理対象点から所定の範囲内にある前記基準点との間の距離に対応していることを特徴とする。
本発明の造形データ生成装置は、前記三次元形状変形部が、前記移動量の重み付け平均に用いる重み係数の最大値または重みの総計が所定の閾値未満である前記処理対象点を移動させないことを特徴とする。
本発明の造形データ生成装置は、前記装着三次元形状におけるメッシュの頂点において移動を行わない、位置固定の頂点を設定する変形制限情報取得部をさらに備えることを特徴とする。
本発明の造形データ生成方法は、人体形状の所定の人体表面に対して装着する所定の厚さの装着物を作成する、当該装着物の三次元形状を示す造形データを生成する造形データ生成方法であり、変形基準点設定部が、前記装着物の三次元形状の基準形状であるテンプレート三次元形状における、前記人体表面の三次元形状を示す人体表面三次元形状モデルに接触する装着物三次元形状の接触面形状において基準点を設定する変形基準点設定過程と、基準点移動部が、前記人体表面三次元形状モデルの三次元形状に合わせて、前記基準点を移動させる所定の方向及び所定の距離を示す移動情報を求める基準点移動過程と、三次元形状変形部が、前記テンプレート三次元形状における処理対象点の近傍に存在する少なくとも一個の前記基準点の前記移動情報に対応させて、前記処理対象点を移動させ、前記造形データの生成を行う三次元形状変形過程とを含むことを特徴とする。
本発明のプログラムは、人体形状の所定の人体表面に対して装着する所定の厚さの装着物を作成する、当該装着物の三次元形状を示す造形データを生成する造形データ生成装置としてコンピュータを機能させるためのプログラムであり、前記コンピュータを、前記装着物の三次元形状の基準形状であるテンプレート三次元形状における、前記人体表面の三次元形状を示す人体表面三次元形状モデルに接触する装着物三次元形状の接触面形状において基準点を設定する変形基準点設定手段、前記人体表面三次元形状モデルの三次元形状に合わせて、前記基準点を移動させる所定の方向及び所定の距離を示す移動情報を求める基準点移動手段、前記テンプレート三次元形状における処理対象点の近傍に存在する少なくとも一個の前記基準点の前記移動情報に対応させて、前記処理対象点を移動させ、前記造形データの生成を行う三次元形状変形手段として機能させるためのプログラムである。
以上説明したように、本発明によれば、テンプレートとして用意されている、機能的に設定されている厚さの装着物の三次元形状データを、当該装着物の機能を損なわないように、装着物に設定された素材の厚さを考慮した変形を行うことができる造形データ生成装置、造形データ生成方法及びプログラムを提供することができる。
<第1の実施形態>
以下、本発明の第1の実施形態について、図面を参照して説明する。
図1は、本発明の第1の実施形態による造形データ生成システムの構成例を示すブロック図である。図1において、造形データ生成システム100は、データ入出力部101、人体形状データ取得部102、装着物データ取得部103、変形基準点設定部104、初期位置設定部105、基準点移動部106、三次元形状変形部107、表示部108、人体表面三次元データ記憶部109、テンプレート三次元形状データベース110及び装着物三次元データ記憶部111の各々を備えている。
以下、本発明の第1の実施形態について、図面を参照して説明する。
図1は、本発明の第1の実施形態による造形データ生成システムの構成例を示すブロック図である。図1において、造形データ生成システム100は、データ入出力部101、人体形状データ取得部102、装着物データ取得部103、変形基準点設定部104、初期位置設定部105、基準点移動部106、三次元形状変形部107、表示部108、人体表面三次元データ記憶部109、テンプレート三次元形状データベース110及び装着物三次元データ記憶部111の各々を備えている。
データ入出力部101は、装着物を装着する対象の人体における所定の部位の表面の三次元形状を示す人体表面三次元形状データ(後述する人体表面三次元形状モデル201のデータ)を外部装置から入力し、当該人体表面三次元形状データを人体表面三次元データ記憶部109に書き込んで記憶させる。
また、データ入出力部101は、人体の所定の部位に装着する装着物の表面の三次元形状を示す装着物の標準形状を示すテンプレート三次元形状データ(後述するテンプレート三次元形状モデル301のデータ)を外部装置から入力し、当該テンプレート三次元形状データをテンプレート三次元形状データベース110に書き込んで記憶させる。このテンプレート三次元形状モデル(テンプレート三次元形状モデル301)は、装着物の種別毎に対象とする人体の性別、年齢、体型(身体の大きさL(Large)、M(Medium)、S(Small)などの種別)に応じて複数準備される。
また、データ入出力部101は、人体の所定の部位に装着する装着物の表面の三次元形状を示す装着物の標準形状を示すテンプレート三次元形状データ(後述するテンプレート三次元形状モデル301のデータ)を外部装置から入力し、当該テンプレート三次元形状データをテンプレート三次元形状データベース110に書き込んで記憶させる。このテンプレート三次元形状モデル(テンプレート三次元形状モデル301)は、装着物の種別毎に対象とする人体の性別、年齢、体型(身体の大きさL(Large)、M(Medium)、S(Small)などの種別)に応じて複数準備される。
本実施形態において、装着物は、例えば、種別としてインソール、コルセット、マスク及びゴーグルなどのある程度の厚さを有した形状であり、また、厚さが装着物全体において一様でなく、使用用途に対して機能的に厚さ設定されている人体に装着する装具である。
また、本実施形態においては、説明における装着物の一例として、装着の対象が人体の部位としての足裏に装着するインソールを用いている。
また、本実施形態においては、説明における装着物の一例として、装着の対象が人体の部位としての足裏に装着するインソールを用いている。
図2は、本実施形態における人体の足裏に対応したインソールの変形処理を説明する図である。図2において、テンプレート三次元形状モデル301は、テンプレート三次元形状モデルデータが示す、汎用のテンプレートとして用意されたインソールの三次元形状を示す三次元形状モデルである。
本実施形態においては、このテンプレート三次元形状モデル301を、人体の部位である足裏の三次元形状を示す人体表面三次元形状モデル201の表面形状に対応させて変形させ、装着物三次元形状モデル302を生成する。この装着物三次元形状モデル302は、三次元プリンタなどにより、装着物を製造するための、当該装着物の三次元形状を示す造形データ(CAD(computer aided design)データ)である。
本実施形態においては、このテンプレート三次元形状モデル301を、人体の部位である足裏の三次元形状を示す人体表面三次元形状モデル201の表面形状に対応させて変形させ、装着物三次元形状モデル302を生成する。この装着物三次元形状モデル302は、三次元プリンタなどにより、装着物を製造するための、当該装着物の三次元形状を示す造形データ(CAD(computer aided design)データ)である。
テンプレート三次元形状モデル301は、テンプレート接触面形状領域301Cと、テンプレート非接触面形状領域301Nとの各々の領域を有している。このテンプレート接触面形状領域301Cは、人体表面三次元形状モデル201の表面形状に直接的に接触する面の領域を示している。
一方、テンプレート非接触面形状領域301Nは、テンプレート三次元形状モデル301からテンプレート接触面形状領域301Cを除いた残りの領域、すなわち人体表面三次元形状モデル201の表面形状に接しない面の領域を示している。
一方、テンプレート非接触面形状領域301Nは、テンプレート三次元形状モデル301からテンプレート接触面形状領域301Cを除いた残りの領域、すなわち人体表面三次元形状モデル201の表面形状に接しない面の領域を示している。
また、装着物三次元形状モデル302は、装着物接触面形状領域302Cと、装着物非接触面形状領域302Nとの各々の領域を有している。この装着物接触面形状領域302Cは、人体表面三次元形状モデル201の表面形状に直接的に接触する面の領域を示している。
一方、装着物非接触面形状領域302Nは、装着物三次元形状モデル302から装着物接触面形状領域302Cを除いた残りの領域、すなわち人体表面三次元形状モデル201の表面形状に接しない面の領域を示している。
一方、装着物非接触面形状領域302Nは、装着物三次元形状モデル302から装着物接触面形状領域302Cを除いた残りの領域、すなわち人体表面三次元形状モデル201の表面形状に接しない面の領域を示している。
テンプレート接触面形状領域301Cには、テンプレート三次元形状モデル301を変形する際に基準となる点として、基準点301SP(△印)が配置されている。
この基準点301SPは、例えば、三次元形状モデルを構成するメッシュの頂点である。
また、基準点301SPとして、メッシュの頂点とは別にユーザが任意の箇所に対して、サンプリングポイントとして擬似頂点を付加してもよい。
この基準点301SPは、例えば、三次元形状モデルを構成するメッシュの頂点である。
また、基準点301SPとして、メッシュの頂点とは別にユーザが任意の箇所に対して、サンプリングポイントとして擬似頂点を付加してもよい。
また、メッシュの頂点の分布密度が大きい場合、所定の分布密度となるように、基準点として用いる頂点を選択しても(不必要と思われる頂点を基準点から外しても)よい。
また、テンプレート非接触面形状領域301Nには、テンプレート接触面形状領域301Cの基準点301SPに対応して移動する移動点301NP(○印)としてのメッシュの頂点が配置されている。
また、テンプレート非接触面形状領域301Nには、テンプレート接触面形状領域301Cの基準点301SPに対応して移動する移動点301NP(○印)としてのメッシュの頂点が配置されている。
装着物接触面形状領域302Cには、人体表面三次元形状モデル201の表面形状に対応して移動した基準点301SPが基準点301SP’(△印)として配置されている。
また、装着物非接触面形状領域302Nには、テンプレート接触面形状領域301Cの基準点301SPの移動に対応して移動した移動点301NPが、移動点301NP’(〇印)として配置されている。
また、装着物非接触面形状領域302Nには、テンプレート接触面形状領域301Cの基準点301SPの移動に対応して移動した移動点301NPが、移動点301NP’(〇印)として配置されている。
図1に戻り、人体形状データ取得部102は、データ入出力部101から入力される処理対象の人体表面三次元形状モデル201を人体表面三次元データ記憶部109から読み込む。
また、人体形状データ取得部102は、データ入出力部101から入力される人体の所定の部位を三次元スキャナで計測することにより三次元の点群データを取得したり、多視点画像(異なる複数の視点で撮像した撮像画像群)から、当該部位の三次元形状を推定したりすることで、人体表面三次元形状モデル201を生成し、人体表面三次元データ記憶部109に書き込んで記憶させる構成としてもよい。そして、人体形状データ取得部102は、データ入出力部101から入力されるユーザの処理対象の部位の三次元モデルとして、当該ユーザの人体表面三次元形状モデル201を人体表面三次元データ記憶部109から読み込む。
また、人体形状データ取得部102は、データ入出力部101から入力される人体の所定の部位を三次元スキャナで計測することにより三次元の点群データを取得したり、多視点画像(異なる複数の視点で撮像した撮像画像群)から、当該部位の三次元形状を推定したりすることで、人体表面三次元形状モデル201を生成し、人体表面三次元データ記憶部109に書き込んで記憶させる構成としてもよい。そして、人体形状データ取得部102は、データ入出力部101から入力されるユーザの処理対象の部位の三次元モデルとして、当該ユーザの人体表面三次元形状モデル201を人体表面三次元データ記憶部109から読み込む。
装着物データ取得部103は、データ入出力部101から入力される処理対象の人体の部位に対応したテンプレート三次元形状モデル301を、テンプレート三次元形状データベース110から読み込む。
また、装着物データ取得部103は、CADソフトウェア(アプリケーションプログラム)を用いて、テンプレート三次元形状モデル301を作成したり、もしくはデータ入出力部101から入力される標準として準備された装着物(テンプレート装着物)の多視点画像から、当該装着物の三次元形状を推定することで、テンプレート三次元形状モデル301を生成したりして、テンプレート三次元形状データベース110に書き込んで記憶させる構成としてもよい。そして、装着物データ取得部103は、データ入出力部101から入力されるユーザの処理対象の装着物の三次元モデルとして、当該装着物のテンプレート三次元形状モデル301をテンプレート三次元形状データベース110から読み込む。
また、装着物データ取得部103は、CADソフトウェア(アプリケーションプログラム)を用いて、テンプレート三次元形状モデル301を作成したり、もしくはデータ入出力部101から入力される標準として準備された装着物(テンプレート装着物)の多視点画像から、当該装着物の三次元形状を推定することで、テンプレート三次元形状モデル301を生成したりして、テンプレート三次元形状データベース110に書き込んで記憶させる構成としてもよい。そして、装着物データ取得部103は、データ入出力部101から入力されるユーザの処理対象の装着物の三次元モデルとして、当該装着物のテンプレート三次元形状モデル301をテンプレート三次元形状データベース110から読み込む。
また、テンプレート三次元形状モデル301は、過去に上記設計データ(すなわち、テンプレート三次元形状モデル301)をもとに生成した装着物三次元形状モデル302の各々を蓄積し、それぞれをテンプレートのデータとして用いてもよい。また、蓄積した装着物三次元形状モデル302の各々の三次元形状を平均化した三次元形状を、テンプレート三次元形状モデル301としてもよい。
変形基準点設定部104は、テンプレート三次元形状モデル301におけるテンプレート接触面形状領域301Cに対して、データ入出力部101から入力される基準点情報に対応して、基準点を設定する。この基準点は、テンプレート接触面形状領域301Cを変形する際、テンプレート接触面形状領域301Cの各部分を、元の位置からどの程度の距離に移動させるかなどを算出する際の基準として用いる座標点である。
この基準点情報は、上記基準点として、テンプレート接触面形状領域301Cの三次元形状を構成するメッシュの頂点を用いるか、テンプレート接触面形状領域301Cに付加したサンプリングポイントを用いるか、また表示部108の表示画面上でユーザが任意にメッシュ上に設定した設定点を用いるか、あるいはこれらを組み合わせて用いるか、さらにメッシュの頂点から任意に選択した対応点を用いるかを示す情報である。例えば、任意に設定する設定点と、対応点とするメッシュの頂点との各々は、解剖学的特徴点やマーカー箇所(ここだけは変形の際に確実に合わせたい重要箇所)として、精度の高い変形が必要な場合などに設定される。
初期位置設定部105は、人体表面三次元形状モデル201と、テンプレート三次元形状モデル301におけるテンプレート接触面形状領域301Cとの初期の位置合わせを行う。
このとき、初期位置設定部105は、例えば、人体表面三次元形状モデル201とテンプレート接触面形状領域301Cとの各々を、三次元特徴量やICP(Iterative closest point)法を用いた三次元剛体位置合わせを行い、形状的な位置合わせを行う。
また、初期位置設定部105は、ユーザが表示部108の表示画面に表示される、人体表面三次元形状モデル201の表示画像と、テンプレート接触面形状領域301Cの表示画像とを、マウスにより回転、平行移動をさせる処理を反映して、初期の位置合わせを行う構成としてもよい。
このとき、初期位置設定部105は、例えば、人体表面三次元形状モデル201とテンプレート接触面形状領域301Cとの各々を、三次元特徴量やICP(Iterative closest point)法を用いた三次元剛体位置合わせを行い、形状的な位置合わせを行う。
また、初期位置設定部105は、ユーザが表示部108の表示画面に表示される、人体表面三次元形状モデル201の表示画像と、テンプレート接触面形状領域301Cの表示画像とを、マウスにより回転、平行移動をさせる処理を反映して、初期の位置合わせを行う構成としてもよい。
図3は、人体表面三次元形状モデル201とテンプレート接触面形状領域301Cとの位置合わせを説明する図である。
図3(a)は、初期の位置合わせの処理を行った後における、人体表面三次元形状モデル201とテンプレート接触面形状領域301Cとの位置関係を示している。すなわち、図3(a)は、人体表面三次元形状モデル201及びテンプレート接触面形状領域301C各々の類似形状の対応付がなされた配置状態を示している。この場合、剛体位置合わせのため、テンプレート接触面形状領域301Cの三次元形状は変形されず、そのままの形状により、人体表面三次元形状モデル201の形状に位置合わせされる。
図3(b)は、図3(a)に示す状態から、本実施形態における三次元非剛体位置合わせを行った結果を示す図である。非剛体位置合わせのため、テンプレート接触面形状領域301Cの三次元形状は変形され、人体表面三次元形状モデル201の形状となるように位置合わせされ、装着物三次元形状モデル302となる。
図3(a)は、初期の位置合わせの処理を行った後における、人体表面三次元形状モデル201とテンプレート接触面形状領域301Cとの位置関係を示している。すなわち、図3(a)は、人体表面三次元形状モデル201及びテンプレート接触面形状領域301C各々の類似形状の対応付がなされた配置状態を示している。この場合、剛体位置合わせのため、テンプレート接触面形状領域301Cの三次元形状は変形されず、そのままの形状により、人体表面三次元形状モデル201の形状に位置合わせされる。
図3(b)は、図3(a)に示す状態から、本実施形態における三次元非剛体位置合わせを行った結果を示す図である。非剛体位置合わせのため、テンプレート接触面形状領域301Cの三次元形状は変形され、人体表面三次元形状モデル201の形状となるように位置合わせされ、装着物三次元形状モデル302となる。
図4は、仮想三次元空間に配置された人体表面三次元形状モデル201と、テンプレート三次元形状モデル301と、装着物三次元形状モデル302との表示画像を示す図である。
図4(a)は、三次元空間における、人体形状データ取得部102が取得した人体表面三次元形状モデル201と、装着物データ取得部103が取得したテンプレート三次元形状モデル301とが同一の三次元空間に配置された表示画像を示している。
図4(b)は、人体表面三次元形状モデル201におけるメッシュの頂点の各々を固定点群とし、またテンプレート接触面形状領域301Cにおけるメッシュの頂点の各々を移動点群とした三次元剛体位置合わせによる初期の位置合わせ処理を行った、人体表面三次元形状モデル201とテンプレート三次元形状モデル301との配置状態の表示画像を示している。
図4(a)は、三次元空間における、人体形状データ取得部102が取得した人体表面三次元形状モデル201と、装着物データ取得部103が取得したテンプレート三次元形状モデル301とが同一の三次元空間に配置された表示画像を示している。
図4(b)は、人体表面三次元形状モデル201におけるメッシュの頂点の各々を固定点群とし、またテンプレート接触面形状領域301Cにおけるメッシュの頂点の各々を移動点群とした三次元剛体位置合わせによる初期の位置合わせ処理を行った、人体表面三次元形状モデル201とテンプレート三次元形状モデル301との配置状態の表示画像を示している。
また、図4(b)において、剛体位置合わせのため、テンプレート接触面形状領域301Cから部分的に人体表面三次元形状モデル201が露出(突出)している領域がある。
図3(a)で説明したように、テンプレート接触面形状領域301Cの形状は変形されていないため、人体表面三次元形状モデル201とテンプレート接触面形状領域301Cとの間に隙間が生成されたり、テンプレート接触面形状領域301Cから部分的に人体表面三次元形状モデル201が突出する場合がある。
図4(c)は、図3(b)で説明したように、人体表面三次元形状モデル201に対するテンプレート接触面形状領域301Cの非剛体位置合わせが終了し、かつテンプレート三次元形状モデル301の変形が終了して生成された装着物三次元形状モデル302と、人体表面三次元形状モデル201とが表示された表示画面を示している。
図3(a)で説明したように、テンプレート接触面形状領域301Cの形状は変形されていないため、人体表面三次元形状モデル201とテンプレート接触面形状領域301Cとの間に隙間が生成されたり、テンプレート接触面形状領域301Cから部分的に人体表面三次元形状モデル201が突出する場合がある。
図4(c)は、図3(b)で説明したように、人体表面三次元形状モデル201に対するテンプレート接触面形状領域301Cの非剛体位置合わせが終了し、かつテンプレート三次元形状モデル301の変形が終了して生成された装着物三次元形状モデル302と、人体表面三次元形状モデル201とが表示された表示画面を示している。
図1に戻り、基準点移動部106は、テンプレート接触面形状領域301Cにおける基準点を貫通する特定の方向に沿った直線を形成する。
ここで、特定の方向とは、例えば、装着物(インソール)が配置された仮想三次元空間におけるx軸、y軸及びz軸の方向である。
本実施形態の場合、装着物の厚さ方向をz軸とした場合、特定の方向をz軸とし、テンプレート接触面形状領域301Cにおける基準点を貫通する直線を生成する。
ここで、特定の方向とは、例えば、装着物(インソール)が配置された仮想三次元空間におけるx軸、y軸及びz軸の方向である。
本実施形態の場合、装着物の厚さ方向をz軸とした場合、特定の方向をz軸とし、テンプレート接触面形状領域301Cにおける基準点を貫通する直線を生成する。
そして、基準点移動部106は、基準点を貫通する直線の各々が人体表面三次元形状モデル201と交差する点それぞれを、基準点の移動する位置の表面点とする。
基準点移動部106は、テンプレート接触面形状領域301Cの基準点の各々を、それぞれ対応する人体表面三次元形状モデル201における表面点に移動させて、テンプレート接触面形状領域301Cの変形を行う(非剛体位置合わせ)。
基準点移動部106は、テンプレート接触面形状領域301Cの基準点の各々を、それぞれ対応する人体表面三次元形状モデル201における表面点に移動させて、テンプレート接触面形状領域301Cの変形を行う(非剛体位置合わせ)。
また、テンプレート接触面形状領域301Cにおける基準点の各々に対して、それぞれ対応する人体表面三次元形状モデル201上の表面点を、表示部108の表示画面(例えば、図4(a))上において、ユーザがマウスなどを用いて予め決定しておく構成としてもよい。
この場合、基準点移動部106は、テンプレート接触面形状領域301Cの基準点の各々を、それぞれ対応する人体表面三次元形状モデル201上の表面点に移動させる。ここで、基準点の各々が、それぞれ対応する表面点の方向(特定の方向)に移動される。
この場合、基準点移動部106は、テンプレート接触面形状領域301Cの基準点の各々を、それぞれ対応する人体表面三次元形状モデル201上の表面点に移動させる。ここで、基準点の各々が、それぞれ対応する表面点の方向(特定の方向)に移動される。
三次元形状変形部107は、テンプレート接触面形状領域301Cの基準点における上記直線がテンプレート非接触面形状領域301Nを貫通した位置を形状点とする。
そして、三次元形状変形部107は、上記形状点の直線上の第2移動距離(移動量)を、対応する基準点の第1移動距離(表面点と移動前の基準点との距離)に予め設定した比例倍の距離とする。比例倍としては「1」も含み、人体表面三次元形状モデル201の全体で同一の数値でもよいし、各部分に対応してそれぞれ異なる数値として設定してもよい。
例えば、比例倍は、人体表面三次元形状モデル201の形状に対応し、かつ装着物の機能を保持する厚さとなるように被験者を用いた実験や、シミュレーションによって、テンプレート三次元形状モデル301に機能的に設定されている厚さを保持する数値として設定される。
そして、三次元形状変形部107は、上記形状点の直線上の第2移動距離(移動量)を、対応する基準点の第1移動距離(表面点と移動前の基準点との距離)に予め設定した比例倍の距離とする。比例倍としては「1」も含み、人体表面三次元形状モデル201の全体で同一の数値でもよいし、各部分に対応してそれぞれ異なる数値として設定してもよい。
例えば、比例倍は、人体表面三次元形状モデル201の形状に対応し、かつ装着物の機能を保持する厚さとなるように被験者を用いた実験や、シミュレーションによって、テンプレート三次元形状モデル301に機能的に設定されている厚さを保持する数値として設定される。
三次元形状変形部107は、テンプレート非接触面形状領域301Nにおける各形状点を、当該形状点を貫通する直線上において上述した処理で求めた第2移動距離それぞれで移動させる。
これにより、三次元形状変形部107は、人体表面三次元形状モデル201の三次元形状に対応させて、人体表面三次元形状モデル201を変形させ、装着物三次元形状モデル302を生成する。
そして、三次元形状変形部107は、生成した装着物三次元形状モデル302を、装着物三次元データ記憶部111に書き込んで記憶させる。
これにより、三次元形状変形部107は、人体表面三次元形状モデル201の三次元形状に対応させて、人体表面三次元形状モデル201を変形させ、装着物三次元形状モデル302を生成する。
そして、三次元形状変形部107は、生成した装着物三次元形状モデル302を、装着物三次元データ記憶部111に書き込んで記憶させる。
上述したように、本実施形態によれば、テンプレートとして用意されている装着物のテンプレート三次元形状モデル301をユーザの人体表面三次元形状モデル201の三次元形状に対応させて変形して、装着物三次元形状モデル302を生成する際、テンプレート三次元形状モデル301のテンプレート接触面形状領域301Cを人体表面三次元形状モデル201に対応して変形した後、基準点を移動させた第1移動距離の各々を、人体の部位の三次元形状に対応して機能的に設定された厚さを保持するように設定された比例倍により求めた第2移動距離で、テンプレート非接触面形状領域301Nにおける形状点を移動させるため、機能的に設定された装着物の三次元形状における素材の厚さを維持させることが可能となり、テンプレート三次元形状モデル301を変形して、所定の機能を有する装着物を造形するための装着物三次元形状モデル302を生成することができる。
図5は、本実施形態による造形データ生成システムによるテンプレート三次元形状モデル301を変形して装着物三次元形状モデル302を生成する処理の動作例を示すフローチャートである。以下、変形における基準点として、テンプレート接触面形状領域301Cを形成するメッシュの頂点を用いた場合を説明する。
ステップS101:
人体形状データ取得部102は、データ入出力部101からユーザの識別情報(例えば、名前、登録番号など)が供給された場合、当該識別情報に対応する人体表面三次元形状モデル201を、人体表面三次元データ記憶部109から読み込む。
人体形状データ取得部102は、データ入出力部101からユーザの識別情報(例えば、名前、登録番号など)が供給された場合、当該識別情報に対応する人体表面三次元形状モデル201を、人体表面三次元データ記憶部109から読み込む。
ステップS102:
装着物データ取得部103は、データ入出力部101からユーザの処理対象の人体の部位が供給された場合、当該部位に対応するテンプレート三次元形状モデル301を、テンプレート三次元形状データベース110から読み込む。
装着物データ取得部103は、データ入出力部101からユーザの処理対象の人体の部位が供給された場合、当該部位に対応するテンプレート三次元形状モデル301を、テンプレート三次元形状データベース110から読み込む。
ステップS103:
変形基準点設定部104は、例えば、データ入出力部101からユーザが入力した、基準点を、テンプレート接触面形状領域301Cにおけるメッシュの頂点とする基準点情報を取得する。
これにより、変形基準点設定部104は、テンプレート三次元形状モデル301を人体表面三次元形状モデル201に対応して変形する基準点を、テンプレート接触面形状領域301Cを形成するメッシュの頂点として設定する。
変形基準点設定部104は、例えば、データ入出力部101からユーザが入力した、基準点を、テンプレート接触面形状領域301Cにおけるメッシュの頂点とする基準点情報を取得する。
これにより、変形基準点設定部104は、テンプレート三次元形状モデル301を人体表面三次元形状モデル201に対応して変形する基準点を、テンプレート接触面形状領域301Cを形成するメッシュの頂点として設定する。
ステップS104:
初期位置設定部105は、変形基準点設定部104による基準点の設定が終了した場合、人体表面三次元形状モデル201と、テンプレート三次元形状モデル301のテンプレート接触面形状領域301Cとの初期の位置合わせを行う。
初期位置設定部105は、変形基準点設定部104による基準点の設定が終了した場合、人体表面三次元形状モデル201と、テンプレート三次元形状モデル301のテンプレート接触面形状領域301Cとの初期の位置合わせを行う。
ステップS105:
基準点移動部106は、テンプレート接触面形状領域301C上の基準点を選択する。
そして、基準点移動部106は、選択した基準点に対応する人体表面三次元形状モデル201の表面点を抽出する。
このとき、基準点移動部106は、例えば、三次元空間におけるz軸方向に基準点を貫通する直線を生成して、直線が人体表面三次元形状モデル201のメッシュと交差する点を表面点として抽出する。
基準点移動部106は、テンプレート接触面形状領域301C上の基準点を選択する。
そして、基準点移動部106は、選択した基準点に対応する人体表面三次元形状モデル201の表面点を抽出する。
このとき、基準点移動部106は、例えば、三次元空間におけるz軸方向に基準点を貫通する直線を生成して、直線が人体表面三次元形状モデル201のメッシュと交差する点を表面点として抽出する。
ステップS106:
基準点移動部106は、テンプレート接触面形状領域301Cの基準点を、抽出した人体表面三次元形状モデル201上の当該基準点に対応する表面点に移動させる(直線方向への第1の移動距離としての移動情報)。
基準点移動部106は、テンプレート接触面形状領域301Cの基準点を、抽出した人体表面三次元形状モデル201上の当該基準点に対応する表面点に移動させる(直線方向への第1の移動距離としての移動情報)。
ステップS107:
基準点移動部106は、テンプレート接触面形状領域301C上における全ての基準点の表面点への移動が終了したか否かの判定を行う。
このとき、基準点移動部106は、テンプレート接触面形状領域301C上における全ての基準点の表面点への移動が終了した場合、処理をステップS109へ進める。
一方、基準点移動部106は、テンプレート接触面形状領域301C上における全ての基準点の表面点への移動が終了していない場合、処理をステップS105へ進める。
基準点移動部106は、テンプレート接触面形状領域301C上における全ての基準点の表面点への移動が終了したか否かの判定を行う。
このとき、基準点移動部106は、テンプレート接触面形状領域301C上における全ての基準点の表面点への移動が終了した場合、処理をステップS109へ進める。
一方、基準点移動部106は、テンプレート接触面形状領域301C上における全ての基準点の表面点への移動が終了していない場合、処理をステップS105へ進める。
ステップS108:
三次元形状変形部107は、テンプレート接触面形状領域301C上の基準点を選択する。
そして、三次元形状変形部107は、テンプレート接触面形状領域301Cの基準点における上記直線がテンプレート非接触面形状領域301Nを貫通した位置を形状点として選択する。
三次元形状変形部107は、テンプレート接触面形状領域301C上の基準点を選択する。
そして、三次元形状変形部107は、テンプレート接触面形状領域301Cの基準点における上記直線がテンプレート非接触面形状領域301Nを貫通した位置を形状点として選択する。
ステップS109:
三次元形状変形部107は、対応する基準点の第1移動距離に対して、予め設定した比例倍の数値を乗算した乗算結果を、選択した形状点の直線上における第2移動距離(直線方向への第2移動距離としての移動情報)とする。
そして、三次元形状変形部107は、テンプレート非接触面形状領域301N上で選択した各形状点を、当該形状点を貫通する直線上において上述した処理で求めた第2移動距離を移動させる。
三次元形状変形部107は、対応する基準点の第1移動距離に対して、予め設定した比例倍の数値を乗算した乗算結果を、選択した形状点の直線上における第2移動距離(直線方向への第2移動距離としての移動情報)とする。
そして、三次元形状変形部107は、テンプレート非接触面形状領域301N上で選択した各形状点を、当該形状点を貫通する直線上において上述した処理で求めた第2移動距離を移動させる。
ステップS110:
三次元形状変形部107は、テンプレート非接触面形状領域301N上における全ての形状点(すなわち、基準点)の表面点方向に対する第2移動距離の移動が終了したか否かの判定を行う。
このとき、三次元形状変形部107は、テンプレート非接触面形状領域301N上における全ての形状点の表面点方向に対する第2移動距離の移動が終了した場合、テンプレート三次元形状モデル301の変形を終了する。
三次元形状変形部107は、テンプレート非接触面形状領域301N上における全ての形状点(すなわち、基準点)の表面点方向に対する第2移動距離の移動が終了したか否かの判定を行う。
このとき、三次元形状変形部107は、テンプレート非接触面形状領域301N上における全ての形状点の表面点方向に対する第2移動距離の移動が終了した場合、テンプレート三次元形状モデル301の変形を終了する。
そして、三次元形状変形部107は、テンプレート三次元形状モデル301を元に生成された装着物三次元形状モデル302を、装着物三次元データ記憶部111に書き込んで記憶させる。
一方、三次元形状変形部107は、テンプレート非接触面形状領域301N上における全ての形状点の表面点方向に対する第2移動距離の移動が終了していない場合、処理をステップS108へ進める。
一方、三次元形状変形部107は、テンプレート非接触面形状領域301N上における全ての形状点の表面点方向に対する第2移動距離の移動が終了していない場合、処理をステップS108へ進める。
上述した処理において、基準点として、メッシュの頂点から任意に選択した対応点を用いた場合、基準点移動部106は、テンプレート接触面形状領域301Cの残りのメッシュの頂点は、当該頂点の各々を囲む対応点の移動に並行させて、対応点の直線に平行に移動させる。
また、三次元形状変形部107は、テンプレート接触面形状領域301C上における移動された基準点(対応点も含む)の各々を貫通する直線の各々と交差する、テンプレート非接触面形状領域301N上の形状点それぞれを、直線上に第1移動距離に対応した第2移動距離の位置に移動させる。
また、三次元形状変形部107は、テンプレート接触面形状領域301C上における移動された基準点(対応点も含む)の各々を貫通する直線の各々と交差する、テンプレート非接触面形状領域301N上の形状点それぞれを、直線上に第1移動距離に対応した第2移動距離の位置に移動させる。
また、装着物がコルセットの場合、コルセットのテンプレート三次元形状モデル301におけるテンプレート接触面形状領域301C上の基準点を、基準点の位置する部位の法線方向(特定の方向)に移動させる。すなわち、人体表面三次元形状モデル201 は、人間の腰の部位であり、体幹の外周の円柱上の三次元形状であるため、テンプレート接触面形状領域301C上の基準点が、上記体幹の中心方向に移動される。
また、ゴーグル及びマスクの各々は、インソールと同様に、装着物の厚さ方向に、テンプレート接触面形状領域301C上の基準点を移動させる。
また、ゴーグル及びマスクの各々は、インソールと同様に、装着物の厚さ方向に、テンプレート接触面形状領域301C上の基準点を移動させる。
また、テンプレート三次元形状モデルのいずれの面をテンプレート接触面形状領域あるいはテンプレート非接触面形状領域とするかは、予め設計したデータに設定されている。
あるいは、テンプレート非接触面形状領域のみの三次元形状を用意しておいたり、メッシュの頂点がテンプレート接触面形状領域に含まれるかテンプレート非接触面形状領域に含まれるかを示す頂点リストを生成しておいてもよい。
あるいは、テンプレート非接触面形状領域のみの三次元形状を用意しておいたり、メッシュの頂点がテンプレート接触面形状領域に含まれるかテンプレート非接触面形状領域に含まれるかを示す頂点リストを生成しておいてもよい。
また、本実施形態において、変形制限情報取得部(不図示)を備え、当該変形制限情報取得部がテンプレート三次元形状モデル301の特定のメッシュの頂点をあらかじめ、初期の位置合わせを行った位置(図3(a))からの移動を制限する(移動させない)ことを、対応するメッシュの頂点に設定する制限情報を取得し、対応するメッシュの頂点に付加しておいてもよい。
付加の方法としては、メッシュの頂点をあらかじめ制限する頂点であることを示す色としたり、制限する頂点のIDをリストとして用意しておいてもよい。
基準点移動部106及び三次元形状変形部107の各々は、メッシュの頂点に上記制限情報が付加されているか否かを確認し、付加されている場合には移動させない。
基準点移動部106及び三次元形状変形部107の各々は、メッシュの頂点に上記制限情報が付加されているか否かを確認し、付加されている場合には移動させない。
また、上述した説明において、インソールの造形データの生成を例に説明したが、コルセット、マスク及びゴーグルなどの造形データを生成する際に本実施形態を用いてもよい。
コルセットの場合、人体表面に接触する接触面形状は、例えばコルセットの内周面であり、非接触面はコルセットの外周面となる。
また、マスクの場合、接触面形状はマスクの端部の内側の一部(例えば、人体の鼻、ほほ骨及び顎の部位に接触する領域)、非接触面形状は上述した以外の領域となる。
また、ゴーグルの場合、接触面形状はゴーグルの端部の内側の一部(例えば、人体の眉間から耳にわたる部位と、ほほ骨の部位に接触する領域)、非接触面形状は上述した以外の領域となる。
コルセットの場合、人体表面に接触する接触面形状は、例えばコルセットの内周面であり、非接触面はコルセットの外周面となる。
また、マスクの場合、接触面形状はマスクの端部の内側の一部(例えば、人体の鼻、ほほ骨及び顎の部位に接触する領域)、非接触面形状は上述した以外の領域となる。
また、ゴーグルの場合、接触面形状はゴーグルの端部の内側の一部(例えば、人体の眉間から耳にわたる部位と、ほほ骨の部位に接触する領域)、非接触面形状は上述した以外の領域となる。
<第2の実施形態>
以下、本発明の第2の実施形態について、図面を参照して説明する。第2の実施形態の構成は、図1に示す第1の実施形態の造形データ生成システムの構成と同様である。
以下、第2の実施形態の造形データ生成システムの第1の実施形態と異なる動作について説明する。
以下、本発明の第2の実施形態について、図面を参照して説明する。第2の実施形態の構成は、図1に示す第1の実施形態の造形データ生成システムの構成と同様である。
以下、第2の実施形態の造形データ生成システムの第1の実施形態と異なる動作について説明する。
基準点移動部106は、テンプレート接触面形状領域301Cにおける処理対象の基準点の各々を順次選択し、選択した基準点(以下、対象基準点)を中心として近傍の他の基準点を含むブロック(基準点の点群からなる局所形状)を形成する。
このとき、基準点移動部106は、対象基準点を中心とした円に含まれる基準点からなる点群をブロックとする。
また、基準点移動部106は、対象基準点に近い基準点を近傍点探索して、設定した所定数の基準点数までに探索された基準点からなる点群をブロックとしてもよい。
このとき、基準点移動部106は、対象基準点を中心とした円に含まれる基準点からなる点群をブロックとする。
また、基準点移動部106は、対象基準点に近い基準点を近傍点探索して、設定した所定数の基準点数までに探索された基準点からなる点群をブロックとしてもよい。
基準点移動部106は、テンプレート接触面形状領域301C上における上記ブロックと人体表面三次元形状モデル201の各部(表面点の集合)の形状との剛体位置合わせを行う。この剛体位置合わせは、いずれの位置合わせの手法を用いてもよいが、本実施形態においては例えばICP法により行う。
ここで、基準点移動部106は、テンプレート接触面形状領域301C上における上記ブロックを全ての基準点毎に生成して、それぞれに近似する形状の人体表面三次元形状モデル201の各部を抽出する。
ここで、基準点移動部106は、テンプレート接触面形状領域301C上における上記ブロックを全ての基準点毎に生成して、それぞれに近似する形状の人体表面三次元形状モデル201の各部を抽出する。
そして、基準点移動部106は、剛体位置合わせにより求めた人体表面三次元形状モデル201の各部との位置合わせの結果得られた、テンプレート接触面形状領域301C上における上記ブロックを位置合わせした座標に変換する(移動させる)変換行列(移動情報)である第1変換行列を、当該ブロックの対象基準点に対応させて、装着物三次元データ記憶部111に対して書き込んで記憶させる。
基準点移動部106は、上述した基準点毎の第1変換行列を生成する作業を、テンプレート接触面形状領域301Cにおける全ての基準点に対して行う。
基準点移動部106は、上述した基準点毎の第1変換行列を生成する作業を、テンプレート接触面形状領域301Cにおける全ての基準点に対して行う。
図6は、本実施形態における基準点及び形状点を、人体表面三次元形状モデル201の三次元形状に対応させて移動させる変換行列の生成を説明する概念図である。
図6(a)は、テンプレート接触面形状領域301C上における対象基準点を中心とした基準点の点群としてのブロックを示す図である。
図6(a)は、テンプレート接触面形状領域301C上における対象基準点を中心とした基準点の点群としてのブロックを示す図である。
基準点301CB1を対象基準点として生成したブロック301CBを、剛体位置合わせにより、三次元形状が類似する人体表面三次元形状モデル201における部位の点群(例えば、メッシュの頂点)の点群領域201Bを対応する表面部位として抽出する。
このとき、テンプレート接触面形状領域301Cを初期の位置合わせをした際のブロック301CBを、当該ブロック301CBに類似するとして抽出した点群領域201Bと位置合わせした座標に移動させる変換行列を上記第1変換行列とする。
このとき、テンプレート接触面形状領域301Cを初期の位置合わせをした際のブロック301CBを、当該ブロック301CBに類似するとして抽出した点群領域201Bと位置合わせした座標に移動させる変換行列を上記第1変換行列とする。
図6(b)は、後述する三次元形状変形部107が上記第1変換行列に対応して生成する、テンプレート接触面形状領域301Cにおける基準点の各々と、テンプレート接触面形状領域301Cにおける形状点(基準点として用いられなかったメッシュの頂点や設定点)と、テンプレート非接触面形状領域301N上の形状点(例えば、メッシュの頂点)とを移動させる変換行列である第2変換行列を生成する処理を説明する概念図である。
すなわち、第2変換行列は、人体表面三次元形状モデル201に対応する形状に、装着物三次元形状モデル302変形させる際、テンプレート三次元形状モデル301の三次元形状における基準点としてのメッシュの頂点、それ以外の形状点であるメッシュの頂点及び設定点を移動させるために用いられる。
三次元形状変形部107は、基準点、形状点及び設定点のなかから処理の対象としての点を選択し、選択した点を処理対象点とする。
そして、三次元形状変形部107は、選択した処理対象点を中心として所定の半径の球を形成し、その球内に含まれるテンプレート接触面形状領域301C上の基準点の第1変換行列T1を元に、第2変換行列T2を生成する。
そして、三次元形状変形部107は、選択した処理対象点を中心として所定の半径の球を形成し、その球内に含まれるテンプレート接触面形状領域301C上の基準点の第1変換行列T1を元に、第2変換行列T2を生成する。
このとき、三次元形状変形部107は、LBS(linear blend skinning)あるいはDQB(dual quaternion blending)などの手法により、第1変換行列の重み付け平均として、第2変換行列を求める。
図6(b)において、三次元形状変形部107は、例えば、テンプレート接触面形状領域301C上における処理対象点として基準点301CB1を選択した場合、当該基準点301CB1の座標を中心点として半径rの球C1を形成する。
そして、三次元形状変形部107は、生成した球C1に含まれる、第1変換行列T1を有している基準点を抽出する。
図6(b)において、三次元形状変形部107は、例えば、テンプレート接触面形状領域301C上における処理対象点として基準点301CB1を選択した場合、当該基準点301CB1の座標を中心点として半径rの球C1を形成する。
そして、三次元形状変形部107は、生成した球C1に含まれる、第1変換行列T1を有している基準点を抽出する。
球C1に含まれる基準点は、例えば基準点301CB2、301CB3、301CB4及び301CB4である。また、処理対象点である基準点301CB1が基準点として用いられた場合、当該処理対象点である基準点301CB1の第1変換行列T1も、処理対象点の第2変換行列T2を生成するために用いられる。
ここで、三次元形状変形部107は、以下の式1を用いて、基準点の第1変換行列T1から、処理対象点の第2変換行列T2を生成する。
ここで、三次元形状変形部107は、以下の式1を用いて、基準点の第1変換行列T1から、処理対象点の第2変換行列T2を生成する。
T2=(Σk∈Kwk*T1k)/(Σk∈Kwk)
上記式1において、wkは重み付けの係数であり、T1kは第1変換行列である。
また、Kは、処理対象点を中心とした球の中に含まれる基準点の数を示している。基準点301CB1の場合、自身も基準点として使用された場合、基準点301CB1から301CB5の5(=K)個である。
上記式1において、wkは重み付けの係数であり、T1kは第1変換行列である。
また、Kは、処理対象点を中心とした球の中に含まれる基準点の数を示している。基準点301CB1の場合、自身も基準点として使用された場合、基準点301CB1から301CB5の5(=K)個である。
また、kは、それぞれの基準点の各々を示しており、例えばk=1である場合、第1変換行列T11は処理対象点である基準点301CB1の第1変換行列であり、k=2である場合、第1変換行列T12は基準点301CB2の第1変換行列である。
そして、係数w1は第1変換行列T11に乗算する重み付け係数であり、係数w2は第1変換行列T12に乗算する重み付け係数である。
そして、係数w1は第1変換行列T11に乗算する重み付け係数であり、係数w2は第1変換行列T12に乗算する重み付け係数である。
また、上記式における重み係数wkは、以下の式2により表される。
wk={1-dist(v,vk)/(dmax(v、vk)+1)}n
関数dist(v,vk)は、処理対象点からk番目の基準点との距離を求める関数である。例えば、k=2の場合、処理対象点である基準点301CB1から基準点301CB2までの距離が式2により求められる。
wk={1-dist(v,vk)/(dmax(v、vk)+1)}n
関数dist(v,vk)は、処理対象点からk番目の基準点との距離を求める関数である。例えば、k=2の場合、処理対象点である基準点301CB1から基準点301CB2までの距離が式2により求められる。
また、関数dmax(v、vk)は、球の中に含まれる基準点において、最も処理対象点から最も大きい距離を有する基準点までの距離を求める関数である。nは自然数であり、人体の部位の三次元形状に対応して経験的に設定する数値である。また、nは、例えば、人体の部位毎に求める。
これにより、第2変換行列T2は、処理対象点から遠い距離になるに従い、基準点の第1変換行列T1の重み付け係数が低下するため、第1変換行列の影響度が低下している。
これにより、第2変換行列T2は、処理対象点から遠い距離になるに従い、基準点の第1変換行列T1の重み付け係数が低下するため、第1変換行列の影響度が低下している。
また、上述した説明においては、処理対象点の第2変換行列を求める基準点の抽出を、当該処理対象点を中心とした半径rの球に含まれる基準点を選択することで行った。
他の第2変換行列を求める基準点の抽出を、処理対象点の近傍の基準点を近傍点探索により、処理対象点から近い順番に、所定の数の基準点を選択して行う構成としてもよい。
また、三次元形状変形部107は、処理対象点に対する第2変換行列を求める際、第1変換行列の重み付け平均に用いる重み係数の最大値または重みの総計が所定の閾値未満である場合、この処理対象点を移動させない構成としてもよい。
他の第2変換行列を求める基準点の抽出を、処理対象点の近傍の基準点を近傍点探索により、処理対象点から近い順番に、所定の数の基準点を選択して行う構成としてもよい。
また、三次元形状変形部107は、処理対象点に対する第2変換行列を求める際、第1変換行列の重み付け平均に用いる重み係数の最大値または重みの総計が所定の閾値未満である場合、この処理対象点を移動させない構成としてもよい。
図6(b)において、三次元形状変形部107は、例えば、テンプレート非接触面形状領域301N上における処理対象点として形状点301T1を選択した場合、当該形状点301T1の座標を中心点として半径rの球C2を形成する。
そして、三次元形状変形部107は、生成した球C2に含まれる基準点として用いられた、すなわち第1変換行列T1を有している基準点を、テンプレート接触面形状領域301C上の基準点から抽出する。
そして、三次元形状変形部107は、生成した球C2に含まれる基準点として用いられた、すなわち第1変換行列T1を有している基準点を、テンプレート接触面形状領域301C上の基準点から抽出する。
この場合、球C2に含まれる基準点は、例えば基準点301CB1、301CB2、301CB3及び301CB6である。
三次元形状変形部107は、上記形状点301T1の第2変換行列を、基準点301CB1、301CB2、301CB3及び301CB6の各々の第1変換行列を用いて式2により求める。
上述した第2変換行列T2を生成する処理を、テンプレート接触面形状領域301C上と、テンプレート非接触面形状領域301N上との各々における全ての基準点(メッシュの頂点及び設定点)、形状点(メッシュの頂点)それぞれを処理対象点として行う。
三次元形状変形部107は、上記形状点301T1の第2変換行列を、基準点301CB1、301CB2、301CB3及び301CB6の各々の第1変換行列を用いて式2により求める。
上述した第2変換行列T2を生成する処理を、テンプレート接触面形状領域301C上と、テンプレート非接触面形状領域301N上との各々における全ての基準点(メッシュの頂点及び設定点)、形状点(メッシュの頂点)それぞれを処理対象点として行う。
そして、三次元形状変形部107は、テンプレート接触面形状領域301C上と、テンプレート非接触面形状領域301N上との各々における全てのメッシュの頂点、設定点それぞれを、対応する第2変換行列により移動させる(非剛体位置合わせ)。
これにより、三次元形状変形部107は、人体表面三次元形状モデル201に対応する形状にテンプレート三次元形状モデル301を変形し、装着物三次元形状モデル302を生成する。
また、三次元形状変形部107は、形成した装着物三次元形状モデル302を、装着物三次元データ記憶部111に書き込んで記憶される。
これにより、三次元形状変形部107は、人体表面三次元形状モデル201に対応する形状にテンプレート三次元形状モデル301を変形し、装着物三次元形状モデル302を生成する。
また、三次元形状変形部107は、形成した装着物三次元形状モデル302を、装着物三次元データ記憶部111に書き込んで記憶される。
上述したように、本実施形態によれば、テンプレートとして用意されている装着物のテンプレート三次元形状モデル301をユーザの人体表面三次元形状モデル201の三次元形状に対応させて変形して、装着物三次元形状モデル302を生成する際、テンプレート三次元形状モデル301のテンプレート接触面形状領域301Cを人体表面三次元形状モデル201の三次元形状に対応させる第1変換行列を基準点毎に剛体位置合わせにより求め、この第1変換行列を対象となる処理対象点からの距離に応じて、重み付け係数(人体の部位の三次元形状に対応して経験的に設定された係数)を変えて(調整して)第2変換行列を生成する。このため、テンプレート三次元形状モデル301の各メッシュの頂点、設定点の各々を、それぞれに対応する第2変換行列により移動させるため、機能的に設定された装着物の三次元形状における素材の厚さを維持しつつ変形させることが可能となり、テンプレート三次元形状モデル301を変形して、装着物を造形するための装着物三次元形状モデル302を生成することができる。
図7は、本実施形態による造形データ生成システムによるテンプレート三次元形状モデル301を変形して装着物三次元形状モデル302を生成する処理の動作例を示すフローチャートである。以下、変形における基準点として、テンプレート接触面形状領域301Cを形成するメッシュの頂点を用いた場合を説明する。
図7のフローチャートにおけるステップS201からステップS204の各々は、第1実施形態における図5のフローチャートにおけるステップS101からステップ104それぞれと同様のため、ステップS205からの処理を説明する。
図7のフローチャートにおけるステップS201からステップS204の各々は、第1実施形態における図5のフローチャートにおけるステップS101からステップ104それぞれと同様のため、ステップS205からの処理を説明する。
ステップS205:
基準点移動部106は、テンプレート接触面形状領域301Cにおいて、第1変換行列を求める対象の基準点である対象基準点を、当該第1変換行列が求められていない基準点のなかから選択する。
基準点移動部106は、テンプレート接触面形状領域301Cにおいて、第1変換行列を求める対象の基準点である対象基準点を、当該第1変換行列が求められていない基準点のなかから選択する。
ステップS206:
基準点移動部106は、選択した対象基準点を中心として、テンプレート接触面形状領域301Cにおいて当該対象基準点の近傍にある複数の他の基準点を抽出して、対象基準点に対応するブロック(点群)を生成する。
基準点移動部106は、選択した対象基準点を中心として、テンプレート接触面形状領域301Cにおいて当該対象基準点の近傍にある複数の他の基準点を抽出して、対象基準点に対応するブロック(点群)を生成する。
ステップS207:
基準点移動部106は、生成したブロックの形状と、人体表面三次元形状モデル201の三次元形状との剛体位置合わせをICP法により行う。
そして、基準点移動部106は、上記ブロックの形状に対して、最も形状が近似している人体表面三次元形状モデル201における部位を抽出する。
このとき、基準点移動部106は、人体表面三次元形状モデル201の部位とブロックとを比較するため、当該ブロックをテンプレート接触面形状領域301C上のブロックの元の位置から、人体表面三次元形状モデル201の部位と比較する位置に移動させる。
基準点移動部106は、生成したブロックの形状と、人体表面三次元形状モデル201の三次元形状との剛体位置合わせをICP法により行う。
そして、基準点移動部106は、上記ブロックの形状に対して、最も形状が近似している人体表面三次元形状モデル201における部位を抽出する。
このとき、基準点移動部106は、人体表面三次元形状モデル201の部位とブロックとを比較するため、当該ブロックをテンプレート接触面形状領域301C上のブロックの元の位置から、人体表面三次元形状モデル201の部位と比較する位置に移動させる。
基準点移動部106は、人体表面三次元形状モデル201の部位と比較する毎に、当該ブロックをテンプレート接触面形状領域301C上から比較する位置まで移動させる変換行列を生成する。
そして、基準点移動部106は、位置合わせして同様の形状として抽出した人体表面三次元形状モデル201の部位へ移動させる際に生成された変換行列を、ブロックの対象基準点の第1変換行列とする。
基準点移動部106は、ブロックに対応して生成した第1変換行列を、対象基準点に対応付けて、装着物三次元データ記憶部111に対して書き込んで記憶させる。
そして、基準点移動部106は、位置合わせして同様の形状として抽出した人体表面三次元形状モデル201の部位へ移動させる際に生成された変換行列を、ブロックの対象基準点の第1変換行列とする。
基準点移動部106は、ブロックに対応して生成した第1変換行列を、対象基準点に対応付けて、装着物三次元データ記憶部111に対して書き込んで記憶させる。
ステップS208:
基準点移動部106は、テンプレート接触面形状領域301C上における基準点のすべてに対して、第1変換行列を生成する処理が終了したか否かの判定を行う。
このとき、基準点移動部106は、テンプレート接触面形状領域301C上における基準点のすべてに対して、第1変換行列を生成する処理が終了した場合、処理をステップS209へ進める。
一方、基準点移動部106は、テンプレート接触面形状領域301C上における基準点のすべてに対して、第1変換行列を生成する処理が終了していない場合、処理をステップS205へ進める。
基準点移動部106は、テンプレート接触面形状領域301C上における基準点のすべてに対して、第1変換行列を生成する処理が終了したか否かの判定を行う。
このとき、基準点移動部106は、テンプレート接触面形状領域301C上における基準点のすべてに対して、第1変換行列を生成する処理が終了した場合、処理をステップS209へ進める。
一方、基準点移動部106は、テンプレート接触面形状領域301C上における基準点のすべてに対して、第1変換行列を生成する処理が終了していない場合、処理をステップS205へ進める。
ステップS209:
三次元形状変形部107は、テンプレート三次元形状モデル301を形成するテンプレート接触面形状領域301Cとテンプレート非接触面形状領域301Nとの各々における処理対象となる座標点を選択し、選択した座標点を処理対象点する。
ここで、上記処理対象点(処理対象となる座標点)は、テンプレート接触面形状領域301C上における基準点として用いられたメッシュの頂点及び設定点と、その他のメッシュの頂点及び設定点と、テンプレート非接触面形状領域301N上における形状点(メッシュの頂点)とを含む。
三次元形状変形部107は、テンプレート三次元形状モデル301を形成するテンプレート接触面形状領域301Cとテンプレート非接触面形状領域301Nとの各々における処理対象となる座標点を選択し、選択した座標点を処理対象点する。
ここで、上記処理対象点(処理対象となる座標点)は、テンプレート接触面形状領域301C上における基準点として用いられたメッシュの頂点及び設定点と、その他のメッシュの頂点及び設定点と、テンプレート非接触面形状領域301N上における形状点(メッシュの頂点)とを含む。
ステップS210:
三次元形状変形部107は、選択した処理対象点の近傍に存在する、基準点として使用された座標点を抽出する。
このとき、三次元形状変形部107は、すでに説明したように、所定の半径rの球に含まれる、あるいは近傍点探索により所定数が選択された基準点を選択して抽出する。
三次元形状変形部107は、選択した処理対象点の近傍に存在する、基準点として使用された座標点を抽出する。
このとき、三次元形状変形部107は、すでに説明したように、所定の半径rの球に含まれる、あるいは近傍点探索により所定数が選択された基準点を選択して抽出する。
ステップS211:
三次元形状変形部107は、選択された基準点の各々において剛体位置合わせで求められた第1変換行列を用いて上記第1式により、処理対象点に対する第2変換行列を生成する。
三次元形状変形部107は、選択された基準点の各々において剛体位置合わせで求められた第1変換行列を用いて上記第1式により、処理対象点に対する第2変換行列を生成する。
ステップS212:
三次元形状変形部107は、第2変換行列を用いて処理対象点の移動を行い、テンプレート三次元形状モデル301の変形を行う。この処理対象点の移動は、テンプレート接触面形状領域301C上及びテンプレート非接触面形状領域301N上の各々の位置から、第2変換行列により設定された位置への、所定の距離及び特定の方向への座標変換である。
三次元形状変形部107は、第2変換行列を用いて処理対象点の移動を行い、テンプレート三次元形状モデル301の変形を行う。この処理対象点の移動は、テンプレート接触面形状領域301C上及びテンプレート非接触面形状領域301N上の各々の位置から、第2変換行列により設定された位置への、所定の距離及び特定の方向への座標変換である。
ステップS213:
三次元形状変形部107は、テンプレート三次元形状モデル301のテンプレート接触面形状領域301C上及びテンプレート非接触面形状領域301N上の各々における処理対象点のすべての移動処理が終了したか否かの判定を行う。
このとき、三次元形状変形部107は、テンプレート接触面形状領域301C上及びテンプレート非接触面形状領域301N上の各々における処理対象点のすべての移動処理が終了した場合、テンプレート三次元形状モデル301を変形して生成した装着物三次元形状モデル302を、装着物三次元データ記憶部111に書き込んで記憶させ、処理を終了する。
一方、三次元形状変形部107は、テンプレート接触面形状領域301C上及びテンプレート非接触面形状領域301N上の各々における処理対象点のすべての移動処理が終了しない場合、処理をステップS209へ進める。
三次元形状変形部107は、テンプレート三次元形状モデル301のテンプレート接触面形状領域301C上及びテンプレート非接触面形状領域301N上の各々における処理対象点のすべての移動処理が終了したか否かの判定を行う。
このとき、三次元形状変形部107は、テンプレート接触面形状領域301C上及びテンプレート非接触面形状領域301N上の各々における処理対象点のすべての移動処理が終了した場合、テンプレート三次元形状モデル301を変形して生成した装着物三次元形状モデル302を、装着物三次元データ記憶部111に書き込んで記憶させ、処理を終了する。
一方、三次元形状変形部107は、テンプレート接触面形状領域301C上及びテンプレート非接触面形状領域301N上の各々における処理対象点のすべての移動処理が終了しない場合、処理をステップS209へ進める。
<第3の実施形態>
以下、本発明の第3の実施形態について、図面を参照して説明する。第3の実施形態の構成は、図1に示す第1の実施形態の造形データ生成システムの構成と同様である。
以下、第3の実施形態の造形データ生成システムの第1の実施形態と異なる動作について説明する。
第3の実施形態の造形データ生成システムは、基準点移動部106がテンプレート接触面形状領域301C上の基準点に対応する第1変換行列を生成する動作までは同様である。
以下、本発明の第3の実施形態について、図面を参照して説明する。第3の実施形態の構成は、図1に示す第1の実施形態の造形データ生成システムの構成と同様である。
以下、第3の実施形態の造形データ生成システムの第1の実施形態と異なる動作について説明する。
第3の実施形態の造形データ生成システムは、基準点移動部106がテンプレート接触面形状領域301C上の基準点に対応する第1変換行列を生成する動作までは同様である。
そして、基準点移動部106は、例えば、メッシュの頂点と、ユーザが任意に設定した設定点とを基準点として用いて、第1変換行列を求める。
また、基準点移動部106は、第2の実施形態の三次元形状変形部107が第1変換行列の重み付け平均により第2変換行列を求めた処理と同様に、テンプレート接触面形状領域301C上におけるメッシュの頂点の各々を処理対象点として選択する。
また、基準点移動部106は、第2の実施形態の三次元形状変形部107が第1変換行列の重み付け平均により第2変換行列を求めた処理と同様に、テンプレート接触面形状領域301C上におけるメッシュの頂点の各々を処理対象点として選択する。
基準点移動部106は、上記処理対象点に対して近傍点探索で求められた、あるいは当該処理対象点を中心とした所定の半径rの球内に含まれる基準点(メッシュの頂点や設定点)それぞれの第1変換行列から、処理対象点の第2変換行列を求める。
そして、基準点移動部106は、テンプレート接触面形状領域301C上のメッシュの頂点の各々を、処理対象点として求めた第2変換行列により移動させる。
そして、基準点移動部106は、テンプレート接触面形状領域301C上のメッシュの頂点の各々を、処理対象点として求めた第2変換行列により移動させる。
三次元形状変形部107は、基準点移動部106が第2変換行列により移動させたテンプレート接触面形状領域301C上のメッシュの頂点の各々を拘束点として、テンプレート非接触面形状領域301Nにおけるメッシュの頂点(形状点)のそれぞれを、各形状点の間の間隔の変化量が最小となるように変形(ARAP(as-rigid-as-possible)変形)する。
そして、三次元形状変形部107は、テンプレート三次元形状モデル301が変形された装着物三次元形状モデル302を生成し、生成した装着物三次元形状モデル302を装着物三次元データ記憶部111に書き込んで記憶させる。
そして、三次元形状変形部107は、テンプレート三次元形状モデル301が変形された装着物三次元形状モデル302を生成し、生成した装着物三次元形状モデル302を装着物三次元データ記憶部111に書き込んで記憶させる。
上述したように、本実施形態によれば、テンプレート接触面形状領域301C上のメッシュの頂点(第1頂点)の各々を拘束点として、テンプレート非接触面形状領域301N上におけるメッシュの頂点(形状点)のそれぞれを移動させる際、装着物三次元形状モデル302におけるテンプレート接触面形状領域301C上のメッシュの頂点(第1頂点)の各々と、テンプレート非接触面形状領域301N上のメッシュの頂点(形状点)それぞれとの間隔の変化量が最小となる位置に、テンプレート非接触面形状領域301N上のメッシュの頂点(形状点)を移動させる。このため、機能的に設定された装着物の三次元形状における素材の厚さを維持しつつ変形させることが可能となり、テンプレート三次元形状モデル301を変形して、装着物を造形するための装着物三次元形状モデル302を生成することができる。
図8は、本実施形態による造形データ生成システムによるテンプレート三次元形状モデル301を変形して装着物三次元形状モデル302を生成する処理の動作例を示すフローチャートである。以下、変形における基準点として、テンプレート接触面形状領域301Cを形成するメッシュの頂点を用いた場合を説明する。
図8のフローチャートにおけるステップS301からステップS308の各々は、第2実施形態における図7のフローチャートにおけるステップS201からステップ208それぞれと同様のため、ステップS309からの処理を説明する。
図8のフローチャートにおけるステップS301からステップS308の各々は、第2実施形態における図7のフローチャートにおけるステップS201からステップ208それぞれと同様のため、ステップS309からの処理を説明する。
ステップS309:
三次元形状変形部107は、テンプレート三次元形状モデル301を形成するテンプレート接触面形状領域301C上のメッシュの頂点において、第2変換行列を求めていない頂点のなかから処理対象となるメッシュの頂点を処理対象点として選択する。
三次元形状変形部107は、テンプレート三次元形状モデル301を形成するテンプレート接触面形状領域301C上のメッシュの頂点において、第2変換行列を求めていない頂点のなかから処理対象となるメッシュの頂点を処理対象点として選択する。
ステップS310:
基準点移動部106は、選択した処理対象点の近傍の基準点として使用された座標点を抽出する。
このとき、三次元形状変形部107は、すでに説明したように、所定の半径rの球に含まれる、あるいは近傍点探索により所定数が選択された基準点を選択して抽出する。
基準点移動部106は、選択した処理対象点の近傍の基準点として使用された座標点を抽出する。
このとき、三次元形状変形部107は、すでに説明したように、所定の半径rの球に含まれる、あるいは近傍点探索により所定数が選択された基準点を選択して抽出する。
ステップS311:
基準点移動部106は、選択された基準点の各々において剛体位置合わせで求められた第1変換行列を用いて上記第1式により、処理対象点に対する第2変換行列を生成する。
基準点移動部106は、選択された基準点の各々において剛体位置合わせで求められた第1変換行列を用いて上記第1式により、処理対象点に対する第2変換行列を生成する。
ステップS312:
基準点移動部106は、第2変換行列を用いて処理対象点の移動を行い、当該処理対象点の移動後の座標を求める計算処理を行う。
基準点移動部106は、第2変換行列を用いて処理対象点の移動を行い、当該処理対象点の移動後の座標を求める計算処理を行う。
ステップS313:
基準点移動部106は、テンプレート三次元形状モデル301のテンプレート接触面形状領域301C上のメッシュの頂点の各々のすべての移動先の座標の計算処理が終了したか否かの判定を行う。
このとき、基準点移動部106は、テンプレート三次元形状モデル301のテンプレート接触面形状領域301C上のメッシュの頂点の各々のすべての移動先の座標の計算処理が終了した場合、処理をステップS314へ進める。
一方、基準点移動部106は、テンプレート三次元形状モデル301のテンプレート接触面形状領域301C上のメッシュの頂点の各々のすべての移動先の座標の計算処理が終了していない場合、処理をステップS309へ進める。
基準点移動部106は、テンプレート三次元形状モデル301のテンプレート接触面形状領域301C上のメッシュの頂点の各々のすべての移動先の座標の計算処理が終了したか否かの判定を行う。
このとき、基準点移動部106は、テンプレート三次元形状モデル301のテンプレート接触面形状領域301C上のメッシュの頂点の各々のすべての移動先の座標の計算処理が終了した場合、処理をステップS314へ進める。
一方、基準点移動部106は、テンプレート三次元形状モデル301のテンプレート接触面形状領域301C上のメッシュの頂点の各々のすべての移動先の座標の計算処理が終了していない場合、処理をステップS309へ進める。
ステップS314:
三次元形状変形部107は、基準点移動部106が第2変換行列により移動先の座標を求めたテンプレート接触面形状領域301C上のメッシュの頂点の各々とその移動先の座標を拘束点とする。
そして、三次元形状変形部107は、上記拘束点に対応して、テンプレート三次元形状モデル301におけるメッシュの頂点のそれぞれをARAP変形により移動させ、テンプレート三次元形状モデル301を変形して生成した装着物三次元形状モデル302を、装着物三次元データ記憶部111に書き込んで記憶させる。
三次元形状変形部107は、基準点移動部106が第2変換行列により移動先の座標を求めたテンプレート接触面形状領域301C上のメッシュの頂点の各々とその移動先の座標を拘束点とする。
そして、三次元形状変形部107は、上記拘束点に対応して、テンプレート三次元形状モデル301におけるメッシュの頂点のそれぞれをARAP変形により移動させ、テンプレート三次元形状モデル301を変形して生成した装着物三次元形状モデル302を、装着物三次元データ記憶部111に書き込んで記憶させる。
なお、本発明における図1の造形データ生成システムの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませて実行することにより、テンプレート三次元形状モデルの三次元形状を、人体表面三次元形状モデルに対応させて変形し、装着物三次元形状モデルを生成する処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWW(World Wide Web)システムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc - Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM(Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
101…データ入出力部
102…人体形状データ取得部
103…装着物データ取得部
104…変形基準点設定部
105…初期位置設定部
106…基準点移動部
107…三次元形状変形部
108…表示部
109…人体表面三次元データ記憶部
110…テンプレート三次元形状データベース
111…装着物三次元データ記憶部
102…人体形状データ取得部
103…装着物データ取得部
104…変形基準点設定部
105…初期位置設定部
106…基準点移動部
107…三次元形状変形部
108…表示部
109…人体表面三次元データ記憶部
110…テンプレート三次元形状データベース
111…装着物三次元データ記憶部
Claims (14)
- 人体形状の所定の人体表面に対して装着する所定の厚さの装着物を作成する、当該装着物の三次元形状を示す造形データを生成する造形データ生成装置であり、
前記装着物の三次元形状の基準形状であるテンプレート三次元形状における、前記人体表面の三次元形状を示す人体表面三次元形状モデルに接触する装着物三次元形状の接触面形状において基準点を設定する変形基準点設定部と、
前記人体表面三次元形状モデルの三次元形状に合わせて、前記基準点を移動させる所定の方向及び所定の距離を示す移動情報を求める基準点移動部と、
前記テンプレート三次元形状における処理対象点の近傍に存在する少なくとも一個の前記基準点の前記移動情報に対応させて、前記処理対象点を移動させ、前記造形データの生成を行う三次元形状変形部と
を備えることを特徴とする造形データ生成装置。 - 前記基準点として、前記接触面形状におけるメッシュの頂点を用い、前記処理対象点が前記テンプレート三次元形状における前記人体表面に接触しない非接触面形状データにおける、前記基準点に対応するメッシュの頂点である
ことを特徴とする請求項1に記載の造形データ生成装置。 - 前記基準点として、前記接触面形状における任意に選択したメッシュの頂点である対応点を用い、前記処理対象点が当該対応点を含む前記テンプレート三次元形状を構成するメッシュの頂点である
ことを特徴とする請求項1に記載の造形データ生成装置。 - 前記基準点として、前記接触面形状における任意に設定した設定点を用い、前記処理対象点が前記テンプレート三次元形状を構成するメッシュの頂点及び前記設定点である
ことを特徴とする請求項1に記載の造形データ生成装置。 - 前記基準点移動部が、
前記基準点の各々から前記人体表面三次元形状モデルに対して、所定の方向に延ばした直線と、当該人体表面三次元形状モデルとが交差する点を表面点として、前記基準点を当該表面点に移動させ、
前記三次元形状変形部が、
前記処理対象点の移動位置を、当該処理対象点の元の位置から前記所定の方向に位置する前記基準点が移動した前記表面点までの移動量の予め設定した比率倍の位置とする
ことを特徴とする請求項1から請求項4のいずれか一項に記載の造形データ生成装置。 - 前記基準点移動部が、
前記基準点の各々から前記人体表面三次元形状モデルに対して、所定の方向に延ばした直線と、当該人体表面三次元形状モデルとが交差する点を表面点として、前記基準点を当該表面点に移動させ、
前記三次元形状変形部が、
処理対象点の移動位置を、前記所定の方向に位置する前記基準点の移動量と、当該基準点の所定の範囲内にある少なくとも一つの他の基準点の移動量との重み付け平均の位置とする
ことを特徴とする請求項1から請求項4のいずれか一項に記載の造形データ生成装置。 - 前記基準点移動部が、
前記接触面形状における前記基準点のなかから対象となる基準点として対象基準点を選択し、当該対象基準点を含む所定の領域であるブロックを生成し、当該ブロックの各々を前記人体表面三次元形状モデルに対して位置合わせを行い、当該位置合わせにより抽出された部位へ所定の移動量で前記ブロックを移動させる第1変換行列を求め、
前記三次元形状変形部が、
前記処理対象点を移動させる第2変換行列を、当該処理対象点の近傍にある少なくとも一つの前記基準点の第1変換行列の重み付け平均として求める
ことを特徴とする請求項1から請求項4のいずれか一項に記載の造形データ生成装置。 - 前記基準点移動部が、前記接触面形状における前記基準点のなかから対象基準点のとしての基準点を選択し、当該対象基準点を含む所定の領域であるブロックを生成し、当該ブロックの各々を前記人体表面三次元形状モデルに対して位置合わせを行い、当該位置合わせに対応して前記接触面形状のメッシュの第1頂点の各々を移動させ、
前記三次元形状変形部が、前記第1頂点の移動後の位置に対応して、前記装着物三次元形状における前記人体表面三次元形状モデルに接触しない非接触面形状の頂点である前記処理対象点を移動させる際、前記テンプレート三次元形状における前記第1頂点の各々と前記処理対象点のそれぞれとの間隔と、前記装着物三次元形状における前記第1頂点の各々と前記処理対象点のそれぞれとの間隔との変化量が最小となる位置に、当該処理対象点を所定の移動量で移動させる
ことを特徴とする請求項1または請求項4に記載の造形データ生成装置。 - 前記基準点移動部が、
前記接触面形状における前記基準点のなかから対象基準点のとしての基準点を選択し、当該対象基準点の近傍の他の基準点複数からなるブロックを生成し、当該ブロックの各々を前記人体表面三次元形状モデルに対して位置合わせを行い、当該位置合わせにより抽出された部位へ前記ブロックを移動させる第1変換行列を求め、前記接触面形状におけるメッシュの頂点を移動させる第2変換行列を、前記処理対象点の近傍にある、少なくとも一つの前記基準点の第1変換行列の重み付け平均として求め、前記接触面形状の前記第1頂点を移動させる
ことを特徴とする請求項8に記載の造形データ生成装置。 - 前記移動量の重み付け平均に用いる重み係数が、前記処理対象点と当該処理対象点から所定の範囲内にある前記基準点との間の距離に対応している
ことを特徴とする請求項6、請求項7または請求項9に記載の造形データ生成装置。 - 前記三次元形状変形部が、
前記移動量の重み付け平均に用いる重み係数の最大値または重みの総計が所定の閾値未満である前記処理対象点を移動させない
ことを特徴とする請求項6、請求項7、請求項9または請求項10に記載の造形データ生成装置。 - 前記装着三次元形状におけるメッシュの頂点において移動を行わない、位置固定の頂点を設定する変形制限情報取得部をさらに備える
ことを特徴とする請求項1から請求項11のいずれか一項に記載の造形データ生成装置。 - 人体形状の所定の人体表面に対して装着する所定の厚さの装着物を作成する、当該装着物の三次元形状を示す造形データを生成する造形データ生成方法であり、
変形基準点設定部が、前記装着物の三次元形状の基準形状であるテンプレート三次元形状における、前記人体表面の三次元形状を示す人体表面三次元形状モデルに接触する装着物三次元形状の接触面形状において基準点を設定する変形基準点設定過程と、
基準点移動部が、前記人体表面三次元形状モデルの三次元形状に合わせて、前記基準点を移動させる所定の方向及び所定の距離を示す移動情報を求める基準点移動過程と、
三次元形状変形部が、前記テンプレート三次元形状における処理対象点の近傍に存在する少なくとも一個の前記基準点の前記移動情報に対応させて、前記処理対象点を移動させ、前記造形データの生成を行う三次元形状変形過程と
を含むことを特徴とする造形データ生成方法。 - 人体形状の所定の人体表面に対して装着する所定の厚さの装着物を作成する、当該装着物の三次元形状を示す造形データを生成する造形データ生成装置としてコンピュータを機能させるためのプログラムであり、
前記コンピュータを、
前記装着物の三次元形状の基準形状であるテンプレート三次元形状における、前記人体表面の三次元形状を示す人体表面三次元形状モデルに接触する装着物三次元形状の接触面形状において基準点を設定する変形基準点設定手段、
前記人体表面三次元形状モデルの三次元形状に合わせて、前記基準点を移動させる所定の方向及び所定の距離を示す移動情報を求める基準点移動手段、
前記テンプレート三次元形状における処理対象点の近傍に存在する少なくとも一個の前記基準点の前記移動情報に対応させて、前記処理対象点を移動させ、前記造形データの生成を行う三次元形状変形手段
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020177448A JP2022068655A (ja) | 2020-10-22 | 2020-10-22 | 造形データ生成装置、造形データ生成方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020177448A JP2022068655A (ja) | 2020-10-22 | 2020-10-22 | 造形データ生成装置、造形データ生成方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022068655A true JP2022068655A (ja) | 2022-05-10 |
Family
ID=81459870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020177448A Pending JP2022068655A (ja) | 2020-10-22 | 2020-10-22 | 造形データ生成装置、造形データ生成方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022068655A (ja) |
-
2020
- 2020-10-22 JP JP2020177448A patent/JP2022068655A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8571698B2 (en) | Simple techniques for three-dimensional modeling | |
JP6302132B2 (ja) | 画像処理装置、画像処理システム、画像処理方法及びプログラム | |
JP2021154168A (ja) | 蛍光透視法および追跡センサを使用する股関節の外科手術ナビゲーション | |
KR20210011425A (ko) | 이미지 처리 방법 및 디바이스, 이미지 장치, 및 저장 매체 | |
CN108475439B (zh) | 三维模型生成系统、三维模型生成方法和记录介质 | |
JP6373026B2 (ja) | 画像処理装置、画像処理システム、画像処理方法、及びプログラム | |
WO2019163218A1 (ja) | 仮想試着システム、仮想試着方法、仮想試着プログラム、情報処理装置、および学習データ | |
US20210012492A1 (en) | Systems and methods for obtaining 3-d images from x-ray information for deformed elongate bones | |
US11049331B2 (en) | Customization method and apparatus | |
US9715759B2 (en) | Reference object for three-dimensional modeling | |
KR20160115959A (ko) | 파라미터화된 변형가능 메시를 이용하여 개인화된 아바타들을 구성하기 위한 방법 및 시스템 | |
US10395404B2 (en) | Image processing device for composite images, image processing system and storage medium | |
Leong et al. | A feature‐based anthropometry for garment industry | |
TW201942777A (zh) | 尺寸測定系統 | |
JP2007098028A (ja) | モデリング装置、モデリング方法、領域抽出装置、およびプログラム | |
CN109564693A (zh) | 三维数据整合装置及方法 | |
JP2022068655A (ja) | 造形データ生成装置、造形データ生成方法及びプログラム | |
KR20220100848A (ko) | 증강현실 기반 가슴 정보 제공 방법 및 프로그램 | |
JP2019046096A (ja) | 情報処理装置及びその方法 | |
JP6545847B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2005339363A (ja) | 人体パーツ自動分割装置及び人体パーツ自動分割方法 | |
CN116342672B (zh) | 髋关节实际位置配准方法、装置、电子设备及存储介质 | |
US20230149087A1 (en) | Method and system to augment medical scan image information on extended reality image | |
JP2010108110A (ja) | 人物特定装置、人物特定方法及び人物特定プログラム | |
Gómez et al. | Improved image registration in skull–face overlay using expert knowledge |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230920 |