(57)【特許請求の範囲】
【請求項１】
物体の三次元データに基づいて、当該物体の表面に繊維シートを張り付け、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成する方法であって、
コンピュータが、張り付け対象となる仮想の繊維シートを構成する複数ｍ枚の各レイヤーごとの反射特性を示すｍ通りのレイヤーデータを入力するレイヤーデータ入力段階と、
コンピュータが、前記繊維シートを種々の曲率で曲げた状態における各レイヤーごとの可視割合を示す可視割合情報を入力する可視割合情報入力段階と、
コンピュータが、仮想物体の立体形状を示す三次元データを入力する物体データ入力段階と、
コンピュータが、照明条件、視点位置、投影平面を設定する投影条件設定段階と、
コンピュータが、前記仮想物体の表面上に定義された所定のサンプル点の位置について、前記仮想物体表面の曲率を求める曲率演算段階と、
コンピュータが、前記繊維シートを前記仮想物体の表面に張り付けた場合に、個々のサンプル点から前記視点位置に向かう反射光の強度を演算する反射光強度演算段階と、
コンピュータが、サンプル点からの反射光と前記投影平面との交点位置に、前記反射光の強度に応じた画素値をもつ画素を定義する画素定義段階と、
コンピュータが、多数のサンプル点について定義された多数の画素の集合により、前記仮想物体の投影画像を示す二次元投影データを生成する投影データ生成段階と、
を有し、
前記反射光強度演算段階において、１つのサンプル点からの反射光強度を演算する際に、
前記可視割合情報を参照して当該サンプル点位置における曲率に対応する各レイヤーごとの可視割合を求める第１のステップと、
当該サンプル点位置における反射特性を、前記ｍ通りのレイヤーデータの反射特性を前記第１のステップで求めた可視割合に応じて合成することにより求める第２のステップと、
前記第２のステップで求めた反射特性に基づいて、当該サンプル点からの反射光の強度を求める第３のステップと、
を行うことを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項２】
請求項１に記載の二次元画像生成方法において、
可視割合情報入力段階では、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力し、
物体データ入力段階では、仮想物体に対する繊維シートの張り付け向きに関する情報を併せて入力し、
曲率演算段階では、向きのファクターをもった曲率を求め、
反射光強度演算段階の第１のステップでは、向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項３】
請求項２に記載の二次元画像生成方法において、
可視割合情報入力段階では、円柱側面に繊維シートを所定の向きに張り付けた状態における各レイヤーごとの可視割合を定義し、円柱の半径の逆数を用いて曲率σを定義し、円柱の中心軸を半径方向に投影することにより円柱側面上に得られる投影線と繊維シートの基準方向線とのなす角ξを当該曲率σについての曲率角度と定義し、個々の曲率σおよび個々の曲率角度ξの各組み合わせに対応する各レイヤーごとの可視割合を示す可視割合情報を入力し、
物体データ入力段階では、仮想物体上に張り付けられる繊維シートの基準方向線の向きに関する情報を入力し、
曲率演算段階では、所定のサンプル点の位置について、前記基準方向線の向きに関する情報を参照することにより、曲率σおよびこの曲率σに応じた湾曲方向と前記基準方向線とのずれを示す曲率角度ξを求め、
反射光強度演算段階の第１のステップでは、前記曲率σおよび曲率角度ξの組み合わせに対応する各レイヤーごとの可視割合を求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項４】
請求項１〜３のいずれかに記載の二次元画像生成方法において、
レイヤーデータ入力段階では、ｕｖ二次元座標系上に定義された絵柄データＴ（ｕ，ｖ）で示される反射特性をもった二次元画像を、それぞれ個々のレイヤーについてのレイヤーデータとして入力し、
反射光強度演算段階の第２のステップでは、サンプル点位置の座標値ｕ，ｖに対応する各レイヤーごとの絵柄データＴ（ｕ，ｖ）の値を、第１のステップで求めた可視割合による重みづけに応じて合成することにより、前記サンプル点位置における反射係数ｋを求め、
反射光強度演算段階の第３のステップでは、前記サンプル点における入射照明光の強度をＩｉとしたときに、反射光強度Ｉを、前記反射係数ｋを用いて、
Ｉ＝ｋ・Ｉｉ
なる式で求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項５】
請求項１〜３のいずれかに記載の二次元画像生成方法において、
レイヤーデータ入力段階では、個々のレイヤーごとの拡散反射係数をレイヤーデータとして入力し、
反射光強度演算段階の第２のステップでは、前記個々のレイヤーごとの拡散反射係数を第１のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における拡散反射係数ｋｄを求め、
反射光強度演算段階の第３のステップでは、前記サンプル点における入射照明光の強度をＩｉ、仮想物体表面上の前記サンプル点位置に立てた法線ｎと前記入射照明光とのなす角をαとしたときに、反射光強度Ｉを、
Ｉ＝ｋｄ・Ｉｉ・cos α
なる式で求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項６】
請求項５に記載の二次元画像生成方法において、
レイヤーデータ入力段階では、ｕｖ二次元座標系上に定義された絵柄データＴ（ｕ，ｖ）で示される拡散反射係数をもった二次元画像を、それぞれ個々のレイヤーについてのレイヤーデータとして入力し、
反射光強度演算段階の第２のステップでは、サンプル点位置の座標値ｕ，ｖに対応する各レイヤーごとの絵柄データＴ（ｕ，ｖ）の値を、第１のステップで求めた可視割合による重みづけに応じて合成することにより、前記サンプル点位置における拡散反射係数ｋｄを求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項７】
請求項１〜３のいずれかに記載の二次元画像生成方法において、
レイヤーデータ入力段階では、レイヤー面に立てた法線ｎと照明光とのなす角αに依存した反射係数ｋ（α）と、鏡面反射の鋭さを示すパラメータをβとを、レイヤーデータとして入力し、
反射光強度演算段階の第２のステップでは、仮想物体表面上のサンプル点位置に立てた法線ｎと入射照明光とのなす角をα、前記サンプル点における鏡面反射光の射出方向と視点方向とのなす角をγとしたときに、各レイヤーごとの反射係数を、前記レイヤーデータを参照して、
ｋ（α）・cos βγ
なる式で求め、求めた各レイヤーごとの反射係数を第１のステップで求めた可視割合による重みづけに応じて合成することにより、前記サンプル点位置における反射係数ｋを求め、
反射光強度演算段階の第３のステップでは、前記サンプル点における入射照明光の強度をＩｉとしたときに、反射光強度Ｉを、前記反射係数ｋを用いて、
Ｉ＝ｋ・Ｉｉ
なる式で求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項８】
請求項７に記載の二次元画像生成方法において、
角度αに依存した反射係数をｋ（α）の代わりに、角度αに依存しない係数ｋｓを用い、各レイヤーごとの反射係数を、
ｋｓ・cos βγ
なる式で求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項９】
請求項１〜３のいずれかに記載の二次元画像生成方法において、
レイヤーデータ入力段階では、レイヤー面の所定点に立てた法線ｎと照明光とのなす角をθＬ、前記レイヤー面上への前記照明光の投影像と前記レイヤー面上の前記所定点を通る基準線とのなす角度をφＬ、前記法線ｎと反射光とのなす角度をθＶ、前記レイヤー面上への前記反射光の投影像と前記基準線とのなす角度をφＶとしたときに、「θＬ，φＬ，θＶ，φＶ」の関数として与えられる反射係数ｋｂ（θＬ，φＬ，θＶ，φＶ）を各レイヤーごとのレイヤーデータとして入力し、
可視割合情報入力段階では、「曲率，θＬ，φＬ，θＶ，φＶ」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す可視割合情報を入力し、
反射光強度演算段階では、仮想物体表面上のサンプル点位置に立てた法線ｎと入射照明光とのなす角をθＬ、前記法線ｎに直交する直交平面上への前記入射照明光の投影像と前記直交平面上の前記サンプル点を通る基準線とのなす角度をφＬ、前記法線ｎと反射光とのなす角度をθＶ、前記直交平面上への前記反射光の投影像と前記基準線とのなす角度をφＶと定義し、
反射光強度演算段階の第１のステップでは、前記可視割合情報を参照することにより、サンプル点位置の「曲率，θＬ，φＬ，θＶ，φＶ」の組み合わせに対応する各レイヤーごとの可視割合を求め、
反射光強度演算段階の第２のステップでは、レイヤーデータを参照することにより、サンプル点位置の「θＬ，φＬ，θＶ，φＶ」の組み合わせに対応する反射係数ｋｂ（θＬ，φＬ，θＶ，φＶ）を各レイヤーごとに求め、求めた各反射係数ｋｂを、それぞれ第１のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における反射係数ｋｂを求め、
反射光強度演算段階の第３のステップでは、前記サンプル点における入射照明光の強度をＩｉとしたときに、前記第２のステップで求めた前記サンプル点位置における反射係数ｋｂを用いて、前記サンプル点からの反射光強度Ｉを、
Ｉ＝ｋｂ・Ｉｉ
なる式で求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項１０】
請求項１〜３のいずれかに記載の二次元画像生成方法において、
レイヤーデータ入力段階では、レイヤー面の所定点に立てた法線ｎと照明光とのなす角をθＬ、前記レイヤー面上への前記照明光の投影像と前記レイヤー面上の前記所定点を通る基準線とのなす角度をφＬ、前記法線ｎと反射光とのなす角度をθＶ、前記レイヤー面上への前記反射光の投影像と前記基準線とのなす角度をφＶ、レイヤー面上に定義されたｕｖ二次元座標系における前記所定点の座標値を（ｕ，ｖ）としたときに、「θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」の関数として与えられる反射係数ｋｂ（θＬ，φＬ，θＶ，φＶ，ｕ，ｖ）を各レイヤーごとのレイヤーデータとして入力し、
可視割合情報入力段階では、「曲率，θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す可視割合情報を入力し、
反射光強度演算段階では、仮想物体表面上のサンプル点位置に立てた法線ｎと入射照明光とのなす角をθＬ、前記法線ｎに直交する直交平面上への前記入射照明光の投影像と前記直交平面上の前記サンプル点を通る基準線とのなす角度をφＬ、前記法線ｎと反射光とのなす角度をθＶ、前記直交平面上への前記反射光の投影像と前記基準線とのなす角度をφＶ、サンプル点の座標値を（ｕ，ｖ）と定義し、
反射光強度演算段階の第１のステップでは、前記可視割合情報を参照することにより、サンプル点位置の「曲率，θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」の組み合わせに対応する各レイヤーごとの可視割合を求め、
反射光強度演算段階の第２のステップでは、レイヤーデータを参照することにより、サンプル点位置の「θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」の組み合わせに対応する反射係数ｋｂ（θＬ，φＬ，θＶ，φＶ，ｕ，ｖ）を各レイヤーごとに求め、求めた各反射係数ｋｂを、それぞれ第１のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における反射係数ｋｂを求め、
反射光強度演算段階の第３のステップでは、前記サンプル点における入射照明光の強度をＩｉとしたときに、前記第２のステップで求めた前記サンプル点位置における反射係数ｋｂを用いて、前記サンプル点からの反射光強度Ｉを、
Ｉ＝ｋｂ・Ｉｉ
なる式で求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項１１】
請求項１〜１０のいずれかに記載の二次元画像生成方法において、
曲率演算段階で、特定のサンプル点Ｑについての曲率として、仮想物体を前記サンプル点Ｑを含む所定面で切断した切断面上に現れる前記仮想物体の輪郭線の前記サンプル点Ｑ近傍の曲率を求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項１２】
請求項１１に記載の二次元画像生成方法において、
切断面上に現れる仮想物体の輪郭線上のサンプル点Ｑの両側に、前記サンプル点Ｑから前記輪郭線に沿って等距離にある２点ＱＬ，ＱＲを定義し、前記切断面上において、点ＱＬにおける前記輪郭線の接線ＴＬに直交する線と点ＱＲにおける前記輪郭線の接線ＴＲに直交する線との交点ＱＱを求め、前記サンプル点Ｑと前記交点ＱＱとの距離ｒの逆数を、前記サンプル点Ｑについての曲率σとすることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項１３】
請求項１〜１０のいずれかに記載の二次元画像生成方法において、
物体データ入力段階では、仮想物体の立体形状を多角形の集合体として入力し、
曲率演算段階で、特定のサンプル点Ｑについての曲率を求める際に、当該特定のサンプル点を含むＪ個の辺を有する着目多角形について、当該着目多角形とこれに隣接する複数Ｊ個の隣接多角形との間の前記仮想物体の内側についての形成角ω１〜ωＪをそれぞれ求め、第ｊ番目の隣接多角形との間の境界を形成する第ｊ番目の辺に関する曲率として、第ｊ番目の形成角ωｊが１８０°に近くなればなるほど小さくなり、かつ、前記着目多角形および前記第ｊ番目の隣接多角形の大きさが大きくなればなるほど小さくなるような絶対値をもち、前記第ｊ番目の形成角ωｊと１８０°との大小関係に応じた符号を有する曲率σｊを定義し、第１番目の辺〜第Ｊ番目の辺についてそれぞれ曲率σ１〜σＪを定義し、前記特定のサンプル点と第ｊ番目の辺との距離が短ければ短いほど、第ｊ番目の曲率σｊの影響が大きくなるように、Ｊ個の曲率σ１〜σＪを合成することにより、前記サンプル点Ｑについての曲率σＱを求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項１４】
請求項１３に記載の二次元画像生成方法において、
可視割合情報入力段階では、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力し、
物体データ入力段階では、仮想物体に対する繊維シートの張り付け向きを示す基準方向線に関する情報を併せて入力し、
曲率演算段階では、前記基準方向線と着目多角形の第１番目の辺〜第Ｊ番目の辺のそれぞれとのなす角ξ１〜ξＪを、各辺についての曲率角度としてそれぞれ求め、サンプル点Ｑと第ｊ番目の辺との距離が短ければ短いほど、第ｊ番目の曲率角度ξｊの影響が大きくなるように、Ｊ個の曲率角度ξ１〜ξＪを合成することにより、前記サンプル点Ｑについての曲率角度ξＱを求め、
反射光強度演算段階の第１のステップでは、前記曲率角度ξＱで示される向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項１５】
請求項１〜１０のいずれかに記載の二次元画像生成方法において、
物体データ入力段階では、仮想物体の立体形状を三角形の集合体として入力し、
曲率演算段階で、特定のサンプル点Ｑについての曲率を求める際に、当該特定のサンプル点を含む着目三角形Ｔｑについて、当該着目三角形Ｔｑと、辺Ａ，Ｂ，Ｃを境界としてこれに隣接する３個の隣接三角形Ｔａ，Ｔｂ，Ｔｃとの間の前記仮想物体の内側についての形成角ωａ，ωｂ，ωｃをそれぞれ求め、辺Ａに関する曲率として、前記形成角ωａが１８０°に近くなればなるほど小さくなり、かつ、前記着目三角形Ｔｑおよび前記隣接三角形Ｔａの大きさが大きくなればなるほど小さくなるような絶対値をもち、前記形成角ωａと１８０°との大小関係に応じた符号を有する曲率σａを定義し、辺Ｂに関する曲率として、前記形成角ωｂが１８０°に近くなればなるほど小さくなり、かつ、前記着目三角形Ｔｑおよび前記隣接三角形Ｔｂの大きさが大きくなればなるほど小さくなるような絶対値をもち、前記形成角ωｂと１８０°との大小関係に応じた符号を有する曲率σｂを定義し、辺Ｃに関する曲率として、前記形成角ωｃが１８０°に近くなればなるほど小さくなり、かつ、前記着目三角形Ｔｑおよび前記隣接三角形Ｔｃの大きさが大きくなればなるほど小さくなるような絶対値をもち、前記形成角ωｃと１８０°との大小関係に応じた符号を有する曲率σｃを定義し、前記サンプル点Ｑと辺Ａとの距離が短ければ短いほど曲率σａの影響が大きくなり、前記サンプル点Ｑと辺Ｂとの距離が短ければ短いほど曲率σｂの影響が大きくなり、前記サンプル点Ｑと辺Ｃとの距離が短ければ短いほど曲率σｃの影響が大きくなるように、曲率σａ，σｂ，σｃを合成することにより、前記サンプル点Ｑについての曲率σＱを求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項１６】
請求項１５に記載の二次元画像生成方法において、
辺Ａに関する曲率を定義する際に、着目三角形Ｔｑの辺Ａに対する対角から辺Ａに下ろした垂線の長さｈｑａと、隣接三角形Ｔａの辺Ａに対する対角から辺Ａに下ろした垂線の長さｈａと、を求め、平面上に、「長さｈｑａをもった線分」と「長さｈａをもった線分」とを、それぞれの一端が接続点Ｊａで接続され、かつ、前記接続点Ｊａにおける両線分のなす角が形成角ωａとなるように配置し、前記「長さｈｑａをもった線分」の垂直二等分線と前記「長さｈａをもった線分」の垂直二等分線との交点Ｏａと前記接続点Ｊａとの距離Ｒａの逆数を、辺Ａに関する曲率σａの絶対値と定義し、
辺Ｂに関する曲率を定義する際に、着目三角形Ｔｑの辺Ｂに対する対角から辺Ｂに下ろした垂線の長さｈｑｂと、隣接三角形Ｔｂの辺Ｂに対する対角から辺Ｂに下ろした垂線の長さｈｂと、を求め、平面上に、「長さｈｑｂをもった線分」と「長さｈｂをもった線分」とを、それぞれの一端が接続点Ｊｂで接続され、かつ、前記接続点Ｊｂにおける両線分のなす角が形成角ωｂとなるように配置し、前記「長さｈｑｂをもった線分」の垂直二等分線と前記「長さｈｂをもった線分」の垂直二等分線との交点Ｏｂと前記接続点Ｊｂとの距離Ｒｂの逆数を、辺Ｂに関する曲率σｂの絶対値と定義し、
辺Ｃに関する曲率を定義する際に、着目三角形Ｔｑの辺Ｃに対する対角から辺Ｃに下ろした垂線の長さｈｑｃと、隣接三角形Ｔｃの辺Ｃに対する対角から辺Ｃに下ろした垂線の長さｈｃと、を求め、平面上に、「長さｈｑｃをもった線分」と「長さｈｃをもった線分」とを、それぞれの一端が接続点Ｊｃで接続され、かつ、前記接続点Ｊｃにおける両線分のなす角が形成角ωｃとなるように配置し、前記「長さｈｑｃをもった線分」の垂直二等分線と前記「長さｈｃをもった線分」の垂直二等分線との交点Ｏｃと前記接続点Ｊｃとの距離Ｒｃの逆数を、辺Ｃに関する曲率σｃの絶対値と定義することを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項１７】
請求項１５または１６に記載の二次元画像生成方法において、
サンプル点Ｑについての曲率σＱを求める際に、着目三角形Ｔｑの辺Ａに対する対角とサンプル点Ｑとの距離をＬａ、着目三角形Ｔｑの辺Ｂに対する対角とサンプル点Ｑとの距離をＬｂ、着目三角形Ｔｑの辺Ｃに対する対角とサンプル点Ｑとの距離をＬｃとしたときに、
σＱ＝（Ｌａ・σａ＋Ｌｂ・σｂ＋Ｌｃ・σｃ）／（Ｌａ＋Ｌｂ＋Ｌｃ）
なる演算を行うことを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項１８】
請求項１５または１６に記載の二次元画像生成方法において、
サンプル点Ｑについての曲率σＱを求める際に、サンプル点Ｑから辺Ａに下ろした垂線と、サンプル点Ｑから辺Ｂに下ろした垂線と、サンプル点Ｑから辺Ｃに下ろした垂線と、によって、着目三角形Ｔｑを３つの領域に分割し、辺Ａに対する対角を含む領域の面積をＵａ、辺Ｂに対する対角を含む領域の面積をＵｂ、辺Ｃに対する対角を含む領域の面積をＵｃとしたときに、
σＱ＝（Ｕａ・σａ＋Ｕｂ・σｂ＋Ｕｃ・σｃ）／（Ｕａ＋Ｕｂ＋Ｕｃ）
なる演算を行うことを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項１９】
請求項１５〜１８のいずれかに記載の二次元画像生成方法において、
可視割合情報入力段階では、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力し、
物体データ入力段階では、仮想物体に対する繊維シートの張り付け向きを示す基準方向線に関する情報を併せて入力し、
曲率演算段階では、前記基準方向線と着目三角形の辺Ａ，辺Ｂ，辺Ｃのそれぞれとのなす角ξａ，ξｂ，ξｃを、各辺についての曲率角度としてそれぞれ求め、サンプル点Ｑと辺Ａとの距離が短ければ短いほど曲率角度ξａの影響が大きくなり、サンプル点Ｑと辺Ｂとの距離が短ければ短いほど曲率角度ξｂの影響が大きくなり、サンプル点Ｑと辺Ｃとの距離が短ければ短いほど曲率角度ξｃの影響が大きくなるように、曲率角度ξａ，ξｂ，ξｃを合成することにより、サンプル点Ｑについての曲率角度ξＱを求め、
反射光強度演算段階の第１のステップでは、前記曲率角度ξＱで示される向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項２０】
請求項１９に記載の二次元画像生成方法において、
サンプル点Ｑについての曲率角度ξＱを求める際に、着目三角形Ｔｑの辺Ａに対する対角とサンプル点Ｑとの距離をＬａ、着目三角形Ｔｑの辺Ｂに対する対角とサンプル点Ｑとの距離をＬｂ、着目三角形Ｔｑの辺Ｃに対する対角とサンプル点Ｑとの距離をＬｃとしたときに、
ξＱ＝（Ｌａ・ξａ＋Ｌｂ・ξｂ＋Ｌｃ・ξｃ）／（Ｌａ＋Ｌｂ＋Ｌｃ）
なる演算を行うことを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項２１】
請求項１９に記載の二次元画像生成方法において、
サンプル点Ｑについての曲率角度ξＱを求める際に、サンプル点Ｑから辺Ａに下ろした垂線と、サンプル点Ｑから辺Ｂに下ろした垂線と、サンプル点Ｑから辺Ｃに下ろした垂線と、によって、着目三角形Ｔｑを３つの領域に分割し、辺Ａに対する対角を含む領域の面積をＵａ、辺Ｂに対する対角を含む領域の面積をＵｂ、辺Ｃに対する対角を含む領域の面積をＵｃとしたときに、
σＱ＝（Ｕａ・ξａ＋Ｕｂ・ξｂ＋Ｕｃ・ξｃ）／（Ｕａ＋Ｕｂ＋Ｕｃ）
なる演算を行うことを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項２２】
請求項１〜１０のいずれかに記載の二次元画像生成方法において、
物体データ入力段階では、仮想物体の立体形状を、数式およびこの数式に用いられているパラメータの値によって表現されるパラメトリック曲面として入力し、
曲率演算段階で、特定のサンプル点Ｑについての曲率を、前記数式およびパラメータの値を用いた演算により求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項２３】
請求項１〜２２のいずれかに記載の二次元画像生成方法において、
コンピュータが、繊維シート構造体の形状データを入力し、この形状データに基づいて、繊維シートを種々の曲率で曲げた状態をシミュレートし、種々の曲率についての各レイヤーごとの可視割合を示す可視割合情報を作成する可視割合情報作成段階を更に有し、作成された前記可視割合情報を可視割合情報入力段階で入力することを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項２４】
請求項２３に記載の二次元画像生成方法において、
繊維シート構造体をレイヤー面に対して垂直上方に投影し、隠面処理を施したときに、投影面上に現れるレイヤーごとの面積比に基づいて可視割合を決定することを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項２５】
請求項１〜２４のいずれかに記載の二次元画像生成方法において、
可視割合情報入力段階で、離散的に定義された複数の曲率ごとの可視割合情報を入力し、
反射光強度演算段階の第１のステップで、曲率演算段階で求められた特定のサンプル点についての曲率に対応する可視割合を、前記可視割合情報によって離散的な曲率について定義されている可視割合を補間することによって求めることを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法。
【請求項２６】
請求項１〜２５のいずれかに記載の二次元画像生成方法における各段階をコンピュータに実行させるためのプログラム。
【請求項２７】
物体の三次元データに基づいて、当該物体の表面に繊維シートを張り付け、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成する装置であって、
外部から与えられる種々のデータを入力するデータ入力部と、
前記データ入力部から入力された、仮想物体の立体形状を示す三次元データを格納する三次元データ格納部と、
前記データ入力部から入力された、張り付け対象となる仮想の繊維シートを構成する複数ｍ枚の各レイヤーごとの反射特性を示すｍ通りのレイヤーデータを格納するレイヤーデータ格納部と、
前記データ入力部から入力された、前記繊維シートを種々の曲率で曲げた状態における各レイヤーごとの可視割合を示す可視割合情報を格納する可視割合情報格納部と、
前記データ入力部から入力されたデータに基づき、照明条件、視点位置、投影平面を設定する投影条件設定部と、
前記三次元データに基づいて、前記仮想物体の表面上に定義された所定のサンプル点の位置について、前記仮想物体表面の曲率を求める曲率演算部と、
前記繊維シートを前記仮想物体の表面に張り付けた場合に、個々のサンプル点から前記視点位置に向かう反射光の強度を演算する反射光強度演算部と、
サンプル点からの反射光と前記投影平面との交点位置に、前記反射光の強度に応じた画素値をもつ画素を定義する画素定義部と、
多数のサンプル点について定義された多数の画素の集合を、前記仮想物体の投影画像を示す二次元投影データとして格納する投影データ格納部と、
を備え、
前記反射光強度演算部が、
前記可視割合情報を参照して１つのサンプル点位置における曲率に対応する各レイヤーごとの可視割合を求める第１の機能部と、
当該サンプル点位置における反射特性を、前記ｍ通りのレイヤーデータの反射特性を前記第１の機能部が求めた可視割合に応じて合成することにより求める第２の機能部と、
前記第２の機能部が求めた反射特性に基づいて、当該サンプル点からの反射光の強度を求める第３の機能部と、
を有することを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成装置。
【請求項２８】
請求項２７に記載の二次元画像生成装置において、
データ入力部が、繊維シートを仮想物体に張り付けたときに、繊維シート上に定義された基準方向線の向きに関する情報を入力する機能を有し、
可視割合情報格納部が、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力する機能を有し、
曲率演算部が、向きのファクターをもった曲率を求める機能を有し、
反射光強度演算部が、向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を用いて、反射光強度を求める機能を有することを特徴とする表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表面に繊維シートを張り付けた三次元仮想物体を、所定方向から観察したときの二次元画像を作成する技術に関し、特に、コンピュータを利用したレンダリング処理の技術に関する。
【背景技術】
【０００２】
コンピュータの性能向上により、産業界の様々な分野でＣＧ画像が利用されるようになってきている。たとえば、建築物、家具、自動車などの設計段階では、通常、多くのＣＧ画像が利用されている。また、コンピュータを利用した製品のプレゼンテーションや映画などの種々の映像表現においても、物品の様々なＣＧ画像が不可欠である。更に、最近では、商品カタログなどにも、実際の商品写真の代わりに、ＣＧ画像が利用される例も少なくない。一般に、ＣＡＤを用いた設計段階を経て製品化された商品の場合、設計に用いたＣＡＤデータを流用してＣＧ画像を作成することができるため、商品カタログに掲載するＣＧ画像も比較的容易に作成することが可能になる。
【０００３】
建築物、家具、自動車の内装部品などのＣＡＤデータは、仮想物体の三次元データであるのに対して、提示用のＣＧ画像は、通常、二次元画像として用意される。したがって、ＣＡＤデータを利用してＣＧ画像を作成する際には、コンピュータ内に仮想物体の三次元データを取り込み、照明条件、視点位置、投影平面を設定した上で、三次元の仮想物体の二次元投影像を投影平面上に得るためのレンダリング処理が行われる。この処理は、基本的には、照明条件で定められた光源からの照明光が仮想物体の各部で反射して視点位置へ向かう現象をコンピュータ上でシミュレートするものであり、視点位置へ向かう反射光の強度を演算する処理ということができる。仮想物体の表面に、何らかの絵柄をもったシート状素材が張り付けられる場合には、当該シート状素材の絵柄をテクスチャデータとして用意し、仮想物体の表面にこの絵柄をマッピングした上で、反射率の演算が行われることになる。たとえば、下記の特許文献１には、二次元テクスチャを三次元物体の表面にマッピングした上で、レンダリング処理を施し、二次元画像を生成する手法が開示されている。
【特許文献１】特開２００５−６３０４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
椅子やソファなどの家具、自動車の内装、玄関マットや絨毯、衣服をはじめとするアパレル製品、バッグや靴などの物品には、表面に布などの繊維質材料からなるシート（以下、繊維シートと呼ぶ）を張り付けたものが少なくない。このように、表面に繊維シートを張り付けた三次元仮想物体を、所定の照明条件の下で、所定の視点位置から観察したときに得られる二次元画像を生成する場合、通常は、繊維シート表面を表現するためのテクスチャのデータを用意し、このテクスチャを三次元仮想物体にマッピングした上でレンダリング処理を行うことになる。
【０００５】
しかしながら、従来の一般的なテクスチャマッピングの手法を用いた場合、実際の繊維シートのもつ素材の特徴を十分に表現することができないという問題がある。特に、デニム、玉虫織り、タオル、ビロードなどのパイル地といった繊維シートの質感は、非常に繊細であり、従来のレンダリング方法では、二次元画像上にその質感を十分に表現することができない。
【０００６】
そこで本発明は、仮想物体の三次元データに基づいて、この仮想物体の表面に繊維シートを張り付けた状態を示す二次元データを生成する際に、繊維の質感が十分に表現された二次元画像を生成することができる二次元画像生成方法および生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
(1)   本発明の第１の態様は、物体の三次元データに基づいて、当該物体の表面に繊維シートを張り付け、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成する三次元仮想物体に基づく二次元画像生成方法において、
コンピュータが、張り付け対象となる仮想の繊維シートを構成する複数ｍ枚の各レイヤーごとの反射特性を示すｍ通りのレイヤーデータを入力するレイヤーデータ入力段階と、
コンピュータが、繊維シートを種々の曲率で曲げた状態における各レイヤーごとの可視割合を示す可視割合情報を入力する可視割合情報入力段階と、
コンピュータが、仮想物体の立体形状を示す三次元データを入力する物体データ入力段階と、
コンピュータが、照明条件、視点位置、投影平面を設定する投影条件設定段階と、
コンピュータが、仮想物体の表面上に定義された所定のサンプル点の位置について、仮想物体表面の曲率を求める曲率演算段階と、
コンピュータが、繊維シートを仮想物体の表面に張り付けた場合に、個々のサンプル点から視点位置に向かう反射光の強度を演算する反射光強度演算段階と、
コンピュータが、サンプル点からの反射光と投影平面との交点位置に、反射光の強度に応じた画素値をもつ画素を定義する画素定義段階と、
コンピュータが、多数のサンプル点について定義された多数の画素の集合により、仮想物体の投影画像を示す二次元投影データを生成する投影データ生成段階と、
を実行するようにし、
反射光強度演算段階において、１つのサンプル点からの反射光強度を演算する際に、
可視割合情報を参照して当該サンプル点位置における曲率に対応する各レイヤーごとの可視割合を求める第１のステップと、
当該サンプル点位置における反射特性を、ｍ通りのレイヤーデータの反射特性を第１のステップで求めた可視割合に応じて合成することにより求める第２のステップと、
第２のステップで求めた反射特性に基づいて、当該サンプル点からの反射光の強度を求める第３のステップと、
を行うようにしたものである。
【０００８】
(2)   本発明の第２の態様は、上述の第１の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
可視割合情報入力段階では、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力し、
物体データ入力段階では、仮想物体に対する繊維シートの張り付け向きに関する情報を併せて入力し、
曲率演算段階では、向きのファクターをもった曲率を求め、
反射光強度演算段階の第１のステップでは、向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を求めるようにしたものである。
【０００９】
(3)   本発明の第３の態様は、上述の第２の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
可視割合情報入力段階では、円柱側面に繊維シートを所定の向きに張り付けた状態における各レイヤーごとの可視割合を定義し、円柱の半径の逆数を用いて曲率σを定義し、円柱の中心軸を半径方向に投影することにより円柱側面上に得られる投影線と繊維シートの基準方向線とのなす角ξを当該曲率σについての曲率角度と定義し、個々の曲率σおよび個々の曲率角度ξの各組み合わせに対応する各レイヤーごとの可視割合を示す可視割合情報を入力し、
物体データ入力段階では、仮想物体上に張り付けられる繊維シートの基準方向線の向きに関する情報を入力し、
曲率演算段階では、所定のサンプル点の位置について、基準方向線の向きに関する情報を参照することにより、曲率σおよびこの曲率σに応じた湾曲方向と基準方向線とのずれを示す曲率角度ξを求め、
反射光強度演算段階の第１のステップでは、曲率σおよび曲率角度ξの組み合わせに対応する各レイヤーごとの可視割合を求めるようにしたものである。
【００１０】
(4)   本発明の第４の態様は、上述の第１〜第３の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
レイヤーデータ入力段階では、ｕｖ二次元座標系上に定義された絵柄データＴ（ｕ，ｖ）で示される反射特性をもった二次元画像を、それぞれ個々のレイヤーについてのレイヤーデータとして入力し、
反射光強度演算段階の第２のステップでは、サンプル点位置の座標値ｕ，ｖに対応する各レイヤーごとの絵柄データＴ（ｕ，ｖ）の値を、第１のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における反射係数ｋを求め、
反射光強度演算段階の第３のステップでは、サンプル点における入射照明光の強度をＩｉとしたときに、反射光強度Ｉを、反射係数ｋを用いて、
Ｉ＝ｋ・Ｉｉ
なる式で求めるようにしたものである。
【００１１】
(5)   本発明の第５の態様は、上述の第１〜第３の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
レイヤーデータ入力段階では、個々のレイヤーごとの拡散反射係数をレイヤーデータとして入力し、
反射光強度演算段階の第２のステップでは、個々のレイヤーごとの拡散反射係数を第１のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における拡散反射係数ｋｄを求め、
反射光強度演算段階の第３のステップでは、サンプル点における入射照明光の強度をＩｉ、仮想物体表面上のサンプル点位置に立てた法線ｎと入射照明光とのなす角をαとしたときに、反射光強度Ｉを、
Ｉ＝ｋｄ・Ｉｉ・cos α
なる式で求めるようにしたものである。
【００１２】
(6)   本発明の第６の態様は、上述の第５の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
レイヤーデータ入力段階では、ｕｖ二次元座標系上に定義された絵柄データＴ（ｕ，ｖ）で示される拡散反射係数をもった二次元画像を、それぞれ個々のレイヤーについてのレイヤーデータとして入力し、
反射光強度演算段階の第２のステップでは、サンプル点位置の座標値ｕ，ｖに対応する各レイヤーごとの絵柄データＴ（ｕ，ｖ）の値を、第１のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における拡散反射係数ｋｄを求めるようにしたものである。
【００１３】
(7)   本発明の第７の態様は、上述の第１〜第３の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
レイヤーデータ入力段階では、レイヤー面に立てた法線ｎと照明光とのなす角αに依存した反射係数ｋ（α）と、鏡面反射の鋭さを示すパラメータをβとを、レイヤーデータとして入力し、
反射光強度演算段階の第２のステップでは、仮想物体表面上のサンプル点位置に立てた法線ｎと入射照明光とのなす角をα、サンプル点における鏡面反射光の射出方向と視点方向とのなす角をγとしたときに、各レイヤーごとの反射係数を、レイヤーデータを参照して、
ｋ（α）・cos βγ
なる式で求め、求めた各レイヤーごとの反射係数を第１のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における反射係数ｋを求め、
反射光強度演算段階の第３のステップでは、サンプル点における入射照明光の強度をＩｉとしたときに、反射光強度Ｉを、反射係数ｋを用いて、
Ｉ＝ｋ・Ｉｉ
なる式で求めるようにしたものである。
【００１４】
(8)   本発明の第８の態様は、上述の第７の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
角度αに依存した反射係数をｋ（α）の代わりに、角度αに依存しない係数ｋｓを用い、各レイヤーごとの反射係数を、
ｋｓ・cos βγ
なる式で求めるようにしたものである。
【００１５】
(9)   本発明の第９の態様は、上述の第１〜第３の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
レイヤーデータ入力段階では、レイヤー面の所定点に立てた法線ｎと照明光とのなす角をθＬ、レイヤー面上への照明光の投影像とレイヤー面上の上記所定点を通る基準線とのなす角度をφＬ、法線ｎと反射光とのなす角度をθＶ、レイヤー面上への反射光の投影像と基準線とのなす角度をφＶとしたときに、「θＬ，φＬ，θＶ，φＶ」の関数として与えられる反射係数ｋｂ（θＬ，φＬ，θＶ，φＶ）を各レイヤーごとのレイヤーデータとして入力し、
可視割合情報入力段階では、「曲率，θＬ，φＬ，θＶ，φＶ」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す可視割合情報を入力し、
反射光強度演算段階では、仮想物体表面上のサンプル点位置に立てた法線ｎと入射照明光とのなす角をθＬ、法線ｎに直交する直交平面上への入射照明光の投影像と直交平面上のサンプル点を通る基準線とのなす角度をφＬ、法線ｎと反射光とのなす角度をθＶ、直交平面上への反射光の投影像と基準線とのなす角度をφＶと定義し、
反射光強度演算段階の第１のステップでは、可視割合情報を参照することにより、サンプル点位置の「曲率，θＬ，φＬ，θＶ，φＶ」の組み合わせに対応する各レイヤーごとの可視割合を求め、
反射光強度演算段階の第２のステップでは、レイヤーデータを参照することにより、サンプル点位置の「θＬ，φＬ，θＶ，φＶ」の組み合わせに対応する反射係数ｋｂ（θＬ，φＬ，θＶ，φＶ）を各レイヤーごとに求め、求めた各反射係数ｋｂを、それぞれ第１のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における反射係数ｋｂを求め、
反射光強度演算段階の第３のステップでは、サンプル点における入射照明光の強度をＩｉとしたときに、第２のステップで求めたサンプル点位置における反射係数ｋｂを用いて、サンプル点からの反射光強度Ｉを、
Ｉ＝ｋｂ・Ｉｉ
なる式で求めるようにしたものである。
【００１６】
(10)  本発明の第１０の態様は、上述の第１〜第３の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
レイヤーデータ入力段階では、レイヤー面の所定点に立てた法線ｎと照明光とのなす角をθＬ、レイヤー面上への照明光の投影像とレイヤー面上の所定点を通る基準線とのなす角度をφＬ、法線ｎと反射光とのなす角度をθＶ、レイヤー面上への反射光の投影像と基準線とのなす角度をφＶ、レイヤー面上に定義されたｕｖ二次元座標系における所定点の座標値を（ｕ，ｖ）としたときに、「θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」の関数として与えられる反射係数ｋｂ（θＬ，φＬ，θＶ，φＶ，ｕ，ｖ）を各レイヤーごとのレイヤーデータとして入力し、
可視割合情報入力段階では、「曲率，θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す可視割合情報を入力し、
反射光強度演算段階では、仮想物体表面上のサンプル点位置に立てた法線ｎと入射照明光とのなす角をθＬ、法線ｎに直交する直交平面上への入射照明光の投影像と直交平面上のサンプル点を通る基準線とのなす角度をφＬ、法線ｎと反射光とのなす角度をθＶ、直交平面上への反射光の投影像と基準線とのなす角度をφＶ、サンプル点の座標値を（ｕ，ｖ）と定義し、
反射光強度演算段階の第１のステップでは、可視割合情報を参照することにより、サンプル点位置の「曲率，θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」の組み合わせに対応する各レイヤーごとの可視割合を求め、
反射光強度演算段階の第２のステップでは、レイヤーデータを参照することにより、サンプル点位置の「θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」の組み合わせに対応する反射係数ｋｂ（θＬ，φＬ，θＶ，φＶ，ｕ，ｖ）を各レイヤーごとに求め、求めた各反射係数ｋｂを、それぞれ第１のステップで求めた可視割合による重みづけに応じて合成することにより、サンプル点位置における反射係数ｋｂを求め、
反射光強度演算段階の第３のステップでは、サンプル点における入射照明光の強度をＩｉとしたときに、第２のステップで求めたサンプル点位置における反射係数ｋｂを用いて、サンプル点からの反射光強度Ｉを、
Ｉ＝ｋｂ・Ｉｉ
なる式で求めるようにしたものである。
【００１７】
(11)  本発明の第１１の態様は、上述の第１〜第１０の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
曲率演算段階で、特定のサンプル点Ｑについての曲率として、仮想物体をサンプル点Ｑを含む所定面で切断した切断面上に現れる仮想物体の輪郭線のサンプル点Ｑ近傍の曲率を求めるようにしたものである。
【００１８】
(12)  本発明の第１２の態様は、上述の第１１の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
切断面上に現れる仮想物体の輪郭線上のサンプル点Ｑの両側に、サンプル点Ｑから輪郭線に沿って等距離にある２点ＱＬ，ＱＲを定義し、切断面上において、点ＱＬにおける輪郭線の接線ＴＬに直交する線と点ＱＲにおける輪郭線の接線ＴＲに直交する線との交点ＱＱを求め、サンプル点Ｑと交点ＱＱとの距離ｒの逆数を、サンプル点Ｑについての曲率σとするようにしたものである。
【００１９】
(13)  本発明の第１３の態様は、上述の第１〜第１０の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
物体データ入力段階では、仮想物体の立体形状を多角形の集合体として入力し、
曲率演算段階で、特定のサンプル点Ｑについての曲率を求める際に、当該特定のサンプル点を含むＪ個の辺を有する着目多角形について、当該着目多角形とこれに隣接する複数Ｊ個の隣接多角形との間の仮想物体の内側についての形成角ω１〜ωＪをそれぞれ求め、第ｊ番目の隣接多角形との間の境界を形成する第ｊ番目の辺に関する曲率として、第ｊ番目の形成角ωｊが１８０°に近くなればなるほど小さくなり、かつ、着目多角形および第ｊ番目の隣接多角形の大きさが大きくなればなるほど小さくなるような絶対値をもち、第ｊ番目の形成角ωｊと１８０°との大小関係に応じた符号を有する曲率σｊを定義し、第１番目の辺〜第Ｊ番目の辺についてそれぞれ曲率σ１〜σＪを定義し、特定のサンプル点と第ｊ番目の辺との距離が短ければ短いほど、第ｊ番目の曲率σｊの影響が大きくなるように、Ｊ個の曲率σ１〜σＪを合成することにより、サンプル点Ｑについての曲率σＱを求めるようにしたものである。
【００２０】
(14)  本発明の第１４の態様は、上述の第１３の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
可視割合情報入力段階では、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力し、
物体データ入力段階では、仮想物体に対する繊維シートの張り付け向きを示す基準方向線に関する情報を併せて入力し、
曲率演算段階では、基準方向線と着目多角形の第１番目の辺〜第Ｊ番目の辺のそれぞれとのなす角ξ１〜ξＪを、各辺についての曲率角度としてそれぞれ求め、サンプル点Ｑと第ｊ番目の辺との距離が短ければ短いほど、第ｊ番目の曲率角度ξｊの影響が大きくなるように、Ｊ個の曲率角度ξ１〜ξＪを合成することにより、サンプル点Ｑについての曲率角度ξＱを求め、
反射光強度演算段階の第１のステップでは、曲率角度ξＱで示される向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を求めるようにしたものである。
【００２１】
(15)  本発明の第１５の態様は、上述の第１〜第１０の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
物体データ入力段階では、仮想物体の立体形状を三角形の集合体として入力し、
曲率演算段階で、特定のサンプル点Ｑについての曲率を求める際に、当該特定のサンプル点を含む着目三角形Ｔｑについて、当該着目三角形Ｔｑと、辺Ａ，Ｂ，Ｃを境界としてこれに隣接する３個の隣接三角形Ｔａ，Ｔｂ，Ｔｃとの間の仮想物体の内側についての形成角ωａ，ωｂ，ωｃをそれぞれ求め、辺Ａに関する曲率として、形成角ωａが１８０°に近くなればなるほど小さくなり、かつ、着目三角形Ｔｑおよび隣接三角形Ｔａの大きさが大きくなればなるほど小さくなるような絶対値をもち、形成角ωａと１８０°との大小関係に応じた符号を有する曲率σａを定義し、辺Ｂに関する曲率として、形成角ωｂが１８０°に近くなればなるほど小さくなり、かつ、着目三角形Ｔｑおよび隣接三角形Ｔｂの大きさが大きくなればなるほど小さくなるような絶対値をもち、形成角ωｂと１８０°との大小関係に応じた符号を有する曲率σｂを定義し、辺Ｃに関する曲率として、形成角ωｃが１８０°に近くなればなるほど小さくなり、かつ、着目三角形Ｔｑおよび隣接三角形Ｔｃの大きさが大きくなればなるほど小さくなるような絶対値をもち、形成角ωｃと１８０°との大小関係に応じた符号を有する曲率σｃを定義し、サンプル点Ｑと辺Ａとの距離が短ければ短いほど曲率σａの影響が大きくなり、サンプル点Ｑと辺Ｂとの距離が短ければ短いほど曲率σｂの影響が大きくなり、サンプル点Ｑと辺Ｃとの距離が短ければ短いほど曲率σｃの影響が大きくなるように、曲率σａ，σｂ，σｃを合成することにより、サンプル点Ｑについての曲率σＱを求めるようにしたものである。
【００２２】
(16)  本発明の第１６の態様は、上述の第１５の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
辺Ａに関する曲率を定義する際に、着目三角形Ｔｑの辺Ａに対する対角から辺Ａに下ろした垂線の長さｈｑａと、隣接三角形Ｔａの辺Ａに対する対角から辺Ａに下ろした垂線の長さｈａと、を求め、平面上に、「長さｈｑａをもった線分」と「長さｈａをもった線分」とを、それぞれの一端が接続点Ｊａで接続され、かつ、接続点Ｊａにおける両線分のなす角が形成角ωａとなるように配置し、「長さｈｑａをもった線分」の垂直二等分線と「長さｈａをもった線分」の垂直二等分線との交点Ｏａと接続点Ｊａとの距離Ｒａの逆数を、辺Ａに関する曲率σａの絶対値と定義し、
辺Ｂに関する曲率を定義する際に、着目三角形Ｔｑの辺Ｂに対する対角から辺Ｂに下ろした垂線の長さｈｑｂと、隣接三角形Ｔｂの辺Ｂに対する対角から辺Ｂに下ろした垂線の長さｈｂと、を求め、平面上に、「長さｈｑｂをもった線分」と「長さｈｂをもった線分」とを、それぞれの一端が接続点Ｊｂで接続され、かつ、接続点Ｊｂにおける両線分のなす角が形成角ωｂとなるように配置し、「長さｈｑｂをもった線分」の垂直二等分線と「長さｈｂをもった線分」の垂直二等分線との交点Ｏｂと接続点Ｊｂとの距離Ｒｂの逆数を、辺Ｂに関する曲率σｂの絶対値と定義し、
辺Ｃに関する曲率を定義する際に、着目三角形Ｔｑの辺Ｃに対する対角から辺Ｃに下ろした垂線の長さｈｑｃと、隣接三角形Ｔｃの辺Ｃに対する対角から辺Ｃに下ろした垂線の長さｈｃと、を求め、平面上に、「長さｈｑｃをもった線分」と「長さｈｃをもった線分」とを、それぞれの一端が接続点Ｊｃで接続され、かつ、接続点Ｊｃにおける両線分のなす角が形成角ωｃとなるように配置し、「長さｈｑｃをもった線分」の垂直二等分線と「長さｈｃをもった線分」の垂直二等分線との交点Ｏｃと接続点Ｊｃとの距離Ｒｃの逆数を、辺Ｃに関する曲率σｃの絶対値と定義するようにしたものである。
【００２３】
(17)  本発明の第１７の態様は、上述の第１５または第１６の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
サンプル点Ｑについての曲率σＱを求める際に、着目三角形Ｔｑの辺Ａに対する対角とサンプル点Ｑとの距離をＬａ、着目三角形Ｔｑの辺Ｂに対する対角とサンプル点Ｑとの距離をＬｂ、着目三角形Ｔｑの辺Ｃに対する対角とサンプル点Ｑとの距離をＬｃとしたときに、
σＱ＝（Ｌａ・σａ＋Ｌｂ・σｂ＋Ｌｃ・σｃ）／（Ｌａ＋Ｌｂ＋Ｌｃ）
なる演算を行うようにしたものである。
【００２４】
(18)  本発明の第１８の態様は、上述の第１５または第１６の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
サンプル点Ｑについての曲率σＱを求める際に、サンプル点Ｑから辺Ａに下ろした垂線と、サンプル点Ｑから辺Ｂに下ろした垂線と、サンプル点Ｑから辺Ｃに下ろした垂線と、によって、着目三角形Ｔｑを３つの領域に分割し、辺Ａに対する対角を含む領域の面積をＵａ、辺Ｂに対する対角を含む領域の面積をＵｂ、辺Ｃに対する対角を含む領域の面積をＵｃとしたときに、
σＱ＝（Ｕａ・σａ＋Ｕｂ・σｂ＋Ｕｃ・σｃ）／（Ｕａ＋Ｕｂ＋Ｕｃ）
なる演算を行うようにしたものである。
【００２５】
(19)  本発明の第１９の態様は、上述の第１５〜第１８の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
可視割合情報入力段階では、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力し、
物体データ入力段階では、仮想物体に対する繊維シートの張り付け向きを示す基準方向線に関する情報を併せて入力し、
曲率演算段階では、基準方向線と着目三角形の辺Ａ，辺Ｂ，辺Ｃのそれぞれとのなす角ξａ，ξｂ，ξｃを、各辺についての曲率角度としてそれぞれ求め、サンプル点Ｑと辺Ａとの距離が短ければ短いほど曲率角度ξａの影響が大きくなり、サンプル点Ｑと辺Ｂとの距離が短ければ短いほど曲率角度ξｂの影響が大きくなり、サンプル点Ｑと辺Ｃとの距離が短ければ短いほど曲率角度ξｃの影響が大きくなるように、曲率角度ξａ，ξｂ，ξｃを合成することにより、サンプル点Ｑについての曲率角度ξＱを求め、
反射光強度演算段階の第１のステップでは、曲率角度ξＱで示される向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を求めるようにしたものである。
【００２６】
(20)  本発明の第２０の態様は、上述の第１９の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
サンプル点Ｑについての曲率角度ξＱを求める際に、着目三角形Ｔｑの辺Ａに対する対角とサンプル点Ｑとの距離をＬａ、着目三角形Ｔｑの辺Ｂに対する対角とサンプル点Ｑとの距離をＬｂ、着目三角形Ｔｑの辺Ｃに対する対角とサンプル点Ｑとの距離をＬｃとしたときに、
ξＱ＝（Ｌａ・ξａ＋Ｌｂ・ξｂ＋Ｌｃ・ξｃ）／（Ｌａ＋Ｌｂ＋Ｌｃ）
なる演算を行うようにしたものである。
【００２７】
(21)  本発明の第２１の態様は、上述の第１９の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
サンプル点Ｑについての曲率角度ξＱを求める際に、サンプル点Ｑから辺Ａに下ろした垂線と、サンプル点Ｑから辺Ｂに下ろした垂線と、サンプル点Ｑから辺Ｃに下ろした垂線と、によって、着目三角形Ｔｑを３つの領域に分割し、辺Ａに対する対角を含む領域の面積をＵａ、辺Ｂに対する対角を含む領域の面積をＵｂ、辺Ｃに対する対角を含む領域の面積をＵｃとしたときに、
σＱ＝（Ｕａ・ξａ＋Ｕｂ・ξｂ＋Ｕｃ・ξｃ）／（Ｕａ＋Ｕｂ＋Ｕｃ）
なる演算を行うようにしたものである。
【００２８】
(22)  本発明の第２２の態様は、上述の第１〜第１０の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
物体データ入力段階では、仮想物体の立体形状を、数式およびこの数式に用いられているパラメータの値によって表現されるパラメトリック曲面として入力し、
曲率演算段階で、特定のサンプル点Ｑについての曲率を、数式およびパラメータの値を用いた演算により求めるようにしたものである。
【００２９】
(23)  本発明の第２３の態様は、上述の第１〜第２２の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
コンピュータが、繊維シート構造体の形状データを入力し、この形状データに基づいて、繊維シートを種々の曲率で曲げた状態をシミュレートし、種々の曲率についての各レイヤーごとの可視割合を示す可視割合情報を作成する可視割合情報作成段階を更に有し、作成された可視割合情報を可視割合情報入力段階で入力するようにしたものである。
【００３０】
(24)  本発明の第２４の態様は、上述の第２３の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
繊維シート構造体をレイヤー面に対して垂直上方に投影し、隠面処理を施したときに、投影面上に現れるレイヤーごとの面積比に基づいて可視割合を決定するようにしたものである。
【００３１】
(25)  本発明の第２５の態様は、上述の第１〜第２４の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法において、
可視割合情報入力段階で、離散的に定義された複数の曲率ごとの可視割合情報を入力し、
反射光強度演算段階の第１のステップで、曲率演算段階で求められた特定のサンプル点についての曲率に対応する可視割合を、可視割合情報によって離散的な曲率について定義されている可視割合を補間することによって求めるようにしたものである。
【００３２】
(26)  本発明の第２６の態様は、上述の第１〜第２５の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成方法における各段階をコンピュータに実行させるためのプログラムを用意したものである。
【００３３】
(27)  本発明の第２７の態様は、物体の三次元データに基づいて、当該物体の表面に繊維シートを張り付け、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成する三次元仮想物体に基づく二次元画像生成装置において、
外部から与えられる種々のデータを入力するデータ入力部と、
データ入力部から入力された、仮想物体の立体形状を示す三次元データを格納する三次元データ格納部と、
データ入力部から入力された、張り付け対象となる仮想の繊維シートを構成する複数ｍ枚の各レイヤーごとの反射特性を示すｍ通りのレイヤーデータを格納するレイヤーデータ格納部と、
データ入力部から入力された、繊維シートを種々の曲率で曲げた状態における各レイヤーごとの可視割合を示す可視割合情報を格納する可視割合情報格納部と、
データ入力部から入力されたデータに基づき、照明条件、視点位置、投影平面を設定する投影条件設定部と、
三次元データに基づいて、仮想物体の表面上に定義された所定のサンプル点の位置について、仮想物体表面の曲率を求める曲率演算部と、
繊維シートを仮想物体の表面に張り付けた場合に、個々のサンプル点から視点位置に向かう反射光の強度を演算する反射光強度演算部と、
サンプル点からの反射光と投影平面との交点位置に、反射光の強度に応じた画素値をもつ画素を定義する画素定義部と、
多数のサンプル点について定義された多数の画素の集合を、仮想物体の投影画像を示す二次元投影データとして格納する投影データ格納部と、
を設け、
反射光強度演算部を、
可視割合情報を参照して１つのサンプル点位置における曲率に対応する各レイヤーごとの可視割合を求める第１の機能部と、
当該サンプル点位置における反射特性を、ｍ通りのレイヤーデータの反射特性を第１の機能部が求めた可視割合に応じて合成することにより求める第２の機能部と、
第２の機能部が求めた反射特性に基づいて、当該サンプル点からの反射光の強度を求める第３の機能部と、
によって構成したものである。
【００３４】
(28)  本発明の第２８の態様は、上述の第２７の態様に係る、表面に繊維シートを張り付けた三次元仮想物体に基づく二次元画像生成装置において、
データ入力部が、繊維シートを仮想物体に張り付けたときに、繊維シート上に定義された基準方向線の向きに関する情報を入力する機能を有し、
可視割合情報格納部が、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力する機能を有し、
曲率演算部が、向きのファクターをもった曲率を求める機能を有し、
反射光強度演算部が、向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を用いて、反射光強度を求める機能を有するようにしたものである。
【発明の効果】
【００３５】
本発明に係る二次元画像生成方法および生成装置によれば、繊維シートの反射特性を複数のレイヤーごとに分けて取り扱い、この繊維シートを張り付けた仮想物体の各部からの反射光強度を演算する際に、当該各部の曲率に応じて定まる所定比率で各レイヤーごとの反射特性の合成を行うようにしたため、繊維の質感が十分に表現された二次元画像を生成することが可能になる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明を図示する実施形態に基づいて説明する。
【００３７】
＜＜＜  §１．レンダリング処理の基本概念  ＞＞＞
本発明は、コンピュータを用いたレンダリング処理に係るものであり、特に、表面に繊維シート（布などの繊維質材料からなるシート）を張り付けた三次元仮想物体についてのレンダリング処理に係るものである。ここでは、従来の一般的なレンダリング処理の基本概念とその問題点、そして当該問題点を解決するための本発明の基本概念を説明する。
【００３８】
まず、図１(a) に示すような三次元仮想物体１０を、所定の視点位置から観察した場合に得られる二次元画像を生成する処理を考えよう。この仮想物体１０は、直方体状の立体であり、実際には全６面を有しているが、得られた二次元画像上には、図示のとおり上面１１、前面１２，側面１３の３面のみが現れている。レンダリング処理は、仮想物体１０の三次元データに基づいて、図示のような二次元画像を生成する処理であり、仮想物体１０の三次元データをコンピュータに入力し、照明条件（光源の種類や位置）、視点位置、投影平面を設定した上で、光源からの照明光が、仮想物体１０の表面各部から反射して視点位置方向へ向かう光学現象をシミュレートする処理ということができる。所定の投影平面上において、仮想物体１０の表面各部からの反射光強度分布を演算することにより、この投影平面上に二次元画像を得ることができる。
【００３９】
一方、図１(b) に示す仮想物体２０は、図１(a) に示す仮想物体１０の表面に、繊維シートを張り付けたものである。図示のとおり、得られた二次元画像上には、上面２１、前面２２，側面２３の３面が現れているが、いずれも繊維シートを張り付けた面となっている。このように、三次元仮想物体の表面に、何らかの二次元シートを張り付けた状態を示すレンダリング処理は、通常、テクスチャマッピングの手法を利用して行われる。すなわち、二次元シートの絵柄情報を二次元テクスチャデータ（二次元の反射特性分布を示すデータ）として用意しておき、仮想物体の表面に、このテクスチャデータを張り付けた状態で、各部の反射率を演算する処理が行われる。テクスチャデータとして、繊維１本１本の濃淡が表現された絵柄データを用意しておけば、得られる二次元画像上にも、繊維の質感が表現されることになる。
【００４０】
しかしながら、前述したとおり、従来の一般的なテクスチャマッピングの手法を用いた場合、実際の繊維シートのもつ素材の特徴を十分に表現することが困難である。このため、ＣＧにより生成された二次元画像は、実物の写真画像に比べると、繊維の質感が不自然に見え、リアルな臨場感に乏しい結果となる。
【００４１】
そこで、本願発明者は、繊維シートを張り付けた物体の二次元画像をＣＧで生成した場合に、十分な繊維質表現を行うことができない原因をいろいろな方法で探求してみた。その結果、ソファなどの家具や自動車のシートなどについては、特に、繊維質表現の不自然さが顕著になる傾向があることがわかった。更に技術的な検証・考察を重ねることにより、次の２つの事実に気がついた。
【００４２】
第１の事実は、繊維シートを仮想物体の平面に張り付けた場合より、曲面に張り付けた場合の方が、不自然さがより顕著であるという点である。たとえば、図１(a) に示すような平面のみからなる仮想物体１０よりも、図２(a) に示すような曲面を含む仮想物体３０の方が、不自然さが顕著になる。仮想物体３０には、上面３１と側面３２とが現れているが、このうちの上面３１は曲面を構成している。ここで、図２(b) に示すように、表面に繊維シートを張り付けた仮想物体４０を用意して、従来の一般的な方法でレンダリング処理を行った場合、平面からなる側面４２の繊維質表現よりも、曲面からなる上面４１の繊維質表現の方が不自然に見える傾向にあることが判明した。
【００４３】
第２の事実は、繊維質表現が不自然になるのは、特に、デニム、玉虫織り、タオル、ビロードなどのパイル地といった繊維シートを張り付けた場合に顕著であるという点である。これらの生地に共通するのは、表面が植毛構造をなしていたり、視野に投影される縦糸と横糸との面積比が固定されていなかったりして、生地を曲げると、表面の構造に変化が生じるという点である。
【００４４】
たとえば、図２(b) に示す例の場合、生地を側面４２（平面）に張り付けた場合を基準の状態とすると、生地を上面４１（曲面）に張り付けた場合は、生地は凸状に湾曲することになる。このため、表面に多数の植毛構造をもった生地の場合、１本１本の毛の先端部の間隔がより広がることになる。たとえば、タオル地の場合、ベースとなる素材に対して、多数のパイルが植毛された構造を有しているが、生地を凸状に湾曲させると、個々のパイルの先端部の間隔が広がり、ベースとなる素材が観察される面積が増加することになる。逆に、生地を凹状に湾曲させると、個々のパイルの先端部の間隔が狭まり、ベースとなる素材が観察される面積は減少する。その結果、生地を張り付ける面の曲率によって、生地の観察態様が変化することになる。
【００４５】
また、玉虫織りの場合は、視野に投影される縦糸と横糸との面積比が、生地の観察態様に大きな影響を与えることになるが、生地を凹状に湾曲させた場合と、凸状に湾曲させた場合とでは、視野に投影される縦糸と横糸との面積比が変化することになる。この場合、生地の観察態様は、湾曲させる方向にも依存して変化する。あるいはフェルト地などでは、凸状に湾曲させることによって、鏡面反射成分が増加する現象もみられる。これは、生地の湾曲によって生じる張力によって、繊維の向きが一方向に揃うためと考えられる。同様の現象は、フェルトのみならず、様々な繊維シートで生じていると思われる。
【００４６】
このような２つの事実から、繊維シートを張り付けた仮想物体の二次元画像において、繊維の質感に不自然さが生じる要因の１つは、曲面に張り付けた繊維シートの表面構造の変化にある、と考えることができる。そこで、本願発明者は、二次元画像をＣＧで作成する場合に、繊維シートの表面構造の変化を考慮したレンダリング処理を行うことにより、不自然さを払拭することができるのではないかと考えたのである。そのためには、レンダリング処理において、仮想物体表面における反射特性を定量的に評価する際に、当該仮想物体表面の曲率を考慮するようにすればよい。以下、この概念をより詳細に説明する。
【００４７】
図３は、一般的なレンダリング処理の原理を示す斜視図である。この例は、仮想物体５０を、視点Ｅから観察したときに、投影平面Ｍ上に投影画像５５を求めるシェーディングモデルを示すものである。このとき、仮想繊維シート６０を仮想物体５０の表面に張り付けた状態の投影像を求めるようにする。このようなレンダリング処理を行うために、まず、仮想物体５０を示す三次元データが用意される。たとえば、図示の例では、ＸＹＺ三次元座標系上に定義された多数のポリゴン（多角形）の集合として、仮想物体５０が表現されており、仮想物体５０の表面の各部は、それぞれポリゴンによって構成されている。
【００４８】
一方、仮想繊維シート６０は、二次元のテクスチャデータとして用意される。図示の例では、仮想繊維シート６０上のｕｖ二次元座標系上に定義された画像データによって、格子模様の下地にハート型の絵柄が表現されている。この絵柄データは、結局、仮想繊維シート６０の反射特性の分布を示す反射特性データということができる。レンダリング処理を行う際には、このｕｖ座標系上に定義された絵柄データを、ＸＹＺ座標系上に定義された仮想物体の表面にマッピングし、仮想物体表面の各部の反射特性を決定することになる。
【００４９】
レンダリング処理にあたっては、この他、照明条件、視点位置、投影平面を設定する必要がある。照明条件としては、光源の種類（たとえば、形状、大きさ、波長特性など）や位置などを設定する。図示の例の場合、光源Ｇ、視点Ｅ、投影平面Ｍが図示の位置に設定されている。また、投影平面Ｍ上には、ｘｙ二次元座標系が定義されており、投影画像５５（レンダリング処理の目的物として得られる二次元画像）は、このｘｙ座標系上の画像データとして得られることになる。
【００５０】
いま、図示のとおり、仮想物体５０上にサンプル点Ｑを定義し、このサンプル点Ｑから視点Ｅに向かう反射光Ｖを考える。この反射光Ｖは、光源Ｇからの照明光Ｌが、サンプル点Ｑで反射することにより得られる光であり、視点Ｅの位置で観察される光である。もっとも、ここでいう「反射」とは、「鏡面反射」のみでなく、「拡散反射」も含めた広い概念であり、サンプル点Ｑに様々な角度で入射する照明光がそれぞれ反射光として視点Ｅに向かうことになる。したがって、図示の反射光Ｖは、様々な角度から入射した照明光から得られる反射光の集まりというべきものになる。
【００５１】
１つのサンプル点Ｑから視点Ｅに向かう反射光Ｖと投影平面Ｍとの交点位置に、当該反射光Ｖの強度に応じた画素値をもつ画素Ｐを定義するようにし、仮想物体５０の表面上の多数のサンプル点から視点Ｅに向かう各反射光について、同様に、投影平面Ｍ上に画素を定義すれば、多数のサンプル点について定義された多数の画素の集合により、仮想物体５０の投影画像が投影平面Ｍ上に得られることになる。実用上は、予め投影平面Ｍ上に所望の解像度で画素配列を定義しておき、視点Ｅと個々の画素Ｐの代表点（たとえば、中心位置）とを結ぶ線を仮想物体５０上へと伸ばし、仮想物体表面との交点位置にサンプル点Ｑを定義し、上述した手法により、個々の画素Ｐの画素値を演算すれば、必要な解像度をもった二次元データを得ることができる。
【００５２】
このように、投影平面Ｍ上の画素Ｐの画素値を求めるためには、サンプル点Ｑから画素Ｐを通って視点Ｅに向かう反射光Ｖの強度を求める必要があるが、このような反射光Ｖの強度は、基本的に、サンプル点Ｑに入射する照明光Ｌの強度と、サンプル点Ｑにおける光の反射率（鏡面反射率や拡散反射率）とを考慮した演算によって求めることができる。もちろん、このとき、サンプル点Ｑを含むポリゴンの向きを考慮に入れた演算が行われ、サンプル点Ｑにマッピングされたテクスチャデータ（ｕｖ座標系上に定義された繊維シート６０の画像データ）も考慮に入れた演算が行われる。したがって、仮想物体５０の表面が曲面であれば、当該曲面に応じた陰影をもった投影画像５５が得られることになり、仮想繊維シート６０の反射特性データ（テクスチャデータ）が、図示のように、格子模様とハート型の絵柄の情報をもっていれば、投影画像５５上にも、この格子模様およびハート型の絵柄が表現されることになる（図３では、この絵柄の図示は省略）。
【００５３】
しかしながら、従来のテクスチャマッピングの手法では、テクスチャデータを三次元仮想物体の表面にマッピングする場合、単に、二次元データを幾何学的にマッピングするだけなので、生地を曲げると、表面の構造に変化が生じるような繊維シートを、曲面にマッピングした場合に、十分な質感表現を行うことができない。本発明の基本概念は、このレンダリング処理の際に、更に、サンプル点Ｑにおける仮想物体５０の曲率を考慮に入れて反射光の強度演算を行うようにする、という点にある。
【００５４】
この基本概念を、図４を参照しながら、もう少し詳しく説明しよう。図４は、繊維シートと物体表面の曲率との関係を示す斜視図である。ここでは、まず、図４(a) に示すように、半径ｒ１の円柱からなる物体５１が、その中心軸Ｈを水平方向に向けて配置されている状態において、格子模様とハート型の絵柄の情報をもった繊維シート６１を、円柱側面に沿って張り付けた場合を考えよう。また、繊維シート６１は、タオル地からなり、下地となる格子模様は、縦糸と横糸との編み目によって構成されているものとし、ハート型の絵柄は、この下地に植毛された個々のパイルを染色することにより表現されているものとする。
【００５５】
ここで、繊維シート６１の縦方向に、図示のとおり基準方向線Ｗを定義する。この基準方向線Ｗは、繊維シート６１の下地の縦糸の方向を示すことになる。この繊維シート６１を図示の向きのまま、円柱状の物体５１の周囲に巻き付けたとすると、基準方向線Ｗは、円柱の円周方向を向くことになる。ここで、便宜上、円柱の中心軸Ｈを半径方向に投影することにより円柱側面上に得られる投影線Ｈ′と張り付けられた繊維シート６１の基準方向線Ｗとのなす角を曲率角度ξと呼ぶことにすれば、図４(a) の例の場合、曲率角度ξ＝９０°になる。
【００５６】
図４(b) は、やはり曲率角度ξ＝９０°となるように、繊維シート６１を円柱状の物体５２に張り付けたものであるが、物体５２の半径はｒ２であり（ｒ２＜ｒ１）、物体５１よりも若干細い円柱となっている。ここでは、各円柱側面の曲率σを、その半径の逆数と定義してみる。すると、繊維シート６１は、図４(a) の例では、曲率σ＝１／ｒ１の曲面に張り付けられていることになり、図４(b) の例では、曲率σ＝１／ｒ２の曲面に張り付けられていることになる。一方、図４(c) は、半径ｒ１の円柱状物体５１を用いている点は図４(a) と同じであるが、円柱の中心軸Ｈを垂直方向に向けて配置した状態で、繊維シート６１を張り付けているため、投影線Ｈ′と基準方向線Ｗとは同一方向を向くことになるので、両者のなす角として定義される曲率角度はξ＝０°となる。
【００５７】
結局、図４(a) 〜(c) は、いずれも同一の繊維シート６１を張り付けた例であるが、図４(a) の場合、曲率σ＝１／ｒ１，曲率角度９０°、図４(b) の場合、曲率σ＝１／ｒ２，曲率角度９０°、図４(c) の場合、曲率σ＝１／ｒ１，曲率角度０°ということになる。
【００５８】
この３通りの場合を、コンピュータ上でシミュレートするために、従来の方法でレンダリング処理を行うことを考えよう。この場合、もちろん、各円柱側面は、ＸＹＺ三次元座標系上での曲面として取り扱われ、光源からの照明光の照射角度や反射光の方向などを求める演算において、この曲面の情報が反映されることになる。また、繊維シート６１のテクスチャデータがマッピングされるため、繊維シートの格子模様およびハート型の絵柄の情報を考慮した演算が行われる。しかしながら、繊維シート６１が同一である以上、図４(a) 〜(c) のいずれの場合も、同一のテクスチャデータを用いた演算が行われる。このような従来の手法は、同一の繊維シート６１を張り付ける限り、張り付け対象となる面がどのような面であっても、そのテクスチャの情報に変わりはない、という前提に立っている。
【００５９】
しかしながら、実際には、繊維シート６１を曲面上に張り付けると、多かれ少なかれ、その表面構造に変化が生じ、テクスチャの情報が変化することになる。ここで述べる例の場合、繊維シート６１はタオル地であり、下地となる下部レイヤーと、この下地に植毛された多数のパイルからなる上部レイヤーとによって構成されているものとする。前述したとおり、下部レイヤーの格子模様は、下地を構成する縦糸と横糸との編み目として現れた模様であり、上部レイヤーのハート型の絵柄は、パイルを染色することにより表現された模様である。このようなタオル地は、物理的に湾曲させると、個々のパイルの下地に対する植毛状態に変化が生じるため、張り付け対象となる三次元物体の曲率に応じて、上部レイヤーと下部レイヤーとの可視割合が変化する。また、同じ曲率をもった物体に張り付けた場合であっても、張り付け向きに応じて、上部レイヤーと下部レイヤーとの可視割合が変化する。
【００６０】
たとえば、このような繊維シート６１を、図４(a) に示すように、曲率σ＝１／ｒ１の円柱に張り付けた場合と、図４(b) に示すように、曲率σ＝１／ｒ２の円柱に張り付けた場合とを比べると、図４(b) に示すように、曲率がより大きな曲面（半径がより小さな円柱側面）に張り付けた場合の方が、下地（下部レイヤー）の可視割合は大きくなる。また、同じ曲率σ＝１／ｒ１の円柱に張り付けた場合であっても、図４(a) に示すように、曲率角度ξ＝９０°となるように張り付けた場合と、図４(c) に示すように、曲率角度ξ＝０°となるように張り付けた場合とでは、下地（下部レイヤー）の可視割合が異なってくる。もちろん、曲率角度ξは、３０°，４５°，６０°といった任意の角度をとることができ、下地（下部レイヤー）の可視割合も、これらの角度に応じて変わってくる。
【００６１】
なお、本願において、「曲率」という文言は、狭義の意味では、上述した曲率σのように、湾曲の度合いを示すパラメータを指す言葉として用いているが、広義の意味では、上述した曲率角度ξをも考慮したパラメータを指す言葉として用いることにする。特に、「向きのファクターをもった曲率」と言った場合には、広義の「曲率」を意味するものであり、上述した例の場合、特定のσと特定のξとの組み合わせを意味するものである。
【００６２】
結局、繊維シート６１のテクスチャ情報は、張り付け対象となる面の曲率（狭義の曲率）と、曲率角度に応じて変化することになる。もちろん、このような繊維の表面構造の変化は、通常、ハート型の模様を星型に変えるといった劇的な変化をもたらすものではなく、下部レイヤーの格子模様と上部レイヤーのハート型模様との濃度バランスの変化をもたらす程度のものであるが、ＣＧ画像の微妙な自然の風合いを左右する要因になることは確かである。現実的には、既に列挙したとおり、デニム、玉虫織り、タオル、ビロードなどのパイル地といった繊維シートを張り付けた物体のＣＧ画像を作成する場合に、特に顕著な要因として現れてくる。
【００６３】
したがって、自然の風合いまで忠実に再現したＣＧ画像を作成するには、張り付け対象となる面の曲率（狭義の曲率）および曲率角度に応じて変化するテクスチャ情報を考慮した取り扱いを行えばよい。もちろん、理論的には、繊維シートのテクスチャ情報として、単なる二次元画像データではなく、１本１本の繊維の三次元構造までも厳密に定義したデータを用意し、繊維シートを三次元的に取り扱う処理を行えば、実物の繊維の質感を忠実に再現したＣＧ画像が得られる。しかしながら、そのような処理は非常に複雑な演算を必要とするため、現実的には好ましくない。
【００６４】
そこで本発明では、繊維シートの反射特性を複数のレイヤーごとに分けて取り扱い、この繊維シートを張り付けた仮想物体の各部からの反射光強度を演算する際に、当該各部の曲率（広義の曲率でも、狭義の曲率でもどちらでもよい。）に応じて定まる所定比率で各レイヤーごとの反射特性の合成を行うようにし、繊維の質感が十分に表現された二次元画像を生成している。その具体的手法に関しては後述する。
【００６５】
＜＜＜  §２．本発明の基本概念  ＞＞＞
本発明の最も重要な特徴は、パイル地など、曲率に応じて反射特性に変化が生じる繊維シートの擬似的な取り扱いにある。本来、パイル地などの実際の繊維シートは、三次元の構造体である。たとえば、図５の上段に示す図は、パイル地からなる繊維シート６１の一例の構造を示す側面図である。図示の例の場合、繊維シート６１は、上部レイヤーＬ１と下部レイヤーＬ２とによって構成されている。下部レイヤーＬ２は下地となる布地であり、上部レイヤーＬ１は、この下地に植毛された多数のパイルからなる。したがって、レンダリング処理を行う上で、この繊維シート６１自身を三次元の構造体として取り扱うようにすれば、非常に精度の高い二次元投影画像を得ることができる。しかしながら、繊維シート６１を張り付ける対象となる物体が三次元構造体である上に、更に、繊維シート６１自身も三次元構造体として取り扱うようにすれば、レンダリング処理の演算負担は極めて大きくなる。
【００６６】
そこで、本発明では、レンダリング処理を行う際には、繊維シート６１をあくまでも二次元のシートとして取り扱うようにし、演算負担をできるだけ軽減できるようにしている。ただ、パイル地のように、曲率に応じて反射特性に変化が生じる繊維シートを三次元物体にマッピングする場合、レンダリング時に、曲率に応じた反射特性が反映されるように、何らかの工夫が必要になる。本発明では、その工夫として、繊維シート６１を複数のレイヤーとして取り扱い、個々のレイヤーごとに反射特性を示すデータを用意しておくようにし、かつ、曲率に応じて定まる所定比率で各レイヤーごとの反射特性の合成を行うようにしている。
【００６７】
たとえば、図５に示す例の場合、繊維シート６１は、上部レイヤーＬ１と下部レイヤーＬ２とによって構成されているので、この２つのレイヤーの画像をそれぞれ別個に分けて取り扱うようにすればよい。図５の下段には、上部レイヤーＬ１のレイヤーデータＬＤ１と、下部レイヤーＬ２のレイヤーデータＬＤ２とを、それぞれ別個に用意した例が示されている。これらのレイヤーデータＬＤ１，ＬＤ２は、いずれもｕｖ二次元座標系上に定義された画像データであり、各レイヤーごとの反射特性を示すデータである。ここでは、説明の便宜上、レイヤーデータＬＤ１がハート型の絵柄をもった画像を示すデータであり、レイヤーデータＬＤ２が格子模様の絵柄をもった画像を示すデータである場合が例示されている。実際には、これらのレイヤーデータは、カラー画像データとして用意されることになる。
【００６８】
このようなレイヤーデータＤ１，Ｄ２は、たとえば、各レイヤーを写真撮影することにより得ることができる。各レイヤーに白色照明光を照射した状態で、各レイヤーのカラー写真を撮影すれば、当該カラー写真を構成する三原色ＲＧＢの各画素値は、個々の画素位置におけるＲＧＢ各色の波長の光の反射特性を示すデータということになる。
【００６９】
具体的には、レイヤーデータＬＤ１については、上部レイヤーＬ１を上方から写真撮影すれば得ることができる。図５の上段に示すように、繊維シート６１を平面上に置いた状態で、これを上方から観察したときに、上部レイヤーＬ１のみが観察され、下部レイヤーＬ２が全く露出しないのであれば、この状態で繊維シート６１を上方から撮影した画像を、そのままレイヤーデータＬＤ１として利用することができる。もし、この状態で、下部レイヤーＬ２の一部が透けて見えるようであれば、図５の中段左に示すように、何らかの方法で下部レイヤーＬ２を除去し、上部レイヤーＬ１のみを上方から撮影した画像を、レイヤーデータＬＤ１として利用すればよい。
【００７０】
一方、レイヤーデータＬＤ２については、、図５の中段右に示すように、何らかの方法で上部レイヤーＬ１を除去し、下部レイヤーＬ２のみを上方から撮影した画像を、レイヤーデータＬＤ２として利用すればよい。既製の繊維シート６１から上部レイヤーＬ１を除去するのが困難な場合には、この繊維シート６１の製造工場から、上部レイヤーＬ１となるべきパイルを植毛する工程前の段階の下部レイヤーＬ２を取り寄せ、これを上方から撮影すればよい。
【００７１】
ここで、各レイヤーごとの可視割合と曲率との関係を、図６を参照しながら考えてみよう。図６(a) 〜(d) は、図５の上段に示す繊維シート６１を様々な曲率で湾曲させた状態を示す側面図である。図４に示す例のように、繊維シート６１を円柱側面に張り付けたときの曲率σを、当該円柱の半径ｒの逆数１／ｒと定義したとすれば、図６(a) に示すように、繊維シート６１が平面上に張り付けられている場合は、曲率σ１＝０ということになり、図６(b) ，(c) に示すように、円柱側面に張り付けられている場合は、曲率σ２，σ３は、それぞれの円柱の半径の逆数になる。また、図６(b) ，(c) に示すように、上に凸となるように円柱の外面に張り付けられている場合の曲率を正の数値で表し、図６(d) に示すように、下に凸となるように円柱の内面に張り付けられている場合の曲率を負の数値で表すことにすると、曲率σ２，σ３は正の値として定義されるのに対して、曲率σ４は負の値として定義されることになる。
【００７２】
ここで重要な点は、同じ繊維シート６１を上方から観察した場合でも、曲率の値に応じて、各レイヤーの可視割合が異なってくるという点である。たとえば、図６(a) のように、曲率がσ１（＝０）の場合、上部レイヤーＬ１の可視割合が１００％、下部レイヤーＬ２の可視割合が０％であったものとしよう。これは、繊維シート６１を、図６(a) に示すように平面上に張り付けた状態において、上方から観察すると、下部レイヤーＬ２は、上部レイヤーＬ１の陰に隠れて全く見えない状態であることを意味する。
【００７３】
ところが、図６(b) のように、曲率がσ２になると、繊維シート６１は、上に凸の湾曲面に張り付けられるため、個々のパイルの間隔が広がり、パイル間に隙間が生じるようになる。このため、この繊維シート６１を上方から観察すると、パイル間の隙間から、下部レイヤーＬ２の一部が露出するようになる。この露出割合が２０％であったとすれば、図示のとおり、上部レイヤーＬ１の可視割合が８０％、下部レイヤーＬ２の可視割合が２０％ということになる。湾曲の度合いが更に高くなり、図６(c) のように、曲率がσ３になると、個々のパイル間の隙間は更に広がることになり、図示の例では、上部レイヤーＬ１の可視割合が７０％、下部レイヤーＬ２の可視割合が３０％になっている。
【００７４】
一方、図６(d) のように、曲率が負の値をとるσ４になると、繊維シート６１は、下に凸の湾曲面に張り付けられるため、個々のパイルは圧搾状態となり、パイル間に隙間は全く生じなくなる。このため、図６(a) の状態と同様に、上部レイヤーＬ１の可視割合が１００％、下部レイヤーＬ２の可視割合が０％ということになる。すなわち、上方から観察すると、下部レイヤーＬ２は、上部レイヤーＬ１の陰に隠れて全く見えない状態になる。
【００７５】
このような可視割合は、繊維シート６１の構造をデータとして用意し、コンピュータシミュレーションを行うことにより求めることができる。すなわち、コンピュータに、繊維シート構造体の形状データを入力し、この形状データに基づいて、繊維シートを種々の曲率で曲げた状態をシミュレートし、種々の曲率についての各レイヤーごとの可視割合を示す可視割合情報を作成する処理を行えばよい。図７は、このようなシミュレーションの一実施例を示す側面図である。実在の繊維シート６１は、三次元の構造体であるが、ここに示す実施例では、これを側面から見た幾何学的な解析を行うことにより、二次元平面上でのシミュレーションにより可視割合を演算している。
【００７６】
また、上部レイヤーＬ１を構成する個々のパイルは、実際には多数の糸から構成されているが、この実施例では、図７(a) に示すように、側面から見たときの輪郭線のみのデータを用意して解析を行っており、しかも近似的に多角形の輪郭線（図では、こん棒のような形状となっている）に置き換えて解析を行っている。一方、下部レイヤーＬ２は、単なる線分（図では太線で示す）として取り扱っており、個々のパイル（こん棒型の多角形）が、この太線に対して常に垂直になるように植毛されているという前提でシミュレーションを行っている。
【００７７】
可視割合としては、この繊維シート６１を垂直上方から観察した場合の値を算出している。すなわち、繊維シート６１を垂直上方から観察したときに、視野に入る上部レイヤーＬ１と下部レイヤーＬ２との比率を可視割合として算出する。具体的には、図７(a) に示すように、下部レイヤーＬ２の上方に所定距離おいて平行となるように配置された投影線分Ｐを定義し、この投影線分Ｐ上の各点を垂直下方へと伸ばし、上部レイヤーＬ１を構成する個々のパイル（こん棒型の多角形）に衝突するか、もしくは、下部レイヤーＬ２（太線）まで到達するか、を判定すればよい。個々の多角形に衝突する割合が上部レイヤーＬ１の可視割合であり、太線まで到達する割合が下部レイヤーＬ２の可視割合ということになる。
【００７８】
図７(a) に示す例では、繊維シート６１を上方から観察しても、下部レイヤーＬ２は、上部レイヤーＬ１の陰になって全く見えない状態なので、上部レイヤーＬ１の可視割合が１００％、下部レイヤーＬ２の可視割合が０％という結果が得られる。また、図７(b) に示すように、繊維シート６１を下に凸となるように湾曲させた場合（負の曲率をシミュレートした場合）も、上部レイヤーＬ１の可視割合が１００％、下部レイヤーＬ２の可視割合が０％という結果が得られる。これに対して、図７(c) に示すように、繊維シート６１を上に凸となるように湾曲させた場合（正の曲率をシミュレートした場合）は、下部レイヤーＬ２の一部が、上部レイヤーＬ１の隙間から見えることになるので（図にグレーで示す部分）、たとえば、上部レイヤーＬ１の可視割合が７０％、下部レイヤーＬ２の可視割合が３０％というような結果が得られることになる。もちろん、湾曲状態（曲率）が変われば、可視割合も変わってくる。
【００７９】
繊維シート６１の湾曲状態のシミュレーションは、レイヤーＬ２を示す線分を所定半径の円弧とし、レイヤーＬ１を構成する個々のパイル（こん棒型の多角形）を、個々の植毛位置において、この円弧状線分に対して垂直になるように描画することにより行うことができる。円弧の半径を様々に変化させてシミュレーションを行えば、様々な曲率について、可視割合を求めることができる。
【００８０】
結局、このシミュレーションは、繊維シート構造体をレイヤー面（シートを平面上においたときの当該平面に平行な面）に対して垂直上方に投影し、隠面処理を施したときに、投影面上に現れるレイヤーごとの面積比に基づいて可視割合を決定する処理と言うことができる。
【００８１】
図８は、このようなシミュレーションの結果として得られた可視割合情報の一例を示すテーブルである。曲率σは、レイヤーＬ２を示す円弧状線分の半径ｒの逆数として定義されている（単位は、たとえば、１／ｃｍ）。図示の結果では、曲率σが０もしくは負の値をとる場合（図７(a) および図７(b) のような場合）は、いずれも、上部レイヤーＬ１の可視割合が１００％、下部レイヤーＬ２の可視割合が０％という結果となっている。これに対して、曲率σが正の値をとる場合（図７(c) のような場合）は、曲率σが大きくなればなるほど、上部レイヤーＬ１の可視割合が低下し、下部レイヤーＬ２の可視割合が増加する結果が得られている。
【００８２】
以上、図７を参照して、可視割合を単純な二次元モデル（側面から見たときの個々のパイルの輪郭線のみのデータを用意して解析を行うモデル）を利用してシミュレートする例を述べたが、もちろん、より複雑な三次元モデルを用いたシミュレーションを行うことも可能である。すなわち、図７に示す二次元モデルでは、各パイルを厚みをもたない幾何学的な多角形として取り扱っているが、たとえば、各パイルを所定の厚みをもった板として取り扱い、図の奥行き方向に、このような板が所定ピッチで配置されている三次元モデルを定義すれば、三次元的なシミュレーションが可能になる。
【００８３】
また、二次元モデルのシミュレーションでは、曲率は向きのファクターをもたない値（狭義の曲率）として定義せざるを得ないが、三次元モデルのシミュレーションでは、曲率を向きのファクターをもった値（狭義の曲率σと曲率角度ξとの組み合わせで定義される広義の曲率）として定義することが可能になる。このように、曲率をσとξとの組み合わせで定義した場合、種々のσおよびξの組み合わせごとにシミュレーションを行い、個々の組み合わせごとにそれぞれ各レイヤーの可視割合が求められるので、たとえば、図９に示すような可視割合情報が得られることになる。
【００８４】
あるいは、シミュレーションを行う代わりに、実在の繊維シート６１を用意し、これを円柱側面を有する実在の物体に張り付け、各レイヤーごとの可視割合を実測することも可能である。たとえば、黒く染色したパイルを上部レイヤーＬ１として、白く染色した下地となる下部レイヤーＬ２に多数植毛した実在の繊維シート６１を用意し、この繊維シート６１を様々な半径値をもつ円柱状物体に張り付け、それぞれ写真撮影すれば、撮影画像の濃度値として、各レイヤーごとの可視割合を実測することが可能である。具体的には、撮影画像の濃度値が真っ黒を示すものであれば、上部レイヤーＬ１の可視割合が１００％、下部レイヤーＬ２の可視割合が０％という結果を示すことになり、撮影画像の濃度値が真っ白を示すものであれば、上部レイヤーＬ１の可視割合が０％、下部レイヤーＬ２の可視割合が１００％という結果を示すことになり、撮影画像の濃度値がグレーを示すものであれば、その中間の可視割合を示すことになる。
【００８５】
また、図８，図９に示す例では、可視割合情報として、各レイヤーごとの可視割合を示すテーブルを用意したが、このようなテーブルが、何らかの幾何学的な演算によって導出されるようであれば、そのような演算を行うための数式として可視割合情報を用意することも可能である。たとえば、各レイヤーの可視割合を、ｆ（σ，ξ）という関数で表すことが可能であれば、この関数を可視割合情報として用いることが可能である。
【００８６】
さて、以上述べた手順により、結局、１つの繊維シート６１について、図５の下段に示すように、上部レイヤーＬ１のレイヤーデータＬＤ１と、下部レイヤーＬ２のレイヤーデータＬＤ２とが、それぞれ別個のカラー画像データとして用意され（これらのカラー画像データは、各レイヤーの反射特性を示す二次元データということになる）、また、図８に示すように（曲率角度ξを考慮する場合には、図９に示すように）、各レイヤーごとの可視割合を示す可視割合情報が用意される。本発明では、これらの情報を利用して、レンダリング処理を行うことになる。以下に、その基本概念を示す。
【００８７】
一般的なレンダリング処理の基本概念は、既に図３の斜視図を用いて説明したとおりであり、仮想物体５０上に仮想繊維シート６０の画像データ（ｕｖ二次元座標系上での反射特性データ）をマッピングすることにより、サンプル点Ｑの反射特性を求め、サンプル点Ｑから視点Ｅに向かう反射光Ｖの強度に応じた画素値をもつ画素Ｐを定義する、というものである。本発明では、このレンダリング処理を、各レイヤーごとのレイヤーデータＬＤ１，ＬＤ２と、各レイヤーごとの可視割合を示す可視割合情報とを用いて行うことになる。
【００８８】
図１０は、本発明におけるレンダリング処理の基本原理を示す斜視図である。このレンダリング処理において、照明条件、視点位置、投影平面を設定する点は、図３に示す従来の一般的なレンダリング処理と全く同様である。また、仮想物体５０上の所定のサンプル点Ｑの反射特性を求め、このサンプル点Ｑから視点に向かう反射光強度を求める点も、従来の方法と全く同様である。本発明におけるレンダリング処理の特徴は、サンプル点Ｑの反射特性を、各レイヤーごとのレイヤーデータＬＤ１，ＬＤ２によって示される反射特性を合成することによって決定する点にある。
【００８９】
たとえば、図示の例の場合、ｕｖ二次元座標系上に定義されている２種類のレイヤーデータＬＤ１，ＬＤ２（反射特性を示す画素値をもった画素の集合からなる二次元画像データ）が、仮想物体５０上の所定位置にマッピングされることになる。ここでは、レイヤーデータＬＤ１で示される画像上のサンプル点Ｑに対応する対応点をＱ１、レイヤーデータＬＤ２で示される画像上のサンプル点Ｑに対応する対応点をＱ２と呼ぶことにする。この場合、サンプル点Ｑの反射特性は、対応点Ｑ１の画素値Ｐ（Ｑ１）と対応点Ｑ２の画素値Ｐ（Ｑ２）とを合成することにより決定される。このとき、両者の合成比率を、サンプル点Ｑ近傍の仮想物体５０表面の曲率に基づいて決定するようにする。
【００９０】
具体的には、サンプル点Ｑの曲率がσ＝１／１０であったとすれば、予め用意してあった図８に示すような可視割合情報を参照することにより、上部レイヤーＬ１の可視割合が７０％、下部レイヤーＬ２の可視割合が３０％というように決定できる。そこで、対応点Ｑ１の画素値Ｐ（Ｑ１）と対応点Ｑ２の画素値Ｐ（Ｑ２）とを合成することにより、サンプル点Ｑの反射特性を決定すればよい。たとえば、サンプル点Ｑの反射特性は、画素値Ｐ（Ｑ１）と画素値Ｐ（Ｑ２）とを、７０％および３０％の重みづけで合成し、
０．７×Ｐ（Ｑ１）＋０．３×Ｐ（Ｑ２）
なる式で求めることができる。
【００９１】
結局、サンプル点Ｑの反射特性は、図５の下段に示すような２枚の画像（ＬＤ１，ＬＤ２）のサンプル点Ｑに対応する位置の画素値を、サンプル点Ｑの曲率に対応する可視割合に応じた重みづけで合成することにより得られることになる。このような取り扱いは、各レイヤーの可視割合が、図７に示すようなシミュレーションによって決定されたことを考慮すれば、理にかなっていることが理解できよう。たとえば、図７(c) に示す例では、投影線分Ｐ上の７０％の領域に上部レイヤーＬ１が投影され、投影線分Ｐ上の３０％の領域に下部レイヤーＬ２が投影されているので、投影線分Ｐを１つの画素と考えた場合、当該画素の画素値は、上部レイヤーＬ１の画素値と下部レイヤーＬ２の画素値とを７０％：３０％の比率で合成することにより得られる。
【００９２】
なお、サンプル点Ｑにおける曲率を、向きのファクターをもった広義の曲率として求める場合は、２つのパラメータσおよびξによって曲率が示されることになるので、図８に示す可視割合情報テーブルの代わりに、図９に示す可視割合情報テーブルを用いて、各レイヤーの可視割合を決定すればよい。
【００９３】
以上、図１０を参照しながら本発明の基本原理に係る画素値の合成手法を説明したが、このような合成手法が物理的な意味もつのは、レンダリング処理により得られる二次元画像（図３において、投影平面Ｍ上に得られる投影画像）の解像度が、繊維シート上の個々のパイルの解像度よりもある程度小さい場合ということになる。すなわち、図３の投影平面Ｍ上に得られる投影画像の１つの画素の幅が、図７に示す投影線分Ｐと同程度の幅であれば、２つの異なるレイヤーの画素値を７０％：３０％の比率で合成するという上述の合成手法は意味をもつことになるが、たとえば、１つの画素の幅が、図７に示す投影線分Ｐの１／１０程度の幅となってしまうと、当該画素の画素値を、２つの異なるレイヤーの画素値の合成で求めるという手法の物理的な意味は失われてしまう。したがって、本発明は、パイル１本１本の形状が肉眼で確認できるような高精細な二次元画像を得るためのレンダリング手法としては不適切である。
【００９４】
＜＜＜  §３．本発明に係る二次元画像生成方法の基本手順  ＞＞＞
続いて、本発明に係る二次元画像生成方法の基本手順を、図１１の流れ図を参照しながら説明する。この手順の目的は、物体の三次元データに基づいて、当該物体の表面に繊維シートを張り付け、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成することにある。ここでは、便宜上、ソファの写真を、ＣＧを用いて作成する場合を例にとって説明を行う。なお、この図１１に示す手順は、すべてコンピュータによって実行される手順である。
【００９５】
この手順を実行する上で、必要になるものは、ソファ本体の三次元データと、これに張り付ける繊維シートに関する情報である。ここでは、木材やクッション素材などを組み合わせて構成されたソファ本体の表面に、パイル地からなる繊維シートを張り付けてソファを構成するものとし、当該ソファの製品カタログに掲載する画像をＣＧで作成する場合を考える。この場合、ソファ本体が、ＣＡＤを利用して設計されたものであれば、このソファ本体の三次元データはＣＡＤデータから流用することが可能である。一方、繊維シートであるパイル地に関する情報は、ある程度の面積をもった当該パイル地の実物サンプルが用意できれば、この実物サンプルから抽出することができる（もちろん、このパイル地が、ＣＡＤを利用して設計されたものであれば、ＣＡＤデータから流用することも可能である。）。
【００９６】
まず、図１１に示すステップＳ１では、レイヤーデータの入力が行われる。たとえば、張り付け対象となるパイル地からなる繊維シート６１が、図５の上段に示すような２つのレイヤー構造を有していた場合、図５の下段に示すように、２つのレイヤーについてのレイヤーデータＬＤ１，ＬＤ２が用意され、コンピュータに入力される。これらのレイヤーデータＬＤ１，ＬＤ２は、§２で述べたとおり、各レイヤーごとの反射特性を示す画像データである。
【００９７】
なお、図５には、２つのレイヤーを有する繊維シート６１の例を示したが、本発明では、繊維シートを必ずしも２つのレイヤーとして取り扱う必要はなく、３つ以上のレイヤーとして取り扱うことも可能である。したがって、ステップＳ１の手順は、張り付け対象となる仮想の繊維シートを構成する複数ｍ枚の各レイヤーごとの反射特性を示すｍ通りのレイヤーデータをコンピュータに入力する処理ということができる。
【００９８】
続くステップＳ２では、張り付け対象となる繊維シートを種々の曲率で曲げた状態における各レイヤーごとの可視割合を示す可視割合情報をコンピュータに入力する処理が行われる。たとえば、§２で説明したとおり、図８に示す可視割合情報（曲率σのみを考慮した情報）もしくは図９に示す可視割合情報（曲率σと曲率角度ξとの双方を考慮した情報）をシミュレーションにより作成し、これを入力する処理を行えばよい。
【００９９】
次のステップＳ３では、仮想物体の立体形状を示す三次元データを、コンピュータに入力する処理が行われる。ここで述べる実施例の場合、ソファ本体の三次元データが仮想物体の立体形状を示すデータとして、ＸＹＺ三次元座標系上に入力されることになる。前述したとおり、ソファ本体の三次元データは、設計に用いたＣＡＤデータを流用することにより、比較的容易に作成することができる。
【０１００】
通常、このような三次元データは、ポリゴンの集合体を示すデータもしくはパラメトリック曲面（関数式とパラメータ値で示される曲面）の集合体を示すデータによって構成される。また、このステップＳ３のデータ入力段階では、仮想物体に対する繊維シートの張り付け向きに関する情報を併せて入力するようにする。すなわち、ソファ本体にパイル地を張り付けるときに、ソファ本体の各面のどの方向に、パイル地の基準方向線Ｗを向けて張り付けるか、という情報を入力しておくようにする。
【０１０１】
次に、ステップＳ４において、レンダリングを行うための投影条件の設定を行う。ここで言う投影条件とは、図３に示すように、仮想物体５０の投影画像５５を投影平面Ｍ上に得るための条件であり、照明条件、視点位置、投影平面という３要素からなる。ここで、照明条件としては、ＸＹＺ三次元座標系上において、光源の形状、大きさ、波長特性、位置が設定される。同様に、視点Ｅの位置および投影平面Ｍの位置もＸＹＺ三次元座標系上に設定される。なお、図３に示すとおり、投影平面Ｍ上には、投影画像５５を得るためのｘｙ二次元座標系が定義される。
【０１０２】
以上でレンダリング処理の準備は完了である。続くステップＳ５〜Ｓ９の処理は、実際のレンダリング処理を行う手順であり、投影平面Ｍ上のｘｙ二次元座標系上に定義された１画素ごとに、それぞれ画素値を定義する処理を繰り返し実行することになる。まず、ステップＳ５において、仮想物体５０の表面上に１つのサンプル点Ｑを定義する。具体的には、予め投影平面Ｍ上に所望の解像度で画素配列を定義しておき、視点Ｅと１つの画素Ｐの代表点（たとえば、中心位置）とを結ぶ線を仮想物体５０上へと伸ばし、仮想物体表面との交点位置にサンプル点Ｑを定義すればよい。
【０１０３】
続いて、ステップＳ６では、このサンプル点Ｑの位置について、仮想物体５０の表面の曲率σを求める演算が行われる。仮想物体５０が、ポリゴンの集合体からなる三次元データとして入力された場合であっても、パラメトリック曲面の集合体からなる三次元データとして入力された場合であっても、任意のサンプル点Ｑの近傍における物体表面の形状は定義されているので、その位置における曲率σを演算で求めることが可能である。
【０１０４】
ここでは、サンプル点Ｑの位置についての仮想物体５０の表面の曲率σを求める方法の簡単な一例を述べておく。たとえば、図１２の斜視図に示されているように、仮想物体５０上の１点Ｑの位置における曲率を求めることを考える。この場合、まず、この仮想物体５０をサンプル点Ｑを含む所定面で切断する。図では、この切断面をハッチングを施して示してある。切断面は、たとえば、所定の基準平面を予め定めておき、サンプル点Ｑを通り、この基準平面に平行な面として定義すればよい。基準平面は、たとえば、ステップＳ３で仮想物体５０の物体データを入力する際に、「物体の特定面」としてオペレータに指定させるようにしてもよいし、「ＸＹＺ三次元座標系におけるＹＺ平面」というように一義的に定めておいてもよい。
【０１０５】
次に、この切断面上に現れる仮想物体５０の輪郭線５６を抽出し、この輪郭線５６のサンプル点Ｑ近傍の曲率を求め、これをサンプル点Ｑの曲率とする。図１３は、輪郭線５６のサンプル点Ｑ近傍の曲率を定義する一方法を示す平面図である。この方法では、まず、輪郭線５６上のサンプル点Ｑの両側に、サンプル点Ｑから輪郭線５６に沿って等距離にある２点ＱＬ，ＱＲを定義する。すなわち、輪郭線５６に沿った２点Ｑ／ＱＬ間の距離と２点Ｑ／ＱＲ間の距離は等しい。次に、この切断面上において、点ＱＬにおける輪郭線５６の接線ＴＬと、点ＱＲにおける輪郭線５６の接線ＴＲとを求め、各接線ＴＬ，ＴＲに直交する線（図に一点鎖線で示す）を引いて、両者の交点ＱＱを求める。最後に、サンプル点Ｑと交点ＱＱとの距離ｒを求め、その逆数１／ｒを、サンプル点Ｑについての曲率σとする。
【０１０６】
このような方法を用いれば、仮想物体５０上の任意のサンプル点Ｑについて、所定の曲率σを決定することができる。もっとも、この方法では、向きのファクターをもたない狭義の曲率を求めることしかできない。任意のサンプル点について向きのファクター（曲率角度ξ）をもった広義の曲率を求める方法については、§５で詳述する。
【０１０７】
こうして、サンプル点Ｑについて、曲率が求まったら、続いて、ステップＳ７において、当該サンプル点Ｑからの反射光強度演算を行う。すなわち、ステップＳ４で設定した投影条件により、図３に示すようなシェーディングモデルが定義できるので、このモデルにおいて、サンプル点Ｑから視点Ｅに向かう反射光Ｖの強度を求める演算を行うことになる。その基本原理は、図１０を用いて説明したとおりである。すなわち、従来の一般的なレンダリングの手法を図３に示すモデルに適用した場合、サンプル点Ｑから視点Ｅに向かう反射光Ｖの強度に影響を与える因子は、照明光Ｌの強度、サンプル点Ｑの近傍における物体表面の傾き、繊維シート６０を張り付けたときのサンプル点Ｑの位置にマッピングされる反射特性といった因子になるが、本発明の場合、サンプル点Ｑの位置にマッピングされる反射特性が各レイヤーごとに用意されているので、ステップＳ６で求めたサンプル点Ｑの位置の曲率に応じて、ステップＳ２で入力した可視割合情報を参照し、当該曲率に応じた可視割合を求め、各レイヤーの反射特性をこの可視割合に応じて合成することにより、サンプル点Ｑの反射特性を決定することになる。
【０１０８】
図１４は、図１１に示すステップＳ７の反射光強度演算のより詳細な手順を示す流れ図である。この反射光強度演算は、繊維シートを仮想物体の表面に張り付けた場合に、個々のサンプル点から視点位置に向かう反射光の強度を求める演算であり、１つのサンプル点からの反射光強度を演算する際に、図示のとおり、３つのステップＳ７１，Ｓ７２，Ｓ７３を実行することになる。
【０１０９】
まず、第１のステップＳ７１では、可視割合情報を参照して当該サンプル点Ｑの位置における曲率に対応する各レイヤーごとの可視割合が求められる。たとえば、図１０に示す例の場合、図１１の流れ図におけるステップＳ６により、サンプル点Ｑの位置における曲率がσ＝１／１０として求められているので、ステップＳ７１では、たとえば、図８に示す可視割合情報（既に、ステップＳ２において入力されている）を参照することにより、当該サンプル点Ｑについての可視割合が、Ｌ１：７０％、Ｌ２：３０％と求められる。
【０１１０】
なお、ステップＳ２の可視割合情報入力段階において、図８に示す可視割合テーブルのような離散的に定義された複数の曲率ごとの可視割合情報が入力されている場合には、ステップＳ６の曲率演算段階で求められたサンプル点Ｑについての曲率にちょうど一致する曲率が、可視割合テーブル上に掲載されていない場合がある。このような場合には、サンプル点Ｑについての曲率に対応する可視割合を、離散的な曲率について定義されている可視割合を補間することによって求めるようにすればよい。
【０１１１】
たとえば、サンプル点Ｑについての曲率がσ＝１／２０であった場合、図８のテーブルにおけるσ＝１／３０に対応する可視割合と、σ＝１／１０に対応する可視割合との中間的な割合を補間値として求めればよい。補間方法は種々の方法をとることができるが、たとえば、曲率σの逆数をとった線形補間を行うのであれば、サンプル点Ｑについての曲率の逆数２０は、σ＝１／３０の逆数３０と、σ＝１／１０の逆数１０との中間点となるので、補間によって得られる可視割合は、Ｌ１：７５％、Ｌ２：２５％ということになる。
【０１１２】
続いて、第２のステップＳ７２では、当該サンプル点Ｑの位置における反射特性を、ｍ通りのレイヤーデータの反射特性を第１のステップＳ７１で求めた可視割合に応じて合成することにより求める処理が行われる。図１０に示す例の場合は、ｍ＝２であり、２通りのレイヤーデータＬＤ１，ＬＤ２として、各レイヤーごとの反射特性が用意されている。しかも、これらのレイヤーデータは、図１１の流れ図におけるステップＳ１で既に入力されている。そこで、ステップＳ７２では、図１０に示されているとおり、レイヤーデータＬＤ１の対応点Ｑ１の位置の反射特性（画素値Ｐ（Ｑ１））と、レイヤーデータＬＤ２の対応点Ｑ２の位置の反射特性（画素値Ｐ（Ｑ２））とを、７０：３０の割合で合成することにより、サンプル点Ｑの位置における反射特性を求める演算が行われる。具体的には、サンプル点Ｑの位置における反射特性は、
０．７×Ｐ（Ｑ１）＋０．３×Ｐ（Ｑ２）
なる演算によって求められる。
【０１１３】
最後の第３のステップＳ７３では、第２のステップＳ７２で求めた反射特性に基づいて、当該サンプル点Ｑから視点Ｅに向かう反射光の強度が求められる。これは、従来の一般的なレンダリングの手法と同様の演算処理であり、照明光Ｌの強度、サンプル点Ｑの近傍における物体表面の傾きといった因子を考慮して、反射光強度が演算されることになる。
【０１１４】
こうして、図１１のステップＳ７において、１つのサンプル点Ｑから視点Ｅに向かう反射光Ｖの強度を求める演算が完了したら、続くステップＳ８において、１つの画素の定義が行われる。すなわち、このサンプル点Ｑからの反射光Ｖと投影平面Ｍとの交点位置に、当該反射光Ｖの強度に応じた画素値をもつ画素Ｐが定義される。カラー画像を取り扱う場合、前述したとおり、各レイヤーデータＬＤ１，ＬＤ２は、三原色ＲＧＢのそれぞれについての反射特性を示すデータとなっているので、ステップＳ７における反射光Ｖの強度演算も各色成分ごとに行うことができる。したがって、ステップＳ８では、三原色ＲＧＢのそれぞれについて所定の画素値をもった画素を定義することができる。
【０１１５】
こうして、ステップＳ５〜Ｓ８の手順を経ることにより、投影平面Ｍ上の１つの画素Ｐの画素値が定義できる。そこで、ステップＳ９から再びステップＳ５へと戻る処理を、必要な全画素が定義されるまで繰り返し実行する。そして、最後に、ステップＳ１０において、多数のサンプル点について定義された多数の画素の集合により、仮想物体５０の投影画像５５を示す二次元投影データを生成する処理が行われ、必要に応じて、生成した二次元データがコンピュータから出力されることになる。
【０１１６】
なお、曲率として、向きのファクターをもった広義の曲率を用いる場合には、ステップＳ２の可視割合情報入力段階において、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力する。具体的には、前述したように、円柱側面に繊維シートを所定の向きに張り付けた状態における各レイヤーごとの可視割合を定義し、円柱の半径の逆数を用いて曲率σを定義し、円柱の中心軸を半径方向に投影することにより円柱側面上に得られる投影線と繊維シートの基準方向線とのなす角ξを当該曲率σについての曲率角度と定義し、個々の曲率σおよび個々の曲率角度ξの各組み合わせに対応する各レイヤーごとの可視割合を示す可視割合情報（たとえば、図９に示すようなテーブル）を入力すればよい。
【０１１７】
また、ステップＳ３の物体データ入力段階では、仮想物体に対する繊維シートの張り付け向きに関する情報（たとえば、繊維シートの基準方向線の向きに関する情報）を併せて入力するようにする。そして、ステップＳ６の曲率演算段階では、ステップＳ３で入力した繊維シートの張り付け向きに関する情報を参照することにより、サンプル点Ｑについて向きのファクターをもった曲率を求めるようにする。具体的には、曲率σおよびこの曲率σに応じた湾曲方向と基準方向線とのずれを示す曲率角度ξを求めればよい（具体的手法は、§５で述べる）。
【０１１８】
そうすれば、反射光強度演算段階の第１のステップＳ７１では、向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を求めることができる。具体的には、曲率σおよび曲率角度ξの組み合わせに対応する各レイヤーごとの可視割合を求めることができる。たとえば、ステップＳ６の曲率演算段階で、サンプル点Ｑについて向きのファクターをもった曲率が、σ＝１／３０，ξ＝２０°なる数値で求まったとすれば、ステップＳ７１では、図９のテーブルにおけるξ＝２０°、σ＝１／３０の欄を参照することにより、向きのファクターをもった曲率に対応する各レイヤーごとの可視割合が得られる。
【０１１９】
このように、図１１に示す手順は、基本的には、従来の一般的なレンダリングの手法に従うものであり、図３に示すような一般的なシェーディングモデルを基礎とするものである。ただ、ステップＳ１において、複数のレイヤーについて、それぞれの反射特性を示すレイヤーデータを入力し、ステップＳ２において、可視割合情報を入力し、ステップＳ６において、サンプル点の曲率を演算し、ステップＳ７において、この曲率に応じて、複数のレイヤーデータを所定の可視割合で合成して当該サンプル点の反射特性を求め、反射光強度を演算する点は、本発明に固有の手順であり、本発明の本質ともいうべき特徴的な手順になる。
【０１２０】
既に述べたとおり、パイル地などは、表面の湾曲状態によってその見え方が変化する性質をもった繊維シートである。そのため、これらの生地を仮想物体の曲面に張り付けレンダリング処理を行うと、得られたＣＧ画像上では、繊維の質感を十分に表現することができなかった。ところが、図１１に示す本発明に係る手順でレンダリング処理を実施すると、従来の手法に比べて、繊維の質感がより忠実に表現された画像が得られるようになる。
【０１２１】
＜＜＜  §４．様々なシェーディングモデルへの適用  ＞＞＞
ここでは、図１４の流れ図に示されている反射光強度演算のより具体的な手法をいくつか述べることにする。従来から、このような反射光強度演算を行うために、種々のシェーディングモデルが提案されている。これらシェーディングモデルの多くは、仮想物体上のサンプル点（テクスチャをマッピングする場合は、マッピング後のサンプル点）に、それぞれ所定の反射特性を定義し、照明光Ｌと各部に定義された反射特性とに基づいて、反射光の強度を求める演算を行うものである。通常、１つのサンプル点に、複数の照明光が入射するような照明条件（複数の光源を用いた照明条件）が設定されるので、個々の光源からの入射照明光に基づいて発生する複数の反射光強度の総和として、当該サンプル点から視点へ向かう反射光の強度を演算することになる。
【０１２２】
本発明の基本思想は、新たなシェーディングモデルの提案にあるわけではなく、１つのサンプル点についての反射光強度演算を行う際に、複数ｍ枚のレイヤーそれぞれに定義された各反射特性を、当該サンプル点の曲率に対応した可視割合に基づいて合成し、合成された反射特性を用いて反射光強度を求める、という点にある。したがって、本発明を実施する上で、どのようなシェーディングモデルを用いるかは重要ではなく、実際、様々なシェーディングモデルに本発明を適用することが可能である。以下、従来から用いられている一般的なシェーディングモデルに本発明を適用した具体例をいくつか述べることにする。
【０１２３】
(1)   単純なテクスチャマッピングモデル
このモデルは、テクスチャとなる二次元画像を、スキャナ装置やデジタルカメラなどを用いて入力し、反射率分布を示す反射特性データとして利用する単純なモデルであり、§２，§３で述べてきた基本的な実施形態は、この単純なテクスチャマッピングモデルを前提としたものである。
【０１２４】
このモデルに本発明を適用するのであれば、まず、個々のレイヤーごとの二次元画像をデジタルカメラなどを用いて取り込んで、各レイヤーデータを用意し、これを図１１のステップＳ１において入力する処理を行っておく。この場合、各レイヤーデータは、たとえば、図５の下段に示すデータＬＤ１，ＬＤ２のように、ｕｖ二次元座標系上に定義された絵柄データＴ（ｕ，ｖ）となり、各レイヤーの反射率分布を示す反射特性データということになる。
【０１２５】
次に、図１４に示す反射光強度演算段階の第２のステップＳ７２では、まず、サンプル点Ｑの位置の座標値ｕ，ｖに対応する各レイヤーごとの絵柄データＴ（ｕ，ｖ）の値（反射特性）を取り出す。図１０に示す例の場合、上部レイヤーデータＬＤ１からは画素値Ｐ（Ｑ１）が取り出され、下部レイヤーデータＬＤ２からは画素値Ｐ（Ｑ２）が取り出されることになる。そして、この取り出した各レイヤーごとの反射特性の値を、第１のステップＳ７１で求めた可視割合による重みづけに応じて合成することにより、サンプル点Ｑの位置における反射係数ｋを求める。図１０に示す例の場合、前述したとおり、
ｋ＝０．７×Ｐ（Ｑ１）＋０．３×Ｐ（Ｑ２）
なる演算によって、サンプル点Ｑの位置における反射係数ｋ（各レイヤーを合成した反射係数）が得られる。この反射係数ｋは、上部レイヤーの反射係数（画素値Ｐ（Ｑ１））を７０％考慮し、下部レイヤーの反射係数（画素値Ｐ（Ｑ２））を３０％考慮した値ということになる。
【０１２６】
そして、図１４に示す反射光強度演算段階の第３のステップでは、サンプル点Ｑにおける入射照明光の強度をＩｉとしたときに（これは、図１１のステップＳ４で設定した投影条件によって定まる）、反射光強度Ｉを、反射係数ｋを用いて、
Ｉ＝ｋ・Ｉｉ
なる式で求めればよい。
【０１２７】
(2)   古典的な拡散反射モデル
拡散反射モデルは、古くからレンダリング処理に利用されてきたモデルであり、サンプル点Ｑにおける入射照明光の強度をＩｉ、仮想物体表面上のサンプル点Ｑ位置に立てた法線ｎと入射照明光とのなす角をα、拡散反射係数をｋｄとしたときに、反射光強度Ｉを、
Ｉ＝ｋｄ・Ｉｉ・cos α
なる式で求めるモデルである。ここで、古典的な拡散反射モデルの場合、拡散反射係数ｋｄは、定数として与えられる所定の反射特性データによって定められることになる。
【０１２８】
この古典的な拡散反射モデルを本発明に適用する場合は、まず、個々のレイヤーごとに、拡散反射係数を定める。このモデルにおける拡散反射係数は、二次元的な分布をもたないので、１つのレイヤーについて、１つの拡散反射係数を定めればよい。たとえば、図５の上段に示すように２つのレイヤーＬ１，Ｌ２からなる繊維シートの場合、上部レイヤーＬ１についての拡散反射係数ｋｄ１と、下部レイヤーＬ２についての拡散反射係数ｋｄ２とを決定すればよい。したがって、このモデルでは、レイヤーデータＬＤ１＝ｋｄ１、レイヤーデータＬＤ２＝ｋｄ２、というように、各レイヤーデータは、単純な数値で与えられることになり、前掲の実施形態のような絵柄データＴ（ｕ，ｖ）という形式にはならない。図１１のステップＳ１では、各レイヤーごとの拡散反射係数ｋｄ１，ｋｄ２が、レイヤーデータとして入力されることになる。
【０１２９】
一方、図１４に示す反射光強度演算段階の第２のステップＳ７２では、個々のレイヤーごとの拡散反射係数を第１のステップＳ７１で求めた可視割合による重みづけに応じて合成することにより、サンプル点Ｑの位置における拡散反射係数ｋｄを求めるようにする。たとえば、第１のステップＳ７１において、サンプル点Ｑの位置における曲率σを求め、この曲率σに対応する２つのレイヤーＬ１，Ｌ２の可視割合が、Ｌ１：７０％、Ｌ２：３０％であったとすると、サンプル点Ｑの位置における拡散反射係数ｋｄは、
ｋｄ＝０．７×ｋｄ１＋０．３×ｋｄ２
なる演算で求められる。
【０１３０】
そこで、図１４に示す反射光強度演算段階の第３のステップでは、サンプル点Ｑにおける入射照明光の強度をＩｉ、仮想物体表面上のサンプル点Ｑの位置に立てた法線ｎと入射照明光とのなす角をαとしたときに、反射光強度Ｉを、
Ｉ＝ｋｄ・Ｉｉ・cos α
なる式で求めるようにすればよい。
【０１３１】
このように、古典的な拡散反射モデルには、テクスチャマッピングの概念がないので、何らかのテクスチャ模様をもった繊維シートを取り扱う場合には、この古典的な拡散反射モデルをそのまま適用することはできない。このような場合には、この古典的な拡散反射モデルに更にテクスチャマッピングモデルを組み合わせたモデルを用いるようにすればよい。具体的には、前述した単純なテクスチャマッピングモデルと同様に、各レイヤーデータＬＤ１，ＬＤ２を、ｕｖ二次元座標系上に定義された絵柄データＴ（ｕ，ｖ）として用意し、ステップＳ１のレイヤーデータ入力段階では、ｕｖ二次元座標系上に定義された絵柄データＴ（ｕ，ｖ）で示される拡散反射係数をもった二次元画像を、それぞれ個々のレイヤーについてのレイヤーデータとして入力する。
【０１３２】
一方、反射光強度演算段階の第２のステップＳ７２では、まず、サンプル点Ｑの位置の座標値ｕ，ｖに対応する各レイヤーごとの絵柄データＴ（ｕ，ｖ）の画素値（拡散反射係数）を取り出す。そして、これらの画素値を、第１のステップＳ７１で求めた可視割合による重みづけに応じて合成することにより、サンプル点Ｑの位置における拡散反射係数ｋｄを求めるようにすればよい。
【０１３３】
(3)   Phongの鏡面反射モデル
Phongの鏡面反射モデルは、鏡面反射の代表的なシェーディングモデルであり、サンプル点Ｑにおける入射照明光の強度をＩｉ、仮想物体表面上のサンプル点Ｑの位置に立てた法線ｎと入射照明光とのなす角をα、この角度αに依存した反射係数をｋ（α）、鏡面反射の鋭さを示すパラメータをβ、サンプル点Ｑにおける鏡面反射光の射出方向と視点方向とのなす角をγとしたときに、反射光強度Ｉを、
Ｉ＝ｋ（α）・Ｉｉ・cos βγ
なる式で求めるモデルである。
【０１３４】
このPhongの鏡面反射モデルを本発明に適用する場合は、まず、個々のレイヤーごとに、反射係数ｋ（α）およびパラメータをβを定める。このモデルにおける反射係数ｋ（α）およびパラメータβも、二次元的な分布をもたないので、１つのレイヤーについて、それぞれｋ（α）およびβを定めればよい。もっとも、反射係数ｋ（α）は、角度αに依存した値になるので、何通りかの角度αの離散値に対して、それぞれ所定の係数値を定めるか、あるいは、角度αと係数ｋとの関数式を用意しておく必要がある。実用上は、前述したように、繊維シートの構造データを用いたコンピュータシミュレーションにより、個々のレイヤーごとの反射係数ｋ（α）およびパラメータをβを定め、図１１のステップＳ１において、個々のレイヤーごとのレイヤーデータとして入力すればよい。
【０１３５】
一方、図１４に示す反射光強度演算段階の第２のステップＳ７２では、まず、仮想物体表面上のサンプル点Ｑの位置に立てた法線ｎと入射照明光とのなす角αと、サンプル点Ｑにおける鏡面反射光の射出方向と視点方向とのなす角γとを求める（これらは、図１１のステップＳ４で設定した投影条件によって求まる）。そして、これらの角度α，γを用いて、各レイヤーごとの反射係数を、それぞれのレイヤーデータを参照して、
ｋ（α）・cos βγ
なる式で求める。こうして求めた各レイヤーごとの反射係数を、第１のステップＳ７１で求めた可視割合による重みづけに応じて合成することにより、サンプル点Ｑの位置における反射係数ｋを求めることができる。たとえば、第１のステップＳ７１において、サンプル点Ｑの位置についての２つのレイヤーＬ１，Ｌ２の可視割合が、Ｌ１：７０％、Ｌ２：３０％であり、上記式によって求められた２つのレイヤーＬ１，Ｌ２についての反射係数が、ｋ１，ｋ２であったとすると、サンプル点Ｑの位置における反射係数ｋは、
ｋ＝０．７×ｋ１＋０．３×ｋ２
なる演算で求められる。
【０１３６】
そこで、図１４に示す反射光強度演算段階の第３のステップでは、サンプル点Ｑにおける入射照明光の強度をＩｉとしたときに、反射光強度Ｉを、
Ｉ＝ｋ・Ｉｉ
なる式で求めるようにすればよい。
【０１３７】
なお、このPhongの鏡面反射モデルを利用するにあたって、実用上は、角度αに依存した反射係数ｋ（α）を用いる代わりに、角度αに依存しない反射係数ｋｓを用い、反射光強度Ｉを、
Ｉ＝ｋｓ・Ｉｉ・cos βγ
なる式で求める場合も少なくない。この場合は、各レイヤーごとのレイヤーデータを、角度αに依存しない反射係数ｋｓおよびパラメータβによって構成し、第２のステップＳ７２において、各レイヤーごとの反射係数を、それぞれのレイヤーデータを参照して、
ｋｓ・cos βγ
なる式で求めるようにすればよい。
【０１３８】
また、このPhongの鏡面反射モデルにも、テクスチャマッピングの概念がないので、何らかのテクスチャ模様をもった繊維シートを取り扱う場合には、このモデルに、更にテクスチャマッピングモデルを組み合わせて用いるようにすればよい。具体的には、前述した単純なテクスチャマッピングモデルと同様に、各レイヤーデータＬＤ１，ＬＤ２を、ｕｖ二次元座標系上に定義された絵柄データＴ（ｕ，ｖ）として用意し、ステップＳ１のレイヤーデータ入力段階では、ｕｖ二次元座標系上に定義された絵柄データＴ（ｕ，ｖ）として、個々のレイヤーについてのレイヤーデータを入力する。この場合、この絵柄データＴ（ｕ，ｖ）の個々の画素について、それぞれ反射係数ｋ（α）およびパラメータβ（もしくは、ｋ（α）の代わりにｋｓ）が定義されることになる。
【０１３９】
そして、反射光強度演算段階の第２のステップＳ７２では、まず、サンプル点Ｑの位置の座標値ｕ，ｖに対応する各レイヤーごとの絵柄データＴ（ｕ，ｖ）の画素について定義されている反射係数ｋ（α）（もしくはｋｓ）およびパラメータβを取り出し、上記式により各レイヤーごとの反射係数を求めるようにすればよい。
【０１４０】
(4)   ＢＲＤＦモデル
上述した古典的な拡散反射モデルやPhongの鏡面反射モデルでは、サンプル点Ｑの反射特性が、照明光の入射角や反射光の反射角に依存しないものとして取り扱っているが、パイル地のような三次元構造をもった繊維シートの場合、厳密には、照明光の入射角や反射光の反射角に依存した異方性反射の特性を考慮した取り扱いをしなければならない。このような取り扱いを行うモデルとして、ＢＲＤＦ（Bi-directional Reflection Distribution Function）と呼ばれるモデルが提案されている。
【０１４１】
図１５は、このＢＲＤＦモデルの原理を説明するための斜視図である。図示のとおり、仮想物体表面上のサンプル点Ｑの位置に法線ｎを立て、サンプル点Ｑを含み、法線ｎに直交する直交平面Ｓを定義する。そして、法線ｎと入射照明光Ｌとのなす角をθＬ、直交平面Ｓ上への入射照明光Ｌの投影像Ｌ′とこの直交平面Ｓ上のサンプル点Ｑを通る所定の基準線ζとのなす角度をφＬとし、入射照明光Ｌの向きを角度θＬおよび角度φＬの組み合わせで定義する。同様に、法線ｎと反射光Ｖとのなす角をθＶ、直交平面Ｓ上への反射光Ｖの投影像Ｖ′と基準線ζとのなす角度をφＶとし、反射光Ｖの向きを角度θＶおよび角度φＶの組み合わせで定義する。そして、サンプル点Ｑにおける入射照明光Ｌの強度をＩｉとしたとき、サンプル点Ｑからの反射光Ｖの強度Ｉを、θＬ，φＬ，θＶ，φＶの関数として与えられる反射係数ｋｂを用いて、
Ｉ＝ｋｂ・Ｉｉ
なる式で求めるのである。このように、ＢＲＤＦモデルの特徴は、反射係数ｋｂを、入射照明光Ｌの向きを示すパラメータ「θＬ，φＬ」および反射光Ｖの向きを示すパラメータ「θＶ，φＶ」の関数として与える点にある。
【０１４２】
このＢＲＤＦモデルを本発明に適用する場合は、次のようにすればよい。まず、図１１のステップＳ１におけるレイヤーデータ入力段階において、図１５に示す例と同様に、各レイヤー上に角度の定義を行う。すなわち、レイヤー上の所定点を点Ｑとして、レイヤー面の所定点Ｑに立てた法線ｎと照明光Ｌとのなす角をθＬ、レイヤー面上への照明光Ｌの投影像Ｌ′とレイヤー面上の所定点Ｑを通る基準線ζとのなす角度をφＬ、法線ｎと反射光Ｖとのなす角度をθＶ、レイヤー面上への反射光Ｖの投影像Ｖ′と基準線ζとのなす角度をφＶと定義する。そして、「θＬ，φＬ，θＶ，φＶ」の関数として与えられる反射係数ｋｂ（θＬ，φＬ，θＶ，φＶ）を各レイヤーごとのレイヤーデータとして用意し、これをステップＳ１で入力する。
【０１４３】
たとえば、図５の上段に示すように、上部レイヤーＬ１と下部レイヤーＬ２との２つのレイヤーからなる繊維シートの場合、上部レイヤーＬ１についての反射係数ｋｂ１が、４つの変数「θＬ，φＬ，θＶ，φＶ」を用いたｋｂ１（θＬ，φＬ，θＶ，φＶ）なる関数の形で定義され、下部レイヤーＬ２についての反射係数ｋｂ２が、同じく４つの変数「θＬ，φＬ，θＶ，φＶ」を用いたｋｂ２（θＬ，φＬ，θＶ，φＶ）なる関数の形で定義される。ステップＳ１のレイヤーデータ入力段階で入力される各レイヤーごとのレイヤーデータとは、結局、これらの関数ｋｂ１（θＬ，φＬ，θＶ，φＶ），ｋｂ２（θＬ，φＬ，θＶ，φＶ）ということになる。これらの関数は、数式として与えることも可能であるが、実用上は、「θＬ，φＬ，θＶ，φＶ」という４次元の変数をもったテーブルとして用意するのが好ましい。このようなテーブルは、繊維シートの構造データを利用したコンピュータシミュレーションによって求めることもできるし、実在の繊維シートの各レイヤーを利用した実測により求めることもできる。
【０１４４】
一方、ステップＳ２の可視割合情報入力段階では、「曲率，θＬ，φＬ，θＶ，φＶ」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す可視割合情報を入力する。ここでの「曲率」は、向きのファクターをもった広義の曲率であり、前述の実施形態の場合、狭義の曲率σと曲率角度ξとで定義される。そこで、以下、この広義の曲率を、曲率σおよび曲率角度ξとして取り扱った場合の例を述べることにする（もちろん、向きのファクターをもった広義の曲率は、必ずしも、曲率σおよび曲率角度ξによって定義しなくてはならないものではない）。したがって、ステップＳ２で入力される可視割合情報は、「σ，ξ，θＬ，φＬ，θＶ，φＶ」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す情報ということになる。実用上は、この可視割合情報は、「σ，ξ，θＬ，φＬ，θＶ，φＶ」という６次元の変数をもったテーブルとして用意するのが好ましい。なお、このような可視割合を示す情報も、繊維シートの構造データを利用したコンピュータシミュレーションによって求めることもできるし、実在の繊維シートの各レイヤーを利用した実測により求めることもできる。
【０１４５】
次に、図１４に示す反射光強度演算段階の第１のステップＳ７１では、まず、仮想物体表面上のサンプル点Ｑの位置について、図１５に示す角度θＬ，φＬ，θＶ，φＶをそれぞれ定義する。このとき、サンプル点Ｑについての入射照明光Ｌの向きや、反射光Ｖの向きは、ステップＳ４で設定された投影条件によって定まることになる。そして、これらの角度θＬ，φＬ，θＶ，φＶに、ステップＳ６で求められた曲率（すなわち、σとξ）を加えた６つの変数「σ，ξ，θＬ，φＬ，θＶ，φＶ」を用いて、ステップＳ２で入力した可視割合情報（６次元の変数をもったテーブル）を参照することにより、サンプル点Ｑの位置に対応する各レイヤーごとの可視割合を求める。
【０１４６】
ここでは、説明の便宜上、２つのレイヤーＬ１，Ｌ２についてのサンプル点Ｑの可視割合が、Ｌ１：７０％、Ｌ２：３０％として求められたものとしよう。本発明にＢＲＤＦモデルを適用した場合の特徴は、このようにサンプル点Ｑの位置における特定の可視割合が、曲率のパラメータσ，ξのみならず、入射照明光Ｌや反射光Ｖの向きのパラメータθＬ，φＬ，θＶ，φＶにも依存して決定されるという点である。すなわち、各レイヤーの可視割合が、ステップＳ４で設定された照明条件や視点位置などを考慮して決定されることになるため、より精度の高い、細かな取り扱いが可能になる。
【０１４７】
さて、続く反射光強度演算段階の第２のステップＳ７２では、まず、ステップＳ１で入力したレイヤーデータを参照することにより、サンプル点Ｑの位置の「θＬ，φＬ，θＶ，φＶ」の組み合わせに対応する反射係数ｋｂ（θＬ，φＬ，θＶ，φＶ）を各レイヤーごとに求める。そして、こうして求めた各反射係数ｋｂを、それぞれ第１のステップＳ７１で求めた可視割合による重みづけに応じて合成することにより、サンプル点Ｑの位置における反射係数ｋｂを定める。
【０１４８】
たとえば、サンプル点Ｑの位置の「θＬ，φＬ，θＶ，φＶ」なる４つの変数の組み合わせに対応する２つのレイヤーＬ１，Ｌ２についての反射係数が、それぞれｋｂ１，ｋｂ２であったとし、第１のステップＳ７１において、サンプル点Ｑの位置についての２つのレイヤーＬ１，Ｌ２の可視割合が、上述したように、Ｌ１：７０％、Ｌ２：３０％として求められているとすれば、サンプル点Ｑの位置における反射係数ｋｂは、
ｋｂ＝０．７×ｋｂ１＋０．３×ｋｂ２
なる演算で求められる。
【０１４９】
そこで、図１４に示す反射光強度演算段階の第３のステップでは、サンプル点Ｑにおける入射照明光の強度をＩｉとしたときに、反射光強度Ｉを、
Ｉ＝ｋｂ・Ｉｉ
なる式で求めるようにすればよい。
【０１５０】
(5)   ＢＴＦモデル
上述したＢＲＤＦモデルには、テクスチャマッピングの概念がないので、これを本発明にそのまま適用した場合、テクスチャ模様をもった繊維シートを取り扱うことができない。ここで述べるＢＴＦ（Bi-directional Texture Function）は、いわば上述したＢＲＤＦモデルに、テクスチャマッピングモデルを組み合わせたモデルというべきものである。したがって、このＢＴＦモデルを本発明に適用するには、次のようにすればよい。
【０１５１】
まず、図１１のステップＳ１におけるレイヤーデータ入力段階では、上述したＢＲＤＦモデルと同様の角度定義（図１５に示す角度定義）を行う。すなわち、レイヤー上の所定点を点Ｑとして、レイヤー面の所定点Ｑに立てた法線ｎと照明光Ｌとのなす角をθＬ、レイヤー面上への照明光Ｌの投影像Ｌ′とレイヤー面上の所定点Ｑを通る基準線ζとのなす角度をφＬ、法線ｎと反射光Ｖとのなす角度をθＶ、レイヤー面上への反射光Ｖの投影像Ｖ′と基準線ζとのなす角度をφＶと定義する。そして、このレイヤー面上に、ｕｖ二次元座標系を定義し、所定の座標値（ｕ，ｖ）に位置する各点について、「θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」の関数として与えられる反射係数ｋｂ（θＬ，φＬ，θＶ，φＶ，ｕ，ｖ）を定義し、これを各レイヤーごとのレイヤーデータとして入力する。
【０１５２】
たとえば、図５の上段に示すように、上部レイヤーＬ１と下部レイヤーＬ２との２つのレイヤーからなる繊維シートの場合、上部レイヤーＬ１についての反射係数ｋｂ１が、６つの変数「θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」を用いたｋｂ１（θＬ，φＬ，θＶ，φＶ，ｕ，ｖ）なる関数の形で定義され、下部レイヤーＬ２についての反射係数ｋｂ２が、同じく６つの変数「θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」を用いたｋｂ２（θＬ，φＬ，θＶ，φＶ，ｕ，ｖ）なる関数の形で定義される。ステップＳ１のレイヤーデータ入力段階で入力される各レイヤーごとのレイヤーデータとは、結局、これらの関数ｋｂ１（θＬ，φＬ，θＶ，φＶ，ｕ，ｖ），ｋｂ２（θＬ，φＬ，θＶ，φＶ，ｕ，ｖ）ということになる。これらの関数は、数式として与えることも可能であるが、実用上は、「θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」という６次元の変数をもったテーブルとして用意するのが好ましい。このようなテーブルは、繊維シートの構造データを利用したコンピュータシミュレーションによって求めることもできるし、実在の繊維シートの各レイヤーを利用した実測により求めることもできる。
【０１５３】
一方、ステップＳ２の可視割合情報入力段階では、「曲率，θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す可視割合情報を入力する。ここでの「曲率」は、やはり向きのファクターをもった広義の曲率であるので、以下、この広義の曲率を、曲率σおよび曲率角度ξとして取り扱った場合の例を述べる。結局、ステップＳ２で入力される可視割合情報は、「σ，ξ，θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」の様々な組み合わせのそれぞれについて、各レイヤーごとの可視割合を示す情報ということになる。実用上は、この可視割合情報は、「σ，ξ，θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」という８次元の変数をもったテーブルとして用意するのが好ましい。なお、このような可視割合を示す情報も、繊維シートの構造データを利用したコンピュータシミュレーションによって求めることもできるし、実在の繊維シートの各レイヤーを利用した実測により求めることもできる。
【０１５４】
次に、図１４に示す反射光強度演算段階の第１のステップＳ７１では、まず、仮想物体表面上のサンプル点Ｑの位置について、図１５に示す角度θＬ，φＬ，θＶ，φＶをそれぞれ定義する。このとき、サンプル点Ｑについての入射照明光Ｌの向きや、反射光Ｖの向きは、ステップＳ４で設定された投影条件によって定まることになる。そして、これらの角度θＬ，φＬ，θＶ，φＶに、サンプル点Ｑの座標値ｕ，ｖと、ステップＳ６で求められた曲率（すなわち、σとξ）を加えた８つの変数「σ，ξ，θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」を用いて、ステップＳ２で入力した可視割合情報（８次元の変数をもったテーブル）を参照することにより、サンプル点Ｑの位置に対応する各レイヤーごとの可視割合を求める。
【０１５５】
続く反射光強度演算段階の第２のステップＳ７２では、まず、ステップＳ１で入力したレイヤーデータを参照することにより、サンプル点Ｑの位置の「θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」の組み合わせに対応する反射係数ｋｂ（θＬ，φＬ，θＶ，φＶ，ｕ，ｖ）を各レイヤーごとに求める。そして、こうして求めた各反射係数ｋｂを、それぞれ第１のステップＳ７１で求めた可視割合による重みづけに応じて合成することにより、サンプル点Ｑの位置における反射係数ｋｂを定める。
【０１５６】
たとえば、サンプル点Ｑの位置の「θＬ，φＬ，θＶ，φＶ，ｕ，ｖ」なる６つの変数の組み合わせに対応する２つのレイヤーＬ１，Ｌ２についての反射係数が、それぞれｋｂ１，ｋｂ２であったとし、第１のステップＳ７１において、サンプル点Ｑの位置についての２つのレイヤーＬ１，Ｌ２の可視割合が、上述したように、Ｌ１：７０％、Ｌ２：３０％として求められているとすれば、サンプル点Ｑの位置における反射係数ｋｂは、
ｋｂ＝０．７×ｋｂ１＋０．３×ｋｂ２
なる演算で求められる。
【０１５７】
そこで、図１４に示す反射光強度演算段階の第３のステップでは、サンプル点Ｑにおける入射照明光の強度をＩｉとしたときに、反射光強度Ｉを、
Ｉ＝ｋｂ・Ｉｉ
なる式で求めるようにすればよい。
【０１５８】
＜＜＜  §５．ポリゴンを用いた具体的実施例  ＞＞＞
本発明において「曲率」は非常に重要なパラメータであり、特に、向きのファクターをもった曲率を取り扱う場合には、仮想物体上のサンプル点Ｑについて、たとえば、曲率σおよび曲率角度ξというパラメータを求めることが非常に重要である。ここで、曲率σおよび曲率角度ξは、図４に示すような円柱状のモデルを用いれば、簡単に定義することができる。たとえば、図４(a) に示す例の場合、円柱状の物体５１の半径ｒ１の逆数を曲率σと定義し、円柱の中心軸Ｈを半径方向に投影することにより円柱側面上に得られる投影線Ｈ′と繊維シート６１の基準方向線Ｗとのなす角ξを当該曲率σについての曲率角度と定義している。
【０１５９】
したがって、図１１のステップＳ２で入力する可視割合情報（たとえば、図９に示す情報）を用意する際には、シミュレーションによる手法をとるにせよ、実測による手法をとるにせよ、物体の円柱側面に繊維シートを所定の向きに張り付けた状態での各レイヤーごとの可視割合を求めることが可能であり、特定の曲率σおよび特定の曲率角度ξの各組み合わせに対応する可視割合を定義することができる。別言すれば、図９に示すような可視割合情報を作成するには、円柱モデルのみを考慮すれば十分である。
【０１６０】
しかしながら、図１１のステップＳ６では、任意形状をもった仮想物体上のサンプル点Ｑについて、曲率σおよび曲率角度ξを求める必要があるので、実際には、曲率σおよび曲率角度ξの定義に、円柱モデルをそのまま利用することはできない。もっとも、任意曲面についての曲率を定義する手法は種々の方法が知られているので、ステップＳ６では、これら公知の手法のいずれかを利用して、何らかの形で曲率σおよび曲率角度ξを定義することができれば問題はない。
【０１６１】
ここでは、仮想物体の立体形状を示す三次元データが、微小なポリゴン（多角形）の集合体として入力された場合について、ステップＳ６における曲率σおよび曲率角度ξを定義する具体的な方法の一例を述べることにする。特に、ここでは、ポリゴンとして三角形を用いた具体的な例を説明する。すなわち、以下に示す例では、仮想物体の表面形状は、微小な三角形の集合体として表現されていることになり、仮想物体の曲面は、実際には、多数の微小三角形（平面図形）の集合体から構成されることになる。
【０１６２】
いま、図１６に示すように、仮想物体上の１つのサンプル点Ｑが、１つの三角形Ｔｑ上の点であった場合を考える。ここでは、説明の便宜上、サンプル点Ｑを含む三角形Ｔｑを、着目三角形と呼ぶことにする。また、着目三角形Ｔｑの３辺を図示のとおり、辺Ａ，辺Ｂ，辺Ｃと呼ぶことにし、辺Ａを境界として隣接している三角形を隣接三角形Ｔａ、辺Ｂを境界として隣接している三角形を隣接三角形Ｔｂ、辺Ｃを境界として隣接している三角形を隣接三角形Ｔｃと呼ぶことにする。更に、着目三角形Ｔｑの３つの頂点を、図示のとおりそれぞれ頂点Ｄ１，Ｄ２，Ｄ３とし、隣接三角形Ｔａ，Ｔｂ，Ｔｃのもう１つの頂点を、それぞれ頂点Ｄ４，Ｄ５，Ｄ６とする。
【０１６３】
なお、図１６では、すべての三角形が同一平面上に描かれているが、実際には、頂点Ｄ１，Ｄ２，Ｄ３は紙面上の点であるが、頂点Ｄ４，Ｄ５，Ｄ６は紙面外の点（紙面の上方もしくは紙面の下方に位置する点）であるものとする。別言すれば、着目三角形Ｔｑは紙面上の三角形であるが、隣接三角形Ｔａ，Ｔｂ，Ｔｃは、いずれも紙面上にはない三角形ということになる。結局、図１６には、４つの三角形Ｔｑ，Ｔａ，Ｔｂ，Ｔｃからなる図形が描かれているが（もちろん、実際には、三角形Ｔａ，Ｔｂ，Ｔｃの外側にも、多数の別な三角形が連続している）、この図形は、辺Ａ，Ｂ，Ｃを折り目として、互いに所定角度をなすように折り曲げられていることになる。
【０１６４】
ステップＳ６で求めるべき値は、サンプル点Ｑについての曲率σおよび曲率角度ξであるが、ここではまず、着目三角形Ｔｑについての曲率σなるものを定義することにする。もっとも、着目三角形Ｔｑ自身は、単なる平面図形であり、曲面を形成するものではない。ここに示す実施例の場合、仮想物体の曲面は、微小な三角形の集合体によって擬似的に表現されているにすぎない。したがって、着目三角形Ｔｑについての曲率σなるものを定義するとすれば、それは３つの隣接三角形Ｔａ，Ｔｂ，Ｔｃとの間の形成角に応じた値として定義されねばならない。
【０１６５】
そこで、辺Ａを境界線として、着目三角形Ｔｑと隣接三角形Ｔａとが形成する角を形成角ωａとし、辺Ｂを境界線として、着目三角形Ｔｑと隣接三角形Ｔｂとが形成する角を形成角ωｂとし、辺Ｃを境界線として、着目三角形Ｔｑと隣接三角形Ｔｃとが形成する角を形成角ωｃとする。そして、着目三角形Ｔｑの隣接三角形Ｔａとの関係における曲率を「辺Ａに関する曲率σａ」と定義し、着目三角形Ｔｑの隣接三角形Ｔｂとの関係における曲率を「辺Ｂに関する曲率σｂ」と定義し、着目三角形Ｔｑの隣接三角形Ｔｃとの関係における曲率を「辺Ｃに関する曲率σｃ」と定義することにする。この場合、辺Ａに関する曲率σａを形成角ωａに基づいて定まる値とし、辺Ｂに関する曲率σｂを形成角ωｂに基づいて定まる値とし、辺Ｃに関する曲率σｃを形成角ωｃに基づいて定まる値とすれば、それぞれ隣接三角形との関係における曲率として意味のある値になる。
【０１６６】
具体的には、各形成角が１８０°に近くなればなるほど、曲率は小さくなるように設定すればよい。たとえば、仮に頂点Ｄ４が図の紙面上の点であったとすると、着目三角形Ｔｑと隣接三角形Ｔａは同一紙面上の三角形ということになり、両者の形成角ωａ＝１８０°ということになる。この場合、着目三角形Ｔｑから隣接三角形Ｔａへと連なる面は完全な平面であり、辺Ａに関する曲率σａは、最小値０に設定すればよいことになる。
【０１６７】
このように、各辺に関する曲率を、当該辺を挟んだ２つの三角形の形成角に応じて、当該形成角が１８０°に近くなればなるほど小さな曲率となるように設定する、ということが、合理的な曲率の設定法であることは、直感的に理解できよう。ただ、本願発明者は、曲率の定義を、両三角形の形成角のみに基づいて定義するのではなく、両三角形の大きさというファクターを入れて定義すると、より好ましいことに気がついた。
【０１６８】
仮想物体を表現する微小三角形は、仮想物体全体の大きさから比べると、いずれも非常に小さな図形である。しかし、個々の三角形同士を相互に比較すると、その大きさは様々であり、面積の大きな三角形もあれば、面積の小さな三角形もある。そうすると、面積の大きな三角形については、平面が広い領域にわたって連続しているのであるから、小さな三角形に比べて、より小さな曲率を定義した方が理にかなっている。逆に、面積の小さな三角形については、平面が連続する領域が狭いのであるから、大きな三角形に比べて、より大きな曲率を定義した方が理にかなっている。
【０１６９】
そこで、各辺に関する曲率を、着目三角形自身の大きさ（面積）および隣接三角形の大きさ（面積）に依存して決定するようにし、これらの大きさが大きくなればなるほど小さな曲率が定義されるような設定を行えばよいことがわかる。具体的には、辺Ａに関する曲率としては、形成角ωａが１８０°に近くなればなるほど小さくなり、かつ、着目三角形Ｔｑおよび隣接三角形Ｔａの大きさが大きくなればなるほど小さくなるような曲率σａを定義し、辺Ｂに関する曲率としては、形成角ωｂが１８０°に近くなればなるほど小さくなり、かつ、着目三角形Ｔｑおよび隣接三角形Ｔｂの大きさが大きくなればなるほど小さくなるような曲率σｂを定義し、辺Ｃに関する曲率としては、形成角ωｃが１８０°に近くなればなるほど小さくなり、かつ、着目三角形Ｔｑおよび隣接三角形Ｔｃの大きさが大きくなればなるほど小さくなるような曲率σｃを定義すればよい。
【０１７０】
以上、各辺に関する曲率を定義するための基本概念を述べたが、このような基本概念に基づいて、実際に各辺に関する曲率を定義するには、たとえば、次のような方法をとることができる。ここでは、図１６において、辺Ａに関する曲率σａの具体的な求め方の一例を説明しよう。辺Ａに関する曲率σａとは、前述したとおり、着目三角形Ｔｑの隣接三角形Ｔａとの関係における曲率というべきものであり、上述した基本概念に従えば、形成角ωａが１８０°に近くなればなるほど小さくなり、かつ、着目三角形Ｔｑおよび隣接三角形Ｔａの大きさが大きくなればなるほど小さくなるような値として定義すればよい。
【０１７１】
そこで、まず、図１６に示されているとおり、着目三角形Ｔｑの辺Ａに対する対角Ｄ３から辺Ａに対して垂線を下ろし、この垂線の長さｈｑａを求める。同様に、隣接三角形Ｔａの辺Ａに対する対角Ｄ４から辺Ａに対して垂線を下ろし、この垂線の長さｈａを求める。こうして求めた垂線の長さｈｑａ，ｈａは、それぞれ着目三角形Ｔｑおよび隣接三角形Ｔａの大きさにある程度関連した量になり、各三角形が大きくなればなるほど、これら垂線の長さも長くなる傾向にある。
【０１７２】
次に、こうして求めた垂線の長さｈｑａ，ｈａと、着目三角形Ｔｑと隣接三角形Ｔａとの間の形成角ωａと、を用いて、図１７に示すような作図を行う。すなわち、平面上に、「長さｈｑａをもった線分」と「長さｈａをもった線分」とをそれぞれの一端が接続点Ｊａで接続され、かつ、この接続点Ｊａにおける両線分のなす角が形成角ωａとなるように配置する。続いて、この図１７上において、「長さｈｑａをもった線分」の垂直二等分線と「長さｈａをもった線分」の垂直二等分線との交点Ｏａを求め、求めた交点Ｏａと接続点Ｊａとの距離Ｒａを図示のように求める。そして、この距離Ｒａの逆数を、辺Ａに関する曲率σａと定義するのである。
【０１７３】
図１７において、距離Ｒａは、「長さｈｑａをもった線分」と「長さｈａをもった線分」とを滑らかな円弧で近似した場合の半径に相当するものである。ここで、もし形成角ωａが１８０°になると、図に破線で示す２本の垂直二等分線は平行になってしまうので、交点Ｏａの位置は無限遠となり、距離Ｒａ＝無限大となる。その結果、曲率σａ＝０になる。形成角ωａが小さくなればなるほど、交点Ｏａは接続点Ｊａに接近し、距離Ｒａは小さくなるので、曲率σａは大きくなる。結局、曲率σａは、形成角ωａが１８０°に近くなればなるほど小さくなる、という上述の基本概念に合致した値になる。
【０１７４】
一方、長さｈｑａや長さｈａがより長くなると、交点Ｏａは接続点Ｊａからより離れることになり、距離Ｒａは大きくなり、曲率σａは小さくなることが、図１７から容易に理解できよう。前述したとおり、長さｈｑａおよび長さｈａは、それぞれ着目三角形Ｔｑ，隣接三角形Ｔａの大きさにある程度関連した量になるので、結局、曲率σａは、着目三角形Ｔｑおよび隣接三角形Ｔａの大きさが大きくなればなるほど小さくなる、という上述の基本概念に合致した値になる。
【０１７５】
以上のことから、着目三角形Ｔｑの辺Ａに対する対角Ｄ３から辺Ａに下ろした垂線の長さｈｑａと、隣接三角形Ｔａの辺Ａに対する対角Ｄ４から辺Ａに下ろした垂線の長さｈａと、を求め、平面上に、「長さｈｑａをもった線分」と「長さｈａをもった線分」とを、それぞれの一端が接続点Ｊａで接続され、かつ、接続点Ｊａにおける両線分のなす角が形成角ωａとなるように配置し、「長さｈｑａをもった線分」の垂直二等分線と「長さｈａをもった線分」の垂直二等分線との交点Ｏａと接続点Ｊａとの距離Ｒａの逆数を、辺Ａに関する曲率σａと定義すれば、上述した基本概念に合致するような曲率σａの定義を行うことができる。
【０１７６】
同様に、辺Ｂに関する曲率σｂを定義するには、図示は省略するが、次のような作図を行えばよい。すなわち、着目三角形Ｔｑの辺Ｂに対する対角Ｄ２から辺Ｂに下ろした垂線の長さｈｑｂと、隣接三角形Ｔｂの辺Ｂに対する対角Ｄ５から辺Ｂに下ろした垂線の長さｈｂと、を求め、平面上に、「長さｈｑｂをもった線分」と「長さｈｂをもった線分」とを、それぞれの一端が接続点Ｊｂで接続され、かつ、接続点Ｊｂにおける両線分のなす角が形成角ωｂとなるように配置し、「長さｈｑｂをもった線分」の垂直二等分線と「長さｈｂをもった線分」の垂直二等分線との交点Ｏｂと接続点Ｊｂとの距離Ｒｂの逆数を、辺Ｂに関する曲率σｂと定義すればよい。
【０１７７】
また、辺Ｃに関する曲率σｃを定義するには、同様に、次のような作図を行えばよい。まず、着目三角形Ｔｑの辺Ｃに対する対角Ｄ１から辺Ｃに下ろした垂線の長さｈｑｃと、隣接三角形Ｔｃの辺Ｃに対する対角Ｄ６から辺Ｃに下ろした垂線の長さｈｃと、を求め、平面上に、「長さｈｑｃをもった線分」と「長さｈｃをもった線分」とを、それぞれの一端が接続点Ｊｃで接続され、かつ、接続点Ｊｃにおける両線分のなす角が形成角ωｃとなるように配置し、「長さｈｑｃをもった線分」の垂直二等分線と「長さｈｃをもった線分」の垂直二等分線との交点Ｏｃと接続点Ｊｃとの距離Ｒｃの逆数を、辺Ｃに関する曲率σｃと定義すればよい。
【０１７８】
さて、以上述べた手順により、着目三角形Ｔｑについて、辺Ａに関する曲率σａ，辺Ｂに関する曲率σｂ，辺Ｃに関する曲率σｃという３通りの曲率を定義することができた。しかしながら、図１１のステップＳ６で求める必要がある曲率は、この着目三角形Ｔｑ内に位置するサンプル点Ｑについての曲率σＱである。そこで、このサンプル点Ｑについての曲率σＱを、３つの曲率σａ，σｂ，σｃを合成して求めるようにする。この合成を行う上での基本概念は、サンプル点Ｑと、各辺Ａ，Ｂ，Ｃとの距離に応じて、曲率σａ，σｂ，σｃを按分する、という考え方である。すなわち、サンプル点Ｑと辺Ａとの距離が短ければ短いほど曲率σａの影響が大きくなり、サンプル点Ｑと辺Ｂとの距離が短ければ短いほど曲率σｂの影響が大きくなり、サンプル点Ｑと辺Ｃとの距離が短ければ短いほど曲率σｃの影響が大きくなるように、曲率σａ，σｂ，σｃを合成して、サンプル点Ｑについての曲率σＱを求めるようにすれば、理にかなった方法で曲率σＱを決定できる。
【０１７９】
このような基本概念に基づいて、曲率σＱを求める第１の方法を、図１８を参照して説明する。図１８に示されている各三角形は、図１６に示されている各三角形と全く同じものであり、着目三角形Ｔｑ内に、サンプル点Ｑが位置している。そこで、まず、着目三角形Ｔｑの辺Ａに対する対角Ｄ３とサンプル点Ｑとの距離Ｌａを求め、着目三角形Ｔｑの辺Ｂに対する対角Ｄ２とサンプル点Ｑとの距離をＬｂを求め、着目三角形Ｔｑの辺Ｃに対する対角Ｄ１とサンプル点Ｑとの距離をＬｃを求める。そして、サンプル点Ｑについての曲率σＱを、
σＱ＝（Ｌａ・σａ＋Ｌｂ・σｂ＋Ｌｃ・σｃ）／（Ｌａ＋Ｌｂ＋Ｌｃ）
なる演算によって定義するのである。このような方法で曲率σＱを定義すれば、上述の基本概念に合致した方法での定義が可能になる。
【０１８０】
一方、図１９は、上述の基本概念に基づいて曲率σＱを求める第２の方法を示す図である。この図においても、各三角形は、図１６に示されている各三角形と全く同じものであり、着目三角形Ｔｑ内に、サンプル点Ｑが位置している。この第２の方法では、まず、サンプル点Ｑから辺Ａに垂線を下ろし、その足をａとする。同様に、サンプル点Ｑから辺Ｂに垂線を下ろし、その足をｂとし、サンプル点Ｑから辺Ｃに垂線を下ろし、その足をｃとする。そして、着目三角形Ｔｑを、これら３本の垂線（図では破線で示す）によって、３つの領域Ｕａ，Ｕｂ，Ｕｃに分割する。ここで、領域Ｕａは、辺Ａに対する対角Ｄ３を含む領域であり、領域Ｕｂは、辺Ｂに対する対角Ｄ２を含む領域であり、領域Ｕｃは、辺Ｃに対する対角Ｄ１を含む領域である。ここで、各領域Ｕａ，Ｕｂ，Ｕｃの面積を、それぞれ同じ記号Ｕａ，Ｕｂ，Ｕｃで示すことにし、サンプル点Ｑについての曲率σＱを、
σＱ＝（Ｕａ・σａ＋Ｕｂ・σｂ＋Ｕｃ・σｃ）／（Ｕａ＋Ｕｂ＋Ｕｃ）
なる演算によって定義するのである。このような方法で曲率σＱを定義すれば、やはり上述の基本概念に合致した方法での定義が可能になる。
【０１８１】
以上、仮想物体の立体形状を示す三次元データが、微小な三角形の集合体として入力された場合について、任意のサンプル点Ｑにおける曲率σＱを定義する具体的な方法を述べた。この方法によれば、円柱曲面に限定されることなく、任意の曲面をもった仮想物体上の任意のサンプル点Ｑの位置における曲率σＱを決定することができる。
【０１８２】
続いて、任意の曲面をもった仮想物体上の任意のサンプル点Ｑの位置における曲率角度ξＱを求める方法について述べる。そもそも曲率角度ξとは、サンプル点Ｑの位置に所定の曲率σＱが定義されている場合に、この曲率σＱに応じた湾曲方向と繊維シート上の基準方向線とのずれを示す要素である。たとえば、図４に示す円柱曲面の場合、基準方向線Ｗと円柱の中心軸Ｈの投影線Ｈ′とのなす角度として、曲率角度ξを定義しているが、このような定義を行った場合、曲率角度ξ＝９０°となる方向が、曲率σに応じた湾曲方向（すなわち、円周方向）ということになる。
【０１８３】
図４(a) に示す例も、図４(c) に示す例も、いずれも曲率の値はσ＝１／ｒ１と同一である。しかしながら、曲率角度ξは、前者の場合は９０°、後者の場合は０°となり、両者は大きく相違する。これは、繊維シート６１の基準方向線Ｗの方向に着目したときに、前者では、基準方向線Ｗが、１／ｒ１なる曲率に応じた湾曲方向（円周方向）を向くように張り付けられているのに対して、後者では、基準方向線Ｗが、１／ｒ１なる曲率に応じた湾曲方向（円周方向）に対して９０°をなす方向（すなわち、中心軸Ｈに平行な方向）を向くように張り付けられていることを示している。そして、曲率角度ξ＝９０°となる前者の場合、基準方向線Ｗの向きが、曲率σ＝１／ｒ１に応じた湾曲方向（円周方向）に一致することになる。このように、曲率角度ξは、曲率に応じた湾曲方向に対する基準方向線Ｗのずれ量を示す角度に相当するパラメータであり、９０°〜０°の範囲をとり、ξ＝９０°の場合は、ずれ量がないこと示し、ξ＝０°の場合は、ずれ量が最大であることを示すことになる。
【０１８４】
図１１のステップＳ２において入力する可視割合情報（たとえば、図９に示すように、２つの変数σ，ξによって参照されるテーブル）を、このような円柱曲面を前提とした曲率σおよび曲率角度ξの定義を行ったシミュレーションによって作成した場合、ステップＳ６においても、この円柱曲面を前提とした定義に近い方法で、曲率角度ξを定義する必要がある。そこで、以下、仮想物体の立体形状を示す三次元データが、微小な三角形の集合体として入力された場合について、任意のサンプル点Ｑの位置における曲率角度ξＱを定義する具体的な方法の一例を述べる。
【０１８５】
まず、図２０に示すように、サンプル点Ｑを含む着目三角形Ｔｑと、これに隣接する３つの隣接三角形Ｔａ，Ｔｂ，Ｔｃを考える。これらの各三角形は、図１６に示されている各三角形と全く同じものである。また、ステップＳ３では、前述したとおり、仮想物体に対する繊維シートの張り付け向きに関する情報も入力されているので、ステップＳ６の段階では、図２０に示すとおり、繊維シートの基準方向線Ｗの向きを定義することができる。ここでは、この基準方向線Ｗを、着目三角形Ｔｑと同一平面上の直線として定義している。ステップＳ３において、基準方向線Ｗが、ＸＹＺ三次元座標系上の直線として入力された場合には、これを着目三角形Ｔｑを含む平面上にこの平面の法線方向に投影することにより得られる投影像を、図示する基準方向線Ｗとして定義すればよい。また、テクスチャマッピングやＢＴＦが適用されている場合には、既にポリゴンに与えられている二次元座標系（ｕ，ｖ）を基準として、そのポリゴン内のたとえばｖ軸方向を基準方向線Ｗとして利用すればよい。
【０１８６】
続いて、図２０に示すように、この基準方向線Ｗと着目三角形Ｔｑの辺Ａ，辺Ｂ，辺Ｃのそれぞれとのなす角（交差しない場合には、各辺の延長線とのなす角）ξａ，ξｂ，ξｃを、それぞれ各辺Ａ，Ｂ，Ｃに関する曲率角度として求める。そして、これら各辺に関する曲率角度ξａ，ξｂ，ξｃを合成することにより、サンプル点Ｑについての曲率角度ξＱを求めるようにすればよい。この合成を行う上での基本概念は、サンプル点Ｑと、各辺Ａ，Ｂ，Ｃとの距離に応じて、曲率角度ξａ，ξｂ，ξｃを按分する、という考え方である。すなわち、サンプル点Ｑと辺Ａとの距離が短ければ短いほど曲率角度ξａの影響が大きくなり、サンプル点Ｑと辺Ｂとの距離が短ければ短いほど曲率角度ξｂの影響が大きくなり、サンプル点Ｑと辺Ｃとの距離が短ければ短いほど曲率角度ξｃの影響が大きくなるように、曲率角度ξａ，ξｂ，ξｃを合成することにより、サンプル点Ｑについての曲率角度ξＱを決定すればよい。
【０１８７】
このような基本概念に基づいて、曲率角度ξＱを求める第１の方法を、図２１を参照して説明する。図２１に示されている各三角形は、図２０に示されている各三角形と全く同じものであり、着目三角形Ｔｑ内に、サンプル点Ｑが位置している。そこで、まず、着目三角形Ｔｑの辺Ａに対する対角Ｄ３とサンプル点Ｑとの距離Ｌａを求め、着目三角形Ｔｑの辺Ｂに対する対角Ｄ２とサンプル点Ｑとの距離をＬｂを求め、着目三角形Ｔｑの辺Ｃに対する対角Ｄ１とサンプル点Ｑとの距離をＬｃを求める。そして、サンプル点Ｑについての曲率角度ξＱを、
ξＱ＝（Ｌａ・ξａ＋Ｌｂ・ξｂ＋Ｌｃ・ξｃ）／（Ｌａ＋Ｌｂ＋Ｌｃ）
なる演算によって定義するのである。このような方法で曲率角度ξＱを定義すれば、上述の基本概念に合致した方法での定義が可能になる。この方法の原理は、図１８を参照して説明した曲率σＱを定義する方法の原理と共通するものである。
【０１８８】
一方、曲率角度ξＱを求める第２の方法として、図１９を参照して説明した曲率σＱを定義する方法の原理を利用した方法も可能である。すなわち、図１９に示すように、サンプル点Ｑから各辺Ａ，Ｂ，Ｃに垂線を下ろし、着目三角形Ｔｑを、これら３本の垂線によって、３つの領域Ｕａ，Ｕｂ，Ｕｃに分割する。そして、これら３つの領域Ｕａ，Ｕｂ，Ｕｃの面積を、それぞれ同じ記号Ｕａ，Ｕｂ，Ｕｃで示すことにし、サンプル点Ｑについての曲率角度ξＱを、
ξＱ＝（Ｕａ・ξａ＋Ｕｂ・ξｂ＋Ｕｃ・ξｃ）／（Ｕａ＋Ｕｂ＋Ｕｃ）
なる演算によって定義するのである。このような方法で曲率角度ξＱを定義すれば、やはり上述の基本概念に合致した方法での定義が可能になる。
【０１８９】
以上のとおり、仮想物体の立体形状を示す三次元データが、微小な三角形の集合体として入力された場合は、上述した具体的手法を適用することにより、任意のサンプル点Ｑにおける曲率σＱおよび曲率角度ξＱを定義することが可能である。しかしながら、ポリゴンを用いて立体形状を表現する場合、必ずしも三角形が用いられるとは限らず、四角形や六角形など、任意の多角形の集合からなる三次元データが用いられる場合も少なくない。このように、仮想物体が、任意の多角形の集合からなる三次元データとして与えられた場合であっても、多角形は必ず複数の三角形に分割することができるので、上述した三角形についての実施例は、ポリゴンを用いて立体形状が表現されている場合に広く適用可能である。
【０１９０】
ただ、上述した三角形の集合からなる三次元データが用いられた場合についての基本原理は、任意の多角形の集合からなる三次元データが用いられた場合にも、多角形を複数の三角形に分割することなしに、多角形のままでも適用可能である。すなわち、この基本原理を一般的なＪ角形に拡張した場合は、次のような方法で、サンプル点Ｑについての曲率σＱおよび曲率角度ξＱを求めるようにすればよい。
【０１９１】
まず、曲率を求める対象となるサンプル点Ｑを含むＪ角形（Ｊ個の辺を有する多角形）を着目多角形として抽出する。そして、この着目多角形について、当該着目多角形とこれに隣接する複数Ｊ個の隣接多角形との間の形成角ω１〜ωＪをそれぞれ求める。続いて、第ｊ番目（ｊ＝１〜Ｊ）の隣接多角形との間の境界を形成する第ｊ番目の辺に関する曲率として、第ｊ番目の形成角ωｊが１８０°に近くなればなるほど小さくなり、かつ、着目多角形および第ｊ番目の隣接多角形の大きさが大きくなればなるほど小さくなるような曲率σｊを定義し、第１番目の辺〜第Ｊ番目の辺についてそれぞれ曲率σ１〜σＪを定義する。最後に、このサンプル点Ｑと第ｊ番目の辺との距離が短ければ短いほど、第ｊ番目の曲率σｊの影響が大きくなるように、Ｊ個の曲率σ１〜σＪを合成することにより、サンプル点Ｑについての曲率σＱを求めるようにすればよい。
【０１９２】
一方、曲率角度ξについては、基準方向線Ｗと着目多角形の第１番目の辺〜第Ｊ番目の辺のそれぞれとのなす角ξ１〜ξＪを、各辺についての曲率角度としてそれぞれ求め、サンプル点Ｑと第ｊ番目の辺との距離が短ければ短いほど、第ｊ番目の曲率角度ξｊの影響が大きくなるように、Ｊ個の曲率角度ξ１〜ξＪを合成することにより、サンプル点Ｑについての曲率角度ξＱを求めるようにすればよい。
【０１９３】
以上、図１１のステップＳ３に示す物体データ入力段階において、仮想物体の立体形状が、ポリゴンの集合を示す三次元データとして入力された場合に、任意のサンプル点Ｑについての曲率σＱおよび曲率角度ξＱを求める具体的な方法を述べたが、本発明を実施する上では、仮想物体の立体形状を、必ずしもポリゴンの集合を示す三次元データとして入力する必要はない。たとえば、仮想物体の立体形状を、数式およびこの数式に用いられているパラメータの値によって表現されるパラメトリック曲面として入力した場合は、特定のサンプル点Ｑについての曲率σＱおよび曲率角度ξＱを、この数式およびパラメータの値を用いた演算により求めるようにすればよい。
【０１９４】
＜＜＜  §６．本発明に係る二次元画像生成装置  ＞＞＞
図１１の流れ図に示すステップＳ１〜Ｓ１０は、コンピュータの内部で行われる処理であり、各手順は、実際にはコンピュータプログラムに基づいて実行されることになる。本発明に係る二次元画像生成装置は、この図１１の各手順を実行する機能をもったコンピュータによって構成される装置であり、図２２のブロック図に示す各構成要素からなる装置である。以下、この装置の構成および動作を説明する。
【０１９５】
この二次元画像生成装置は、物体の三次元データに基づいて、当該物体の表面に繊維シートを張り付け、これを所定の視点から観察したときに得られる投影画像を示す二次元データを生成する機能をもった装置であり、図２２に示されているとおり、データ入力部１１０、三次元データ格納部１２０、レイヤーデータ格納部１３０、可視割合情報格納部１４０、反射光強度演算部１５０、曲率演算部１６０、投影条件設定部１７０、画素定義部１８０、投影データ格納部１９０によって構成されている。実際には、これらの各構成要素は、コンピュータに専用のプログラムを組み込むことによって実現される。
【０１９６】
データ入力部１１０は、外部から与えられる種々のデータを入力するための構成要素であり、図１１のステップＳ１〜Ｓ４で入力される種々のデータは、このデータ入力部１１０からコンピュータに取り込まれることになる。具体的には、このデータ入力部１１０は、コンピュータ用のキーボード、マウス、スキャナ装置、デジタルカメラ、磁気もしくは光データ読込装置などの装置によって構成されることになる。
【０１９７】
三次元データ格納部１２０は、データ入力部１１０から入力された「仮想物体の立体形状を示す三次元データ」を格納するための構成要素であり、実際には、コンピュータ用の磁気記録装置やメモリ装置などによって実現される。図１１のステップＳ３において入力された物体データは、この三次元データ格納部１２０に格納されることになる。
【０１９８】
レイヤーデータ格納部１３０は、データ入力部１１０から入力された「張り付け対象となる仮想の繊維シートを構成する複数ｍ枚の各レイヤーごとの反射特性を示すｍ通りのレイヤーデータ」を格納するための構成要素であり、実際には、コンピュータ用の磁気記録装置やメモリ装置などによって実現される。図１１のステップＳ１において入力されたレイヤーデータは、このレイヤーデータ格納部１３０に格納されることになる。
【０１９９】
可視割合情報格納部１４０は、データ入力部１１０から入力された「繊維シートを種々の曲率で曲げた状態における各レイヤーごとの可視割合を示す可視割合情報」（たとえば、図８や図９に示す情報）を格納するための構成要素であり、実際には、コンピュータ用の磁気記録装置やメモリ装置などによって実現される。図１１のステップＳ２において入力された可視割合情報は、この可視割合情報格納部１４０に格納されることになる。
【０２００】
投影条件設定部１７０は、データ入力部１１０から入力されたデータに基づき、照明条件、視点Ｅの位置、投影平面Ｍを設定する構成要素であり、実際には、コンピュータ用の磁気記録装置やメモリ装置などによって実現される。
【０２０１】
曲率演算部１６０は、三次元データ格納部１２０に格納されている三次元データに基づいて、仮想物体の表面上に定義された所定のサンプル点Ｑの位置について、仮想物体表面の曲率σＱおよび曲率角度ξＱを求める機能をもった構成要素である。任意曲面上のサンプル点Ｑについての曲率σＱおよび曲率角度ξＱを求める具体的な手法は、§５に例示したとおりである。
【０２０２】
反射光強度演算部１５０は、レンダリング処理を行う構成要素であり、繊維シートを仮想物体の表面に張り付けた場合に、個々のサンプル点Ｑから視点Ｅに向かう反射光Ｖの強度を、三次元データ格納部１２０内に格納されている三次元データ、レイヤーデータ格納部１３０内に格納されているレイヤーデータ、可視割合情報格納部１４０内に格納されている可視割合情報、投影条件設定部１７０に設定されている投影条件（照明条件、視点位置、投影平面）に基づいて演算する機能を有する。具体的な演算は、図１４の流れ図に示す３つのステップＳ７１〜Ｓ７３に示すとおりである。
【０２０３】
別言すれば、この反射光強度演算部１５０は、可視割合情報格納部１４０内に格納されている可視割合情報を参照して１つのサンプル点位置における曲率に対応する各レイヤーごとの可視割合を求める第１の機能部と、レイヤーデータ格納部１３０内に格納されているｍ通りのレイヤーデータの反射特性を、第１の機能部が求めた可視割合に応じて合成することにより、当該サンプル点位置における反射特性を求める第２の機能部と、この第２の機能部が求めた反射特性に基づいて、当該サンプル点からの反射光の強度を求める第３の機能部と、によって構成されていることになる。なお、第１の機能部が可視割合を求める場合や、第２の機能部が反射特性を求める場合、必要に応じて、三次元データ格納部１２０に格納されている三次元データや、投影条件設定部１７０に設定されている投影条件を利用した演算が行われる。
【０２０４】
画素定義部１８０は、サンプル点Ｑからの反射光Ｖと投影平面Ｍとの交点位置に、当該反射光Ｖの強度に応じた画素値をもつ画素Ｐを定義する構成要素であり、投影データ格納部１９０は、多数のサンプル点Ｑについて定義された多数の画素Ｐの集合を、仮想物体の投影画像を示す二次元投影データとして格納する構成要素である。
【０２０５】
この図２２に示す二次元画像生成装置を用いて、所望の二次元投影画像を得るための操作は次のとおりである。まず、オペレータは、仮想物体の三次元データ、繊維シートのレイヤーデータおよび可視割合情報を用意し、データ入力部１１０からこれらのデータを入力する。仮想物体の三次元データとしては、たとえば、ＣＡＤデータを流用したものをそのまま利用すればよい。繊維シートのレイヤーデータおよび可視割合情報は、実在の繊維シートを用いた実測やコンピュータシミュレーションによって用意することができる。また、データ入力部１１０を操作することにより、投影条件設定部１７０に対して、照明条件、視点位置、投影平面の設定を行う。
【０２０６】
以上で、オペレータが行う実体的な操作は完了である。この後、この装置に対して、レンダリング処理を開始する旨の指示を与えれば、曲率演算部１６０によって、レンダリング処理に必要な個々のサンプル点Ｑについての曲率σＱおよび曲率角度ξＱが演算され、反射光強度演算部１５０によって、個々のサンプル点Ｑから視点Ｅに向かう反射光Ｖの強度が演算され、画素定義部１８０によって、個々の反射光Ｖの強度に応じた画素値をもつ画素Ｐが定義され、これらの画素Ｐの集合として、投影データ格納部１９０内に、目的となる二次元画像が格納されることになる。オペレータは、こうして投影データ格納部１９０内に得られた二次元画像を、必要に応じて、所望の媒体上に出力させればよい。
【０２０７】
なお、この装置において、向きのファクターをもった曲率を取り扱うようにするには、データ入力部１１０に、繊維シートを仮想物体に張り付けたときに、繊維シート上に定義された基準方向線の向きに関する情報を入力する機能をもたせるようにしておき、可視割合情報格納部１４０に、向きのファクターをもった個々の曲率について、各レイヤーごとの可視割合を示す可視割合情報を入力する機能をもたせるようにしておく。また、曲率演算部１６０に、向きのファクターをもった曲率を求める機能をもたせておき、反射光強度演算部１５０に、向きのファクターをもった曲率に対応する各レイヤーごとの可視割合を用いて、反射光強度を求める機能をもたせておくようにすればよい。
【０２０８】
＜＜＜  §７．いくつかの変形例  ＞＞＞
以上、本発明を図示する実施形態に基づいて説明したが、本発明はこれらの実施形態に限定されるものではなく、この他にも種々の態様で実施可能である。
【０２０９】
たとえば、これまで述べてきた実施形態では、図５の上段に示すように、２つのレイヤーを有する繊維シート６１の例に基づいて説明を行ってきたが、本発明では、繊維シートを必ずしも２つのレイヤーとして取り扱う必要はなく、３つ以上のレイヤーとして取り扱うことも可能である。具体的には、長いパイルと短いパイルとの２種類のパイルを下地に植毛した構造を有する繊維シートの場合、長いパイルから構成される上部レイヤー、短いパイルから構成される中部レイヤー、下地から構成される下部レイヤーの３つのレイヤーとして取り扱うことが可能である。
【０２１０】
この場合、図１１のステップＳ１では、３つのレイヤーそれぞれについてのレイヤーデータが入力され、ステップＳ２では、３つのレイヤーについての可視割合（たとえば、Ｌ１：７０％、Ｌ２：２０％、Ｌ３：１０％といった割合）が可視割合情報として入力されることになり、ステップＳ７では、３つの反射特性を合成することにより、反射光強度を求める演算が行われる。もちろん、４つ以上のレイヤーとして取り扱うことも可能であり、一般論としては、張り付け対象となる仮想の繊維シートを複数ｍ枚（ｍは２以上の整数）の各レイヤーとして取り扱うことができれば、本発明の適用が可能である。
【０２１１】
また、これまで述べてきた実施形態では、図５の上段に示すように、下地となる下部レイヤーＬ２に植毛された多数のパイルによって上部レイヤーＬ１が構成された、いわゆるパイル地に本発明を適用した例を述べたが、本発明の適用は、このようなパイル地のみに限定されるものではない。たとえば、縦糸と横糸とを編むことにより構成される繊維シートについても、主として縦糸から構成される第１のレイヤーと、主として横糸から構成される第２のレイヤーとを定義すれば、これまで述べた実施形態と同様に本発明を適用することが可能である。要するに、複数のレイヤーを何らかの形式で定義することができ、しかもこのレイヤーごとの可視割合が曲率に基づいて変化する、という性質を有する繊維シートであれば、本発明の適用が可能である。
【図面の簡単な説明】
【０２１２】
【図１】平面から構成される仮想物体に繊維シートを張り付ける状態を示す斜視図である。
【図２】曲面を有する仮想物体に繊維シートを張り付ける状態を示す斜視図である。
【図３】一般的なレンダリング処理の原理を示す斜視図である。
【図４】繊維シートと物体表面の曲率との関係を示す斜視図である。
【図５】繊維シートを複数のレイヤーをもった構造体として取り扱う基本概念を示す図である。
【図６】繊維シートを種々の曲率で曲げた場合の各レイヤーごとの可視割合の変化を示す側面図である。
【図７】繊維シートを種々の曲率で曲げた場合の各レイヤーごとの可視割合の変化を示す拡大図である。
【図８】曲率σと各レイヤーごとの可視割合との関係を示すテーブルである。
【図９】曲率σおよび曲率角度ξと各レイヤーごとの可視割合との関係を示すテーブルである。
【図１０】本発明の基本原理によるレンダリング処理を示す図である。
【図１１】本発明に係る二次元画像生成方法の手順を示す流れ図である。
【図１２】仮想物体５０上のサンプル点Ｑの位置での切断面を示す斜視図である。
【図１３】図１２に示すサンプル点Ｑの曲率を求める方法の一例を示す平面図である。
【図１４】図１１に示す流れ図のステップＳ７の詳細な手順を示す流れ図である。
【図１５】照明光および反射光の向きを考慮して反射率を決定するＢＲＤＦモデルの原理を説明するための斜視図である。
【図１６】多数の三角形の集合により表現された仮想物体について、三角形の一辺についての曲率を定義する原理を示す平面図である。
【図１７】図１６に示す例において、辺Ａについての曲率を定義する原理を示す平面図である。
【図１８】図１６に示す例において、三角形内のサンプル点Ｑについての曲率を定義する原理を示す平面図である。
【図１９】図１６に示す例において、三角形内のサンプル点Ｑについての曲率を定義する別な原理を示す平面図である。
【図２０】図１６に示す例において、各辺Ａ，Ｂ，Ｃについての曲率角度を定義する原理を示す平面図である。
【図２１】図１６に示す例において、三角形内のサンプル点Ｑについての曲率角度を定義する原理を示す平面図である。
【図２２】本発明に係る二次元画像生成装置の構成を示すブロック図である。
【符号の説明】
【０２１３】
１０…仮想物体
１１…仮想物体の上面
１２…仮想物体の前面
１３…仮想物体の側面
２０…繊維シートを張り付けた仮想物体
２１…繊維シートを張り付けた仮想物体の上面
２２…繊維シートを張り付けた仮想物体の前面
２３…繊維シートを張り付けた仮想物体の側面
３０…仮想物体
３１…仮想物体の上面
３２…仮想物体側面
４０…繊維シートを張り付けた仮想物体
４１…繊維シートを張り付けた仮想物体の上面
４２…繊維シートを張り付けた仮想物体の側面
５０…仮想物体
５１，５２…円柱状の物体
５５…仮想物体の投影画像
５６…切断面上の輪郭線
６０…仮想繊維シート
６１…繊維シート
１１０…データ入力部
１２０…三次元データ格納部
１３０…レイヤーデータ格納部
１４０…可視割合情報格納部
１５０…反射光強度演算部
１６０…曲率演算部
１７０…投影条件設定部
１８０…画素定義部
１９０…投影データ格納部
Ａ，Ｂ，Ｃ…三角形の各辺
ａ，ｂ，ｃ…垂線の足
Ｄ１〜Ｄ６…三角形の頂点
Ｅ…視点
Ｇ…光源
Ｈ…円柱の中心軸
Ｈ′…円柱の中心軸の投影線
ｈａ，ｈｑａ…垂線の長さ
Ｊａ…接続点
Ｌ…照明光
Ｌ′…照明光の投影像
Ｌ１…繊維シートの上部レイヤー
Ｌ２…繊維シートの下部レイヤー
Ｌａ…点Ｑと点Ｄ３との距離
Ｌｂ…点Ｑと点Ｄ２との距離
Ｌｃ…点Ｑと点Ｄ１との距離
ＬＤ１，ＬＤ２…レイヤーデータ
Ｍ…投影平面
ｎ…法線
Ｏａ…垂直二等分線の交点
Ｐ…画素／投影線分
Ｐ（Ｑ１），Ｐ（Ｑ２）…画素値
Ｑ…サンプル点
Ｑ１，Ｑ２…対応点
ＱＬ，ＱＲ…サンプル点Ｑから等距離にある２点
ＱＱ…交点
Ｒａ…点Ｏａと点Ｊａとの距離
ｒ…点Ｑ，ＱＱ間の距離
ｒ１，ｒ２…円柱の半径
Ｓ…法線に直交する直交平面
Ｓ１〜Ｓ１０…流れ図の各ステップ
Ｓ７１〜Ｓ７３…流れ図の各ステップ
Ｔａ，Ｔｂ，Ｔｃ…隣接三角形
Ｔｑ…着目三角形
ＴＬ，ＴＲ…接線
Ｕａ，Ｕｂ，Ｕｃ…個々の分割領域およびその面積
ｕ，ｖ…絵柄を示す二次元座標系の各座標軸
Ｖ…反射光
Ｖ′…反射光の投影像
Ｗ…基準方向線
Ｘ，Ｙ，Ｚ…三次元座標系の各座標軸
ｘ，ｙ…投影平面Ｍ上の二次元座標系の各座標軸
ζ…基準線
θＬ…照明光Ｌの入射角
θＶ…反射光Ｖの射出角
ξ…曲率角度
ξａ…辺Ａに関する曲率角度
ξｂ…辺Ｂに関する曲率角度
ξｃ…辺Ｃに関する曲率角度
ξＱ…サンプル点Ｑの曲率角度
σ…曲率
σａ…辺Ａに関する曲率
σｂ…辺Ｂに関する曲率
σｃ…辺Ｃに関する曲率
σＱ…サンプル点Ｑの曲率
φＬ…照明光Ｌの方位角
φＶ…反射光Ｖの方位角
ωａ…面もしくは線分の形成角
【図１】
0004693555.tif 000002
【図２】
0004693555.tif 000003
【図３】
0004693555.tif 000004
【図４】
0004693555.tif 000005
【図５】
0004693555.tif 000006
【図６】
0004693555.tif 000007
【図７】
0004693555.tif 000008
【図８】
0004693555.tif 000009
【図９】
0004693555.tif 000010
【図１０】
0004693555.tif 000011
【図１１】
0004693555.tif 000012
【図１２】
0004693555.tif 000013
【図１３】
0004693555.tif 000014
【図１４】
0004693555.tif 000015
【図１５】
0004693555.tif 000016
【図１６】
0004693555.tif 000017
【図１７】
0004693555.tif 000018
【図１８】
0004693555.tif 000019
【図１９】
0004693555.tif 000020
【図２０】
0004693555.tif 000021
【図２１】
0004693555.tif 000022
【図２２】
0004693555.tif 000023