以下、実施形態の付け爪および付け爪の製造方法を、図面を参照して説明する。
(第1の実施形態)
図1は、第1の実施形態における情報提供装置100を含む付け爪製造システム1の構成の一例を示す図である。本実施形態における付け爪製造システム1は、ユーザの爪の形状を基に、付け爪を製造する。付け爪製造システム1は、形状データ取得装置10と、製造装置20と、情報提供装置100とを含んでよいが、これに限定されない。
形状データ取得装置10は、例えば、3Dスキャナである。形状データ取得装置10は、対象物を撮像し、この対象物の形状を示す3次元データを取得する。3次元データは、直交座標や極座標系で表される3次元座標(x、y、z座標)ごとに位置情報(存在の有無を示すフラグ)が対応付けられたデータである。また、3次元データには、3次元座標ごとに対象物の色を示す色情報(例えば色相、彩度、明度)が含まれてもよい。本実施形態において、形状データ取得装置10は、ユーザの爪を撮像して、爪の形状を示す3次元データを取得する。以下、3次元座標におけるy方向は、爪の成長方向(指の長手方向)を表し、x方向は、爪の幅方向(成長方向に対して直交する方向)を表し、z方向は、爪の高さ(厚さ)方向を表すものとする。なお、形状データ取得装置10は、対象物(爪)にレーザ等の光や音波を照射して3次元データを取得するものであってもよい。形状データ取得装置10は、取得した3次元データを情報提供装置100に送信する。
製造装置20は、例えば、3Dプリンタである。製造装置20は、後述する情報提供装置100により出力される情報に基づいて、付け爪を製造する。製造装置20は、例えば、液化した材料(例えば樹脂)を噴射して積層させるインクジェット方式を用いて付け爪を造形してもよいし、紫外線を照射することで液体樹脂を硬化させる光造形方式を用いて付け爪を造形してもよい。また、製造装置20は、鋳造・射出成型や切削によって付け爪を製造してもよい。
情報提供装置100は、表示部102、入力部104、通信部106、制御部110、および記憶部130を含んでよいが、これに限定されない。
表示部102は、例えば、LCD(Liquid Crystal Display)や有機EL(Electroluminescence)ディスプレイなどの表示装置を含む。表示部102は、制御部110により供給される情報に基づいて、画像を表示する。
入力部104は、例えば、キーボードやマウス等の入力装置を含む。入力部104は、ユーザの操作を受け付けて、受け付けた操作に応じた情報を制御部110に供給する。なお、入力部104は、表示部102と一体として構成されるタッチパネルであってもよい。
通信部106は、形状データ取得装置10や製造装置20等の他装置とネットワークを介して通信を行い、情報の送受信を行う。ネットワークは、LAN(Local Area Network)やWAN(Wide Area Network)等である。例えば、通信部106は、形状データ取得装置10により取得された3次元データを受信したり、制御部110により処理された情報を製造装置20に送信したりする。
制御部110は、実爪モデル生成部112、推定部114、付け爪モデル生成部116、付け爪モデル編集部118、および出力部120を含んでよいが、これに限定されない。上述した制御部110の構成要素の一部または全部は、CPU(Central Processing Unit)等のプロセッサが記憶部130に記憶されたプログラムを実行することにより実現されてよい。また、制御部110の構成要素の一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等のハードウェアによって実現されてもよい。
記憶部130は、例えば、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)、SDカード、MRAM(Magnetoresistive Random Access Memory)等の不揮発性の記憶媒体と、RAM(Random Access Memory)、レジスタ等の揮発性の記憶媒体とによって実現されてよい。記憶部130は、情報提供装置100のプロセッサが実行するプログラムを記憶する他、制御部110による処理結果等を記憶する。
実爪モデル生成部112は、通信部106により受信された3次元データに基づいて、爪の表面の形状を示すモデル(以下、ベース面モデルと称する)を生成する。すなわち、実爪モデル生成部112は、モデル化された爪の表面の形状を生成する。モデル化された形状とは、例えば、3次元、5次元、7次元等の多項式、楕円や円等の曲線、指数曲線、対数曲線等の関数によって表されるものであってもよいし、これら関数の組み合わせによって表されるものであってもよい。
例えば、実爪モデル生成部112は、爪の形状を、x座標およびy座標を引数としてz座標を返す関数に近似(フィッティング)してモデル化する。これによって、3次元データにおける爪の表面の各座標の位置は、x座標およびy座標を要素とした関数によって近似される。本実施形態では、一例として、多項式を用いる近似方法について説明する。以下、x方向における3次元の多項式の一例を、数式(1)として示し、y方向における3次元の多項式の一例を、数式(2)として示す。なお、数式(1)および(2)に示す多項式の次元数は異なっていてもよい。
実爪モデル生成部112は、上記数式(1)、(2)中のa0からa3、b0からb3のそれぞれの係数を、最小二乗法等の回帰分析処理を行って導出する。例えば、実爪モデル生成部112は、3次元データにおいて、あるy座標を固定として、座標x1からxn(nは任意の数)の各値を数式(1)のzに代入し、x1からxnの数に応じた連立方程式を解くことで数式(1)中の係数a0からa3を導出する。そして、実爪モデル生成部112は、導出した係数a0からa3を用いて、他のy座標についてx座標ごとにz座標の値を導出する。すなわち、実爪モデル生成部112は、あるy座標について爪の幅方向(x方向)の形状に近似する関数を導出し、この関数を用いて他のy座標ごとに全てのz座標の値を導出する。このようにして導出したz座標を通る二次曲面は、爪の形状を、x座標を引数としてz座標を返す関数を用いてモデル化したものに相当する。
実爪モデル生成部112は、数式(1)を用いて近似したモデルを、y座標を引数としてz座標を返す関数とした数式(2)に近似する。例えば、実爪モデル生成部112は、あるx座標を固定として、座標y1からynごとのz座標の値を数式(2)のzに代入し、y1からynの数に応じた連立方程式を解くことで数式(2)中の係数b0からb3を導出する。座標y1からynごとのz座標の値は、数式(1)を用いて導出されたz座標の値である。そして、実爪モデル生成部112は、導出した係数b0からb3を用いて、他のx座標についてy座標ごとにz座標の値を導出する。このようにして導出したz座標を通る二次曲面は、爪の形状を、y座標を引数としてz座標を返す関数を用いてモデル化したものに相当する。実爪モデル生成部112は、数式(1)および(2)に基づいて形成された二次曲面を、ベース面モデルとして扱う。
尚、本実施形態においては、爪が成長する方向をモデル化する多項式、爪が成長する方向と直行する方向をモデル化する多項式でそれぞれ表すが、爪が成長する方向をモデル化する多項式の次数より爪が成長する方向と直行する方向(爪の幅方向)をモデル化する多項式の次数の方が次数が高くなるように設定することが好ましい。次数は高すぎるとノイズである細かな凹凸まで再現してしまい、滑らかな付け爪の形状にならないし、低すぎるとその人の爪の形状と合わない付け爪になってしまう。経験的に爪が成長する方向をモデル化する多項式は3次式、爪が成長する方向と直行する方向をモデル化する多項式は4次式または5次式が好ましいことがわかっている。
なお、実爪モデル生成部112は、爪の形状をx方向およびy方向の双方においてモデル化するものとして説明したがこれに限られず、y方向(爪の成長方向)の形状のみをモデル化してもよい。この場合、実爪モデル生成部112は、例えば、爪の形状を、数式(1)を用いてモデル化する処理を省略し、数式(2)のみを用いてモデル化する。
また、x方向およびy方向のそれぞれのモデル化は、どちらが先に行われてもよい。例えば、実爪モデル生成部112は、数式(2)を用いて近似したモデルを、さらに数式(1)を用いてモデル化する。
また、x方向およびy方向のそれぞれのモデル化は、繰り返し行われてもよい。例えば、実爪モデル生成部112は、x方向のモデル化と、y方向のモデル化とを交互に所定回数繰り返し行ってよい。
また、実爪モデル生成部112は、x方向およびy方向のそれぞれのモデル化を、数式(3)に基づいて同時に(一括で)行ってもよい。
実爪モデル生成部112は、上記数式(3)により示される関数を用いて、爪の形状を二次曲面状のモデルに近似する。実爪モデル生成部112は、数式(3)中の係数aijを、回帰分析処理を行って導出する。例えば、実爪モデル生成部112は、数式(3)を用いて、爪の形状をx方向において5次の多項式で近似し、y方向において3次の多項式で近似する場合、24項の係数aijを導出する。そして、実爪モデル生成部112は、導出した係数aijを数式(3)に代入して解くことで、二次曲面状のベース面モデルを生成する。
図2は、ベース面モデルを示す情報の一例を示す図である。図2の例では、ベース面モデルが、(x、y)座標ごとにz方向の位置を示す値が対応付けられているテーブルとして示されている。図3は、図2に例示する情報(テーブル)をグラフ化した図である。実爪モデル生成部112は、生成したベース面モデルを、図2に示すような情報で記憶部130に記憶させる。
推定部114は、実爪モデル生成部112により生成されたベース面モデルのy方向の湾曲程度に基づいて、爪が成長した場合の将来の爪の形状を示すモデル(以下、成長モデルと称する)を推定する。
図4は、成長モデルの推定の様子を模式的に示す図である。図中に示す曲線Ymodelは、実爪モデル生成部112が爪の形状をベース面モデルに近似した際に用いた、y座標を要素とする関数(例えば数式(2))を描画したものである。例えば、推定部114は、曲線Ymodelに基づいて、ベース面モデルをy方向に延伸する。例えば、推定部114は、ベース面モデルに含まれる爪の先端を示す座標点Sから、x座標を固定とし、且つ指の付け根に対する指先の方向(正のy方向)に所定距離L離間した座標に点Tを外挿する。このとき、座標点Tは、y座標を要素とする関数によって示される曲線の延長線上を通るように設定される。所定距離Lは、例えば、ベース面モデルのy方向の全長に対して1/3倍程度の距離に設定される。推定部114は、ベース面モデルをy方向に延伸する処理を、ベース面モデルのx座標ごとに行い、ベース面モデル全体をy方向に延伸する。推定部114によって全体をy方向に延伸されたベース面モデルは、成長モデルとして扱われる。
付け爪モデル生成部116は、推定部114によって推定された成長モデルに基づいて、付け爪の形状を示すモデル(以下、付け爪モデルと称する)を生成する。例えば、付け爪モデル生成部116は、推定部114によって推定された成長モデルを示す二次曲面から規定の距離D離間したオフセット面を生成し、成長モデルを示す二次曲面およびオフセット面と、これら両面に挟まれる領域とにより示される3次元モデルを付け爪モデルとして扱う。付け爪モデルにおいて、ベース面モデルに基づく成長モデルを示す二次曲面は、付け爪が爪に装着される側の面である裏面に相当し、オフセット面は、付け爪が爪に装着されない側の面である表面に相当する。
図5は、付け爪モデルの生成の様子を模式的に示す図である。図中の曲線Xmodelと曲線Ymodelとによって構成される二次曲面は、成長モデルの一部領域を示しており、曲線Xoffsetと曲線Yoffsetとによって構成される二次曲面は、オフセット面を示している。
例えば、付け爪モデル生成部116は、成長モデルの任意の座標点Pを選択し、この座標点Pから成長モデルを示す二次曲面に対して垂直な法線ベクトル→nをd倍した距離Dに位置する座標点P#を導出する。以下、「→」が付された符号は、ベクトルであるものとする。法線ベクトル→nは、数式(4)から(7)を用いることで導出される。例えば、j行目のx方向の関数をfj(x)、i行目のy方向の関数をgi(y)とした場合、座標点P(xi、yj)のz座標は、数式(4)によって表される。j行目のx方向の関数fj(x)は、曲線Xmodelに相当し、i行目のy方向の関数gi(y)は、曲線Ymodelに相当する。
また、座標点Pを通る関数fj(x)の接線ベクトル→uは、数式(5)によって表され、座標点Pを通る関数gi(y)の接線ベクトル→vは、数式(6)によって表される。
付け爪モデル生成部116は、上記数式(5)、(6)によって表される接線ベクトル→u、→vを下記の数式(7)に代入して、法線ベクトル→nを得る。
付け爪モデル生成部116は、上記数式(7)により得た法線ベクトル→nをd倍(dは任意の数)し、座標点Pから距離D分離間した位置の座標点P#を導出する。付け爪モデル生成部116は、導出した座標点P#を通る曲線Xoffsetと曲線Yoffsetとによって構成される二次曲面をオフセット面として扱う。曲線Xoffsetを示す関数は、曲線Xmodelを示す関数の切片項(例えば数式(1)中のa0)のみが異なる関数であり、曲線Yoffsetを示す関数は、曲線Ymodelを示す関数の切片項(例えば数式(2)中のb0)のみが異なる関数である。すなわち、付け爪モデル生成部116は、成長モデルを示す二次曲面に、距離D分の厚みを設けた付け爪モデルを生成する。
なお、付け爪モデル生成部116は、付け爪モデルを生成する際に、距離Dをy方向に応じて変動させてもよい。例えば、付け爪モデル生成部116は、y方向の軸において付け爪モデルの先端(成長モデルの先端の座標点T)に近づくのに連れて距離Dを小さくし、付け爪モデルの厚さを薄くしてもよい。
付け爪モデル編集部118は、付け爪モデル生成部116により生成された付け爪モデルを示す画像情報を表示部102に供給し、表示部102に付け爪モデルを示す画像を表示させる。表示部102に付け爪モデルの画像を表示させた状態で、例えばユーザが入力部104に編集操作を入力した場合、付け爪モデル編集部118は、この編集操作に応じて、付け爪モデル生成部116により生成された付け爪モデルを編集する。
図6は、表示部102に表示させた付け爪モデルを示す画像の一例を示す図である。例えば、ユーザが入力部104を操作し、画像上に仮想的な点R(以下、編集点Rと称する)を設けた場合、付け爪モデル編集部118は、この編集点Rに対応する座標点を、成長モデルを構成する1つのデータの座標点として扱い、この編集点Rに対応する座標点を考慮してx座標およびy座標を要素とする関数に含まれる係数を回帰分析処理によって導出する。そして、付け爪モデル編集部118は、編集点Rに対応する座標点を含む成長モデルを、導出した係数を用いた関数に近似してモデル化する。付け爪モデル編集部118は、この成長モデルに基づいて付け爪モデルを生成し、再度付け爪モデルを示す画像情報を表示部102に供給し、表示部102に付け爪モデルを示す画像を表示させる。
図6の例では、ユーザの入力部104の操作により、y軸上の10mmにおいて、成長モデルの先端の座標点Tが示すz軸上の値よりも大きい7mmの点に編集点Rを設けられている。この場合、付け爪モデル編集部118は、付け爪モデルを新たに生成する際に用いる曲線Ymodelの湾曲程度を、図4に示す曲線Ymodelの湾曲程度に比してz方向に対してフラットにする。この結果、付け爪モデル編集部118は、編集点Rが設定される前において付け爪モデル生成部116が生成した付け爪モデルよりも、よりz方向に対してフラットな付け爪モデルを生成する。このような処理を付け爪モデル編集部118が行うため、ユーザは、情報提供装置100により提示された付け爪モデルを爪の高さ方向に対する湾曲程度を変更したい場合に、直感的に編集点Rを設定することで、グラフィカルに付け爪モデルを編集することができる。
また、付け爪モデル編集部118は、ユーザの操作によって、編集点Rが成長モデルの先端の座標点Tよりも指の付け根側の方向(負のy方向)に設定された場合、付け爪モデル生成部116により生成された付け爪モデルを、y方向においてより縮めた付け爪モデルを生成してもよい。また、付け爪モデル編集部118は、編集点Rが成長モデルの先端の座標点Tよりも指先側の方向(正のy方向)に設定された場合、付け爪モデル生成部116により生成された付け爪モデルを、y方向においてより伸ばした付け爪モデルを生成してもよい。
付け爪モデル編集部118は、再度付け爪モデルを示す画像情報を表示部102に供給し、表示部102に付け爪モデルを示す画像を表示させた後に、ユーザの操作により編集点Rが再度設けられた場合、上述した処理を繰り返し、表示部102に付け爪モデルを示す画像を繰り返し表示させる。
なお、付け爪モデル編集部118は、付け爪モデルの生成時に用いられた、y座標を要素とする関数(曲線Ymodel)を表示部102に表示させ、この関数を編集可能にしてもよい。この場合、ユーザは、例えば、3次元の多項式を5次元の多項式に編集してもよいし、関数内の各係数の値を編集してもよい。
出力部120は、通信部106を制御して、付け爪モデル編集部118により編集された付け爪モデルを示す情報を、製造装置20に対して出力(送信)させる。また、出力部120は、ユーザにより編集操作がなされなかった場合、通信部106を制御して、付け爪モデル生成部116により生成された付け爪モデル、すなわち未編集の付け爪モデルを示す情報を、製造装置20に対して出力させる。また、出力部120は、通信部106を制御して、推定部114によって推定された成長モデルを示す情報を、製造装置20に対して出力させてもよい。
以下、情報提供装置100による一連の処理の流れを説明する。図7は、第1の実施形態における情報提供装置100による一連の処理の流れの一例を示すフローチャートである。本フローチャートの処理は、例えば、所定の周期で行われる。
まず、実爪モデル生成部112は、通信部106により3次元データが受信されると(ステップS100;Yes)、通信部106により受信された3次元データに基づいて、ベース面モデルを生成する(ステップS102)。
図8は、実爪モデル生成部112によるベース面モデルの生成処理の流れの一例を示すフローチャートである。本フローチャートの処理は、上述したステップS102の処理に相当する。
まず、実爪モデル生成部112は、通信部106により受信された3次元データにおいて、あるy座標を固定として、座標x1からxnの各値を数式(1)のzに代入し、x1からxnの数に応じた連立方程式を解くことで数式(1)中の係数a0からa3を導出する(ステップS200)。
次に、実爪モデル生成部112は、導出した係数a0からa3を用いて、他のy座標についてx座標ごとにz座標の値を導出する(ステップS202)。
次に、実爪モデル生成部112は、あるx座標を固定として、座標y1からynごとのz座標の値を数式(2)のzに代入し、y1からynの数に応じた連立方程式を解くことで数式(2)中の係数b0からb3を導出する(ステップS204)。
次に、実爪モデル生成部112は、導出した係数b0からb3を用いて、他のx座標についてy座標ごとにz座標の値を導出する(ステップS206)。
次に、実爪モデル生成部112は、上述したステップS200からステップS206の処理を所定回数繰り返したか否かを判定し(ステップS208)、所定回数繰り返していない場合、上述したステップS200の処理に戻る、一方、所定回数繰り返している場合、実爪モデル生成部112は、本フローチャートの処理を終了する。これによって、ベース面モデルは生成される。なお、実爪モデル生成部112は、上述したステップS204およびS206の処理を行ってから、ステップS200およびS202の処理を行ってもよい。
ここで、図7の説明に戻る。次に、推定部114は、実爪モデル生成部112により生成されたベース面モデルのy方向の湾曲程度に基づいて成長モデルを推定する(ステップS104)。次に、付け爪モデル生成部116は、推定部114によって推定された成長モデルを示す二次曲面から規定の距離D離間したオフセット面を生成する(ステップS106)。
次に、付け爪モデル生成部116は、生成したオフセット面および成長モデルを示す二次曲面の両面と、これら両面に挟まれる領域とにより示される3次元モデルを付け爪モデルとして生成する(ステップS108)。
付け爪モデル編集部118は、付け爪モデル生成部116により生成された付け爪モデルを示す画像情報を表示部102に供給し、表示部102に付け爪モデルを示す画像を表示させる(ステップS110)。次に、付け爪モデル編集部118は、入力部104が編集操作を受け付けたか否かを判定する(ステップS112)。
入力部104が編集操作を受け付けない場合、出力部120は、通信部106を制御して、付け爪モデル生成部116により生成された付け爪モデルを示す情報を、製造装置20に出力させる(ステップS114)。
「入力部104が編集操作を受け付けない場合」とは、例えば、表示部102が付け爪モデルを示す画像を表示してから所定時間経過するまでの期間、入力部104がいずれの編集操作も受け付けなかった状態であってもよいし、ユーザが編集操作を行わないことを意思表示するための操作を入力部104が受け付けた状態であってもよい。例えば、ユーザは、編集操作を行わないことを意思表示するために、付け爪モデルを示す画像が表示された画面を閉じる操作や、編集操作を停止させる操作等を、入力部104を用いて行ってよい。この場合、出力部120は、通信部106を制御して、付け爪モデル生成部116により生成された付け爪モデルを示す情報を製造装置20に出力させる。これによって、本フローチャートの処理が終了する。
一方、入力部104が編集操作を受け付けた場合、付け爪モデル編集部118は、編集操作として設定された編集点Rの位置座標に基づいて、付け爪モデル生成部116により生成された付け爪モデルを編集する(ステップS116)。そして、付け爪モデル編集部118は、上述したステップS110の処理に戻り、編集した付け爪モデルを示す画像情報を表示部102に供給し、表示部102に付け爪モデルを示す画像を表示させる。これによって、本フローチャートの処理が終了する。
上述した情報提供装置100の処理によって、付け爪モデルを示す情報を受信した製造装置20は、この付け爪モデルを示す情報に基づいて付け爪を製造する。製造装置20により製造された付け爪の裏面(爪に装着される側の面)は、爪の成長方向(y方向)を含む断面、および/または爪の幅方向(x方向)を含む断面が、例えば、3次元以上、且つ奇数次元の関数でモデル化された形状を有する。この関数は、実爪モデル生成部112が爪の形状をベース面モデルにモデル化した際に用いた関数に相当し、爪の成長方向の座標(y座標)、および/または爪の幅方向の座標(x座標)を引数として、爪の高さ方向の座標(z座標)を返す関数である。
(検証例)
本出願の発明者は、爪の成長度合いに応じて取得された複数の爪の3次元データを用いて、3次元データごとにベース面モデルを生成し、これらベース面モデル同士を比較することで、ベース面モデルに近似した際に用いたy座標を要素とする関数(曲線Ymodel)が、爪の成長前後において近似するか否かを検証した。
図9および図10は、あるユーザの爪の成長度合いに応じて、ベース面モデル同士を比較した一例を示す図である。両図共に、爪の成長前の(爪が伸びる前)の3次元データに対応するベース面モデルと、爪の成長後の(爪が伸びた後)の3次元データに対応するベース面モデルとが近似している。従って、推定部114が、曲線Ymodelに基づいて、ベース面モデルをy方向に延伸する場合、このy方向に延伸されたベース面モデル、すなわち成長モデルは、爪の成長後の(爪が伸びた後)の3次元データに対応するベース面モデルと近似することになる。これにより、情報提供装置100が、この成長モデルに基づく付け爪モデルを示す情報を製造装置20に出力することで、製造装置20は、ユーザの将来の爪の形状を想定した付け爪を製造することができる。この結果、製造装置20は、自身の爪の形状により適合した付け爪をユーザに提供することができる。
以上説明した第1の実施形態の情報提供装置100によれば、ベース面モデルを生成し、このベース面モデルに基づいて成長モデルを推定することにより、ユーザの爪にフィットした付け爪モデルを精度良く生成することができる。この結果、製造装置20は、付け爪の裏面(爪に装着される側の面)がユーザの爪にフィットした形状である付け爪を製造することができる。
また、第1の実施形態の情報提供装置100によれば、例えば、ユーザが編集点Rを設定するだけの簡易な操作で、生成した付け爪モデルを編集することができる。この結果、情報提供装置100は、ユーザの利便性を向上させることができると共に、ユーザが所望する付け爪モデルを精度良く生成することができる。
(第1の実施形態の変形例)
以下、第1の実施形態の変形例について説明する。上述した第1の実施形態における推定部114は、3次元データに含まれる爪の色を示す色情報を用いて、ベース面モデルをy方向に延伸する際に起点とするx方向の位置を、ベース面モデル上で決定し、この位置に基づいて成長モデルを推定する。
図11は、ベース面モデルをy方向に延伸する際に起点とするx方向の位置の決定方法を説明するための図である。図示の例では、色情報を含む3次元データを用いることでベース面モデルが座標点ごとに色分けされている。ベース面モデル上で色が分かれている境界は、爪が爪下の肉と接合している領域と、接合していない領域との境界を表している。例えば、爪が爪下の肉と接合している領域の色相は、赤みがかった色で表され、爪が爪下の肉と接合していない領域の色相は、白みがかった色で表される。
図中の領域URに示すように、ユーザによって、爪が爪下の肉と接合していない領域のx方向の最大幅W2は、爪が爪下の肉と接合している領域のx方向の最大幅W1に対して狭い場合がある。このような場合、推定部114は、ベース面モデル上から、色相の境界線と、x方向の最大幅W2を示す直線との交点Qを導出する。また、推定部114は、図中の領域ULにおいても同様に交点Qを導出する。推定部114は、導出した2つの交点Qを起点にy方向にベース面モデルを延伸する。この結果、情報提供装置100は、爪の幅を考慮することで、実際のユーザの爪の形状により即した付け爪モデルを生成することができる。
(第2の実施形態)
以下、第2の実施形態における情報提供装置100Aを含む付け爪製造システム1について説明する。第2の実施形態における付け爪製造システム1は、付け爪モデルを編集可能な端末装置30を含む点で第1の実施形態と異なる。従って、係る相違点について説明し、上述した第1の実施形態と共通する機能等についての説明は省略する。
図12は、第2の実施形態における情報提供装置100Aを含む付け爪製造システム1の構成の一例を示す図である。第2の実施形態における付け爪製造システム1は、形状データ取得装置10と、製造装置20と、端末装置30と、情報提供装置100Aとを含んでよいが、これに限定されない。
第2の実施形態における形状データ取得装置10は、例えば、ユーザの識別情報(以下、ユーザIDと称する)の入力を受けてから、ユーザの爪を撮像し、爪の形状を示す3次元データを取得する。ユーザIDは、例えば、ユーザが任意に決めたニックネーム等の情報であってもよいし、ユーザが操作可能な端末装置30の識別情報(例えば、電話番号等)であってもよい。そして、形状データ取得装置10は、取得した爪の形状を示す3次元データと共にユーザIDを、LAN等のネットワークNWを介して情報提供装置100Aに送信する。
端末装置30は、例えば、携帯電話やスマートフォン、タブレット端末、パーソナルコンピュータである。端末装置30は、例えば、通信部32と、表示部34と、入力部36と、付け爪モデル編集部38とを含む。端末装置30のこれら構成要素は、CPU等のプロセッサ(不図示)によって実現されてよい。また、端末装置30は、ROM、SDカード、RAM等の記憶部(不図示)を含んでよい。
通信部32は、ネットワークNWを介して、情報提供装置100Aと通信を行う。例えば、通信部32は、情報提供装置100Aと通信を行い、情報提供装置100Aにより生成された付け爪モデルを示す情報を受信する。そして、通信部32は、受信した付け爪モデルを示す情報を表示部34に供給し、表示部34に付け爪モデルを示す画像を表示させる。また、通信部32は、入力部36に入力された情報を情報提供装置100に送信する。なお、通信部32は、形状データ取得装置10や製造装置20等と通信を行ってもよい。
表示部34は、例えば、LCDや有機ELディスプレイなどの表示装置を含む。表示部34は、他の構成要素から供給される情報に基づいて画像を表示する。
入力部36は、例えば、キーボードやマウス等の入力装置を含む。入力部36は、ユーザの操作を受け付けて、受け付けた操作に応じた情報を付け爪モデル編集部38に供給する。また、入力部36は、付け爪モデルの編集を行うために必要となるユーザIDの入力操作を受け付ける。なお、入力部36は、表示部34と機能が一体となったタッチパネルであってもよい。
付け爪モデル編集部38は、表示部34に付け爪モデルの画像が表示された状態で、例えばユーザが入力部36に編集操作を入力した場合、この編集操作に応じて、通信部32により受信された付け爪モデルを編集する。そして、付け爪モデル編集部38は、編集した付け爪モデルを示す情報を表示部34に供給し、表示部34に編集した付け爪モデルを示す画像を表示させる。
付け爪モデル編集部38は、編集した付け爪モデルを示す画像を表示部34に表示させた後、ユーザにより編集操作がなされなかった場合、通信部32を制御して、編集した付け爪モデルを示す情報を、製造装置20に送信させる。また、付け爪モデル編集部38は、表示部34に付け爪モデルの画像が表示された状態で、ユーザにより編集操作が一度もなされなかった場合、未編集の付け爪モデルを示す情報を、製造装置20に送信させてもよい。
第2の実施形態における情報提供装置100Aは、通信部106と、制御部110Aと、記憶部130Aとを含んでよいが、これに限定されない。
通信部106は、形状データ取得装置10から3次元データおよびユーザIDを受信し、これらを対応付けてユーザデータ132として記憶部130Aに記憶させる。また、通信部106は、端末装置30からユーザIDを受信する。
図13は、記憶部130Aに記憶されるユーザデータ132の一例を示す図である。ユーザデータ132は、例えば、ユーザIDごとに、3次元データと、この3次元データを基に生成された付け爪モデルとが対応付けられてよい。この付け爪モデルは、付け爪モデル生成部116による生成処理の完了時にユーザIDに対応付けられてよい。
制御部110Aは、実爪モデル生成部112と、推定部114と、付け爪モデル生成部116と、出力部120とを含んでよい。なお、図示のように、制御部110Aにおいて、上述した付け爪モデル編集部118は省略されてよい。
出力部120は、通信部106により端末装置30から受信されたユーザIDが、記憶部130Aに格納されたユーザデータ132に含まれるユーザIDと合致するか否かを判定し、ユーザIDが合致する場合、通信部106に、このユーザIDに対応付けられた付け爪モデルを示す情報を、端末装置30に対して出力(送信)させる。
以下、情報提供装置100Aによる一連の処理の流れを説明する。図14は、第2の実施形態における情報提供装置100Aによる一連の処理の流れの一例を示すフローチャートである。本フローチャートの処理は、例えば、所定の周期で行われる。
まず、通信部106は、形状データ取得装置10から3次元データおよびユーザIDを受信すると(ステップS300;Yes)、3次元データおよびユーザIDを対応付けてユーザデータ132として記憶部130Aに記憶させる(ステップS302)。
次に、実爪モデル生成部112は、通信部106により受信された3次元データに基づいて、ベース面モデルを生成する(ステップS304)。なお、ステップS304の処理の詳細については、上述した図8に示すフローチャートと同様のため、説明を省略する。
次に、推定部114は、実爪モデル生成部112により生成されたベース面モデルのy方向の湾曲程度に基づいて成長モデルを推定する(ステップS306)。次に、付け爪モデル生成部116は、推定部114によって推定された成長モデルを示す二次曲面から規定の距離D離間したオフセット面を生成する(ステップS308)。
次に、付け爪モデル生成部116は、生成したオフセット面および成長モデルを示す二次曲面の両面と、これら両面に挟まれる領域とにより示される3次元モデルを付け爪モデルとして生成する(ステップS310)。
次に、出力部120は、通信部106により端末装置30からユーザIDが受信されたか否かを判定する(ステップS312)。ユーザIDが受信された場合、出力部120は、受信されたユーザIDが、記憶部130Aに格納されたユーザデータ132に含まれるユーザIDと合致するか否かを判定する(ステップS314)。ユーザIDが合致する場合、出力部120は、通信部106に、このユーザIDに対応付けられた付け爪モデルを示す情報を、端末装置30に出力(送信)させる(ステップS316)。これによって、本フローチャートの処理が終了する。
一方、ユーザIDが受信されない場合、あるいはユーザIDが合致しない場合、情報提供装置100Aは、本フローチャートの処理を終了する。
以下、端末装置30による一連の処理の流れを説明する。図15は、第2の実施形態における端末装置30による一連の処理の流れの一例を示すフローチャートである。本フローチャートの処理は、例えば、所定の周期で行われる。
まず、通信部32は、入力部36に入力されたユーザIDを情報提供装置100Aに送信する(ステップS400)。次に、通信部32は、情報提供装置100Aから付け爪モデルを示す情報を受信した場合(ステップS402;Yes)、受信した付け爪モデルを示す画像を表示部34に表示させる(ステップS404)。
次に、付け爪モデル編集部38は、入力部36が編集操作を受け付けたか否かを判定する(ステップS406)。入力部104が編集操作を受け付けない場合、端末装置30は、未編集の付け爪モデルを示す情報を、製造装置20に出力する(ステップS408)。
一方、入力部104が編集操作を受け付けた場合、付け爪モデル編集部38は、編集操作として設定された編集点Rの位置座標に基づいて、通信部32により受信された付け爪モデルを編集する(ステップS410)。そして、付け爪モデル編集部38は、上述したステップS404の処理に戻り、編集した付け爪モデルを示す画像を表示部34に表示させる。以上の処理によって、本フローチャートの処理が終了する。
以上説明した第2の実施形態の情報提供装置100Aによれば、上述した第1の実施形態と同様に、ユーザの爪にフィットした付け爪モデルを精度良く生成することができる。また、情報提供装置100は、ユーザの利便性を向上させることができると共に、ユーザが所望する付け爪モデルを精度良く生成することができる。
以上説明した第1の実施形態の情報提供装置100によれば、ベース面モデルを生成し、このベース面モデルに基づいて成長モデルを推定することにより、ユーザの爪にフィットした付け爪モデルを精度良く生成することができる。
また、第1の実施形態の情報提供装置100によれば、例えば、ユーザが編集点Rを設定するだけの簡易な操作で、生成した付け爪モデルを編集することができる。この結果、情報提供装置100は、ユーザの利便性を向上させることができると共に、ユーザが所望する付け爪モデルを精度良く生成することができる。
以上説明した少なくともひとつの実施形態によれば、ベース面モデルを生成し、このベース面モデルに基づいて成長モデルを推定することにより、ユーザの爪にフィットした付け爪モデルを精度良く生成することができる。この結果、製造装置20は、付け爪の裏面(爪に装着される側の面)がユーザの爪にフィットした形状である付け爪を製造することができる。
また、上述した少なくともひとつの実施形態によれば、例えば、ユーザが編集点Rを設定するだけの簡易な操作で、生成した付け爪モデルを編集することができる。この結果、情報提供装置100は、ユーザの利便性を向上させることができると共に、ユーザが所望する付け爪モデルを精度良く生成することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。