JP4693555B2 - 表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法および生成装置 - Google Patents

表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法および生成装置 Download PDF

Info

Publication number
JP4693555B2
JP4693555B2 JP2005255318A JP2005255318A JP4693555B2 JP 4693555 B2 JP4693555 B2 JP 4693555B2 JP 2005255318 A JP2005255318 A JP 2005255318A JP 2005255318 A JP2005255318 A JP 2005255318A JP 4693555 B2 JP4693555 B2 JP 4693555B2
Authority
JP
Japan
Prior art keywords
curvature
sample point
layer
virtual object
dimensional
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.)
Expired - Fee Related
Application number
JP2005255318A
Other languages
English (en)
Other versions
JP2007072509A (ja
Inventor
和夫 松藤
直樹 河合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2005255318A priority Critical patent/JP4693555B2/ja
Publication of JP2007072509A publication Critical patent/JP2007072509A/ja
Application granted granted Critical
Publication of JP4693555B2 publication Critical patent/JP4693555B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Description

本発明は、表面に繊維シートを張り付けた三次元仮想物体を、所定方向から観察したときの二次元画像を作成する技術に関し、特に、コンピュータを利用したレンダリング処理の技術に関する。
コンピュータの性能向上により、産業界の様々な分野でCG画像が利用されるようになってきている。たとえば、建築物、家具、自動車などの設計段階では、通常、多くのCG画像が利用されている。また、コンピュータを利用した製品のプレゼンテーションや映画などの種々の映像表現においても、物品の様々なCG画像が不可欠である。更に、最近では、商品カタログなどにも、実際の商品写真の代わりに、CG画像が利用される例も少なくない。一般に、CADを用いた設計段階を経て製品化された商品の場合、設計に用いたCADデータを流用してCG画像を作成することができるため、商品カタログに掲載するCG画像も比較的容易に作成することが可能になる。
建築物、家具、自動車の内装部品などのCADデータは、仮想物体の三次元データであるのに対して、提示用のCG画像は、通常、二次元画像として用意される。したがって、CADデータを利用してCG画像を作成する際には、コンピュータ内に仮想物体の三次元データを取り込み、照明条件、視点位置、投影平面を設定した上で、三次元の仮想物体の二次元投影像を投影平面上に得るためのレンダリング処理が行われる。この処理は、基本的には、照明条件で定められた光源からの照明光が仮想物体の各部で反射して視点位置へ向かう現象をコンピュータ上でシミュレートするものであり、視点位置へ向かう反射光の強度を演算する処理ということができる。仮想物体の表面に、何らかの絵柄をもったシート状素材が張り付けられる場合には、当該シート状素材の絵柄をテクスチャデータとして用意し、仮想物体の表面にこの絵柄をマッピングした上で、反射率の演算が行われることになる。たとえば、下記の特許文献1には、二次元テクスチャを三次元物体の表面にマッピングした上で、レンダリング処理を施し、二次元画像を生成する手法が開示されている。
特開2005−63041号公報
椅子やソファなどの家具、自動車の内装、玄関マットや絨毯、衣服をはじめとするアパレル製品、バッグや靴などの物品には、表面に布などの繊維質材料からなるシート(以下、繊維シートと呼ぶ)を張り付けたものが少なくない。このように、表面に繊維シートを張り付けた三次元仮想物体を、所定の照明条件の下で、所定の視点位置から観察したときに得られる二次元画像を生成する場合、通常は、繊維シート表面を表現するためのテクスチャのデータを用意し、このテクスチャを三次元仮想物体にマッピングした上でレンダリング処理を行うことになる。
しかしながら、従来の一般的なテクスチャマッピングの手法を用いた場合、実際の繊維シートのもつ素材の特徴を十分に表現することができないという問題がある。特に、デニム、玉虫織り、タオル、ビロードなどのパイル地といった繊維シートの質感は、非常に繊細であり、従来のレンダリング方法では、二次元画像上にその質感を十分に表現することができない。
そこで本発明は、仮想物体の三次元データに基づいて、この仮想物体の表面に繊維シートを張り付けた状態を示す二次元データを生成する際に、繊維の質感が十分に表現された二次元画像を生成することができる二次元画像生成方法および生成装置を提供することを目的とする。
(1) 本発明の第1の態様は、物体の三次元データに基づいて、当該物体の表面に繊維シートを張り付け、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成する三次元仮想物体に基づく二次元画像生成方法において、
コンピュータが、張り付け対象となる仮想の繊維シートを構成する複数m枚の各レイヤーごとの反射特性を示すm通りのレイヤーデータを入力するレイヤーデータ入力段階と、
コンピュータが、繊維シートを種々の曲率で曲げた状態における各レイヤーごとの可視割合を示す可視割合情報を入力する可視割合情報入力段階と、
コンピュータが、仮想物体の立体形状を示す三次元データを入力する物体データ入力段階と、
コンピュータが、照明条件、視点位置、投影平面を設定する投影条件設定段階と、
コンピュータが、仮想物体の表面上に定義された所定のサンプル点の位置について、仮想物体表面の曲率を求める曲率演算段階と、
コンピュータが、繊維シートを仮想物体の表面に張り付けた場合に、個々のサンプル点から視点位置に向かう反射光の強度を演算する反射光強度演算段階と、
コンピュータが、サンプル点からの反射光と投影平面との交点位置に、反射光の強度に応じた画素値をもつ画素を定義する画素定義段階と、
コンピュータが、多数のサンプル点について定義された多数の画素の集合により、仮想物体の投影画像を示す二次元投影データを生成する投影データ生成段階と、
を実行するようにし、
反射光強度演算段階において、1つのサンプル点からの反射光強度を演算する際に、
可視割合情報を参照して当該サンプル点位置における曲率に対応する各レイヤーごとの可視割合を求める第1のステップと、
当該サンプル点位置における反射特性を、m通りのレイヤーデータの反射特性を第1のステップで求めた可視割合に応じて合成することにより求める第2のステップと、
第2のステップで求めた反射特性に基づいて、当該サンプル点からの反射光の強度を求める第3のステップと、
を行うようにしたものである。
(2) 本発明の第2の態様は、上述の第1の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
可視割合情報入力段階では、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力し、
物体データ入力段階では、仮想物体に対する繊維シートの張り付け向きに関する情報を併せて入力し、
曲率演算段階では、向きのファクターをもった曲率を求め、
反射光強度演算段階の第1のステップでは、向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を求めるようにしたものである。
(3) 本発明の第3の態様は、上述の第2の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
可視割合情報入力段階では、円柱側面に繊維シートを所定の向きに張り付けた状態における各レイヤーごとの可視割合を定義し、円柱の半径の逆数を用いて曲率σを定義し、円柱の中心軸を半径方向に投影することにより円柱側面上に得られる投影線と繊維シートの基準方向線とのなす角ξを当該曲率σについての曲率角度と定義し、個々の曲率σおよび個々の曲率角度ξの各組み合わせに対応する各レイヤーごとの可視割合を示す可視割合情報を入力し、
物体データ入力段階では、仮想物体上に張り付けられる繊維シートの基準方向線の向きに関する情報を入力し、
曲率演算段階では、所定のサンプル点の位置について、基準方向線の向きに関する情報を参照することにより、曲率σおよびこの曲率σに応じた湾曲方向と基準方向線とのずれを示す曲率角度ξを求め、
反射光強度演算段階の第1のステップでは、曲率σおよび曲率角度ξの組み合わせに対応する各レイヤーごとの可視割合を求めるようにしたものである。
(4) 本発明の第4の態様は、上述の第1〜第3の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
レイヤーデータ入力段階では、uv二次元座標系上に定義された絵柄データT(u,v)で示される反射特性をもった二次元画像を、それぞれ個々のレイヤーについてのレイヤーデータとして入力し、
反射光強度演算段階の第2のステップでは、サンプル点位置の座標値u,vに対応する各レイヤーごとの絵柄データT(u,v)の値を、第1のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における反射係数kを求め、
反射光強度演算段階の第3のステップでは、サンプル点における入射照明光の強度をIiとしたときに、反射光強度Iを、反射係数kを用いて、
I=k・Ii
なる式で求めるようにしたものである。
(5) 本発明の第5の態様は、上述の第1〜第3の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
レイヤーデータ入力段階では、個々のレイヤーごとの拡散反射係数をレイヤーデータとして入力し、
反射光強度演算段階の第2のステップでは、個々のレイヤーごとの拡散反射係数を第1のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における拡散反射係数kdを求め、
反射光強度演算段階の第3のステップでは、サンプル点における入射照明光の強度をIi、仮想物体表面上のサンプル点位置に立てた法線nと入射照明光とのなす角をαとしたときに、反射光強度Iを、
I=kd・Ii・cos α
なる式で求めるようにしたものである。
(6) 本発明の第6の態様は、上述の第5の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
レイヤーデータ入力段階では、uv二次元座標系上に定義された絵柄データT(u,v)で示される拡散反射係数をもった二次元画像を、それぞれ個々のレイヤーについてのレイヤーデータとして入力し、
反射光強度演算段階の第2のステップでは、サンプル点位置の座標値u,vに対応する各レイヤーごとの絵柄データT(u,v)の値を、第1のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における拡散反射係数kdを求めるようにしたものである。
(7) 本発明の第7の態様は、上述の第1〜第3の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
レイヤーデータ入力段階では、レイヤー面に立てた法線nと照明光とのなす角αに依存した反射係数k(α)と、鏡面反射の鋭さを示すパラメータをβとを、レイヤーデータとして入力し、
反射光強度演算段階の第2のステップでは、仮想物体表面上のサンプル点位置に立てた法線nと入射照明光とのなす角をα、サンプル点における鏡面反射光の射出方向と視点方向とのなす角をγとしたときに、各レイヤーごとの反射係数を、レイヤーデータを参照して、
k(α)・cos βγ
なる式で求め、求めた各レイヤーごとの反射係数を第1のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における反射係数kを求め、
反射光強度演算段階の第3のステップでは、サンプル点における入射照明光の強度をIiとしたときに、反射光強度Iを、反射係数kを用いて、
I=k・Ii
なる式で求めるようにしたものである。
(8) 本発明の第8の態様は、上述の第7の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
角度αに依存した反射係数をk(α)の代わりに、角度αに依存しない係数ksを用い、各レイヤーごとの反射係数を、
ks・cos βγ
なる式で求めるようにしたものである。
(9) 本発明の第9の態様は、上述の第1〜第3の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
レイヤーデータ入力段階では、レイヤー面の所定点に立てた法線nと照明光とのなす角をθL、レイヤー面上への照明光の投影像とレイヤー面上の上記所定点を通る基準線とのなす角度をφL、法線nと反射光とのなす角度をθV、レイヤー面上への反射光の投影像と基準線とのなす角度をφVとしたときに、「θL,φL,θV,φV」の関数として与えられる反射係数kb(θL,φL,θV,φV)を各レイヤーごとのレイヤーデータとして入力し、
可視割合情報入力段階では、「曲率,θL,φL,θV,φV」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す可視割合情報を入力し、
反射光強度演算段階では、仮想物体表面上のサンプル点位置に立てた法線nと入射照明光とのなす角をθL、法線nに直交する直交平面上への入射照明光の投影像と直交平面上のサンプル点を通る基準線とのなす角度をφL、法線nと反射光とのなす角度をθV、直交平面上への反射光の投影像と基準線とのなす角度をφVと定義し、
反射光強度演算段階の第1のステップでは、可視割合情報を参照することにより、サンプル点位置の「曲率,θL,φL,θV,φV」の組み合わせに対応する各レイヤーごとの可視割合を求め、
反射光強度演算段階の第2のステップでは、レイヤーデータを参照することにより、サンプル点位置の「θL,φL,θV,φV」の組み合わせに対応する反射係数kb(θL,φL,θV,φV)を各レイヤーごとに求め、求めた各反射係数kbを、それぞれ第1のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における反射係数kbを求め、
反射光強度演算段階の第3のステップでは、サンプル点における入射照明光の強度をIiとしたときに、第2のステップで求めたサンプル点位置における反射係数kbを用いて、サンプル点からの反射光強度Iを、
I=kb・Ii
なる式で求めるようにしたものである。
(10) 本発明の第10の態様は、上述の第1〜第3の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
レイヤーデータ入力段階では、レイヤー面の所定点に立てた法線nと照明光とのなす角をθL、レイヤー面上への照明光の投影像とレイヤー面上の所定点を通る基準線とのなす角度をφL、法線nと反射光とのなす角度をθV、レイヤー面上への反射光の投影像と基準線とのなす角度をφV、レイヤー面上に定義されたuv二次元座標系における所定点の座標値を(u,v)としたときに、「θL,φL,θV,φV,u,v」の関数として与えられる反射係数kb(θL,φL,θV,φV,u,v)を各レイヤーごとのレイヤーデータとして入力し、
可視割合情報入力段階では、「曲率,θL,φL,θV,φV,u,v」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す可視割合情報を入力し、
反射光強度演算段階では、仮想物体表面上のサンプル点位置に立てた法線nと入射照明光とのなす角をθL、法線nに直交する直交平面上への入射照明光の投影像と直交平面上のサンプル点を通る基準線とのなす角度をφL、法線nと反射光とのなす角度をθV、直交平面上への反射光の投影像と基準線とのなす角度をφV、サンプル点の座標値を(u,v)と定義し、
反射光強度演算段階の第1のステップでは、可視割合情報を参照することにより、サンプル点位置の「曲率,θL,φL,θV,φV,u,v」の組み合わせに対応する各レイヤーごとの可視割合を求め、
反射光強度演算段階の第2のステップでは、レイヤーデータを参照することにより、サンプル点位置の「θL,φL,θV,φV,u,v」の組み合わせに対応する反射係数kb(θL,φL,θV,φV,u,v)を各レイヤーごとに求め、求めた各反射係数kbを、それぞれ第1のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における反射係数kbを求め、
反射光強度演算段階の第3のステップでは、サンプル点における入射照明光の強度をIiとしたときに、第2のステップで求めたサンプル点位置における反射係数kbを用いて、サンプル点からの反射光強度Iを、
I=kb・Ii
なる式で求めるようにしたものである。
(11) 本発明の第11の態様は、上述の第1〜第10の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
曲率演算段階で、特定のサンプル点Qについての曲率として、仮想物体をサンプル点Qを含む所定面で切断した切断面上に現れる仮想物体の輪郭線のサンプル点Q近傍の曲率を求めるようにしたものである。
(12) 本発明の第12の態様は、上述の第11の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
切断面上に現れる仮想物体の輪郭線上のサンプル点Qの両側に、サンプル点Qから輪郭線に沿って等距離にある2点QL,QRを定義し、切断面上において、点QLにおける輪郭線の接線TLに直交する線と点QRにおける輪郭線の接線TRに直交する線との交点QQを求め、サンプル点Qと交点QQとの距離rの逆数を、サンプル点Qについての曲率σとするようにしたものである。
(13) 本発明の第13の態様は、上述の第1〜第10の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
物体データ入力段階では、仮想物体の立体形状を多角形の集合体として入力し、
曲率演算段階で、特定のサンプル点Qについての曲率を求める際に、当該特定のサンプル点を含むJ個の辺を有する着目多角形について、当該着目多角形とこれに隣接する複数J個の隣接多角形との間の仮想物体の内側についての形成角ω1〜ωJをそれぞれ求め、第j番目の隣接多角形との間の境界を形成する第j番目の辺に関する曲率として、第j番目の形成角ωjが180°に近くなればなるほど小さくなり、かつ、着目多角形および第j番目の隣接多角形の大きさが大きくなればなるほど小さくなるような絶対値をもち、第j番目の形成角ωjと180°との大小関係に応じた符号を有する曲率σjを定義し、第1番目の辺〜第J番目の辺についてそれぞれ曲率σ1〜σJを定義し、特定のサンプル点と第j番目の辺との距離が短ければ短いほど、第j番目の曲率σjの影響が大きくなるように、J個の曲率σ1〜σJを合成することにより、サンプル点Qについての曲率σQを求めるようにしたものである。
(14) 本発明の第14の態様は、上述の第13の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
可視割合情報入力段階では、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力し、
物体データ入力段階では、仮想物体に対する繊維シートの張り付け向きを示す基準方向線に関する情報を併せて入力し、
曲率演算段階では、基準方向線と着目多角形の第1番目の辺〜第J番目の辺のそれぞれとのなす角ξ1〜ξJを、各辺についての曲率角度としてそれぞれ求め、サンプル点Qと第j番目の辺との距離が短ければ短いほど、第j番目の曲率角度ξjの影響が大きくなるように、J個の曲率角度ξ1〜ξJを合成することにより、サンプル点Qについての曲率角度ξQを求め、
反射光強度演算段階の第1のステップでは、曲率角度ξQで示される向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を求めるようにしたものである。
(15) 本発明の第15の態様は、上述の第1〜第10の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
物体データ入力段階では、仮想物体の立体形状を三角形の集合体として入力し、
曲率演算段階で、特定のサンプル点Qについての曲率を求める際に、当該特定のサンプル点を含む着目三角形Tqについて、当該着目三角形Tqと、辺A,B,Cを境界としてこれに隣接する3個の隣接三角形Ta,Tb,Tcとの間の仮想物体の内側についての形成角ωa,ωb,ωcをそれぞれ求め、辺Aに関する曲率として、形成角ωaが180°に近くなればなるほど小さくなり、かつ、着目三角形Tqおよび隣接三角形Taの大きさが大きくなればなるほど小さくなるような絶対値をもち、形成角ωaと180°との大小関係に応じた符号を有する曲率σaを定義し、辺Bに関する曲率として、形成角ωbが180°に近くなればなるほど小さくなり、かつ、着目三角形Tqおよび隣接三角形Tbの大きさが大きくなればなるほど小さくなるような絶対値をもち、形成角ωbと180°との大小関係に応じた符号を有する曲率σbを定義し、辺Cに関する曲率として、形成角ωcが180°に近くなればなるほど小さくなり、かつ、着目三角形Tqおよび隣接三角形Tcの大きさが大きくなればなるほど小さくなるような絶対値をもち、形成角ωcと180°との大小関係に応じた符号を有する曲率σcを定義し、サンプル点Qと辺Aとの距離が短ければ短いほど曲率σaの影響が大きくなり、サンプル点Qと辺Bとの距離が短ければ短いほど曲率σbの影響が大きくなり、サンプル点Qと辺Cとの距離が短ければ短いほど曲率σcの影響が大きくなるように、曲率σa,σb,σcを合成することにより、サンプル点Qについての曲率σQを求めるようにしたものである。
(16) 本発明の第16の態様は、上述の第15の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
辺Aに関する曲率を定義する際に、着目三角形Tqの辺Aに対する対角から辺Aに下ろした垂線の長さhqaと、隣接三角形Taの辺Aに対する対角から辺Aに下ろした垂線の長さhaと、を求め、平面上に、「長さhqaをもった線分」と「長さhaをもった線分」とを、それぞれの一端が接続点Jaで接続され、かつ、接続点Jaにおける両線分のなす角が形成角ωaとなるように配置し、「長さhqaをもった線分」の垂直二等分線と「長さhaをもった線分」の垂直二等分線との交点Oaと接続点Jaとの距離Raの逆数を、辺Aに関する曲率σaの絶対値と定義し、
辺Bに関する曲率を定義する際に、着目三角形Tqの辺Bに対する対角から辺Bに下ろした垂線の長さhqbと、隣接三角形Tbの辺Bに対する対角から辺Bに下ろした垂線の長さhbと、を求め、平面上に、「長さhqbをもった線分」と「長さhbをもった線分」とを、それぞれの一端が接続点Jbで接続され、かつ、接続点Jbにおける両線分のなす角が形成角ωbとなるように配置し、「長さhqbをもった線分」の垂直二等分線と「長さhbをもった線分」の垂直二等分線との交点Obと接続点Jbとの距離Rbの逆数を、辺Bに関する曲率σbの絶対値と定義し、
辺Cに関する曲率を定義する際に、着目三角形Tqの辺Cに対する対角から辺Cに下ろした垂線の長さhqcと、隣接三角形Tcの辺Cに対する対角から辺Cに下ろした垂線の長さhcと、を求め、平面上に、「長さhqcをもった線分」と「長さhcをもった線分」とを、それぞれの一端が接続点Jcで接続され、かつ、接続点Jcにおける両線分のなす角が形成角ωcとなるように配置し、「長さhqcをもった線分」の垂直二等分線と「長さhcをもった線分」の垂直二等分線との交点Ocと接続点Jcとの距離Rcの逆数を、辺Cに関する曲率σcの絶対値と定義するようにしたものである。
(17) 本発明の第17の態様は、上述の第15または第16の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
サンプル点Qについての曲率σQを求める際に、着目三角形Tqの辺Aに対する対角とサンプル点Qとの距離をLa、着目三角形Tqの辺Bに対する対角とサンプル点Qとの距離をLb、着目三角形Tqの辺Cに対する対角とサンプル点Qとの距離をLcとしたときに、
σQ=(La・σa+Lb・σb+Lc・σc)/(La+Lb+Lc)
なる演算を行うようにしたものである。
(18) 本発明の第18の態様は、上述の第15または第16の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
サンプル点Qについての曲率σQを求める際に、サンプル点Qから辺Aに下ろした垂線と、サンプル点Qから辺Bに下ろした垂線と、サンプル点Qから辺Cに下ろした垂線と、によって、着目三角形Tqを3つの領域に分割し、辺Aに対する対角を含む領域の面積をUa、辺Bに対する対角を含む領域の面積をUb、辺Cに対する対角を含む領域の面積をUcとしたときに、
σQ=(Ua・σa+Ub・σb+Uc・σc)/(Ua+Ub+Uc)
なる演算を行うようにしたものである。
(19) 本発明の第19の態様は、上述の第15〜第18の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
可視割合情報入力段階では、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力し、
物体データ入力段階では、仮想物体に対する繊維シートの張り付け向きを示す基準方向線に関する情報を併せて入力し、
曲率演算段階では、基準方向線と着目三角形の辺A,辺B,辺Cのそれぞれとのなす角ξa,ξb,ξcを、各辺についての曲率角度としてそれぞれ求め、サンプル点Qと辺Aとの距離が短ければ短いほど曲率角度ξaの影響が大きくなり、サンプル点Qと辺Bとの距離が短ければ短いほど曲率角度ξbの影響が大きくなり、サンプル点Qと辺Cとの距離が短ければ短いほど曲率角度ξcの影響が大きくなるように、曲率角度ξa,ξb,ξcを合成することにより、サンプル点Qについての曲率角度ξQを求め、
反射光強度演算段階の第1のステップでは、曲率角度ξQで示される向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を求めるようにしたものである。
(20) 本発明の第20の態様は、上述の第19の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
サンプル点Qについての曲率角度ξQを求める際に、着目三角形Tqの辺Aに対する対角とサンプル点Qとの距離をLa、着目三角形Tqの辺Bに対する対角とサンプル点Qとの距離をLb、着目三角形Tqの辺Cに対する対角とサンプル点Qとの距離をLcとしたときに、
ξQ=(La・ξa+Lb・ξb+Lc・ξc)/(La+Lb+Lc)
なる演算を行うようにしたものである。
(21) 本発明の第21の態様は、上述の第19の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
サンプル点Qについての曲率角度ξQを求める際に、サンプル点Qから辺Aに下ろした垂線と、サンプル点Qから辺Bに下ろした垂線と、サンプル点Qから辺Cに下ろした垂線と、によって、着目三角形Tqを3つの領域に分割し、辺Aに対する対角を含む領域の面積をUa、辺Bに対する対角を含む領域の面積をUb、辺Cに対する対角を含む領域の面積をUcとしたときに、
σQ=(Ua・ξa+Ub・ξb+Uc・ξc)/(Ua+Ub+Uc)
なる演算を行うようにしたものである。
(22) 本発明の第22の態様は、上述の第1〜第10の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
物体データ入力段階では、仮想物体の立体形状を、数式およびこの数式に用いられているパラメータの値によって表現されるパラメトリック曲面として入力し、
曲率演算段階で、特定のサンプル点Qについての曲率を、数式およびパラメータの値を用いた演算により求めるようにしたものである。
(23) 本発明の第23の態様は、上述の第1〜第22の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
コンピュータが、繊維シート構造体の形状データを入力し、この形状データに基づいて、繊維シートを種々の曲率で曲げた状態をシミュレートし、種々の曲率についての各レイヤーごとの可視割合を示す可視割合情報を作成する可視割合情報作成段階を更に有し、作成された可視割合情報を可視割合情報入力段階で入力するようにしたものである。
(24) 本発明の第24の態様は、上述の第23の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
繊維シート構造体をレイヤー面に対して垂直上方に投影し、隠面処理を施したときに、投影面上に現れるレイヤーごとの面積比に基づいて可視割合を決定するようにしたものである。
(25) 本発明の第25の態様は、上述の第1〜第24の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
可視割合情報入力段階で、離散的に定義された複数の曲率ごとの可視割合情報を入力し、
反射光強度演算段階の第1のステップで、曲率演算段階で求められた特定のサンプル点についての曲率に対応する可視割合を、可視割合情報によって離散的な曲率について定義されている可視割合を補間することによって求めるようにしたものである。
(26) 本発明の第26の態様は、上述の第1〜第25の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法における各段階をコンピュータに実行させるためのプログラムを用意したものである。
(27) 本発明の第27の態様は、物体の三次元データに基づいて、当該物体の表面に繊維シートを張り付け、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成する三次元仮想物体に基づく二次元画像生成装置において、
外部から与えられる種々のデータを入力するデータ入力部と、
データ入力部から入力された、仮想物体の立体形状を示す三次元データを格納する三次元データ格納部と、
データ入力部から入力された、張り付け対象となる仮想の繊維シートを構成する複数m枚の各レイヤーごとの反射特性を示すm通りのレイヤーデータを格納するレイヤーデータ格納部と、
データ入力部から入力された、繊維シートを種々の曲率で曲げた状態における各レイヤーごとの可視割合を示す可視割合情報を格納する可視割合情報格納部と、
データ入力部から入力されたデータに基づき、照明条件、視点位置、投影平面を設定する投影条件設定部と、
三次元データに基づいて、仮想物体の表面上に定義された所定のサンプル点の位置について、仮想物体表面の曲率を求める曲率演算部と、
繊維シートを仮想物体の表面に張り付けた場合に、個々のサンプル点から視点位置に向かう反射光の強度を演算する反射光強度演算部と、
サンプル点からの反射光と投影平面との交点位置に、反射光の強度に応じた画素値をもつ画素を定義する画素定義部と、
多数のサンプル点について定義された多数の画素の集合を、仮想物体の投影画像を示す二次元投影データとして格納する投影データ格納部と、
を設け、
反射光強度演算部を、
可視割合情報を参照して1つのサンプル点位置における曲率に対応する各レイヤーごとの可視割合を求める第1の機能部と、
当該サンプル点位置における反射特性を、m通りのレイヤーデータの反射特性を第1の機能部が求めた可視割合に応じて合成することにより求める第2の機能部と、
第2の機能部が求めた反射特性に基づいて、当該サンプル点からの反射光の強度を求める第3の機能部と、
によって構成したものである。
(28) 本発明の第28の態様は、上述の第27の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成装置において、
データ入力部が、繊維シートを仮想物体に張り付けたときに、繊維シート上に定義された基準方向線の向きに関する情報を入力する機能を有し、
可視割合情報格納部が、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力する機能を有し、
曲率演算部が、向きのファクターをもった曲率を求める機能を有し、
反射光強度演算部が、向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を用いて、反射光強度を求める機能を有するようにしたものである。
本発明に係る二次元画像生成方法および生成装置によれば、繊維シートの反射特性を複数のレイヤーごとに分けて取り扱い、この繊維シートを張り付けた仮想物体の各部からの反射光強度を演算する際に、当該各部の曲率に応じて定まる所定比率で各レイヤーごとの反射特性の合成を行うようにしたため、繊維の質感が十分に表現された二次元画像を生成することが可能になる。
以下、本発明を図示する実施形態に基づいて説明する。
<<< §1.レンダリング処理の基本概念 >>>
本発明は、コンピュータを用いたレンダリング処理に係るものであり、特に、表面に繊維シート(布などの繊維質材料からなるシート)を張り付けた三次元仮想物体についてのレンダリング処理に係るものである。ここでは、従来の一般的なレンダリング処理の基本概念とその問題点、そして当該問題点を解決するための本発明の基本概念を説明する。
まず、図1(a) に示すような三次元仮想物体10を、所定の視点位置から観察した場合に得られる二次元画像を生成する処理を考えよう。この仮想物体10は、直方体状の立体であり、実際には全6面を有しているが、得られた二次元画像上には、図示のとおり上面11、前面12,側面13の3面のみが現れている。レンダリング処理は、仮想物体10の三次元データに基づいて、図示のような二次元画像を生成する処理であり、仮想物体10の三次元データをコンピュータに入力し、照明条件(光源の種類や位置)、視点位置、投影平面を設定した上で、光源からの照明光が、仮想物体10の表面各部から反射して視点位置方向へ向かう光学現象をシミュレートする処理ということができる。所定の投影平面上において、仮想物体10の表面各部からの反射光強度分布を演算することにより、この投影平面上に二次元画像を得ることができる。
一方、図1(b) に示す仮想物体20は、図1(a) に示す仮想物体10の表面に、繊維シートを張り付けたものである。図示のとおり、得られた二次元画像上には、上面21、前面22,側面23の3面が現れているが、いずれも繊維シートを張り付けた面となっている。このように、三次元仮想物体の表面に、何らかの二次元シートを張り付けた状態を示すレンダリング処理は、通常、テクスチャマッピングの手法を利用して行われる。すなわち、二次元シートの絵柄情報を二次元テクスチャデータ(二次元の反射特性分布を示すデータ)として用意しておき、仮想物体の表面に、このテクスチャデータを張り付けた状態で、各部の反射率を演算する処理が行われる。テクスチャデータとして、繊維1本1本の濃淡が表現された絵柄データを用意しておけば、得られる二次元画像上にも、繊維の質感が表現されることになる。
しかしながら、前述したとおり、従来の一般的なテクスチャマッピングの手法を用いた場合、実際の繊維シートのもつ素材の特徴を十分に表現することが困難である。このため、CGにより生成された二次元画像は、実物の写真画像に比べると、繊維の質感が不自然に見え、リアルな臨場感に乏しい結果となる。
そこで、本願発明者は、繊維シートを張り付けた物体の二次元画像をCGで生成した場合に、十分な繊維質表現を行うことができない原因をいろいろな方法で探求してみた。その結果、ソファなどの家具や自動車のシートなどについては、特に、繊維質表現の不自然さが顕著になる傾向があることがわかった。更に技術的な検証・考察を重ねることにより、次の2つの事実に気がついた。
第1の事実は、繊維シートを仮想物体の平面に張り付けた場合より、曲面に張り付けた場合の方が、不自然さがより顕著であるという点である。たとえば、図1(a) に示すような平面のみからなる仮想物体10よりも、図2(a) に示すような曲面を含む仮想物体30の方が、不自然さが顕著になる。仮想物体30には、上面31と側面32とが現れているが、このうちの上面31は曲面を構成している。ここで、図2(b) に示すように、表面に繊維シートを張り付けた仮想物体40を用意して、従来の一般的な方法でレンダリング処理を行った場合、平面からなる側面42の繊維質表現よりも、曲面からなる上面41の繊維質表現の方が不自然に見える傾向にあることが判明した。
第2の事実は、繊維質表現が不自然になるのは、特に、デニム、玉虫織り、タオル、ビロードなどのパイル地といった繊維シートを張り付けた場合に顕著であるという点である。これらの生地に共通するのは、表面が植毛構造をなしていたり、視野に投影される縦糸と横糸との面積比が固定されていなかったりして、生地を曲げると、表面の構造に変化が生じるという点である。
たとえば、図2(b) に示す例の場合、生地を側面42(平面)に張り付けた場合を基準の状態とすると、生地を上面41(曲面)に張り付けた場合は、生地は凸状に湾曲することになる。このため、表面に多数の植毛構造をもった生地の場合、1本1本の毛の先端部の間隔がより広がることになる。たとえば、タオル地の場合、ベースとなる素材に対して、多数のパイルが植毛された構造を有しているが、生地を凸状に湾曲させると、個々のパイルの先端部の間隔が広がり、ベースとなる素材が観察される面積が増加することになる。逆に、生地を凹状に湾曲させると、個々のパイルの先端部の間隔が狭まり、ベースとなる素材が観察される面積は減少する。その結果、生地を張り付ける面の曲率によって、生地の観察態様が変化することになる。
また、玉虫織りの場合は、視野に投影される縦糸と横糸との面積比が、生地の観察態様に大きな影響を与えることになるが、生地を凹状に湾曲させた場合と、凸状に湾曲させた場合とでは、視野に投影される縦糸と横糸との面積比が変化することになる。この場合、生地の観察態様は、湾曲させる方向にも依存して変化する。あるいはフェルト地などでは、凸状に湾曲させることによって、鏡面反射成分が増加する現象もみられる。これは、生地の湾曲によって生じる張力によって、繊維の向きが一方向に揃うためと考えられる。同様の現象は、フェルトのみならず、様々な繊維シートで生じていると思われる。
このような2つの事実から、繊維シートを張り付けた仮想物体の二次元画像において、繊維の質感に不自然さが生じる要因の1つは、曲面に張り付けた繊維シートの表面構造の変化にある、と考えることができる。そこで、本願発明者は、二次元画像をCGで作成する場合に、繊維シートの表面構造の変化を考慮したレンダリング処理を行うことにより、不自然さを払拭することができるのではないかと考えたのである。そのためには、レンダリング処理において、仮想物体表面における反射特性を定量的に評価する際に、当該仮想物体表面の曲率を考慮するようにすればよい。以下、この概念をより詳細に説明する。
図3は、一般的なレンダリング処理の原理を示す斜視図である。この例は、仮想物体50を、視点Eから観察したときに、投影平面M上に投影画像55を求めるシェーディングモデルを示すものである。このとき、仮想繊維シート60を仮想物体50の表面に張り付けた状態の投影像を求めるようにする。このようなレンダリング処理を行うために、まず、仮想物体50を示す三次元データが用意される。たとえば、図示の例では、XYZ三次元座標系上に定義された多数のポリゴン(多角形)の集合として、仮想物体50が表現されており、仮想物体50の表面の各部は、それぞれポリゴンによって構成されている。
一方、仮想繊維シート60は、二次元のテクスチャデータとして用意される。図示の例では、仮想繊維シート60上のuv二次元座標系上に定義された画像データによって、格子模様の下地にハート型の絵柄が表現されている。この絵柄データは、結局、仮想繊維シート60の反射特性の分布を示す反射特性データということができる。レンダリング処理を行う際には、このuv座標系上に定義された絵柄データを、XYZ座標系上に定義された仮想物体の表面にマッピングし、仮想物体表面の各部の反射特性を決定することになる。
レンダリング処理にあたっては、この他、照明条件、視点位置、投影平面を設定する必要がある。照明条件としては、光源の種類(たとえば、形状、大きさ、波長特性など)や位置などを設定する。図示の例の場合、光源G、視点E、投影平面Mが図示の位置に設定されている。また、投影平面M上には、xy二次元座標系が定義されており、投影画像55(レンダリング処理の目的物として得られる二次元画像)は、このxy座標系上の画像データとして得られることになる。
いま、図示のとおり、仮想物体50上にサンプル点Qを定義し、このサンプル点Qから視点Eに向かう反射光Vを考える。この反射光Vは、光源Gからの照明光Lが、サンプル点Qで反射することにより得られる光であり、視点Eの位置で観察される光である。もっとも、ここでいう「反射」とは、「鏡面反射」のみでなく、「拡散反射」も含めた広い概念であり、サンプル点Qに様々な角度で入射する照明光がそれぞれ反射光として視点Eに向かうことになる。したがって、図示の反射光Vは、様々な角度から入射した照明光から得られる反射光の集まりというべきものになる。
1つのサンプル点Qから視点Eに向かう反射光Vと投影平面Mとの交点位置に、当該反射光Vの強度に応じた画素値をもつ画素Pを定義するようにし、仮想物体50の表面上の多数のサンプル点から視点Eに向かう各反射光について、同様に、投影平面M上に画素を定義すれば、多数のサンプル点について定義された多数の画素の集合により、仮想物体50の投影画像が投影平面M上に得られることになる。実用上は、予め投影平面M上に所望の解像度で画素配列を定義しておき、視点Eと個々の画素Pの代表点(たとえば、中心位置)とを結ぶ線を仮想物体50上へと伸ばし、仮想物体表面との交点位置にサンプル点Qを定義し、上述した手法により、個々の画素Pの画素値を演算すれば、必要な解像度をもった二次元データを得ることができる。
このように、投影平面M上の画素Pの画素値を求めるためには、サンプル点Qから画素Pを通って視点Eに向かう反射光Vの強度を求める必要があるが、このような反射光Vの強度は、基本的に、サンプル点Qに入射する照明光Lの強度と、サンプル点Qにおける光の反射率(鏡面反射率や拡散反射率)とを考慮した演算によって求めることができる。もちろん、このとき、サンプル点Qを含むポリゴンの向きを考慮に入れた演算が行われ、サンプル点Qにマッピングされたテクスチャデータ(uv座標系上に定義された繊維シート60の画像データ)も考慮に入れた演算が行われる。したがって、仮想物体50の表面が曲面であれば、当該曲面に応じた陰影をもった投影画像55が得られることになり、仮想繊維シート60の反射特性データ(テクスチャデータ)が、図示のように、格子模様とハート型の絵柄の情報をもっていれば、投影画像55上にも、この格子模様およびハート型の絵柄が表現されることになる(図3では、この絵柄の図示は省略)。
しかしながら、従来のテクスチャマッピングの手法では、テクスチャデータを三次元仮想物体の表面にマッピングする場合、単に、二次元データを幾何学的にマッピングするだけなので、生地を曲げると、表面の構造に変化が生じるような繊維シートを、曲面にマッピングした場合に、十分な質感表現を行うことができない。本発明の基本概念は、このレンダリング処理の際に、更に、サンプル点Qにおける仮想物体50の曲率を考慮に入れて反射光の強度演算を行うようにする、という点にある。
この基本概念を、図4を参照しながら、もう少し詳しく説明しよう。図4は、繊維シートと物体表面の曲率との関係を示す斜視図である。ここでは、まず、図4(a) に示すように、半径r1の円柱からなる物体51が、その中心軸Hを水平方向に向けて配置されている状態において、格子模様とハート型の絵柄の情報をもった繊維シート61を、円柱側面に沿って張り付けた場合を考えよう。また、繊維シート61は、タオル地からなり、下地となる格子模様は、縦糸と横糸との編み目によって構成されているものとし、ハート型の絵柄は、この下地に植毛された個々のパイルを染色することにより表現されているものとする。
ここで、繊維シート61の縦方向に、図示のとおり基準方向線Wを定義する。この基準方向線Wは、繊維シート61の下地の縦糸の方向を示すことになる。この繊維シート61を図示の向きのまま、円柱状の物体51の周囲に巻き付けたとすると、基準方向線Wは、円柱の円周方向を向くことになる。ここで、便宜上、円柱の中心軸Hを半径方向に投影することにより円柱側面上に得られる投影線H′と張り付けられた繊維シート61の基準方向線Wとのなす角を曲率角度ξと呼ぶことにすれば、図4(a) の例の場合、曲率角度ξ=90°になる。
図4(b) は、やはり曲率角度ξ=90°となるように、繊維シート61を円柱状の物体52に張り付けたものであるが、物体52の半径はr2であり(r2<r1)、物体51よりも若干細い円柱となっている。ここでは、各円柱側面の曲率σを、その半径の逆数と定義してみる。すると、繊維シート61は、図4(a) の例では、曲率σ=1/r1の曲面に張り付けられていることになり、図4(b) の例では、曲率σ=1/r2の曲面に張り付けられていることになる。一方、図4(c) は、半径r1の円柱状物体51を用いている点は図4(a) と同じであるが、円柱の中心軸Hを垂直方向に向けて配置した状態で、繊維シート61を張り付けているため、投影線H′と基準方向線Wとは同一方向を向くことになるので、両者のなす角として定義される曲率角度はξ=0°となる。
結局、図4(a) 〜(c) は、いずれも同一の繊維シート61を張り付けた例であるが、図4(a) の場合、曲率σ=1/r1,曲率角度90°、図4(b) の場合、曲率σ=1/r2,曲率角度90°、図4(c) の場合、曲率σ=1/r1,曲率角度0°ということになる。
この3通りの場合を、コンピュータ上でシミュレートするために、従来の方法でレンダリング処理を行うことを考えよう。この場合、もちろん、各円柱側面は、XYZ三次元座標系上での曲面として取り扱われ、光源からの照明光の照射角度や反射光の方向などを求める演算において、この曲面の情報が反映されることになる。また、繊維シート61のテクスチャデータがマッピングされるため、繊維シートの格子模様およびハート型の絵柄の情報を考慮した演算が行われる。しかしながら、繊維シート61が同一である以上、図4(a) 〜(c) のいずれの場合も、同一のテクスチャデータを用いた演算が行われる。このような従来の手法は、同一の繊維シート61を張り付ける限り、張り付け対象となる面がどのような面であっても、そのテクスチャの情報に変わりはない、という前提に立っている。
しかしながら、実際には、繊維シート61を曲面上に張り付けると、多かれ少なかれ、その表面構造に変化が生じ、テクスチャの情報が変化することになる。ここで述べる例の場合、繊維シート61はタオル地であり、下地となる下部レイヤーと、この下地に植毛された多数のパイルからなる上部レイヤーとによって構成されているものとする。前述したとおり、下部レイヤーの格子模様は、下地を構成する縦糸と横糸との編み目として現れた模様であり、上部レイヤーのハート型の絵柄は、パイルを染色することにより表現された模様である。このようなタオル地は、物理的に湾曲させると、個々のパイルの下地に対する植毛状態に変化が生じるため、張り付け対象となる三次元物体の曲率に応じて、上部レイヤーと下部レイヤーとの可視割合が変化する。また、同じ曲率をもった物体に張り付けた場合であっても、張り付け向きに応じて、上部レイヤーと下部レイヤーとの可視割合が変化する。
たとえば、このような繊維シート61を、図4(a) に示すように、曲率σ=1/r1の円柱に張り付けた場合と、図4(b) に示すように、曲率σ=1/r2の円柱に張り付けた場合とを比べると、図4(b) に示すように、曲率がより大きな曲面(半径がより小さな円柱側面)に張り付けた場合の方が、下地(下部レイヤー)の可視割合は大きくなる。また、同じ曲率σ=1/r1の円柱に張り付けた場合であっても、図4(a) に示すように、曲率角度ξ=90°となるように張り付けた場合と、図4(c) に示すように、曲率角度ξ=0°となるように張り付けた場合とでは、下地(下部レイヤー)の可視割合が異なってくる。もちろん、曲率角度ξは、30°,45°,60°といった任意の角度をとることができ、下地(下部レイヤー)の可視割合も、これらの角度に応じて変わってくる。
なお、本願において、「曲率」という文言は、狭義の意味では、上述した曲率σのように、湾曲の度合いを示すパラメータを指す言葉として用いているが、広義の意味では、上述した曲率角度ξをも考慮したパラメータを指す言葉として用いることにする。特に、「向きのファクターをもった曲率」と言った場合には、広義の「曲率」を意味するものであり、上述した例の場合、特定のσと特定のξとの組み合わせを意味するものである。
結局、繊維シート61のテクスチャ情報は、張り付け対象となる面の曲率(狭義の曲率)と、曲率角度に応じて変化することになる。もちろん、このような繊維の表面構造の変化は、通常、ハート型の模様を星型に変えるといった劇的な変化をもたらすものではなく、下部レイヤーの格子模様と上部レイヤーのハート型模様との濃度バランスの変化をもたらす程度のものであるが、CG画像の微妙な自然の風合いを左右する要因になることは確かである。現実的には、既に列挙したとおり、デニム、玉虫織り、タオル、ビロードなどのパイル地といった繊維シートを張り付けた物体のCG画像を作成する場合に、特に顕著な要因として現れてくる。
したがって、自然の風合いまで忠実に再現したCG画像を作成するには、張り付け対象となる面の曲率(狭義の曲率)および曲率角度に応じて変化するテクスチャ情報を考慮した取り扱いを行えばよい。もちろん、理論的には、繊維シートのテクスチャ情報として、単なる二次元画像データではなく、1本1本の繊維の三次元構造までも厳密に定義したデータを用意し、繊維シートを三次元的に取り扱う処理を行えば、実物の繊維の質感を忠実に再現したCG画像が得られる。しかしながら、そのような処理は非常に複雑な演算を必要とするため、現実的には好ましくない。
そこで本発明では、繊維シートの反射特性を複数のレイヤーごとに分けて取り扱い、この繊維シートを張り付けた仮想物体の各部からの反射光強度を演算する際に、当該各部の曲率(広義の曲率でも、狭義の曲率でもどちらでもよい。)に応じて定まる所定比率で各レイヤーごとの反射特性の合成を行うようにし、繊維の質感が十分に表現された二次元画像を生成している。その具体的手法に関しては後述する。
<<< §2.本発明の基本概念 >>>
本発明の最も重要な特徴は、パイル地など、曲率に応じて反射特性に変化が生じる繊維シートの擬似的な取り扱いにある。本来、パイル地などの実際の繊維シートは、三次元の構造体である。たとえば、図5の上段に示す図は、パイル地からなる繊維シート61の一例の構造を示す側面図である。図示の例の場合、繊維シート61は、上部レイヤーL1と下部レイヤーL2とによって構成されている。下部レイヤーL2は下地となる布地であり、上部レイヤーL1は、この下地に植毛された多数のパイルからなる。したがって、レンダリング処理を行う上で、この繊維シート61自身を三次元の構造体として取り扱うようにすれば、非常に精度の高い二次元投影画像を得ることができる。しかしながら、繊維シート61を張り付ける対象となる物体が三次元構造体である上に、更に、繊維シート61自身も三次元構造体として取り扱うようにすれば、レンダリング処理の演算負担は極めて大きくなる。
そこで、本発明では、レンダリング処理を行う際には、繊維シート61をあくまでも二次元のシートとして取り扱うようにし、演算負担をできるだけ軽減できるようにしている。ただ、パイル地のように、曲率に応じて反射特性に変化が生じる繊維シートを三次元物体にマッピングする場合、レンダリング時に、曲率に応じた反射特性が反映されるように、何らかの工夫が必要になる。本発明では、その工夫として、繊維シート61を複数のレイヤーとして取り扱い、個々のレイヤーごとに反射特性を示すデータを用意しておくようにし、かつ、曲率に応じて定まる所定比率で各レイヤーごとの反射特性の合成を行うようにしている。
たとえば、図5に示す例の場合、繊維シート61は、上部レイヤーL1と下部レイヤーL2とによって構成されているので、この2つのレイヤーの画像をそれぞれ別個に分けて取り扱うようにすればよい。図5の下段には、上部レイヤーL1のレイヤーデータLD1と、下部レイヤーL2のレイヤーデータLD2とを、それぞれ別個に用意した例が示されている。これらのレイヤーデータLD1,LD2は、いずれもuv二次元座標系上に定義された画像データであり、各レイヤーごとの反射特性を示すデータである。ここでは、説明の便宜上、レイヤーデータLD1がハート型の絵柄をもった画像を示すデータであり、レイヤーデータLD2が格子模様の絵柄をもった画像を示すデータである場合が例示されている。実際には、これらのレイヤーデータは、カラー画像データとして用意されることになる。
このようなレイヤーデータD1,D2は、たとえば、各レイヤーを写真撮影することにより得ることができる。各レイヤーに白色照明光を照射した状態で、各レイヤーのカラー写真を撮影すれば、当該カラー写真を構成する三原色RGBの各画素値は、個々の画素位置におけるRGB各色の波長の光の反射特性を示すデータということになる。
具体的には、レイヤーデータLD1については、上部レイヤーL1を上方から写真撮影すれば得ることができる。図5の上段に示すように、繊維シート61を平面上に置いた状態で、これを上方から観察したときに、上部レイヤーL1のみが観察され、下部レイヤーL2が全く露出しないのであれば、この状態で繊維シート61を上方から撮影した画像を、そのままレイヤーデータLD1として利用することができる。もし、この状態で、下部レイヤーL2の一部が透けて見えるようであれば、図5の中段左に示すように、何らかの方法で下部レイヤーL2を除去し、上部レイヤーL1のみを上方から撮影した画像を、レイヤーデータLD1として利用すればよい。
一方、レイヤーデータLD2については、、図5の中段右に示すように、何らかの方法で上部レイヤーL1を除去し、下部レイヤーL2のみを上方から撮影した画像を、レイヤーデータLD2として利用すればよい。既製の繊維シート61から上部レイヤーL1を除去するのが困難な場合には、この繊維シート61の製造工場から、上部レイヤーL1となるべきパイルを植毛する工程前の段階の下部レイヤーL2を取り寄せ、これを上方から撮影すればよい。
ここで、各レイヤーごとの可視割合と曲率との関係を、図6を参照しながら考えてみよう。図6(a) 〜(d) は、図5の上段に示す繊維シート61を様々な曲率で湾曲させた状態を示す側面図である。図4に示す例のように、繊維シート61を円柱側面に張り付けたときの曲率σを、当該円柱の半径rの逆数1/rと定義したとすれば、図6(a) に示すように、繊維シート61が平面上に張り付けられている場合は、曲率σ1=0ということになり、図6(b) ,(c) に示すように、円柱側面に張り付けられている場合は、曲率σ2,σ3は、それぞれの円柱の半径の逆数になる。また、図6(b) ,(c) に示すように、上に凸となるように円柱の外面に張り付けられている場合の曲率を正の数値で表し、図6(d) に示すように、下に凸となるように円柱の内面に張り付けられている場合の曲率を負の数値で表すことにすると、曲率σ2,σ3は正の値として定義されるのに対して、曲率σ4は負の値として定義されることになる。
ここで重要な点は、同じ繊維シート61を上方から観察した場合でも、曲率の値に応じて、各レイヤーの可視割合が異なってくるという点である。たとえば、図6(a) のように、曲率がσ1(=0)の場合、上部レイヤーL1の可視割合が100%、下部レイヤーL2の可視割合が0%であったものとしよう。これは、繊維シート61を、図6(a) に示すように平面上に張り付けた状態において、上方から観察すると、下部レイヤーL2は、上部レイヤーL1の陰に隠れて全く見えない状態であることを意味する。
ところが、図6(b) のように、曲率がσ2になると、繊維シート61は、上に凸の湾曲面に張り付けられるため、個々のパイルの間隔が広がり、パイル間に隙間が生じるようになる。このため、この繊維シート61を上方から観察すると、パイル間の隙間から、下部レイヤーL2の一部が露出するようになる。この露出割合が20%であったとすれば、図示のとおり、上部レイヤーL1の可視割合が80%、下部レイヤーL2の可視割合が20%ということになる。湾曲の度合いが更に高くなり、図6(c) のように、曲率がσ3になると、個々のパイル間の隙間は更に広がることになり、図示の例では、上部レイヤーL1の可視割合が70%、下部レイヤーL2の可視割合が30%になっている。
一方、図6(d) のように、曲率が負の値をとるσ4になると、繊維シート61は、下に凸の湾曲面に張り付けられるため、個々のパイルは圧搾状態となり、パイル間に隙間は全く生じなくなる。このため、図6(a) の状態と同様に、上部レイヤーL1の可視割合が100%、下部レイヤーL2の可視割合が0%ということになる。すなわち、上方から観察すると、下部レイヤーL2は、上部レイヤーL1の陰に隠れて全く見えない状態になる。
このような可視割合は、繊維シート61の構造をデータとして用意し、コンピュータシミュレーションを行うことにより求めることができる。すなわち、コンピュータに、繊維シート構造体の形状データを入力し、この形状データに基づいて、繊維シートを種々の曲率で曲げた状態をシミュレートし、種々の曲率についての各レイヤーごとの可視割合を示す可視割合情報を作成する処理を行えばよい。図7は、このようなシミュレーションの一実施例を示す側面図である。実在の繊維シート61は、三次元の構造体であるが、ここに示す実施例では、これを側面から見た幾何学的な解析を行うことにより、二次元平面上でのシミュレーションにより可視割合を演算している。
また、上部レイヤーL1を構成する個々のパイルは、実際には多数の糸から構成されているが、この実施例では、図7(a) に示すように、側面から見たときの輪郭線のみのデータを用意して解析を行っており、しかも近似的に多角形の輪郭線(図では、こん棒のような形状となっている)に置き換えて解析を行っている。一方、下部レイヤーL2は、単なる線分(図では太線で示す)として取り扱っており、個々のパイル(こん棒型の多角形)が、この太線に対して常に垂直になるように植毛されているという前提でシミュレーションを行っている。
可視割合としては、この繊維シート61を垂直上方から観察した場合の値を算出している。すなわち、繊維シート61を垂直上方から観察したときに、視野に入る上部レイヤーL1と下部レイヤーL2との比率を可視割合として算出する。具体的には、図7(a) に示すように、下部レイヤーL2の上方に所定距離おいて平行となるように配置された投影線分Pを定義し、この投影線分P上の各点を垂直下方へと伸ばし、上部レイヤーL1を構成する個々のパイル(こん棒型の多角形)に衝突するか、もしくは、下部レイヤーL2(太線)まで到達するか、を判定すればよい。個々の多角形に衝突する割合が上部レイヤーL1の可視割合であり、太線まで到達する割合が下部レイヤーL2の可視割合ということになる。
図7(a) に示す例では、繊維シート61を上方から観察しても、下部レイヤーL2は、上部レイヤーL1の陰になって全く見えない状態なので、上部レイヤーL1の可視割合が100%、下部レイヤーL2の可視割合が0%という結果が得られる。また、図7(b) に示すように、繊維シート61を下に凸となるように湾曲させた場合(負の曲率をシミュレートした場合)も、上部レイヤーL1の可視割合が100%、下部レイヤーL2の可視割合が0%という結果が得られる。これに対して、図7(c) に示すように、繊維シート61を上に凸となるように湾曲させた場合(正の曲率をシミュレートした場合)は、下部レイヤーL2の一部が、上部レイヤーL1の隙間から見えることになるので(図にグレーで示す部分)、たとえば、上部レイヤーL1の可視割合が70%、下部レイヤーL2の可視割合が30%というような結果が得られることになる。もちろん、湾曲状態(曲率)が変われば、可視割合も変わってくる。
繊維シート61の湾曲状態のシミュレーションは、レイヤーL2を示す線分を所定半径の円弧とし、レイヤーL1を構成する個々のパイル(こん棒型の多角形)を、個々の植毛位置において、この円弧状線分に対して垂直になるように描画することにより行うことができる。円弧の半径を様々に変化させてシミュレーションを行えば、様々な曲率について、可視割合を求めることができる。
結局、このシミュレーションは、繊維シート構造体をレイヤー面(シートを平面上においたときの当該平面に平行な面)に対して垂直上方に投影し、隠面処理を施したときに、投影面上に現れるレイヤーごとの面積比に基づいて可視割合を決定する処理と言うことができる。
図8は、このようなシミュレーションの結果として得られた可視割合情報の一例を示すテーブルである。曲率σは、レイヤーL2を示す円弧状線分の半径rの逆数として定義されている(単位は、たとえば、1/cm)。図示の結果では、曲率σが0もしくは負の値をとる場合(図7(a) および図7(b) のような場合)は、いずれも、上部レイヤーL1の可視割合が100%、下部レイヤーL2の可視割合が0%という結果となっている。これに対して、曲率σが正の値をとる場合(図7(c) のような場合)は、曲率σが大きくなればなるほど、上部レイヤーL1の可視割合が低下し、下部レイヤーL2の可視割合が増加する結果が得られている。
以上、図7を参照して、可視割合を単純な二次元モデル(側面から見たときの個々のパイルの輪郭線のみのデータを用意して解析を行うモデル)を利用してシミュレートする例を述べたが、もちろん、より複雑な三次元モデルを用いたシミュレーションを行うことも可能である。すなわち、図7に示す二次元モデルでは、各パイルを厚みをもたない幾何学的な多角形として取り扱っているが、たとえば、各パイルを所定の厚みをもった板として取り扱い、図の奥行き方向に、このような板が所定ピッチで配置されている三次元モデルを定義すれば、三次元的なシミュレーションが可能になる。
また、二次元モデルのシミュレーションでは、曲率は向きのファクターをもたない値(狭義の曲率)として定義せざるを得ないが、三次元モデルのシミュレーションでは、曲率を向きのファクターをもった値(狭義の曲率σと曲率角度ξとの組み合わせで定義される広義の曲率)として定義することが可能になる。このように、曲率をσとξとの組み合わせで定義した場合、種々のσおよびξの組み合わせごとにシミュレーションを行い、個々の組み合わせごとにそれぞれ各レイヤーの可視割合が求められるので、たとえば、図9に示すような可視割合情報が得られることになる。
あるいは、シミュレーションを行う代わりに、実在の繊維シート61を用意し、これを円柱側面を有する実在の物体に張り付け、各レイヤーごとの可視割合を実測することも可能である。たとえば、黒く染色したパイルを上部レイヤーL1として、白く染色した下地となる下部レイヤーL2に多数植毛した実在の繊維シート61を用意し、この繊維シート61を様々な半径値をもつ円柱状物体に張り付け、それぞれ写真撮影すれば、撮影画像の濃度値として、各レイヤーごとの可視割合を実測することが可能である。具体的には、撮影画像の濃度値が真っ黒を示すものであれば、上部レイヤーL1の可視割合が100%、下部レイヤーL2の可視割合が0%という結果を示すことになり、撮影画像の濃度値が真っ白を示すものであれば、上部レイヤーL1の可視割合が0%、下部レイヤーL2の可視割合が100%という結果を示すことになり、撮影画像の濃度値がグレーを示すものであれば、その中間の可視割合を示すことになる。
また、図8,図9に示す例では、可視割合情報として、各レイヤーごとの可視割合を示すテーブルを用意したが、このようなテーブルが、何らかの幾何学的な演算によって導出されるようであれば、そのような演算を行うための数式として可視割合情報を用意することも可能である。たとえば、各レイヤーの可視割合を、f(σ,ξ)という関数で表すことが可能であれば、この関数を可視割合情報として用いることが可能である。
さて、以上述べた手順により、結局、1つの繊維シート61について、図5の下段に示すように、上部レイヤーL1のレイヤーデータLD1と、下部レイヤーL2のレイヤーデータLD2とが、それぞれ別個のカラー画像データとして用意され(これらのカラー画像データは、各レイヤーの反射特性を示す二次元データということになる)、また、図8に示すように(曲率角度ξを考慮する場合には、図9に示すように)、各レイヤーごとの可視割合を示す可視割合情報が用意される。本発明では、これらの情報を利用して、レンダリング処理を行うことになる。以下に、その基本概念を示す。
一般的なレンダリング処理の基本概念は、既に図3の斜視図を用いて説明したとおりであり、仮想物体50上に仮想繊維シート60の画像データ(uv二次元座標系上での反射特性データ)をマッピングすることにより、サンプル点Qの反射特性を求め、サンプル点Qから視点Eに向かう反射光Vの強度に応じた画素値をもつ画素Pを定義する、というものである。本発明では、このレンダリング処理を、各レイヤーごとのレイヤーデータLD1,LD2と、各レイヤーごとの可視割合を示す可視割合情報とを用いて行うことになる。
図10は、本発明におけるレンダリング処理の基本原理を示す斜視図である。このレンダリング処理において、照明条件、視点位置、投影平面を設定する点は、図3に示す従来の一般的なレンダリング処理と全く同様である。また、仮想物体50上の所定のサンプル点Qの反射特性を求め、このサンプル点Qから視点に向かう反射光強度を求める点も、従来の方法と全く同様である。本発明におけるレンダリング処理の特徴は、サンプル点Qの反射特性を、各レイヤーごとのレイヤーデータLD1,LD2によって示される反射特性を合成することによって決定する点にある。
たとえば、図示の例の場合、uv二次元座標系上に定義されている2種類のレイヤーデータLD1,LD2(反射特性を示す画素値をもった画素の集合からなる二次元画像データ)が、仮想物体50上の所定位置にマッピングされることになる。ここでは、レイヤーデータLD1で示される画像上のサンプル点Qに対応する対応点をQ1、レイヤーデータLD2で示される画像上のサンプル点Qに対応する対応点をQ2と呼ぶことにする。この場合、サンプル点Qの反射特性は、対応点Q1の画素値P(Q1)と対応点Q2の画素値P(Q2)とを合成することにより決定される。このとき、両者の合成比率を、サンプル点Q近傍の仮想物体50表面の曲率に基づいて決定するようにする。
具体的には、サンプル点Qの曲率がσ=1/10であったとすれば、予め用意してあった図8に示すような可視割合情報を参照することにより、上部レイヤーL1の可視割合が70%、下部レイヤーL2の可視割合が30%というように決定できる。そこで、対応点Q1の画素値P(Q1)と対応点Q2の画素値P(Q2)とを合成することにより、サンプル点Qの反射特性を決定すればよい。たとえば、サンプル点Qの反射特性は、画素値P(Q1)と画素値P(Q2)とを、70%および30%の重みづけで合成し、
0.7×P(Q1)+0.3×P(Q2)
なる式で求めることができる。
結局、サンプル点Qの反射特性は、図5の下段に示すような2枚の画像(LD1,LD2)のサンプル点Qに対応する位置の画素値を、サンプル点Qの曲率に対応する可視割合に応じた重みづけで合成することにより得られることになる。このような取り扱いは、各レイヤーの可視割合が、図7に示すようなシミュレーションによって決定されたことを考慮すれば、理にかなっていることが理解できよう。たとえば、図7(c) に示す例では、投影線分P上の70%の領域に上部レイヤーL1が投影され、投影線分P上の30%の領域に下部レイヤーL2が投影されているので、投影線分Pを1つの画素と考えた場合、当該画素の画素値は、上部レイヤーL1の画素値と下部レイヤーL2の画素値とを70%:30%の比率で合成することにより得られる。
なお、サンプル点Qにおける曲率を、向きのファクターをもった広義の曲率として求める場合は、2つのパラメータσおよびξによって曲率が示されることになるので、図8に示す可視割合情報テーブルの代わりに、図9に示す可視割合情報テーブルを用いて、各レイヤーの可視割合を決定すればよい。
以上、図10を参照しながら本発明の基本原理に係る画素値の合成手法を説明したが、このような合成手法が物理的な意味もつのは、レンダリング処理により得られる二次元画像(図3において、投影平面M上に得られる投影画像)の解像度が、繊維シート上の個々のパイルの解像度よりもある程度小さい場合ということになる。すなわち、図3の投影平面M上に得られる投影画像の1つの画素の幅が、図7に示す投影線分Pと同程度の幅であれば、2つの異なるレイヤーの画素値を70%:30%の比率で合成するという上述の合成手法は意味をもつことになるが、たとえば、1つの画素の幅が、図7に示す投影線分Pの1/10程度の幅となってしまうと、当該画素の画素値を、2つの異なるレイヤーの画素値の合成で求めるという手法の物理的な意味は失われてしまう。したがって、本発明は、パイル1本1本の形状が肉眼で確認できるような高精細な二次元画像を得るためのレンダリング手法としては不適切である。
<<< §3.本発明に係る二次元画像生成方法の基本手順 >>>
続いて、本発明に係る二次元画像生成方法の基本手順を、図11の流れ図を参照しながら説明する。この手順の目的は、物体の三次元データに基づいて、当該物体の表面に繊維シートを張り付け、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成することにある。ここでは、便宜上、ソファの写真を、CGを用いて作成する場合を例にとって説明を行う。なお、この図11に示す手順は、すべてコンピュータによって実行される手順である。
この手順を実行する上で、必要になるものは、ソファ本体の三次元データと、これに張り付ける繊維シートに関する情報である。ここでは、木材やクッション素材などを組み合わせて構成されたソファ本体の表面に、パイル地からなる繊維シートを張り付けてソファを構成するものとし、当該ソファの製品カタログに掲載する画像をCGで作成する場合を考える。この場合、ソファ本体が、CADを利用して設計されたものであれば、このソファ本体の三次元データはCADデータから流用することが可能である。一方、繊維シートであるパイル地に関する情報は、ある程度の面積をもった当該パイル地の実物サンプルが用意できれば、この実物サンプルから抽出することができる(もちろん、このパイル地が、CADを利用して設計されたものであれば、CADデータから流用することも可能である。)。
まず、図11に示すステップS1では、レイヤーデータの入力が行われる。たとえば、張り付け対象となるパイル地からなる繊維シート61が、図5の上段に示すような2つのレイヤー構造を有していた場合、図5の下段に示すように、2つのレイヤーについてのレイヤーデータLD1,LD2が用意され、コンピュータに入力される。これらのレイヤーデータLD1,LD2は、§2で述べたとおり、各レイヤーごとの反射特性を示す画像データである。
なお、図5には、2つのレイヤーを有する繊維シート61の例を示したが、本発明では、繊維シートを必ずしも2つのレイヤーとして取り扱う必要はなく、3つ以上のレイヤーとして取り扱うことも可能である。したがって、ステップS1の手順は、張り付け対象となる仮想の繊維シートを構成する複数m枚の各レイヤーごとの反射特性を示すm通りのレイヤーデータをコンピュータに入力する処理ということができる。
続くステップS2では、張り付け対象となる繊維シートを種々の曲率で曲げた状態における各レイヤーごとの可視割合を示す可視割合情報をコンピュータに入力する処理が行われる。たとえば、§2で説明したとおり、図8に示す可視割合情報(曲率σのみを考慮した情報)もしくは図9に示す可視割合情報(曲率σと曲率角度ξとの双方を考慮した情報)をシミュレーションにより作成し、これを入力する処理を行えばよい。
次のステップS3では、仮想物体の立体形状を示す三次元データを、コンピュータに入力する処理が行われる。ここで述べる実施例の場合、ソファ本体の三次元データが仮想物体の立体形状を示すデータとして、XYZ三次元座標系上に入力されることになる。前述したとおり、ソファ本体の三次元データは、設計に用いたCADデータを流用することにより、比較的容易に作成することができる。
通常、このような三次元データは、ポリゴンの集合体を示すデータもしくはパラメトリック曲面(関数式とパラメータ値で示される曲面)の集合体を示すデータによって構成される。また、このステップS3のデータ入力段階では、仮想物体に対する繊維シートの張り付け向きに関する情報を併せて入力するようにする。すなわち、ソファ本体にパイル地を張り付けるときに、ソファ本体の各面のどの方向に、パイル地の基準方向線Wを向けて張り付けるか、という情報を入力しておくようにする。
次に、ステップS4において、レンダリングを行うための投影条件の設定を行う。ここで言う投影条件とは、図3に示すように、仮想物体50の投影画像55を投影平面M上に得るための条件であり、照明条件、視点位置、投影平面という3要素からなる。ここで、照明条件としては、XYZ三次元座標系上において、光源の形状、大きさ、波長特性、位置が設定される。同様に、視点Eの位置および投影平面Mの位置もXYZ三次元座標系上に設定される。なお、図3に示すとおり、投影平面M上には、投影画像55を得るためのxy二次元座標系が定義される。
以上でレンダリング処理の準備は完了である。続くステップS5〜S9の処理は、実際のレンダリング処理を行う手順であり、投影平面M上のxy二次元座標系上に定義された1画素ごとに、それぞれ画素値を定義する処理を繰り返し実行することになる。まず、ステップS5において、仮想物体50の表面上に1つのサンプル点Qを定義する。具体的には、予め投影平面M上に所望の解像度で画素配列を定義しておき、視点Eと1つの画素Pの代表点(たとえば、中心位置)とを結ぶ線を仮想物体50上へと伸ばし、仮想物体表面との交点位置にサンプル点Qを定義すればよい。
続いて、ステップS6では、このサンプル点Qの位置について、仮想物体50の表面の曲率σを求める演算が行われる。仮想物体50が、ポリゴンの集合体からなる三次元データとして入力された場合であっても、パラメトリック曲面の集合体からなる三次元データとして入力された場合であっても、任意のサンプル点Qの近傍における物体表面の形状は定義されているので、その位置における曲率σを演算で求めることが可能である。
ここでは、サンプル点Qの位置についての仮想物体50の表面の曲率σを求める方法の簡単な一例を述べておく。たとえば、図12の斜視図に示されているように、仮想物体50上の1点Qの位置における曲率を求めることを考える。この場合、まず、この仮想物体50をサンプル点Qを含む所定面で切断する。図では、この切断面をハッチングを施して示してある。切断面は、たとえば、所定の基準平面を予め定めておき、サンプル点Qを通り、この基準平面に平行な面として定義すればよい。基準平面は、たとえば、ステップS3で仮想物体50の物体データを入力する際に、「物体の特定面」としてオペレータに指定させるようにしてもよいし、「XYZ三次元座標系におけるYZ平面」というように一義的に定めておいてもよい。
次に、この切断面上に現れる仮想物体50の輪郭線56を抽出し、この輪郭線56のサンプル点Q近傍の曲率を求め、これをサンプル点Qの曲率とする。図13は、輪郭線56のサンプル点Q近傍の曲率を定義する一方法を示す平面図である。この方法では、まず、輪郭線56上のサンプル点Qの両側に、サンプル点Qから輪郭線56に沿って等距離にある2点QL,QRを定義する。すなわち、輪郭線56に沿った2点Q/QL間の距離と2点Q/QR間の距離は等しい。次に、この切断面上において、点QLにおける輪郭線56の接線TLと、点QRにおける輪郭線56の接線TRとを求め、各接線TL,TRに直交する線(図に一点鎖線で示す)を引いて、両者の交点QQを求める。最後に、サンプル点Qと交点QQとの距離rを求め、その逆数1/rを、サンプル点Qについての曲率σとする。
このような方法を用いれば、仮想物体50上の任意のサンプル点Qについて、所定の曲率σを決定することができる。もっとも、この方法では、向きのファクターをもたない狭義の曲率を求めることしかできない。任意のサンプル点について向きのファクター(曲率角度ξ)をもった広義の曲率を求める方法については、§5で詳述する。
こうして、サンプル点Qについて、曲率が求まったら、続いて、ステップS7において、当該サンプル点Qからの反射光強度演算を行う。すなわち、ステップS4で設定した投影条件により、図3に示すようなシェーディングモデルが定義できるので、このモデルにおいて、サンプル点Qから視点Eに向かう反射光Vの強度を求める演算を行うことになる。その基本原理は、図10を用いて説明したとおりである。すなわち、従来の一般的なレンダリングの手法を図3に示すモデルに適用した場合、サンプル点Qから視点Eに向かう反射光Vの強度に影響を与える因子は、照明光Lの強度、サンプル点Qの近傍における物体表面の傾き、繊維シート60を張り付けたときのサンプル点Qの位置にマッピングされる反射特性といった因子になるが、本発明の場合、サンプル点Qの位置にマッピングされる反射特性が各レイヤーごとに用意されているので、ステップS6で求めたサンプル点Qの位置の曲率に応じて、ステップS2で入力した可視割合情報を参照し、当該曲率に応じた可視割合を求め、各レイヤーの反射特性をこの可視割合に応じて合成することにより、サンプル点Qの反射特性を決定することになる。
図14は、図11に示すステップS7の反射光強度演算のより詳細な手順を示す流れ図である。この反射光強度演算は、繊維シートを仮想物体の表面に張り付けた場合に、個々のサンプル点から視点位置に向かう反射光の強度を求める演算であり、1つのサンプル点からの反射光強度を演算する際に、図示のとおり、3つのステップS71,S72,S73を実行することになる。
まず、第1のステップS71では、可視割合情報を参照して当該サンプル点Qの位置における曲率に対応する各レイヤーごとの可視割合が求められる。たとえば、図10に示す例の場合、図11の流れ図におけるステップS6により、サンプル点Qの位置における曲率がσ=1/10として求められているので、ステップS71では、たとえば、図8に示す可視割合情報(既に、ステップS2において入力されている)を参照することにより、当該サンプル点Qについての可視割合が、L1:70%、L2:30%と求められる。
なお、ステップS2の可視割合情報入力段階において、図8に示す可視割合テーブルのような離散的に定義された複数の曲率ごとの可視割合情報が入力されている場合には、ステップS6の曲率演算段階で求められたサンプル点Qについての曲率にちょうど一致する曲率が、可視割合テーブル上に掲載されていない場合がある。このような場合には、サンプル点Qについての曲率に対応する可視割合を、離散的な曲率について定義されている可視割合を補間することによって求めるようにすればよい。
たとえば、サンプル点Qについての曲率がσ=1/20であった場合、図8のテーブルにおけるσ=1/30に対応する可視割合と、σ=1/10に対応する可視割合との中間的な割合を補間値として求めればよい。補間方法は種々の方法をとることができるが、たとえば、曲率σの逆数をとった線形補間を行うのであれば、サンプル点Qについての曲率の逆数20は、σ=1/30の逆数30と、σ=1/10の逆数10との中間点となるので、補間によって得られる可視割合は、L1:75%、L2:25%ということになる。
続いて、第2のステップS72では、当該サンプル点Qの位置における反射特性を、m通りのレイヤーデータの反射特性を第1のステップS71で求めた可視割合に応じて合成することにより求める処理が行われる。図10に示す例の場合は、m=2であり、2通りのレイヤーデータLD1,LD2として、各レイヤーごとの反射特性が用意されている。しかも、これらのレイヤーデータは、図11の流れ図におけるステップS1で既に入力されている。そこで、ステップS72では、図10に示されているとおり、レイヤーデータLD1の対応点Q1の位置の反射特性(画素値P(Q1))と、レイヤーデータLD2の対応点Q2の位置の反射特性(画素値P(Q2))とを、70:30の割合で合成することにより、サンプル点Qの位置における反射特性を求める演算が行われる。具体的には、サンプル点Qの位置における反射特性は、
0.7×P(Q1)+0.3×P(Q2)
なる演算によって求められる。
最後の第3のステップS73では、第2のステップS72で求めた反射特性に基づいて、当該サンプル点Qから視点Eに向かう反射光の強度が求められる。これは、従来の一般的なレンダリングの手法と同様の演算処理であり、照明光Lの強度、サンプル点Qの近傍における物体表面の傾きといった因子を考慮して、反射光強度が演算されることになる。
こうして、図11のステップS7において、1つのサンプル点Qから視点Eに向かう反射光Vの強度を求める演算が完了したら、続くステップS8において、1つの画素の定義が行われる。すなわち、このサンプル点Qからの反射光Vと投影平面Mとの交点位置に、当該反射光Vの強度に応じた画素値をもつ画素Pが定義される。カラー画像を取り扱う場合、前述したとおり、各レイヤーデータLD1,LD2は、三原色RGBのそれぞれについての反射特性を示すデータとなっているので、ステップS7における反射光Vの強度演算も各色成分ごとに行うことができる。したがって、ステップS8では、三原色RGBのそれぞれについて所定の画素値をもった画素を定義することができる。
こうして、ステップS5〜S8の手順を経ることにより、投影平面M上の1つの画素Pの画素値が定義できる。そこで、ステップS9から再びステップS5へと戻る処理を、必要な全画素が定義されるまで繰り返し実行する。そして、最後に、ステップS10において、多数のサンプル点について定義された多数の画素の集合により、仮想物体50の投影画像55を示す二次元投影データを生成する処理が行われ、必要に応じて、生成した二次元データがコンピュータから出力されることになる。
なお、曲率として、向きのファクターをもった広義の曲率を用いる場合には、ステップS2の可視割合情報入力段階において、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力する。具体的には、前述したように、円柱側面に繊維シートを所定の向きに張り付けた状態における各レイヤーごとの可視割合を定義し、円柱の半径の逆数を用いて曲率σを定義し、円柱の中心軸を半径方向に投影することにより円柱側面上に得られる投影線と繊維シートの基準方向線とのなす角ξを当該曲率σについての曲率角度と定義し、個々の曲率σおよび個々の曲率角度ξの各組み合わせに対応する各レイヤーごとの可視割合を示す可視割合情報(たとえば、図9に示すようなテーブル)を入力すればよい。
また、ステップS3の物体データ入力段階では、仮想物体に対する繊維シートの張り付け向きに関する情報(たとえば、繊維シートの基準方向線の向きに関する情報)を併せて入力するようにする。そして、ステップS6の曲率演算段階では、ステップS3で入力した繊維シートの張り付け向きに関する情報を参照することにより、サンプル点Qについて向きのファクターをもった曲率を求めるようにする。具体的には、曲率σおよびこの曲率σに応じた湾曲方向と基準方向線とのずれを示す曲率角度ξを求めればよい(具体的手法は、§5で述べる)。
そうすれば、反射光強度演算段階の第1のステップS71では、向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を求めることができる。具体的には、曲率σおよび曲率角度ξの組み合わせに対応する各レイヤーごとの可視割合を求めることができる。たとえば、ステップS6の曲率演算段階で、サンプル点Qについて向きのファクターをもった曲率が、σ=1/30,ξ=20°なる数値で求まったとすれば、ステップS71では、図9のテーブルにおけるξ=20°、σ=1/30の欄を参照することにより、向きのファクターをもった曲率に対応する各レイヤーごとの可視割合が得られる。
このように、図11に示す手順は、基本的には、従来の一般的なレンダリングの手法に従うものであり、図3に示すような一般的なシェーディングモデルを基礎とするものである。ただ、ステップS1において、複数のレイヤーについて、それぞれの反射特性を示すレイヤーデータを入力し、ステップS2において、可視割合情報を入力し、ステップS6において、サンプル点の曲率を演算し、ステップS7において、この曲率に応じて、複数のレイヤーデータを所定の可視割合で合成して当該サンプル点の反射特性を求め、反射光強度を演算する点は、本発明に固有の手順であり、本発明の本質ともいうべき特徴的な手順になる。
既に述べたとおり、パイル地などは、表面の湾曲状態によってその見え方が変化する性質をもった繊維シートである。そのため、これらの生地を仮想物体の曲面に張り付けレンダリング処理を行うと、得られたCG画像上では、繊維の質感を十分に表現することができなかった。ところが、図11に示す本発明に係る手順でレンダリング処理を実施すると、従来の手法に比べて、繊維の質感がより忠実に表現された画像が得られるようになる。
<<< §4.様々なシェーディングモデルへの適用 >>>
ここでは、図14の流れ図に示されている反射光強度演算のより具体的な手法をいくつか述べることにする。従来から、このような反射光強度演算を行うために、種々のシェーディングモデルが提案されている。これらシェーディングモデルの多くは、仮想物体上のサンプル点(テクスチャをマッピングする場合は、マッピング後のサンプル点)に、それぞれ所定の反射特性を定義し、照明光Lと各部に定義された反射特性とに基づいて、反射光の強度を求める演算を行うものである。通常、1つのサンプル点に、複数の照明光が入射するような照明条件(複数の光源を用いた照明条件)が設定されるので、個々の光源からの入射照明光に基づいて発生する複数の反射光強度の総和として、当該サンプル点から視点へ向かう反射光の強度を演算することになる。
本発明の基本思想は、新たなシェーディングモデルの提案にあるわけではなく、1つのサンプル点についての反射光強度演算を行う際に、複数m枚のレイヤーそれぞれに定義された各反射特性を、当該サンプル点の曲率に対応した可視割合に基づいて合成し、合成された反射特性を用いて反射光強度を求める、という点にある。したがって、本発明を実施する上で、どのようなシェーディングモデルを用いるかは重要ではなく、実際、様々なシェーディングモデルに本発明を適用することが可能である。以下、従来から用いられている一般的なシェーディングモデルに本発明を適用した具体例をいくつか述べることにする。
(1) 単純なテクスチャマッピングモデル
このモデルは、テクスチャとなる二次元画像を、スキャナ装置やデジタルカメラなどを用いて入力し、反射率分布を示す反射特性データとして利用する単純なモデルであり、§2,§3で述べてきた基本的な実施形態は、この単純なテクスチャマッピングモデルを前提としたものである。
このモデルに本発明を適用するのであれば、まず、個々のレイヤーごとの二次元画像をデジタルカメラなどを用いて取り込んで、各レイヤーデータを用意し、これを図11のステップS1において入力する処理を行っておく。この場合、各レイヤーデータは、たとえば、図5の下段に示すデータLD1,LD2のように、uv二次元座標系上に定義された絵柄データT(u,v)となり、各レイヤーの反射率分布を示す反射特性データということになる。
次に、図14に示す反射光強度演算段階の第2のステップS72では、まず、サンプル点Qの位置の座標値u,vに対応する各レイヤーごとの絵柄データT(u,v)の値(反射特性)を取り出す。図10に示す例の場合、上部レイヤーデータLD1からは画素値P(Q1)が取り出され、下部レイヤーデータLD2からは画素値P(Q2)が取り出されることになる。そして、この取り出した各レイヤーごとの反射特性の値を、第1のステップS71で求めた可視割合による重みづけに応じて合成することにより、サンプル点Qの位置における反射係数kを求める。図10に示す例の場合、前述したとおり、
k=0.7×P(Q1)+0.3×P(Q2)
なる演算によって、サンプル点Qの位置における反射係数k(各レイヤーを合成した反射係数)が得られる。この反射係数kは、上部レイヤーの反射係数(画素値P(Q1))を70%考慮し、下部レイヤーの反射係数(画素値P(Q2))を30%考慮した値ということになる。
そして、図14に示す反射光強度演算段階の第3のステップでは、サンプル点Qにおける入射照明光の強度をIiとしたときに(これは、図11のステップS4で設定した投影条件によって定まる)、反射光強度Iを、反射係数kを用いて、
I=k・Ii
なる式で求めればよい。
(2) 古典的な拡散反射モデル
拡散反射モデルは、古くからレンダリング処理に利用されてきたモデルであり、サンプル点Qにおける入射照明光の強度をIi、仮想物体表面上のサンプル点Q位置に立てた法線nと入射照明光とのなす角をα、拡散反射係数をkdとしたときに、反射光強度Iを、
I=kd・Ii・cos α
なる式で求めるモデルである。ここで、古典的な拡散反射モデルの場合、拡散反射係数kdは、定数として与えられる所定の反射特性データによって定められることになる。
この古典的な拡散反射モデルを本発明に適用する場合は、まず、個々のレイヤーごとに、拡散反射係数を定める。このモデルにおける拡散反射係数は、二次元的な分布をもたないので、1つのレイヤーについて、1つの拡散反射係数を定めればよい。たとえば、図5の上段に示すように2つのレイヤーL1,L2からなる繊維シートの場合、上部レイヤーL1についての拡散反射係数kd1と、下部レイヤーL2についての拡散反射係数kd2とを決定すればよい。したがって、このモデルでは、レイヤーデータLD1=kd1、レイヤーデータLD2=kd2、というように、各レイヤーデータは、単純な数値で与えられることになり、前掲の実施形態のような絵柄データT(u,v)という形式にはならない。図11のステップS1では、各レイヤーごとの拡散反射係数kd1,kd2が、レイヤーデータとして入力されることになる。
一方、図14に示す反射光強度演算段階の第2のステップS72では、個々のレイヤーごとの拡散反射係数を第1のステップS71で求めた可視割合による重みづけに応じて合成することにより、サンプル点Qの位置における拡散反射係数kdを求めるようにする。たとえば、第1のステップS71において、サンプル点Qの位置における曲率σを求め、この曲率σに対応する2つのレイヤーL1,L2の可視割合が、L1:70%、L2:30%であったとすると、サンプル点Qの位置における拡散反射係数kdは、
kd=0.7×kd1+0.3×kd2
なる演算で求められる。
そこで、図14に示す反射光強度演算段階の第3のステップでは、サンプル点Qにおける入射照明光の強度をIi、仮想物体表面上のサンプル点Qの位置に立てた法線nと入射照明光とのなす角をαとしたときに、反射光強度Iを、
I=kd・Ii・cos α
なる式で求めるようにすればよい。
このように、古典的な拡散反射モデルには、テクスチャマッピングの概念がないので、何らかのテクスチャ模様をもった繊維シートを取り扱う場合には、この古典的な拡散反射モデルをそのまま適用することはできない。このような場合には、この古典的な拡散反射モデルに更にテクスチャマッピングモデルを組み合わせたモデルを用いるようにすればよい。具体的には、前述した単純なテクスチャマッピングモデルと同様に、各レイヤーデータLD1,LD2を、uv二次元座標系上に定義された絵柄データT(u,v)として用意し、ステップS1のレイヤーデータ入力段階では、uv二次元座標系上に定義された絵柄データT(u,v)で示される拡散反射係数をもった二次元画像を、それぞれ個々のレイヤーについてのレイヤーデータとして入力する。
一方、反射光強度演算段階の第2のステップS72では、まず、サンプル点Qの位置の座標値u,vに対応する各レイヤーごとの絵柄データT(u,v)の画素値(拡散反射係数)を取り出す。そして、これらの画素値を、第1のステップS71で求めた可視割合による重みづけに応じて合成することにより、サンプル点Qの位置における拡散反射係数kdを求めるようにすればよい。
(3) Phongの鏡面反射モデル
Phongの鏡面反射モデルは、鏡面反射の代表的なシェーディングモデルであり、サンプル点Qにおける入射照明光の強度をIi、仮想物体表面上のサンプル点Qの位置に立てた法線nと入射照明光とのなす角をα、この角度αに依存した反射係数をk(α)、鏡面反射の鋭さを示すパラメータをβ、サンプル点Qにおける鏡面反射光の射出方向と視点方向とのなす角をγとしたときに、反射光強度Iを、
I=k(α)・Ii・cos βγ
なる式で求めるモデルである。
このPhongの鏡面反射モデルを本発明に適用する場合は、まず、個々のレイヤーごとに、反射係数k(α)およびパラメータをβを定める。このモデルにおける反射係数k(α)およびパラメータβも、二次元的な分布をもたないので、1つのレイヤーについて、それぞれk(α)およびβを定めればよい。もっとも、反射係数k(α)は、角度αに依存した値になるので、何通りかの角度αの離散値に対して、それぞれ所定の係数値を定めるか、あるいは、角度αと係数kとの関数式を用意しておく必要がある。実用上は、前述したように、繊維シートの構造データを用いたコンピュータシミュレーションにより、個々のレイヤーごとの反射係数k(α)およびパラメータをβを定め、図11のステップS1において、個々のレイヤーごとのレイヤーデータとして入力すればよい。
一方、図14に示す反射光強度演算段階の第2のステップS72では、まず、仮想物体表面上のサンプル点Qの位置に立てた法線nと入射照明光とのなす角αと、サンプル点Qにおける鏡面反射光の射出方向と視点方向とのなす角γとを求める(これらは、図11のステップS4で設定した投影条件によって求まる)。そして、これらの角度α,γを用いて、各レイヤーごとの反射係数を、それぞれのレイヤーデータを参照して、
k(α)・cos βγ
なる式で求める。こうして求めた各レイヤーごとの反射係数を、第1のステップS71で求めた可視割合による重みづけに応じて合成することにより、サンプル点Qの位置における反射係数kを求めることができる。たとえば、第1のステップS71において、サンプル点Qの位置についての2つのレイヤーL1,L2の可視割合が、L1:70%、L2:30%であり、上記式によって求められた2つのレイヤーL1,L2についての反射係数が、k1,k2であったとすると、サンプル点Qの位置における反射係数kは、
k=0.7×k1+0.3×k2
なる演算で求められる。
そこで、図14に示す反射光強度演算段階の第3のステップでは、サンプル点Qにおける入射照明光の強度をIiとしたときに、反射光強度Iを、
I=k・Ii
なる式で求めるようにすればよい。
なお、このPhongの鏡面反射モデルを利用するにあたって、実用上は、角度αに依存した反射係数k(α)を用いる代わりに、角度αに依存しない反射係数ksを用い、反射光強度Iを、
I=ks・Ii・cos βγ
なる式で求める場合も少なくない。この場合は、各レイヤーごとのレイヤーデータを、角度αに依存しない反射係数ksおよびパラメータβによって構成し、第2のステップS72において、各レイヤーごとの反射係数を、それぞれのレイヤーデータを参照して、
ks・cos βγ
なる式で求めるようにすればよい。
また、このPhongの鏡面反射モデルにも、テクスチャマッピングの概念がないので、何らかのテクスチャ模様をもった繊維シートを取り扱う場合には、このモデルに、更にテクスチャマッピングモデルを組み合わせて用いるようにすればよい。具体的には、前述した単純なテクスチャマッピングモデルと同様に、各レイヤーデータLD1,LD2を、uv二次元座標系上に定義された絵柄データT(u,v)として用意し、ステップS1のレイヤーデータ入力段階では、uv二次元座標系上に定義された絵柄データT(u,v)として、個々のレイヤーについてのレイヤーデータを入力する。この場合、この絵柄データT(u,v)の個々の画素について、それぞれ反射係数k(α)およびパラメータβ(もしくは、k(α)の代わりにks)が定義されることになる。
そして、反射光強度演算段階の第2のステップS72では、まず、サンプル点Qの位置の座標値u,vに対応する各レイヤーごとの絵柄データT(u,v)の画素について定義されている反射係数k(α)(もしくはks)およびパラメータβを取り出し、上記式により各レイヤーごとの反射係数を求めるようにすればよい。
(4) BRDFモデル
上述した古典的な拡散反射モデルやPhongの鏡面反射モデルでは、サンプル点Qの反射特性が、照明光の入射角や反射光の反射角に依存しないものとして取り扱っているが、パイル地のような三次元構造をもった繊維シートの場合、厳密には、照明光の入射角や反射光の反射角に依存した異方性反射の特性を考慮した取り扱いをしなければならない。このような取り扱いを行うモデルとして、BRDF(Bi-directional Reflection Distribution Function)と呼ばれるモデルが提案されている。
図15は、このBRDFモデルの原理を説明するための斜視図である。図示のとおり、仮想物体表面上のサンプル点Qの位置に法線nを立て、サンプル点Qを含み、法線nに直交する直交平面Sを定義する。そして、法線nと入射照明光Lとのなす角をθL、直交平面S上への入射照明光Lの投影像L′とこの直交平面S上のサンプル点Qを通る所定の基準線ζとのなす角度をφLとし、入射照明光Lの向きを角度θLおよび角度φLの組み合わせで定義する。同様に、法線nと反射光Vとのなす角をθV、直交平面S上への反射光Vの投影像V′と基準線ζとのなす角度をφVとし、反射光Vの向きを角度θVおよび角度φVの組み合わせで定義する。そして、サンプル点Qにおける入射照明光Lの強度をIiとしたとき、サンプル点Qからの反射光Vの強度Iを、θL,φL,θV,φVの関数として与えられる反射係数kbを用いて、
I=kb・Ii
なる式で求めるのである。このように、BRDFモデルの特徴は、反射係数kbを、入射照明光Lの向きを示すパラメータ「θL,φL」および反射光Vの向きを示すパラメータ「θV,φV」の関数として与える点にある。
このBRDFモデルを本発明に適用する場合は、次のようにすればよい。まず、図11のステップS1におけるレイヤーデータ入力段階において、図15に示す例と同様に、各レイヤー上に角度の定義を行う。すなわち、レイヤー上の所定点を点Qとして、レイヤー面の所定点Qに立てた法線nと照明光Lとのなす角をθL、レイヤー面上への照明光Lの投影像L′とレイヤー面上の所定点Qを通る基準線ζとのなす角度をφL、法線nと反射光Vとのなす角度をθV、レイヤー面上への反射光Vの投影像V′と基準線ζとのなす角度をφVと定義する。そして、「θL,φL,θV,φV」の関数として与えられる反射係数kb(θL,φL,θV,φV)を各レイヤーごとのレイヤーデータとして用意し、これをステップS1で入力する。
たとえば、図5の上段に示すように、上部レイヤーL1と下部レイヤーL2との2つのレイヤーからなる繊維シートの場合、上部レイヤーL1についての反射係数kb1が、4つの変数「θL,φL,θV,φV」を用いたkb1(θL,φL,θV,φV)なる関数の形で定義され、下部レイヤーL2についての反射係数kb2が、同じく4つの変数「θL,φL,θV,φV」を用いたkb2(θL,φL,θV,φV)なる関数の形で定義される。ステップS1のレイヤーデータ入力段階で入力される各レイヤーごとのレイヤーデータとは、結局、これらの関数kb1(θL,φL,θV,φV),kb2(θL,φL,θV,φV)ということになる。これらの関数は、数式として与えることも可能であるが、実用上は、「θL,φL,θV,φV」という4次元の変数をもったテーブルとして用意するのが好ましい。このようなテーブルは、繊維シートの構造データを利用したコンピュータシミュレーションによって求めることもできるし、実在の繊維シートの各レイヤーを利用した実測により求めることもできる。
一方、ステップS2の可視割合情報入力段階では、「曲率,θL,φL,θV,φV」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す可視割合情報を入力する。ここでの「曲率」は、向きのファクターをもった広義の曲率であり、前述の実施形態の場合、狭義の曲率σと曲率角度ξとで定義される。そこで、以下、この広義の曲率を、曲率σおよび曲率角度ξとして取り扱った場合の例を述べることにする(もちろん、向きのファクターをもった広義の曲率は、必ずしも、曲率σおよび曲率角度ξによって定義しなくてはならないものではない)。したがって、ステップS2で入力される可視割合情報は、「σ,ξ,θL,φL,θV,φV」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す情報ということになる。実用上は、この可視割合情報は、「σ,ξ,θL,φL,θV,φV」という6次元の変数をもったテーブルとして用意するのが好ましい。なお、このような可視割合を示す情報も、繊維シートの構造データを利用したコンピュータシミュレーションによって求めることもできるし、実在の繊維シートの各レイヤーを利用した実測により求めることもできる。
次に、図14に示す反射光強度演算段階の第1のステップS71では、まず、仮想物体表面上のサンプル点Qの位置について、図15に示す角度θL,φL,θV,φVをそれぞれ定義する。このとき、サンプル点Qについての入射照明光Lの向きや、反射光Vの向きは、ステップS4で設定された投影条件によって定まることになる。そして、これらの角度θL,φL,θV,φVに、ステップS6で求められた曲率(すなわち、σとξ)を加えた6つの変数「σ,ξ,θL,φL,θV,φV」を用いて、ステップS2で入力した可視割合情報(6次元の変数をもったテーブル)を参照することにより、サンプル点Qの位置に対応する各レイヤーごとの可視割合を求める。
ここでは、説明の便宜上、2つのレイヤーL1,L2についてのサンプル点Qの可視割合が、L1:70%、L2:30%として求められたものとしよう。本発明にBRDFモデルを適用した場合の特徴は、このようにサンプル点Qの位置における特定の可視割合が、曲率のパラメータσ,ξのみならず、入射照明光Lや反射光Vの向きのパラメータθL,φL,θV,φVにも依存して決定されるという点である。すなわち、各レイヤーの可視割合が、ステップS4で設定された照明条件や視点位置などを考慮して決定されることになるため、より精度の高い、細かな取り扱いが可能になる。
さて、続く反射光強度演算段階の第2のステップS72では、まず、ステップS1で入力したレイヤーデータを参照することにより、サンプル点Qの位置の「θL,φL,θV,φV」の組み合わせに対応する反射係数kb(θL,φL,θV,φV)を各レイヤーごとに求める。そして、こうして求めた各反射係数kbを、それぞれ第1のステップS71で求めた可視割合による重みづけに応じて合成することにより、サンプル点Qの位置における反射係数kbを定める。
たとえば、サンプル点Qの位置の「θL,φL,θV,φV」なる4つの変数の組み合わせに対応する2つのレイヤーL1,L2についての反射係数が、それぞれkb1,kb2であったとし、第1のステップS71において、サンプル点Qの位置についての2つのレイヤーL1,L2の可視割合が、上述したように、L1:70%、L2:30%として求められているとすれば、サンプル点Qの位置における反射係数kbは、
kb=0.7×kb1+0.3×kb2
なる演算で求められる。
そこで、図14に示す反射光強度演算段階の第3のステップでは、サンプル点Qにおける入射照明光の強度をIiとしたときに、反射光強度Iを、
I=kb・Ii
なる式で求めるようにすればよい。
(5) BTFモデル
上述したBRDFモデルには、テクスチャマッピングの概念がないので、これを本発明にそのまま適用した場合、テクスチャ模様をもった繊維シートを取り扱うことができない。ここで述べるBTF(Bi-directional Texture Function)は、いわば上述したBRDFモデルに、テクスチャマッピングモデルを組み合わせたモデルというべきものである。したがって、このBTFモデルを本発明に適用するには、次のようにすればよい。
まず、図11のステップS1におけるレイヤーデータ入力段階では、上述したBRDFモデルと同様の角度定義(図15に示す角度定義)を行う。すなわち、レイヤー上の所定点を点Qとして、レイヤー面の所定点Qに立てた法線nと照明光Lとのなす角をθL、レイヤー面上への照明光Lの投影像L′とレイヤー面上の所定点Qを通る基準線ζとのなす角度をφL、法線nと反射光Vとのなす角度をθV、レイヤー面上への反射光Vの投影像V′と基準線ζとのなす角度をφVと定義する。そして、このレイヤー面上に、uv二次元座標系を定義し、所定の座標値(u,v)に位置する各点について、「θL,φL,θV,φV,u,v」の関数として与えられる反射係数kb(θL,φL,θV,φV,u,v)を定義し、これを各レイヤーごとのレイヤーデータとして入力する。
たとえば、図5の上段に示すように、上部レイヤーL1と下部レイヤーL2との2つのレイヤーからなる繊維シートの場合、上部レイヤーL1についての反射係数kb1が、6つの変数「θL,φL,θV,φV,u,v」を用いたkb1(θL,φL,θV,φV,u,v)なる関数の形で定義され、下部レイヤーL2についての反射係数kb2が、同じく6つの変数「θL,φL,θV,φV,u,v」を用いたkb2(θL,φL,θV,φV,u,v)なる関数の形で定義される。ステップS1のレイヤーデータ入力段階で入力される各レイヤーごとのレイヤーデータとは、結局、これらの関数kb1(θL,φL,θV,φV,u,v),kb2(θL,φL,θV,φV,u,v)ということになる。これらの関数は、数式として与えることも可能であるが、実用上は、「θL,φL,θV,φV,u,v」という6次元の変数をもったテーブルとして用意するのが好ましい。このようなテーブルは、繊維シートの構造データを利用したコンピュータシミュレーションによって求めることもできるし、実在の繊維シートの各レイヤーを利用した実測により求めることもできる。
一方、ステップS2の可視割合情報入力段階では、「曲率,θL,φL,θV,φV,u,v」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す可視割合情報を入力する。ここでの「曲率」は、やはり向きのファクターをもった広義の曲率であるので、以下、この広義の曲率を、曲率σおよび曲率角度ξとして取り扱った場合の例を述べる。結局、ステップS2で入力される可視割合情報は、「σ,ξ,θL,φL,θV,φV,u,v」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す情報ということになる。実用上は、この可視割合情報は、「σ,ξ,θL,φL,θV,φV,u,v」という8次元の変数をもったテーブルとして用意するのが好ましい。なお、このような可視割合を示す情報も、繊維シートの構造データを利用したコンピュータシミュレーションによって求めることもできるし、実在の繊維シートの各レイヤーを利用した実測により求めることもできる。
次に、図14に示す反射光強度演算段階の第1のステップS71では、まず、仮想物体表面上のサンプル点Qの位置について、図15に示す角度θL,φL,θV,φVをそれぞれ定義する。このとき、サンプル点Qについての入射照明光Lの向きや、反射光Vの向きは、ステップS4で設定された投影条件によって定まることになる。そして、これらの角度θL,φL,θV,φVに、サンプル点Qの座標値u,vと、ステップS6で求められた曲率(すなわち、σとξ)を加えた8つの変数「σ,ξ,θL,φL,θV,φV,u,v」を用いて、ステップS2で入力した可視割合情報(8次元の変数をもったテーブル)を参照することにより、サンプル点Qの位置に対応する各レイヤーごとの可視割合を求める。
続く反射光強度演算段階の第2のステップS72では、まず、ステップS1で入力したレイヤーデータを参照することにより、サンプル点Qの位置の「θL,φL,θV,φV,u,v」の組み合わせに対応する反射係数kb(θL,φL,θV,φV,u,v)を各レイヤーごとに求める。そして、こうして求めた各反射係数kbを、それぞれ第1のステップS71で求めた可視割合による重みづけに応じて合成することにより、サンプル点Qの位置における反射係数kbを定める。
たとえば、サンプル点Qの位置の「θL,φL,θV,φV,u,v」なる6つの変数の組み合わせに対応する2つのレイヤーL1,L2についての反射係数が、それぞれkb1,kb2であったとし、第1のステップS71において、サンプル点Qの位置についての2つのレイヤーL1,L2の可視割合が、上述したように、L1:70%、L2:30%として求められているとすれば、サンプル点Qの位置における反射係数kbは、
kb=0.7×kb1+0.3×kb2
なる演算で求められる。
そこで、図14に示す反射光強度演算段階の第3のステップでは、サンプル点Qにおける入射照明光の強度をIiとしたときに、反射光強度Iを、
I=kb・Ii
なる式で求めるようにすればよい。
<<< §5.ポリゴンを用いた具体的実施例 >>>
本発明において「曲率」は非常に重要なパラメータであり、特に、向きのファクターをもった曲率を取り扱う場合には、仮想物体上のサンプル点Qについて、たとえば、曲率σおよび曲率角度ξというパラメータを求めることが非常に重要である。ここで、曲率σおよび曲率角度ξは、図4に示すような円柱状のモデルを用いれば、簡単に定義することができる。たとえば、図4(a) に示す例の場合、円柱状の物体51の半径r1の逆数を曲率σと定義し、円柱の中心軸Hを半径方向に投影することにより円柱側面上に得られる投影線H′と繊維シート61の基準方向線Wとのなす角ξを当該曲率σについての曲率角度と定義している。
したがって、図11のステップS2で入力する可視割合情報(たとえば、図9に示す情報)を用意する際には、シミュレーションによる手法をとるにせよ、実測による手法をとるにせよ、物体の円柱側面に繊維シートを所定の向きに張り付けた状態での各レイヤーごとの可視割合を求めることが可能であり、特定の曲率σおよび特定の曲率角度ξの各組み合わせに対応する可視割合を定義することができる。別言すれば、図9に示すような可視割合情報を作成するには、円柱モデルのみを考慮すれば十分である。
しかしながら、図11のステップS6では、任意形状をもった仮想物体上のサンプル点Qについて、曲率σおよび曲率角度ξを求める必要があるので、実際には、曲率σおよび曲率角度ξの定義に、円柱モデルをそのまま利用することはできない。もっとも、任意曲面についての曲率を定義する手法は種々の方法が知られているので、ステップS6では、これら公知の手法のいずれかを利用して、何らかの形で曲率σおよび曲率角度ξを定義することができれば問題はない。
ここでは、仮想物体の立体形状を示す三次元データが、微小なポリゴン(多角形)の集合体として入力された場合について、ステップS6における曲率σおよび曲率角度ξを定義する具体的な方法の一例を述べることにする。特に、ここでは、ポリゴンとして三角形を用いた具体的な例を説明する。すなわち、以下に示す例では、仮想物体の表面形状は、微小な三角形の集合体として表現されていることになり、仮想物体の曲面は、実際には、多数の微小三角形(平面図形)の集合体から構成されることになる。
いま、図16に示すように、仮想物体上の1つのサンプル点Qが、1つの三角形Tq上の点であった場合を考える。ここでは、説明の便宜上、サンプル点Qを含む三角形Tqを、着目三角形と呼ぶことにする。また、着目三角形Tqの3辺を図示のとおり、辺A,辺B,辺Cと呼ぶことにし、辺Aを境界として隣接している三角形を隣接三角形Ta、辺Bを境界として隣接している三角形を隣接三角形Tb、辺Cを境界として隣接している三角形を隣接三角形Tcと呼ぶことにする。更に、着目三角形Tqの3つの頂点を、図示のとおりそれぞれ頂点D1,D2,D3とし、隣接三角形Ta,Tb,Tcのもう1つの頂点を、それぞれ頂点D4,D5,D6とする。
なお、図16では、すべての三角形が同一平面上に描かれているが、実際には、頂点D1,D2,D3は紙面上の点であるが、頂点D4,D5,D6は紙面外の点(紙面の上方もしくは紙面の下方に位置する点)であるものとする。別言すれば、着目三角形Tqは紙面上の三角形であるが、隣接三角形Ta,Tb,Tcは、いずれも紙面上にはない三角形ということになる。結局、図16には、4つの三角形Tq,Ta,Tb,Tcからなる図形が描かれているが(もちろん、実際には、三角形Ta,Tb,Tcの外側にも、多数の別な三角形が連続している)、この図形は、辺A,B,Cを折り目として、互いに所定角度をなすように折り曲げられていることになる。
ステップS6で求めるべき値は、サンプル点Qについての曲率σおよび曲率角度ξであるが、ここではまず、着目三角形Tqについての曲率σなるものを定義することにする。もっとも、着目三角形Tq自身は、単なる平面図形であり、曲面を形成するものではない。ここに示す実施例の場合、仮想物体の曲面は、微小な三角形の集合体によって擬似的に表現されているにすぎない。したがって、着目三角形Tqについての曲率σなるものを定義するとすれば、それは3つの隣接三角形Ta,Tb,Tcとの間の形成角に応じた値として定義されねばならない。
そこで、辺Aを境界線として、着目三角形Tqと隣接三角形Taとが形成する角を形成角ωaとし、辺Bを境界線として、着目三角形Tqと隣接三角形Tbとが形成する角を形成角ωbとし、辺Cを境界線として、着目三角形Tqと隣接三角形Tcとが形成する角を形成角ωcとする。そして、着目三角形Tqの隣接三角形Taとの関係における曲率を「辺Aに関する曲率σa」と定義し、着目三角形Tqの隣接三角形Tbとの関係における曲率を「辺Bに関する曲率σb」と定義し、着目三角形Tqの隣接三角形Tcとの関係における曲率を「辺Cに関する曲率σc」と定義することにする。この場合、辺Aに関する曲率σaを形成角ωaに基づいて定まる値とし、辺Bに関する曲率σbを形成角ωbに基づいて定まる値とし、辺Cに関する曲率σcを形成角ωcに基づいて定まる値とすれば、それぞれ隣接三角形との関係における曲率として意味のある値になる。
具体的には、各形成角が180°に近くなればなるほど、曲率は小さくなるように設定すればよい。たとえば、仮に頂点D4が図の紙面上の点であったとすると、着目三角形Tqと隣接三角形Taは同一紙面上の三角形ということになり、両者の形成角ωa=180°ということになる。この場合、着目三角形Tqから隣接三角形Taへと連なる面は完全な平面であり、辺Aに関する曲率σaは、最小値0に設定すればよいことになる。
このように、各辺に関する曲率を、当該辺を挟んだ2つの三角形の形成角に応じて、当該形成角が180°に近くなればなるほど小さな曲率となるように設定する、ということが、合理的な曲率の設定法であることは、直感的に理解できよう。ただ、本願発明者は、曲率の定義を、両三角形の形成角のみに基づいて定義するのではなく、両三角形の大きさというファクターを入れて定義すると、より好ましいことに気がついた。
仮想物体を表現する微小三角形は、仮想物体全体の大きさから比べると、いずれも非常に小さな図形である。しかし、個々の三角形同士を相互に比較すると、その大きさは様々であり、面積の大きな三角形もあれば、面積の小さな三角形もある。そうすると、面積の大きな三角形については、平面が広い領域にわたって連続しているのであるから、小さな三角形に比べて、より小さな曲率を定義した方が理にかなっている。逆に、面積の小さな三角形については、平面が連続する領域が狭いのであるから、大きな三角形に比べて、より大きな曲率を定義した方が理にかなっている。
そこで、各辺に関する曲率を、着目三角形自身の大きさ(面積)および隣接三角形の大きさ(面積)に依存して決定するようにし、これらの大きさが大きくなればなるほど小さな曲率が定義されるような設定を行えばよいことがわかる。具体的には、辺Aに関する曲率としては、形成角ωaが180°に近くなればなるほど小さくなり、かつ、着目三角形Tqおよび隣接三角形Taの大きさが大きくなればなるほど小さくなるような曲率σaを定義し、辺Bに関する曲率としては、形成角ωbが180°に近くなればなるほど小さくなり、かつ、着目三角形Tqおよび隣接三角形Tbの大きさが大きくなればなるほど小さくなるような曲率σbを定義し、辺Cに関する曲率としては、形成角ωcが180°に近くなればなるほど小さくなり、かつ、着目三角形Tqおよび隣接三角形Tcの大きさが大きくなればなるほど小さくなるような曲率σcを定義すればよい。
以上、各辺に関する曲率を定義するための基本概念を述べたが、このような基本概念に基づいて、実際に各辺に関する曲率を定義するには、たとえば、次のような方法をとることができる。ここでは、図16において、辺Aに関する曲率σaの具体的な求め方の一例を説明しよう。辺Aに関する曲率σaとは、前述したとおり、着目三角形Tqの隣接三角形Taとの関係における曲率というべきものであり、上述した基本概念に従えば、形成角ωaが180°に近くなればなるほど小さくなり、かつ、着目三角形Tqおよび隣接三角形Taの大きさが大きくなればなるほど小さくなるような値として定義すればよい。
そこで、まず、図16に示されているとおり、着目三角形Tqの辺Aに対する対角D3から辺Aに対して垂線を下ろし、この垂線の長さhqaを求める。同様に、隣接三角形Taの辺Aに対する対角D4から辺Aに対して垂線を下ろし、この垂線の長さhaを求める。こうして求めた垂線の長さhqa,haは、それぞれ着目三角形Tqおよび隣接三角形Taの大きさにある程度関連した量になり、各三角形が大きくなればなるほど、これら垂線の長さも長くなる傾向にある。
次に、こうして求めた垂線の長さhqa,haと、着目三角形Tqと隣接三角形Taとの間の形成角ωaと、を用いて、図17に示すような作図を行う。すなわち、平面上に、「長さhqaをもった線分」と「長さhaをもった線分」とをそれぞれの一端が接続点Jaで接続され、かつ、この接続点Jaにおける両線分のなす角が形成角ωaとなるように配置する。続いて、この図17上において、「長さhqaをもった線分」の垂直二等分線と「長さhaをもった線分」の垂直二等分線との交点Oaを求め、求めた交点Oaと接続点Jaとの距離Raを図示のように求める。そして、この距離Raの逆数を、辺Aに関する曲率σaと定義するのである。
図17において、距離Raは、「長さhqaをもった線分」と「長さhaをもった線分」とを滑らかな円弧で近似した場合の半径に相当するものである。ここで、もし形成角ωaが180°になると、図に破線で示す2本の垂直二等分線は平行になってしまうので、交点Oaの位置は無限遠となり、距離Ra=無限大となる。その結果、曲率σa=0になる。形成角ωaが小さくなればなるほど、交点Oaは接続点Jaに接近し、距離Raは小さくなるので、曲率σaは大きくなる。結局、曲率σaは、形成角ωaが180°に近くなればなるほど小さくなる、という上述の基本概念に合致した値になる。
一方、長さhqaや長さhaがより長くなると、交点Oaは接続点Jaからより離れることになり、距離Raは大きくなり、曲率σaは小さくなることが、図17から容易に理解できよう。前述したとおり、長さhqaおよび長さhaは、それぞれ着目三角形Tq,隣接三角形Taの大きさにある程度関連した量になるので、結局、曲率σaは、着目三角形Tqおよび隣接三角形Taの大きさが大きくなればなるほど小さくなる、という上述の基本概念に合致した値になる。
以上のことから、着目三角形Tqの辺Aに対する対角D3から辺Aに下ろした垂線の長さhqaと、隣接三角形Taの辺Aに対する対角D4から辺Aに下ろした垂線の長さhaと、を求め、平面上に、「長さhqaをもった線分」と「長さhaをもった線分」とを、それぞれの一端が接続点Jaで接続され、かつ、接続点Jaにおける両線分のなす角が形成角ωaとなるように配置し、「長さhqaをもった線分」の垂直二等分線と「長さhaをもった線分」の垂直二等分線との交点Oaと接続点Jaとの距離Raの逆数を、辺Aに関する曲率σaと定義すれば、上述した基本概念に合致するような曲率σaの定義を行うことができる。
同様に、辺Bに関する曲率σbを定義するには、図示は省略するが、次のような作図を行えばよい。すなわち、着目三角形Tqの辺Bに対する対角D2から辺Bに下ろした垂線の長さhqbと、隣接三角形Tbの辺Bに対する対角D5から辺Bに下ろした垂線の長さhbと、を求め、平面上に、「長さhqbをもった線分」と「長さhbをもった線分」とを、それぞれの一端が接続点Jbで接続され、かつ、接続点Jbにおける両線分のなす角が形成角ωbとなるように配置し、「長さhqbをもった線分」の垂直二等分線と「長さhbをもった線分」の垂直二等分線との交点Obと接続点Jbとの距離Rbの逆数を、辺Bに関する曲率σbと定義すればよい。
また、辺Cに関する曲率σcを定義するには、同様に、次のような作図を行えばよい。まず、着目三角形Tqの辺Cに対する対角D1から辺Cに下ろした垂線の長さhqcと、隣接三角形Tcの辺Cに対する対角D6から辺Cに下ろした垂線の長さhcと、を求め、平面上に、「長さhqcをもった線分」と「長さhcをもった線分」とを、それぞれの一端が接続点Jcで接続され、かつ、接続点Jcにおける両線分のなす角が形成角ωcとなるように配置し、「長さhqcをもった線分」の垂直二等分線と「長さhcをもった線分」の垂直二等分線との交点Ocと接続点Jcとの距離Rcの逆数を、辺Cに関する曲率σcと定義すればよい。
さて、以上述べた手順により、着目三角形Tqについて、辺Aに関する曲率σa,辺Bに関する曲率σb,辺Cに関する曲率σcという3通りの曲率を定義することができた。しかしながら、図11のステップS6で求める必要がある曲率は、この着目三角形Tq内に位置するサンプル点Qについての曲率σQである。そこで、このサンプル点Qについての曲率σQを、3つの曲率σa,σb,σcを合成して求めるようにする。この合成を行う上での基本概念は、サンプル点Qと、各辺A,B,Cとの距離に応じて、曲率σa,σb,σcを按分する、という考え方である。すなわち、サンプル点Qと辺Aとの距離が短ければ短いほど曲率σaの影響が大きくなり、サンプル点Qと辺Bとの距離が短ければ短いほど曲率σbの影響が大きくなり、サンプル点Qと辺Cとの距離が短ければ短いほど曲率σcの影響が大きくなるように、曲率σa,σb,σcを合成して、サンプル点Qについての曲率σQを求めるようにすれば、理にかなった方法で曲率σQを決定できる。
このような基本概念に基づいて、曲率σQを求める第1の方法を、図18を参照して説明する。図18に示されている各三角形は、図16に示されている各三角形と全く同じものであり、着目三角形Tq内に、サンプル点Qが位置している。そこで、まず、着目三角形Tqの辺Aに対する対角D3とサンプル点Qとの距離Laを求め、着目三角形Tqの辺Bに対する対角D2とサンプル点Qとの距離をLbを求め、着目三角形Tqの辺Cに対する対角D1とサンプル点Qとの距離をLcを求める。そして、サンプル点Qについての曲率σQを、
σQ=(La・σa+Lb・σb+Lc・σc)/(La+Lb+Lc)
なる演算によって定義するのである。このような方法で曲率σQを定義すれば、上述の基本概念に合致した方法での定義が可能になる。
一方、図19は、上述の基本概念に基づいて曲率σQを求める第2の方法を示す図である。この図においても、各三角形は、図16に示されている各三角形と全く同じものであり、着目三角形Tq内に、サンプル点Qが位置している。この第2の方法では、まず、サンプル点Qから辺Aに垂線を下ろし、その足をaとする。同様に、サンプル点Qから辺Bに垂線を下ろし、その足をbとし、サンプル点Qから辺Cに垂線を下ろし、その足をcとする。そして、着目三角形Tqを、これら3本の垂線(図では破線で示す)によって、3つの領域Ua,Ub,Ucに分割する。ここで、領域Uaは、辺Aに対する対角D3を含む領域であり、領域Ubは、辺Bに対する対角D2を含む領域であり、領域Ucは、辺Cに対する対角D1を含む領域である。ここで、各領域Ua,Ub,Ucの面積を、それぞれ同じ記号Ua,Ub,Ucで示すことにし、サンプル点Qについての曲率σQを、
σQ=(Ua・σa+Ub・σb+Uc・σc)/(Ua+Ub+Uc)
なる演算によって定義するのである。このような方法で曲率σQを定義すれば、やはり上述の基本概念に合致した方法での定義が可能になる。
以上、仮想物体の立体形状を示す三次元データが、微小な三角形の集合体として入力された場合について、任意のサンプル点Qにおける曲率σQを定義する具体的な方法を述べた。この方法によれば、円柱曲面に限定されることなく、任意の曲面をもった仮想物体上の任意のサンプル点Qの位置における曲率σQを決定することができる。
続いて、任意の曲面をもった仮想物体上の任意のサンプル点Qの位置における曲率角度ξQを求める方法について述べる。そもそも曲率角度ξとは、サンプル点Qの位置に所定の曲率σQが定義されている場合に、この曲率σQに応じた湾曲方向と繊維シート上の基準方向線とのずれを示す要素である。たとえば、図4に示す円柱曲面の場合、基準方向線Wと円柱の中心軸Hの投影線H′とのなす角度として、曲率角度ξを定義しているが、このような定義を行った場合、曲率角度ξ=90°となる方向が、曲率σに応じた湾曲方向(すなわち、円周方向)ということになる。
図4(a) に示す例も、図4(c) に示す例も、いずれも曲率の値はσ=1/r1と同一である。しかしながら、曲率角度ξは、前者の場合は90°、後者の場合は0°となり、両者は大きく相違する。これは、繊維シート61の基準方向線Wの方向に着目したときに、前者では、基準方向線Wが、1/r1なる曲率に応じた湾曲方向(円周方向)を向くように張り付けられているのに対して、後者では、基準方向線Wが、1/r1なる曲率に応じた湾曲方向(円周方向)に対して90°をなす方向(すなわち、中心軸Hに平行な方向)を向くように張り付けられていることを示している。そして、曲率角度ξ=90°となる前者の場合、基準方向線Wの向きが、曲率σ=1/r1に応じた湾曲方向(円周方向)に一致することになる。このように、曲率角度ξは、曲率に応じた湾曲方向に対する基準方向線Wのずれ量を示す角度に相当するパラメータであり、90°〜0°の範囲をとり、ξ=90°の場合は、ずれ量がないこと示し、ξ=0°の場合は、ずれ量が最大であることを示すことになる。
図11のステップS2において入力する可視割合情報(たとえば、図9に示すように、2つの変数σ,ξによって参照されるテーブル)を、このような円柱曲面を前提とした曲率σおよび曲率角度ξの定義を行ったシミュレーションによって作成した場合、ステップS6においても、この円柱曲面を前提とした定義に近い方法で、曲率角度ξを定義する必要がある。そこで、以下、仮想物体の立体形状を示す三次元データが、微小な三角形の集合体として入力された場合について、任意のサンプル点Qの位置における曲率角度ξQを定義する具体的な方法の一例を述べる。
まず、図20に示すように、サンプル点Qを含む着目三角形Tqと、これに隣接する3つの隣接三角形Ta,Tb,Tcを考える。これらの各三角形は、図16に示されている各三角形と全く同じものである。また、ステップS3では、前述したとおり、仮想物体に対する繊維シートの張り付け向きに関する情報も入力されているので、ステップS6の段階では、図20に示すとおり、繊維シートの基準方向線Wの向きを定義することができる。ここでは、この基準方向線Wを、着目三角形Tqと同一平面上の直線として定義している。ステップS3において、基準方向線Wが、XYZ三次元座標系上の直線として入力された場合には、これを着目三角形Tqを含む平面上にこの平面の法線方向に投影することにより得られる投影像を、図示する基準方向線Wとして定義すればよい。また、テクスチャマッピングやBTFが適用されている場合には、既にポリゴンに与えられている二次元座標系(u,v)を基準として、そのポリゴン内のたとえばv軸方向を基準方向線Wとして利用すればよい。
続いて、図20に示すように、この基準方向線Wと着目三角形Tqの辺A,辺B,辺Cのそれぞれとのなす角(交差しない場合には、各辺の延長線とのなす角)ξa,ξb,ξcを、それぞれ各辺A,B,Cに関する曲率角度として求める。そして、これら各辺に関する曲率角度ξa,ξb,ξcを合成することにより、サンプル点Qについての曲率角度ξQを求めるようにすればよい。この合成を行う上での基本概念は、サンプル点Qと、各辺A,B,Cとの距離に応じて、曲率角度ξa,ξb,ξcを按分する、という考え方である。すなわち、サンプル点Qと辺Aとの距離が短ければ短いほど曲率角度ξaの影響が大きくなり、サンプル点Qと辺Bとの距離が短ければ短いほど曲率角度ξbの影響が大きくなり、サンプル点Qと辺Cとの距離が短ければ短いほど曲率角度ξcの影響が大きくなるように、曲率角度ξa,ξb,ξcを合成することにより、サンプル点Qについての曲率角度ξQを決定すればよい。
このような基本概念に基づいて、曲率角度ξQを求める第1の方法を、図21を参照して説明する。図21に示されている各三角形は、図20に示されている各三角形と全く同じものであり、着目三角形Tq内に、サンプル点Qが位置している。そこで、まず、着目三角形Tqの辺Aに対する対角D3とサンプル点Qとの距離Laを求め、着目三角形Tqの辺Bに対する対角D2とサンプル点Qとの距離をLbを求め、着目三角形Tqの辺Cに対する対角D1とサンプル点Qとの距離をLcを求める。そして、サンプル点Qについての曲率角度ξQを、
ξQ=(La・ξa+Lb・ξb+Lc・ξc)/(La+Lb+Lc)
なる演算によって定義するのである。このような方法で曲率角度ξQを定義すれば、上述の基本概念に合致した方法での定義が可能になる。この方法の原理は、図18を参照して説明した曲率σQを定義する方法の原理と共通するものである。
一方、曲率角度ξQを求める第2の方法として、図19を参照して説明した曲率σQを定義する方法の原理を利用した方法も可能である。すなわち、図19に示すように、サンプル点Qから各辺A,B,Cに垂線を下ろし、着目三角形Tqを、これら3本の垂線によって、3つの領域Ua,Ub,Ucに分割する。そして、これら3つの領域Ua,Ub,Ucの面積を、それぞれ同じ記号Ua,Ub,Ucで示すことにし、サンプル点Qについての曲率角度ξQを、
ξQ=(Ua・ξa+Ub・ξb+Uc・ξc)/(Ua+Ub+Uc)
なる演算によって定義するのである。このような方法で曲率角度ξQを定義すれば、やはり上述の基本概念に合致した方法での定義が可能になる。
以上のとおり、仮想物体の立体形状を示す三次元データが、微小な三角形の集合体として入力された場合は、上述した具体的手法を適用することにより、任意のサンプル点Qにおける曲率σQおよび曲率角度ξQを定義することが可能である。しかしながら、ポリゴンを用いて立体形状を表現する場合、必ずしも三角形が用いられるとは限らず、四角形や六角形など、任意の多角形の集合からなる三次元データが用いられる場合も少なくない。このように、仮想物体が、任意の多角形の集合からなる三次元データとして与えられた場合であっても、多角形は必ず複数の三角形に分割することができるので、上述した三角形についての実施例は、ポリゴンを用いて立体形状が表現されている場合に広く適用可能である。
ただ、上述した三角形の集合からなる三次元データが用いられた場合についての基本原理は、任意の多角形の集合からなる三次元データが用いられた場合にも、多角形を複数の三角形に分割することなしに、多角形のままでも適用可能である。すなわち、この基本原理を一般的なJ角形に拡張した場合は、次のような方法で、サンプル点Qについての曲率σQおよび曲率角度ξQを求めるようにすればよい。
まず、曲率を求める対象となるサンプル点Qを含むJ角形(J個の辺を有する多角形)を着目多角形として抽出する。そして、この着目多角形について、当該着目多角形とこれに隣接する複数J個の隣接多角形との間の形成角ω1〜ωJをそれぞれ求める。続いて、第j番目(j=1〜J)の隣接多角形との間の境界を形成する第j番目の辺に関する曲率として、第j番目の形成角ωjが180°に近くなればなるほど小さくなり、かつ、着目多角形および第j番目の隣接多角形の大きさが大きくなればなるほど小さくなるような曲率σjを定義し、第1番目の辺〜第J番目の辺についてそれぞれ曲率σ1〜σJを定義する。最後に、このサンプル点Qと第j番目の辺との距離が短ければ短いほど、第j番目の曲率σjの影響が大きくなるように、J個の曲率σ1〜σJを合成することにより、サンプル点Qについての曲率σQを求めるようにすればよい。
一方、曲率角度ξについては、基準方向線Wと着目多角形の第1番目の辺〜第J番目の辺のそれぞれとのなす角ξ1〜ξJを、各辺についての曲率角度としてそれぞれ求め、サンプル点Qと第j番目の辺との距離が短ければ短いほど、第j番目の曲率角度ξjの影響が大きくなるように、J個の曲率角度ξ1〜ξJを合成することにより、サンプル点Qについての曲率角度ξQを求めるようにすればよい。
以上、図11のステップS3に示す物体データ入力段階において、仮想物体の立体形状が、ポリゴンの集合を示す三次元データとして入力された場合に、任意のサンプル点Qについての曲率σQおよび曲率角度ξQを求める具体的な方法を述べたが、本発明を実施する上では、仮想物体の立体形状を、必ずしもポリゴンの集合を示す三次元データとして入力する必要はない。たとえば、仮想物体の立体形状を、数式およびこの数式に用いられているパラメータの値によって表現されるパラメトリック曲面として入力した場合は、特定のサンプル点Qについての曲率σQおよび曲率角度ξQを、この数式およびパラメータの値を用いた演算により求めるようにすればよい。
<<< §6.本発明に係る二次元画像生成装置 >>>
図11の流れ図に示すステップS1〜S10は、コンピュータの内部で行われる処理であり、各手順は、実際にはコンピュータプログラムに基づいて実行されることになる。本発明に係る二次元画像生成装置は、この図11の各手順を実行する機能をもったコンピュータによって構成される装置であり、図22のブロック図に示す各構成要素からなる装置である。以下、この装置の構成および動作を説明する。
この二次元画像生成装置は、物体の三次元データに基づいて、当該物体の表面に繊維シートを張り付け、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成する機能をもった装置であり、図22に示されているとおり、データ入力部110、三次元データ格納部120、レイヤーデータ格納部130、可視割合情報格納部140、反射光強度演算部150、曲率演算部160、投影条件設定部170、画素定義部180、投影データ格納部190によって構成されている。実際には、これらの各構成要素は、コンピュータに専用のプログラムを組み込むことによって実現される。
データ入力部110は、外部から与えられる種々のデータを入力するための構成要素であり、図11のステップS1〜S4で入力される種々のデータは、このデータ入力部110からコンピュータに取り込まれることになる。具体的には、このデータ入力部110は、コンピュータ用のキーボード、マウス、スキャナ装置、デジタルカメラ、磁気もしくは光データ読込装置などの装置によって構成されることになる。
三次元データ格納部120は、データ入力部110から入力された「仮想物体の立体形状を示す三次元データ」を格納するための構成要素であり、実際には、コンピュータ用の磁気記録装置やメモリ装置などによって実現される。図11のステップS3において入力された物体データは、この三次元データ格納部120に格納されることになる。
レイヤーデータ格納部130は、データ入力部110から入力された「張り付け対象となる仮想の繊維シートを構成する複数m枚の各レイヤーごとの反射特性を示すm通りのレイヤーデータ」を格納するための構成要素であり、実際には、コンピュータ用の磁気記録装置やメモリ装置などによって実現される。図11のステップS1において入力されたレイヤーデータは、このレイヤーデータ格納部130に格納されることになる。
可視割合情報格納部140は、データ入力部110から入力された「繊維シートを種々の曲率で曲げた状態における各レイヤーごとの可視割合を示す可視割合情報」(たとえば、図8や図9に示す情報)を格納するための構成要素であり、実際には、コンピュータ用の磁気記録装置やメモリ装置などによって実現される。図11のステップS2において入力された可視割合情報は、この可視割合情報格納部140に格納されることになる。
投影条件設定部170は、データ入力部110から入力されたデータに基づき、照明条件、視点Eの位置、投影平面Mを設定する構成要素であり、実際には、コンピュータ用の磁気記録装置やメモリ装置などによって実現される。
曲率演算部160は、三次元データ格納部120に格納されている三次元データに基づいて、仮想物体の表面上に定義された所定のサンプル点Qの位置について、仮想物体表面の曲率σQおよび曲率角度ξQを求める機能をもった構成要素である。任意曲面上のサンプル点Qについての曲率σQおよび曲率角度ξQを求める具体的な手法は、§5に例示したとおりである。
反射光強度演算部150は、レンダリング処理を行う構成要素であり、繊維シートを仮想物体の表面に張り付けた場合に、個々のサンプル点Qから視点Eに向かう反射光Vの強度を、三次元データ格納部120内に格納されている三次元データ、レイヤーデータ格納部130内に格納されているレイヤーデータ、可視割合情報格納部140内に格納されている可視割合情報、投影条件設定部170に設定されている投影条件(照明条件、視点位置、投影平面)に基づいて演算する機能を有する。具体的な演算は、図14の流れ図に示す3つのステップS71〜S73に示すとおりである。
別言すれば、この反射光強度演算部150は、可視割合情報格納部140内に格納されている可視割合情報を参照して1つのサンプル点位置における曲率に対応する各レイヤーごとの可視割合を求める第1の機能部と、レイヤーデータ格納部130内に格納されているm通りのレイヤーデータの反射特性を、第1の機能部が求めた可視割合に応じて合成することにより、当該サンプル点位置における反射特性を求める第2の機能部と、この第2の機能部が求めた反射特性に基づいて、当該サンプル点からの反射光の強度を求める第3の機能部と、によって構成されていることになる。なお、第1の機能部が可視割合を求める場合や、第2の機能部が反射特性を求める場合、必要に応じて、三次元データ格納部120に格納されている三次元データや、投影条件設定部170に設定されている投影条件を利用した演算が行われる。
画素定義部180は、サンプル点Qからの反射光Vと投影平面Mとの交点位置に、当該反射光Vの強度に応じた画素値をもつ画素Pを定義する構成要素であり、投影データ格納部190は、多数のサンプル点Qについて定義された多数の画素Pの集合を、仮想物体の投影画像を示す二次元投影データとして格納する構成要素である。
この図22に示す二次元画像生成装置を用いて、所望の二次元投影画像を得るための操作は次のとおりである。まず、オペレータは、仮想物体の三次元データ、繊維シートのレイヤーデータおよび可視割合情報を用意し、データ入力部110からこれらのデータを入力する。仮想物体の三次元データとしては、たとえば、CADデータを流用したものをそのまま利用すればよい。繊維シートのレイヤーデータおよび可視割合情報は、実在の繊維シートを用いた実測やコンピュータシミュレーションによって用意することができる。また、データ入力部110を操作することにより、投影条件設定部170に対して、照明条件、視点位置、投影平面の設定を行う。
以上で、オペレータが行う実体的な操作は完了である。この後、この装置に対して、レンダリング処理を開始する旨の指示を与えれば、曲率演算部160によって、レンダリング処理に必要な個々のサンプル点Qについての曲率σQおよび曲率角度ξQが演算され、反射光強度演算部150によって、個々のサンプル点Qから視点Eに向かう反射光Vの強度が演算され、画素定義部180によって、個々の反射光Vの強度に応じた画素値をもつ画素Pが定義され、これらの画素Pの集合として、投影データ格納部190内に、目的となる二次元画像が格納されることになる。オペレータは、こうして投影データ格納部190内に得られた二次元画像を、必要に応じて、所望の媒体上に出力させればよい。
なお、この装置において、向きのファクターをもった曲率を取り扱うようにするには、データ入力部110に、繊維シートを仮想物体に張り付けたときに、繊維シート上に定義された基準方向線の向きに関する情報を入力する機能をもたせるようにしておき、可視割合情報格納部140に、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力する機能をもたせるようにしておく。また、曲率演算部160に、向きのファクターをもった曲率を求める機能をもたせておき、反射光強度演算部150に、向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を用いて、反射光強度を求める機能をもたせておくようにすればよい。
<<< §7.いくつかの変形例 >>>
以上、本発明を図示する実施形態に基づいて説明したが、本発明はこれらの実施形態に限定されるものではなく、この他にも種々の態様で実施可能である。
たとえば、これまで述べてきた実施形態では、図5の上段に示すように、2つのレイヤーを有する繊維シート61の例に基づいて説明を行ってきたが、本発明では、繊維シートを必ずしも2つのレイヤーとして取り扱う必要はなく、3つ以上のレイヤーとして取り扱うことも可能である。具体的には、長いパイルと短いパイルとの2種類のパイルを下地に植毛した構造を有する繊維シートの場合、長いパイルから構成される上部レイヤー、短いパイルから構成される中部レイヤー、下地から構成される下部レイヤーの3つのレイヤーとして取り扱うことが可能である。
この場合、図11のステップS1では、3つのレイヤーそれぞれについてのレイヤーデータが入力され、ステップS2では、3つのレイヤーについての可視割合(たとえば、L1:70%、L2:20%、L3:10%といった割合)が可視割合情報として入力されることになり、ステップS7では、3つの反射特性を合成することにより、反射光強度を求める演算が行われる。もちろん、4つ以上のレイヤーとして取り扱うことも可能であり、一般論としては、張り付け対象となる仮想の繊維シートを複数m枚(mは2以上の整数)の各レイヤーとして取り扱うことができれば、本発明の適用が可能である。
また、これまで述べてきた実施形態では、図5の上段に示すように、下地となる下部レイヤーL2に植毛された多数のパイルによって上部レイヤーL1が構成された、いわゆるパイル地に本発明を適用した例を述べたが、本発明の適用は、このようなパイル地のみに限定されるものではない。たとえば、縦糸と横糸とを編むことにより構成される繊維シートについても、主として縦糸から構成される第1のレイヤーと、主として横糸から構成される第2のレイヤーとを定義すれば、これまで述べた実施形態と同様に本発明を適用することが可能である。要するに、複数のレイヤーを何らかの形式で定義することができ、しかもこのレイヤーごとの可視割合が曲率に基づいて変化する、という性質を有する繊維シートであれば、本発明の適用が可能である。
平面から構成される仮想物体に繊維シートを張り付ける状態を示す斜視図である。 曲面を有する仮想物体に繊維シートを張り付ける状態を示す斜視図である。 一般的なレンダリング処理の原理を示す斜視図である。 繊維シートと物体表面の曲率との関係を示す斜視図である。 繊維シートを複数のレイヤーをもった構造体として取り扱う基本概念を示す図である。 繊維シートを種々の曲率で曲げた場合の各レイヤーごとの可視割合の変化を示す側面図である。 繊維シートを種々の曲率で曲げた場合の各レイヤーごとの可視割合の変化を示す拡大図である。 曲率σと各レイヤーごとの可視割合との関係を示すテーブルである。 曲率σおよび曲率角度ξと各レイヤーごとの可視割合との関係を示すテーブルである。 本発明の基本原理によるレンダリング処理を示す図である。 本発明に係る二次元画像生成方法の手順を示す流れ図である。 仮想物体50上のサンプル点Qの位置での切断面を示す斜視図である。 図12に示すサンプル点Qの曲率を求める方法の一例を示す平面図である。 図11に示す流れ図のステップS7の詳細な手順を示す流れ図である。 照明光および反射光の向きを考慮して反射率を決定するBRDFモデルの原理を説明するための斜視図である。 多数の三角形の集合により表現された仮想物体について、三角形の一辺についての曲率を定義する原理を示す平面図である。 図16に示す例において、辺Aについての曲率を定義する原理を示す平面図である。 図16に示す例において、三角形内のサンプル点Qについての曲率を定義する原理を示す平面図である。 図16に示す例において、三角形内のサンプル点Qについての曲率を定義する別な原理を示す平面図である。 図16に示す例において、各辺A,B,Cについての曲率角度を定義する原理を示す平面図である。 図16に示す例において、三角形内のサンプル点Qについての曲率角度を定義する原理を示す平面図である。 本発明に係る二次元画像生成装置の構成を示すブロック図である。
符号の説明
10…仮想物体
11…仮想物体の上面
12…仮想物体の前面
13…仮想物体の側面
20…繊維シートを張り付けた仮想物体
21…繊維シートを張り付けた仮想物体の上面
22…繊維シートを張り付けた仮想物体の前面
23…繊維シートを張り付けた仮想物体の側面
30…仮想物体
31…仮想物体の上面
32…仮想物体側面
40…繊維シートを張り付けた仮想物体
41…繊維シートを張り付けた仮想物体の上面
42…繊維シートを張り付けた仮想物体の側面
50…仮想物体
51,52…円柱状の物体
55…仮想物体の投影画像
56…切断面上の輪郭線
60…仮想繊維シート
61…繊維シート
110…データ入力部
120…三次元データ格納部
130…レイヤーデータ格納部
140…可視割合情報格納部
150…反射光強度演算部
160…曲率演算部
170…投影条件設定部
180…画素定義部
190…投影データ格納部
A,B,C…三角形の各辺
a,b,c…垂線の足
D1〜D6…三角形の頂点
E…視点
G…光源
H…円柱の中心軸
H′…円柱の中心軸の投影線
ha,hqa…垂線の長さ
Ja…接続点
L…照明光
L′…照明光の投影像
L1…繊維シートの上部レイヤー
L2…繊維シートの下部レイヤー
La…点Qと点D3との距離
Lb…点Qと点D2との距離
Lc…点Qと点D1との距離
LD1,LD2…レイヤーデータ
M…投影平面
n…法線
Oa…垂直二等分線の交点
P…画素/投影線分
P(Q1),P(Q2)…画素値
Q…サンプル点
Q1,Q2…対応点
QL,QR…サンプル点Qから等距離にある2点
QQ…交点
Ra…点Oaと点Jaとの距離
r…点Q,QQ間の距離
r1,r2…円柱の半径
S…法線に直交する直交平面
S1〜S10…流れ図の各ステップ
S71〜S73…流れ図の各ステップ
Ta,Tb,Tc…隣接三角形
Tq…着目三角形
TL,TR…接線
Ua,Ub,Uc…個々の分割領域およびその面積
u,v…絵柄を示す二次元座標系の各座標軸
V…反射光
V′…反射光の投影像
W…基準方向線
X,Y,Z…三次元座標系の各座標軸
x,y…投影平面M上の二次元座標系の各座標軸
ζ…基準線
θL…照明光Lの入射角
θV…反射光Vの射出角
ξ…曲率角度
ξa…辺Aに関する曲率角度
ξb…辺Bに関する曲率角度
ξc…辺Cに関する曲率角度
ξQ…サンプル点Qの曲率角度
σ…曲率
σa…辺Aに関する曲率
σb…辺Bに関する曲率
σc…辺Cに関する曲率
σQ…サンプル点Qの曲率
φL…照明光Lの方位角
φV…反射光Vの方位角
ωa…面もしくは線分の形成角

Claims (28)

  1. 物体の三次元データに基づいて、当該物体の表面に繊維シートを張り付け、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成する方法であって、
    コンピュータが、張り付け対象となる仮想の繊維シートを構成する複数m枚の各レイヤーごとの反射特性を示すm通りのレイヤーデータを入力するレイヤーデータ入力段階と、
    コンピュータが、前記繊維シートを種々の曲率で曲げた状態における各レイヤーごとの可視割合を示す可視割合情報を入力する可視割合情報入力段階と、
    コンピュータが、仮想物体の立体形状を示す三次元データを入力する物体データ入力段階と、
    コンピュータが、照明条件、視点位置、投影平面を設定する投影条件設定段階と、
    コンピュータが、前記仮想物体の表面上に定義された所定のサンプル点の位置について、前記仮想物体表面の曲率を求める曲率演算段階と、
    コンピュータが、前記繊維シートを前記仮想物体の表面に張り付けた場合に、個々のサンプル点から前記視点位置に向かう反射光の強度を演算する反射光強度演算段階と、
    コンピュータが、サンプル点からの反射光と前記投影平面との交点位置に、前記反射光の強度に応じた画素値をもつ画素を定義する画素定義段階と、
    コンピュータが、多数のサンプル点について定義された多数の画素の集合により、前記仮想物体の投影画像を示す二次元投影データを生成する投影データ生成段階と、
    を有し、
    前記反射光強度演算段階において、1つのサンプル点からの反射光強度を演算する際に、
    前記可視割合情報を参照して当該サンプル点位置における曲率に対応する各レイヤーごとの可視割合を求める第1のステップと、
    当該サンプル点位置における反射特性を、前記m通りのレイヤーデータの反射特性を前記第1のステップで求めた可視割合に応じて合成することにより求める第2のステップと、
    前記第2のステップで求めた反射特性に基づいて、当該サンプル点からの反射光の強度を求める第3のステップと、
    を行うことを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  2. 請求項1に記載の二次元画像生成方法において、
    可視割合情報入力段階では、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力し、
    物体データ入力段階では、仮想物体に対する繊維シートの張り付け向きに関する情報を併せて入力し、
    曲率演算段階では、向きのファクターをもった曲率を求め、
    反射光強度演算段階の第1のステップでは、向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  3. 請求項2に記載の二次元画像生成方法において、
    可視割合情報入力段階では、円柱側面に繊維シートを所定の向きに張り付けた状態における各レイヤーごとの可視割合を定義し、円柱の半径の逆数を用いて曲率σを定義し、円柱の中心軸を半径方向に投影することにより円柱側面上に得られる投影線と繊維シートの基準方向線とのなす角ξを当該曲率σについての曲率角度と定義し、個々の曲率σおよび個々の曲率角度ξの各組み合わせに対応する各レイヤーごとの可視割合を示す可視割合情報を入力し、
    物体データ入力段階では、仮想物体上に張り付けられる繊維シートの基準方向線の向きに関する情報を入力し、
    曲率演算段階では、所定のサンプル点の位置について、前記基準方向線の向きに関する情報を参照することにより、曲率σおよびこの曲率σに応じた湾曲方向と前記基準方向線とのずれを示す曲率角度ξを求め、
    反射光強度演算段階の第1のステップでは、前記曲率σおよび曲率角度ξの組み合わせに対応する各レイヤーごとの可視割合を求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  4. 請求項1〜3のいずれかに記載の二次元画像生成方法において、
    レイヤーデータ入力段階では、uv二次元座標系上に定義された絵柄データT(u,v)で示される反射特性をもった二次元画像を、それぞれ個々のレイヤーについてのレイヤーデータとして入力し、
    反射光強度演算段階の第2のステップでは、サンプル点位置の座標値u,vに対応する各レイヤーごとの絵柄データT(u,v)の値を、第1のステップで求めた可視割合による重みづけに応じて合成することにより、前記サンプル点位置における反射係数kを求め、
    反射光強度演算段階の第3のステップでは、前記サンプル点における入射照明光の強度をIiとしたときに、反射光強度Iを、前記反射係数kを用いて、
    I=k・Ii
    なる式で求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  5. 請求項1〜3のいずれかに記載の二次元画像生成方法において、
    レイヤーデータ入力段階では、個々のレイヤーごとの拡散反射係数をレイヤーデータとして入力し、
    反射光強度演算段階の第2のステップでは、前記個々のレイヤーごとの拡散反射係数を第1のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における拡散反射係数kdを求め、
    反射光強度演算段階の第3のステップでは、前記サンプル点における入射照明光の強度をIi、仮想物体表面上の前記サンプル点位置に立てた法線nと前記入射照明光とのなす角をαとしたときに、反射光強度Iを、
    I=kd・Ii・cos α
    なる式で求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  6. 請求項5に記載の二次元画像生成方法において、
    レイヤーデータ入力段階では、uv二次元座標系上に定義された絵柄データT(u,v)で示される拡散反射係数をもった二次元画像を、それぞれ個々のレイヤーについてのレイヤーデータとして入力し、
    反射光強度演算段階の第2のステップでは、サンプル点位置の座標値u,vに対応する各レイヤーごとの絵柄データT(u,v)の値を、第1のステップで求めた可視割合による重みづけに応じて合成することにより、前記サンプル点位置における拡散反射係数kdを求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  7. 請求項1〜3のいずれかに記載の二次元画像生成方法において、
    レイヤーデータ入力段階では、レイヤー面に立てた法線nと照明光とのなす角αに依存した反射係数k(α)と、鏡面反射の鋭さを示すパラメータをβとを、レイヤーデータとして入力し、
    反射光強度演算段階の第2のステップでは、仮想物体表面上のサンプル点位置に立てた法線nと入射照明光とのなす角をα、前記サンプル点における鏡面反射光の射出方向と視点方向とのなす角をγとしたときに、各レイヤーごとの反射係数を、前記レイヤーデータを参照して、
    k(α)・cos βγ
    なる式で求め、求めた各レイヤーごとの反射係数を第1のステップで求めた可視割合による重みづけに応じて合成することにより、前記サンプル点位置における反射係数kを求め、
    反射光強度演算段階の第3のステップでは、前記サンプル点における入射照明光の強度をIiとしたときに、反射光強度Iを、前記反射係数kを用いて、
    I=k・Ii
    なる式で求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  8. 請求項7に記載の二次元画像生成方法において、
    角度αに依存した反射係数をk(α)の代わりに、角度αに依存しない係数ksを用い、各レイヤーごとの反射係数を、
    ks・cos βγ
    なる式で求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  9. 請求項1〜3のいずれかに記載の二次元画像生成方法において、
    レイヤーデータ入力段階では、レイヤー面の所定点に立てた法線nと照明光とのなす角をθL、前記レイヤー面上への前記照明光の投影像と前記レイヤー面上の前記所定点を通る基準線とのなす角度をφL、前記法線nと反射光とのなす角度をθV、前記レイヤー面上への前記反射光の投影像と前記基準線とのなす角度をφVとしたときに、「θL,φL,θV,φV」の関数として与えられる反射係数kb(θL,φL,θV,φV)を各レイヤーごとのレイヤーデータとして入力し、
    可視割合情報入力段階では、「曲率,θL,φL,θV,φV」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す可視割合情報を入力し、
    反射光強度演算段階では、仮想物体表面上のサンプル点位置に立てた法線nと入射照明光とのなす角をθL、前記法線nに直交する直交平面上への前記入射照明光の投影像と前記直交平面上の前記サンプル点を通る基準線とのなす角度をφL、前記法線nと反射光とのなす角度をθV、前記直交平面上への前記反射光の投影像と前記基準線とのなす角度をφVと定義し、
    反射光強度演算段階の第1のステップでは、前記可視割合情報を参照することにより、サンプル点位置の「曲率,θL,φL,θV,φV」の組み合わせに対応する各レイヤーごとの可視割合を求め、
    反射光強度演算段階の第2のステップでは、レイヤーデータを参照することにより、サンプル点位置の「θL,φL,θV,φV」の組み合わせに対応する反射係数kb(θL,φL,θV,φV)を各レイヤーごとに求め、求めた各反射係数kbを、それぞれ第1のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における反射係数kbを求め、
    反射光強度演算段階の第3のステップでは、前記サンプル点における入射照明光の強度をIiとしたときに、前記第2のステップで求めた前記サンプル点位置における反射係数kbを用いて、前記サンプル点からの反射光強度Iを、
    I=kb・Ii
    なる式で求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  10. 請求項1〜3のいずれかに記載の二次元画像生成方法において、
    レイヤーデータ入力段階では、レイヤー面の所定点に立てた法線nと照明光とのなす角をθL、前記レイヤー面上への前記照明光の投影像と前記レイヤー面上の前記所定点を通る基準線とのなす角度をφL、前記法線nと反射光とのなす角度をθV、前記レイヤー面上への前記反射光の投影像と前記基準線とのなす角度をφV、レイヤー面上に定義されたuv二次元座標系における前記所定点の座標値を(u,v)としたときに、「θL,φL,θV,φV,u,v」の関数として与えられる反射係数kb(θL,φL,θV,φV,u,v)を各レイヤーごとのレイヤーデータとして入力し、
    可視割合情報入力段階では、「曲率,θL,φL,θV,φV,u,v」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す可視割合情報を入力し、
    反射光強度演算段階では、仮想物体表面上のサンプル点位置に立てた法線nと入射照明光とのなす角をθL、前記法線nに直交する直交平面上への前記入射照明光の投影像と前記直交平面上の前記サンプル点を通る基準線とのなす角度をφL、前記法線nと反射光とのなす角度をθV、前記直交平面上への前記反射光の投影像と前記基準線とのなす角度をφV、サンプル点の座標値を(u,v)と定義し、
    反射光強度演算段階の第1のステップでは、前記可視割合情報を参照することにより、サンプル点位置の「曲率,θL,φL,θV,φV,u,v」の組み合わせに対応する各レイヤーごとの可視割合を求め、
    反射光強度演算段階の第2のステップでは、レイヤーデータを参照することにより、サンプル点位置の「θL,φL,θV,φV,u,v」の組み合わせに対応する反射係数kb(θL,φL,θV,φV,u,v)を各レイヤーごとに求め、求めた各反射係数kbを、それぞれ第1のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における反射係数kbを求め、
    反射光強度演算段階の第3のステップでは、前記サンプル点における入射照明光の強度をIiとしたときに、前記第2のステップで求めた前記サンプル点位置における反射係数kbを用いて、前記サンプル点からの反射光強度Iを、
    I=kb・Ii
    なる式で求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  11. 請求項1〜10のいずれかに記載の二次元画像生成方法において、
    曲率演算段階で、特定のサンプル点Qについての曲率として、仮想物体を前記サンプル点Qを含む所定面で切断した切断面上に現れる前記仮想物体の輪郭線の前記サンプル点Q近傍の曲率を求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  12. 請求項11に記載の二次元画像生成方法において、
    切断面上に現れる仮想物体の輪郭線上のサンプル点Qの両側に、前記サンプル点Qから前記輪郭線に沿って等距離にある2点QL,QRを定義し、前記切断面上において、点QLにおける前記輪郭線の接線TLに直交する線と点QRにおける前記輪郭線の接線TRに直交する線との交点QQを求め、前記サンプル点Qと前記交点QQとの距離rの逆数を、前記サンプル点Qについての曲率σとすることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  13. 請求項1〜10のいずれかに記載の二次元画像生成方法において、
    物体データ入力段階では、仮想物体の立体形状を多角形の集合体として入力し、
    曲率演算段階で、特定のサンプル点Qについての曲率を求める際に、当該特定のサンプル点を含むJ個の辺を有する着目多角形について、当該着目多角形とこれに隣接する複数J個の隣接多角形との間の前記仮想物体の内側についての形成角ω1〜ωJをそれぞれ求め、第j番目の隣接多角形との間の境界を形成する第j番目の辺に関する曲率として、第j番目の形成角ωjが180°に近くなればなるほど小さくなり、かつ、前記着目多角形および前記第j番目の隣接多角形の大きさが大きくなればなるほど小さくなるような絶対値をもち、前記第j番目の形成角ωjと180°との大小関係に応じた符号を有する曲率σjを定義し、第1番目の辺〜第J番目の辺についてそれぞれ曲率σ1〜σJを定義し、前記特定のサンプル点と第j番目の辺との距離が短ければ短いほど、第j番目の曲率σjの影響が大きくなるように、J個の曲率σ1〜σJを合成することにより、前記サンプル点Qについての曲率σQを求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  14. 請求項13に記載の二次元画像生成方法において、
    可視割合情報入力段階では、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力し、
    物体データ入力段階では、仮想物体に対する繊維シートの張り付け向きを示す基準方向線に関する情報を併せて入力し、
    曲率演算段階では、前記基準方向線と着目多角形の第1番目の辺〜第J番目の辺のそれぞれとのなす角ξ1〜ξJを、各辺についての曲率角度としてそれぞれ求め、サンプル点Qと第j番目の辺との距離が短ければ短いほど、第j番目の曲率角度ξjの影響が大きくなるように、J個の曲率角度ξ1〜ξJを合成することにより、前記サンプル点Qについての曲率角度ξQを求め、
    反射光強度演算段階の第1のステップでは、前記曲率角度ξQで示される向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  15. 請求項1〜10のいずれかに記載の二次元画像生成方法において、
    物体データ入力段階では、仮想物体の立体形状を三角形の集合体として入力し、
    曲率演算段階で、特定のサンプル点Qについての曲率を求める際に、当該特定のサンプル点を含む着目三角形Tqについて、当該着目三角形Tqと、辺A,B,Cを境界としてこれに隣接する3個の隣接三角形Ta,Tb,Tcとの間の前記仮想物体の内側についての形成角ωa,ωb,ωcをそれぞれ求め、辺Aに関する曲率として、前記形成角ωaが180°に近くなればなるほど小さくなり、かつ、前記着目三角形Tqおよび前記隣接三角形Taの大きさが大きくなればなるほど小さくなるような絶対値をもち、前記形成角ωaと180°との大小関係に応じた符号を有する曲率σaを定義し、辺Bに関する曲率として、前記形成角ωbが180°に近くなればなるほど小さくなり、かつ、前記着目三角形Tqおよび前記隣接三角形Tbの大きさが大きくなればなるほど小さくなるような絶対値をもち、前記形成角ωbと180°との大小関係に応じた符号を有する曲率σbを定義し、辺Cに関する曲率として、前記形成角ωcが180°に近くなればなるほど小さくなり、かつ、前記着目三角形Tqおよび前記隣接三角形Tcの大きさが大きくなればなるほど小さくなるような絶対値をもち、前記形成角ωcと180°との大小関係に応じた符号を有する曲率σcを定義し、前記サンプル点Qと辺Aとの距離が短ければ短いほど曲率σaの影響が大きくなり、前記サンプル点Qと辺Bとの距離が短ければ短いほど曲率σbの影響が大きくなり、前記サンプル点Qと辺Cとの距離が短ければ短いほど曲率σcの影響が大きくなるように、曲率σa,σb,σcを合成することにより、前記サンプル点Qについての曲率σQを求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  16. 請求項15に記載の二次元画像生成方法において、
    辺Aに関する曲率を定義する際に、着目三角形Tqの辺Aに対する対角から辺Aに下ろした垂線の長さhqaと、隣接三角形Taの辺Aに対する対角から辺Aに下ろした垂線の長さhaと、を求め、平面上に、「長さhqaをもった線分」と「長さhaをもった線分」とを、それぞれの一端が接続点Jaで接続され、かつ、前記接続点Jaにおける両線分のなす角が形成角ωaとなるように配置し、前記「長さhqaをもった線分」の垂直二等分線と前記「長さhaをもった線分」の垂直二等分線との交点Oaと前記接続点Jaとの距離Raの逆数を、辺Aに関する曲率σaの絶対値と定義し、
    辺Bに関する曲率を定義する際に、着目三角形Tqの辺Bに対する対角から辺Bに下ろした垂線の長さhqbと、隣接三角形Tbの辺Bに対する対角から辺Bに下ろした垂線の長さhbと、を求め、平面上に、「長さhqbをもった線分」と「長さhbをもった線分」とを、それぞれの一端が接続点Jbで接続され、かつ、前記接続点Jbにおける両線分のなす角が形成角ωbとなるように配置し、前記「長さhqbをもった線分」の垂直二等分線と前記「長さhbをもった線分」の垂直二等分線との交点Obと前記接続点Jbとの距離Rbの逆数を、辺Bに関する曲率σbの絶対値と定義し、
    辺Cに関する曲率を定義する際に、着目三角形Tqの辺Cに対する対角から辺Cに下ろした垂線の長さhqcと、隣接三角形Tcの辺Cに対する対角から辺Cに下ろした垂線の長さhcと、を求め、平面上に、「長さhqcをもった線分」と「長さhcをもった線分」とを、それぞれの一端が接続点Jcで接続され、かつ、前記接続点Jcにおける両線分のなす角が形成角ωcとなるように配置し、前記「長さhqcをもった線分」の垂直二等分線と前記「長さhcをもった線分」の垂直二等分線との交点Ocと前記接続点Jcとの距離Rcの逆数を、辺Cに関する曲率σcの絶対値と定義することを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  17. 請求項15または16に記載の二次元画像生成方法において、
    サンプル点Qについての曲率σQを求める際に、着目三角形Tqの辺Aに対する対角とサンプル点Qとの距離をLa、着目三角形Tqの辺Bに対する対角とサンプル点Qとの距離をLb、着目三角形Tqの辺Cに対する対角とサンプル点Qとの距離をLcとしたときに、
    σQ=(La・σa+Lb・σb+Lc・σc)/(La+Lb+Lc)
    なる演算を行うことを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  18. 請求項15または16に記載の二次元画像生成方法において、
    サンプル点Qについての曲率σQを求める際に、サンプル点Qから辺Aに下ろした垂線と、サンプル点Qから辺Bに下ろした垂線と、サンプル点Qから辺Cに下ろした垂線と、によって、着目三角形Tqを3つの領域に分割し、辺Aに対する対角を含む領域の面積をUa、辺Bに対する対角を含む領域の面積をUb、辺Cに対する対角を含む領域の面積をUcとしたときに、
    σQ=(Ua・σa+Ub・σb+Uc・σc)/(Ua+Ub+Uc)
    なる演算を行うことを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  19. 請求項15〜18のいずれかに記載の二次元画像生成方法において、
    可視割合情報入力段階では、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力し、
    物体データ入力段階では、仮想物体に対する繊維シートの張り付け向きを示す基準方向線に関する情報を併せて入力し、
    曲率演算段階では、前記基準方向線と着目三角形の辺A,辺B,辺Cのそれぞれとのなす角ξa,ξb,ξcを、各辺についての曲率角度としてそれぞれ求め、サンプル点Qと辺Aとの距離が短ければ短いほど曲率角度ξaの影響が大きくなり、サンプル点Qと辺Bとの距離が短ければ短いほど曲率角度ξbの影響が大きくなり、サンプル点Qと辺Cとの距離が短ければ短いほど曲率角度ξcの影響が大きくなるように、曲率角度ξa,ξb,ξcを合成することにより、サンプル点Qについての曲率角度ξQを求め、
    反射光強度演算段階の第1のステップでは、前記曲率角度ξQで示される向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  20. 請求項19に記載の二次元画像生成方法において、
    サンプル点Qについての曲率角度ξQを求める際に、着目三角形Tqの辺Aに対する対角とサンプル点Qとの距離をLa、着目三角形Tqの辺Bに対する対角とサンプル点Qとの距離をLb、着目三角形Tqの辺Cに対する対角とサンプル点Qとの距離をLcとしたときに、
    ξQ=(La・ξa+Lb・ξb+Lc・ξc)/(La+Lb+Lc)
    なる演算を行うことを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  21. 請求項19に記載の二次元画像生成方法において、
    サンプル点Qについての曲率角度ξQを求める際に、サンプル点Qから辺Aに下ろした垂線と、サンプル点Qから辺Bに下ろした垂線と、サンプル点Qから辺Cに下ろした垂線と、によって、着目三角形Tqを3つの領域に分割し、辺Aに対する対角を含む領域の面積をUa、辺Bに対する対角を含む領域の面積をUb、辺Cに対する対角を含む領域の面積をUcとしたときに、
    σQ=(Ua・ξa+Ub・ξb+Uc・ξc)/(Ua+Ub+Uc)
    なる演算を行うことを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  22. 請求項1〜10のいずれかに記載の二次元画像生成方法において、
    物体データ入力段階では、仮想物体の立体形状を、数式およびこの数式に用いられているパラメータの値によって表現されるパラメトリック曲面として入力し、
    曲率演算段階で、特定のサンプル点Qについての曲率を、前記数式およびパラメータの値を用いた演算により求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  23. 請求項1〜22のいずれかに記載の二次元画像生成方法において、
    コンピュータが、繊維シート構造体の形状データを入力し、この形状データに基づいて、繊維シートを種々の曲率で曲げた状態をシミュレートし、種々の曲率についての各レイヤーごとの可視割合を示す可視割合情報を作成する可視割合情報作成段階を更に有し、作成された前記可視割合情報を可視割合情報入力段階で入力することを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  24. 請求項23に記載の二次元画像生成方法において、
    繊維シート構造体をレイヤー面に対して垂直上方に投影し、隠面処理を施したときに、投影面上に現れるレイヤーごとの面積比に基づいて可視割合を決定することを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  25. 請求項1〜24のいずれかに記載の二次元画像生成方法において、
    可視割合情報入力段階で、離散的に定義された複数の曲率ごとの可視割合情報を入力し、
    反射光強度演算段階の第1のステップで、曲率演算段階で求められた特定のサンプル点についての曲率に対応する可視割合を、前記可視割合情報によって離散的な曲率について定義されている可視割合を補間することによって求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
  26. 請求項1〜25のいずれかに記載の二次元画像生成方法における各段階をコンピュータに実行させるためのプログラム。
  27. 物体の三次元データに基づいて、当該物体の表面に繊維シートを張り付け、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成する装置であって、
    外部から与えられる種々のデータを入力するデータ入力部と、
    前記データ入力部から入力された、仮想物体の立体形状を示す三次元データを格納する三次元データ格納部と、
    前記データ入力部から入力された、張り付け対象となる仮想の繊維シートを構成する複数m枚の各レイヤーごとの反射特性を示すm通りのレイヤーデータを格納するレイヤーデータ格納部と、
    前記データ入力部から入力された、前記繊維シートを種々の曲率で曲げた状態における各レイヤーごとの可視割合を示す可視割合情報を格納する可視割合情報格納部と、
    前記データ入力部から入力されたデータに基づき、照明条件、視点位置、投影平面を設定する投影条件設定部と、
    前記三次元データに基づいて、前記仮想物体の表面上に定義された所定のサンプル点の位置について、前記仮想物体表面の曲率を求める曲率演算部と、
    前記繊維シートを前記仮想物体の表面に張り付けた場合に、個々のサンプル点から前記視点位置に向かう反射光の強度を演算する反射光強度演算部と、
    サンプル点からの反射光と前記投影平面との交点位置に、前記反射光の強度に応じた画素値をもつ画素を定義する画素定義部と、
    多数のサンプル点について定義された多数の画素の集合を、前記仮想物体の投影画像を示す二次元投影データとして格納する投影データ格納部と、
    を備え、
    前記反射光強度演算部が、
    前記可視割合情報を参照して1つのサンプル点位置における曲率に対応する各レイヤーごとの可視割合を求める第1の機能部と、
    当該サンプル点位置における反射特性を、前記m通りのレイヤーデータの反射特性を前記第1の機能部が求めた可視割合に応じて合成することにより求める第2の機能部と、
    前記第2の機能部が求めた反射特性に基づいて、当該サンプル点からの反射光の強度を求める第3の機能部と、
    を有することを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成装置。
  28. 請求項27に記載の二次元画像生成装置において、
    データ入力部が、繊維シートを仮想物体に張り付けたときに、繊維シート上に定義された基準方向線の向きに関する情報を入力する機能を有し、
    可視割合情報格納部が、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力する機能を有し、
    曲率演算部が、向きのファクターをもった曲率を求める機能を有し、
    反射光強度演算部が、向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を用いて、反射光強度を求める機能を有することを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成装置。
JP2005255318A 2005-09-02 2005-09-02 表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法および生成装置 Expired - Fee Related JP4693555B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005255318A JP4693555B2 (ja) 2005-09-02 2005-09-02 表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法および生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005255318A JP4693555B2 (ja) 2005-09-02 2005-09-02 表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法および生成装置

Publications (2)

Publication Number Publication Date
JP2007072509A JP2007072509A (ja) 2007-03-22
JP4693555B2 true JP4693555B2 (ja) 2011-06-01

Family

ID=37933932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005255318A Expired - Fee Related JP4693555B2 (ja) 2005-09-02 2005-09-02 表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法および生成装置

Country Status (1)

Country Link
JP (1) JP4693555B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4847910B2 (ja) * 2007-03-29 2011-12-28 株式会社ディジタルメディアプロフェッショナル 人間の肌のような半透明の材質のための、曲率ベースレンダリング方法及び装置
JP4935506B2 (ja) * 2007-05-30 2012-05-23 大日本印刷株式会社 物体の三次元形状データの作成装置および作成方法
US20110148898A1 (en) * 2009-12-21 2011-06-23 Electronics And Telecommunications Research Institute Apparatus and method for processing complex material appearance information
JP2013254233A (ja) * 2012-06-05 2013-12-19 Dainippon Printing Co Ltd テクスチャマッピング装置、テクスチャマッピング方法、プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0660195A (ja) * 1992-08-06 1994-03-04 Fujitsu Ltd 曲面表示装置
JP2002236938A (ja) * 2000-10-26 2002-08-23 Square Co Ltd 双方向反射分布関数に基づいて記憶されたテクスチャマップを使用するサーフェスシェーディング方法
JP2003036449A (ja) * 2001-07-25 2003-02-07 Burein:Kk 繊維製品の3次元画像生成用マップデータの自動生成方法、及び、繊維製品の3次元シミュレーション画像生成方法
WO2003032203A1 (fr) * 2001-10-05 2003-04-17 Shima Seiki Manufacturing Limited Procede et dispositif de conception d'un tricot
JP2005181038A (ja) * 2003-12-18 2005-07-07 Olympus Corp 反射特性測定装置とそれを用いた高色再現デザインシステム及び反射特性測定方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0660195A (ja) * 1992-08-06 1994-03-04 Fujitsu Ltd 曲面表示装置
JP2002236938A (ja) * 2000-10-26 2002-08-23 Square Co Ltd 双方向反射分布関数に基づいて記憶されたテクスチャマップを使用するサーフェスシェーディング方法
JP2003036449A (ja) * 2001-07-25 2003-02-07 Burein:Kk 繊維製品の3次元画像生成用マップデータの自動生成方法、及び、繊維製品の3次元シミュレーション画像生成方法
WO2003032203A1 (fr) * 2001-10-05 2003-04-17 Shima Seiki Manufacturing Limited Procede et dispositif de conception d'un tricot
JP2005181038A (ja) * 2003-12-18 2005-07-07 Olympus Corp 反射特性測定装置とそれを用いた高色再現デザインシステム及び反射特性測定方法

Also Published As

Publication number Publication date
JP2007072509A (ja) 2007-03-22

Similar Documents

Publication Publication Date Title
US9639635B2 (en) Footwear digitization system and method
US8514238B2 (en) System and method for adding vector textures to vector graphics images
US20050140673A1 (en) Macrostructure modeling with microstructure reflectance slices
US20130124156A1 (en) Footwear digitization system and method
US11721047B2 (en) Systems and methods to compute the appearance of woven and knitted textiles at the ply-level
JP2023553507A (ja) 特注仕様製品の合成データ表示の高品質レンダリング表示を得るためのシステムおよびその方法
JP4693555B2 (ja) 表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法および生成装置
Thalmann et al. Virtual clothes, hair and skin for beautiful top models
JP4667161B2 (ja) 表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法および生成装置
Yeh et al. Double-sided 2.5 D graphics
Elber Geometric texture modeling
EP0950987A2 (en) Three-Dimensional image creating apparatus
Marras et al. Controlled and Adaptive Mesh Zippering.
Loviscach Wrinkling coarse meshes on the GPU
US20210074057A1 (en) System for computing the appearance of weave patterns
JPH09138865A (ja) 3次元形状データ処理装置
Rushmeier et al. Image-based object editing
Isenberg et al. G-strokes: A concept for simplifying line stylization
Pastor et al. Graph-based point relaxation for 3d stippling
Krumpen et al. OctreeBTFs–A compact, seamless and distortion-free reflectance representation
Kanellis Real-Time Hair Rendering Using Hardware Tessellation
Wang Real-Time Hatch Rendering
Kaasinen Texturing process in hand painted low poly game art
Kán et al. Automatic image-based 3D head modeling with a parameterized model based on a hierarchical tree of facial features
Lindsten Exploring modern methods of 3D asset creation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110222

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees