(57)【特許請求の範囲】
【請求項１】
単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する画像処理装置であって、
前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、前記頂点の座標とから、２つの頂点の間を補間する線である補間線を求める補間線算出手段と、
前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出手段と、を有し、
前記単位図形の頂点における前記補間用ベクトルは、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルであること
を特徴とする画像処理装置。
【請求項２】
単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する画像処理装置の画像処理方法であって、
前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、前記頂点の座標とから、２つの頂点の間を補間する線である補間線を求める補間線算出ステップと、
前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、を備え、
前記単位図形の頂点における前記補間用ベクトルは、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルであること
を特徴とする画像処理方法。
【請求項３】
前記単位図形が第１乃至第４の頂点を有し、前記第１と第２の頂点を結ぶ線分と、前記第３と第４の頂点を結ぶ線分とが対向するとともに、前記第１と第３の頂点を結ぶ線分と、前記第２と第４の頂点を結ぶ線分とが対向する場合において、
前記補間線算出ステップにおいて、前記第１と第２の頂点の間を補間する第１の補間線、前記第３と第４の頂点を補間する第２の補間線、前記第１と第３の頂点の間を補間する第３の補間線、および前記第２と第４の頂点を補間する第４の補間線を求め、さらに、前記第１の補間線上の補間点と、前記第２の補間線上の補間点との間を補間する第５の補間線も求め、
前記補間点算出ステップにおいて、前記第１乃至第５の補間線上の補間点を、前記サブ単位図形の頂点として求めること
を特徴とする請求項２に記載の画像処理方法。
【請求項４】
前記単位図形の頂点における前記補間用ベクトルには、前記法線ベクトルの他に、前記補間線の、前記頂点における方向を表すベクトルも含まれること
を特徴とする請求項２に記載の画像処理方法。
【請求項５】
前記補間点における、その補間点と他の補間点との間を補間する線を求めるのに用いる補間用ベクトルを、前記頂点における補間用ベクトルから求める補間用ベクトル算出ステップをさらに備えること
を特徴とする請求項２記載の画像処理方法。
【請求項６】
前記補間線は、ベジェ曲線であること
を特徴とする請求項２に記載の画像処理方法。
【請求項７】
前記単位図形の頂点の座標および補間用ベクトルが記録媒体に記録されている場合に、その記録媒体から、前記頂点の座標および補間用ベクトルを再生する再生ステップをさらに備えること
を特徴とする請求項２に記載の画像処理方法。
【請求項８】
前記単位図形の頂点の座標および補間用ベクトルが伝送路を介して伝送されてくる場合に、その伝送路を介して伝送されてくる前記頂点の座標および補間用ベクトルを受信する受信ステップをさらに備えること
を特徴とする請求項２に記載の画像処理方法。
【請求項９】
前記画像は、３次元画像であり、
前記画像処理装置は、所定の入力を与えるときに操作される操作手段を備え、
前記単位図形に関するデータを、記録媒体から読み込み、そのデータに対して、前記操作手段からの入力に対応するジオメトリ処理を施すジオメトリ処理ステップと、
前記ジオメトリ処理後の前記単位図形を分割して得られる前記サブ単位図形を、２次元出力装置の座標系のものに変換する変換ステップと、
前記変換ステップで変換された前記サブ単位図形をレンダリングするレンダリングステップと、をさらに備えること
を特徴とする請求項２に記載の画像処理方法。
【請求項１０】
前記第１および第２の頂点、第３および第４の頂点、前記第１および第３の頂点、または前記第２および第４の頂点のうちのいずれか１組の頂点が、同一の頂点であること
を特徴とする請求項３に記載の画像処理方法。
【請求項１１】
単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する画像処理装置の画像処理方法であって、
前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、前記頂点の座標とから、２つの頂点の間を補間する線である補間線を求める補間線算出ステップと、
前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、を備え、
前記単位図形が第１乃至第４の頂点を有し、前記第１と第２の頂点を結ぶ線分と、前記第３と第４の頂点を結ぶ線分とが対向するとともに、前記第１と第３の頂点を結ぶ線分と、前記第２と第４の頂点を結ぶ線分とが対向する場合において、
前記補間線算出ステップにおいて、前記第１と第２の頂点の間を補間する第１の補間線、前記第３と第４の頂点を補間する第２の補間線、前記第１と第３の頂点の間を補間する第３の補間線、および前記第２と第４の頂点を補間する第４の補間線を求め、さらに、前記第１の補間線上の補間点と、前記第２の補間線上の補間点との間を補間する第５の補間線も求め、
前記補間点算出ステップにおいて、前記第１乃至第５の補間線上の補間点を、前記サブ単位図形の頂点として求め、
前記第１の補間線上の補間点における前記補間用ベクトルを、前記第１および第２の頂点における前記補間用ベクトルから求めるとともに、前記第２の補間線上の補間点における前記補間用ベクトルを、前記第３および第４の頂点における前記補間用ベクトルから求める補間用ベクトル算出ステップをさらに備え、
前記補間線算出ステップにおいて、前記第１および第２の補間線上の補間点における前記補間用ベクトルと、その補間点の座標とから、前記第５の補間線を求め、
前記単位図形の第１乃至第４の頂点における前記補間用ベクトルは、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルであること
を特徴とする画像処理方法。
【請求項１２】
前記単位図形の第１乃至第４の頂点における前記補間用ベクトルには、前記法線ベクトルの他に、前記第１乃至第４の頂点を通る前記補間線それぞれの、前記第１乃至第４の頂点における方向を表す補間線方向ベクトルも含まれること
を特徴とする請求項１１に記載の画像処理方法。
【請求項１３】
前記補間線算出ステップにおいて、前記第１乃至第４の補間線を、前記補間線方向ベクトルを用いて求め、
前記補間用ベクトル算出ステップにおいて、前記第１および第２の補間線上の補間点における前記補間用ベクトルを、前記法線ベクトルを用いて求めること
を特徴とする請求項１２に記載の画像処理方法。
【請求項１４】
単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する画像処理装置の画像処理方法であって、
前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、前記頂点の座標とから、２つの頂点の間を補間する線である補間線を求める補間線算出ステップと、
前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、を備え、
前記単位図形が第１乃至第４の頂点を有し、前記第１と第２の頂点を結ぶ線分と、前記第３と第４の頂点を結ぶ線分とが対向するとともに、前記第１と第３の頂点を結ぶ線分と、前記第２と第４の頂点を結ぶ線分とが対向する場合において、
前記補間線算出ステップにおいて、前記第１と第２の頂点の間を補間する第１の補間線、前記第３と第４の頂点を補間する第２の補間線、前記第１と第３の頂点の間を補間する第３の補間線、および前記第２と第４の頂点を補間する第４の補間線を求め、さらに、前記第１の補間線上の補間点と、前記第２の補間線上の補間点との間を補間する第５の補間線も求め、
前記補間点算出ステップにおいて、前記第１乃至第５の補間線上の補間点を、前記サブ単位図形の頂点として求め、
前記第１の補間線上の補間点における前記補間用ベクトルを、前記第１および第２の頂点における前記補間用ベクトルから求めるとともに、前記第２の補間線上の補間点における前記補間用ベクトルを、前記第３および第４の頂点における前記補間用ベクトルから求める補間用ベクトル算出ステップをさらに備え、
前記補間線算出ステップにおいて、前記第１および第２の補間線上の補間点における前記補間用ベクトルと、その補間点の座標とから、前記第５の補間線を求め、
前記単位図形の第１乃至第４の頂点における前記補間用ベクトルは、前記第１乃至第４の頂点を通る前記補間線それぞれの、前記第１乃至第４の頂点における方向を表すベクトルであること
を特徴とする画像処理方法。
【請求項１５】
単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する画像処理装置の画像処理方法であって、
前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、前記頂点の座標とから、２つの頂点の間を補間する線である補間線を求める補間線算出ステップと、
前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、を備え、
前記単位図形の頂点における前記補間用ベクトルは、前記補間線の、前記頂点における方向を表す補間線方向ベクトルであること
を特徴とする画像処理方法。
【請求項１６】
前記補間線方向ベクトルは、前記頂点を含む所定の平面に、その頂点と他の頂点とを結ぶ線分を投影した線が、前記補間線と接する場合の、前記所定の平面の法線方向のベクトルであること
を特徴とする請求項１５に記載の画像処理方法。
【請求項１７】
前記補間線方向ベクトルは、前記補間線の、前記頂点における接線方向を表すベクトルであること
を特徴とする請求項１５に記載の画像処理方法。
【請求項１８】
単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する画像処理装置の画像処理方法であって、
前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、前記頂点の座標とから、２つの頂点の間を補間する線である補間線を求める補間線算出ステップと、
前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、
前記補間点における、その補間点と他の補間点との間を補間する線を求めるのに用いる補間用ベクトルを、前記頂点における補間用ベクトルから求める補間用ベクトル算出ステップと、を備え、
１の頂点と他の頂点との間の前記補間点と、前記１の頂点または他の頂点それぞれとの距離に対応する値どうしの比を、ｔ：１−ｔとする場合、
前記補間用ベクトル算出ステップにおいて、前記１の頂点における補間用ベクトルの（１−ｔ）倍と、前記他の頂点における補間用ベクトルのｔ倍との加算値に対応するものを、前記補間点における補間用ベクトルとして求めること
を特徴とする画像処理方法。
【請求項１９】
前記補間用ベクトル算出ステップで求められた前記補間点における補間用ベクトルを補正する補正ステップをさらに備え、
前記補正ステップにおいて、
前記補間用ベクトル算出ステップで求められた前記補間点における補間用ベクトルと、前記補間点における前記補間線の接線方向の接線ベクトルとの外積を求め、
その外積と、前記接線ベクトルとの外積を求め、
その結果得られるベクトルを、前記補間点における補正後の補間用ベクトルとすること
を特徴とする請求項１８に記載の画像処理方法。
【請求項２０】
前記画像は、３次元画像であり、前記サブ単位図形をレンダリングするレンダリングステップをさらに備えること
を特徴とする請求項１９に記載の画像処理方法。
【請求項２１】
単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する画像処理装置の画像処理方法であって、
前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、前記頂点の座標とから、２つの頂点の間を補間する線である補間線を求める補間線算出ステップと、
前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、を備え、
前記補間線は、ベジェ曲線であって、
前記画像は、３次元画像であり、
前記補間線算出ステップは、
前記ベジェ曲線である前記補間線が補間する１の頂点と他の頂点とを結ぶ直線と、その直線を、前記１の頂点または他の頂点を含む平面であって、前記１の頂点または他の頂点における補間用ベクトルに垂直な平面に投影したものそれぞれとがなす第１または第２の角度を求める角度算出ステップと、
前記第１および第２の角度に基づいて、前記１の頂点または他の頂点から、前記ベジェ曲線の第１または第２の制御点までの距離である第１または第２の制御辺長をそれぞれ求める距離算出ステップと、
前記第１または第２の制御辺長に基づいて、前記第１または第２の制御点をそれぞれ求めることにより、前記１の頂点と、他の頂点との間を補間する補間線としての前記ベジェ曲線を求めるベジェ曲線算出ステップと、を有すること
を特徴とする画像処理方法。
【請求項２２】
単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する処理をコンピュータに行わせるためのコンピュータプログラムを提供するプログラム提供媒体であって、
前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルであって、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルと、前記頂点の座標とから、２つの頂点の間を補間する線である補間線を求める補間線算出ステップと、
前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップとを備えるコンピュータプログラムを提供すること
を特徴とするプログラム提供媒体。
【請求項２３】
単位図形の組合せにより定義される画像を処理する画像処理装置であって、
前記単位図形を入力するときに操作される操作手段と、
前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成手段と、
前記単位図形の頂点の座標および補間用ベクトルを提供するための提供手段と、を備え、
前記補間用ベクトル生成手段は、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルを、前記補間用ベクトルとして生成すること
を特徴とする画像処理装置。
【請求項２４】
単位図形の組合せにより定義される画像を処理する画像処理装置の画像処理方法であって、
前記画像処理装置は、前記単位図形を入力するときに操作される操作手段を備え、
前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成ステップと、
前記単位図形の頂点の座標および補間用ベクトルを提供するための提供ステップと、を備え、
前記補間用ベクトル生成ステップにおいて、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルを、前記補間用ベクトルとして生成すること
を特徴とする画像処理方法。
【請求項２５】
前記提供ステップにおいて、前記単位図形の頂点の座標および補間用ベクトルを記録媒体に記録することにより提供すること
を特徴とする請求項２４に記載の画像処理方法。
【請求項２６】
前記提供ステップにおいて、前記単位図形の頂点の座標および補間用ベクトルを伝送路を介して伝送することにより提供すること
を特徴とする請求項２４に記載の画像処理方法。
【請求項２７】
前記補間用ベクトル生成ステップにおいて、前記法線ベクトルの他に、前記補間線の、前記頂点における方向を表すベクトルも、前記補間用ベクトルとして生成すること
を特徴とする請求項２４に記載の画像処理方法。
【請求項２８】
前記単位図形を、前記頂点の座標および補間用ベクトルに基づいて、複数のサブ単位図形に分割する分割ステップと、
前記サブ単位図形をレンダリングするレンダリングステップと
をさらに備えること
を特徴する請求項２４に記載の画像処理方法。
【請求項２９】
前記分割ステップは、
前記頂点の座標および前記補間用ベクトルに基づいて、前記補間線を求める補間線算出ステップと、
前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、を有すること
を特徴とする請求項２８に記載の画像処理方法。
【請求項３０】
前記分割ステップは、前記補間点における、その補間点と他の補間点との間を補間する線を求めるのに用いる補間用ベクトルを、前記頂点における補間用ベクトルから求める補間用ベクトル算出ステップをさらに有すること
を特徴とする請求項２９に記載の画像処理方法。
【請求項３１】
前記補間線は、ベジェ曲線であること
を特徴とする請求項２９に記載の画像処理方法。
【請求項３２】
単位図形の組合せにより定義される画像を処理する画像処理装置の画像処理方法であって、
前記画像処理装置は、前記単位図形を入力するときに操作される操作手段を備え、
前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成ステップと、
前記単位図形の頂点の座標および補間用ベクトルを提供するための提供ステップと、を備え、
前記補間用ベクトル生成ステップにおいて、前記補間線の、前記頂点における方向を表す補間線方向ベクトルを、前記補間用ベクトルとして生成すること
を特徴とする画像処理方法。
【請求項３３】
前記補間線方向ベクトルは、前記頂点を含む所定の平面に、その頂点と他の頂点とを結ぶ線分を投影した線が、前記補間線と接する場合の、前記所定の平面の法線方向のベクトルであること
を特徴とする請求項３２に記載の画像処理方法。
【請求項３４】
前記補間線方向ベクトルは、前記補間線の、前記頂点における接線方向を表すベクトルであること
を特徴とする請求項３２に記載の画像処理方法。
【請求項３５】
単位図形の組合せにより定義される画像を処理する画像処理装置の画像処理方法であって、
前記画像処理装置は、前記単位図形を入力するときに操作される操作手段を備え、
前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成ステップと、
前記単位図形の頂点の座標および補間用ベクトルを提供するための提供ステップと、
前記単位図形を、前記頂点の座標および補間用ベクトルに基づいて、複数のサブ単位図形に分割する分割ステップと、
前記サブ単位図形をレンダリングするレンダリングステップと、を備え、
前記分割ステップは、
前記頂点の座標および前記補間用ベクトルに基づいて、前記補間線を求める補間線算出ステップと、
前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、
前記補間点における、その補間点と他の補間点との間を補間する線を求めるのに用いる補間用ベクトルを、前記頂点における補間用ベクトルから求める補間用ベクトル算出ステップと、を有し、
１の頂点と他の頂点との間の前記補間点と、前記１の頂点または他の頂点それぞれとの距離に対応する値どうしの比を、ｔ：１−ｔとする場合、
前記補間用ベクトル算出ステップにおいて、前記１の頂点における補間用ベクトルの（１−ｔ）倍と、前記他の頂点における補間用ベクトルのｔ倍との加算値に対応するものを、前記補間点における補間用ベクトルとして求めること
を特徴とする画像処理方法。
【請求項３６】
前記分割ステップは、前記補間用ベクトル算出ステップで求められた前記補間点における補間用ベクトルを補正する補正ステップをさらに有し、
前記補正ステップにおいて、
前記補間用ベクトル算出ステップで求められた前記補間点における補間用ベクトルと、前記補間点における前記補間線の接線方向の接線ベクトルとの外積を求め、
その外積と、前記接線ベクトルとの外積を求め、
その結果得られるベクトルを、前記補間点における補正後の補間用ベクトルとすること
を特徴とする請求項３５に記載の画像処理方法。
【請求項３７】
単位図形の組合せにより定義される画像を処理する画像処理装置の画像処理方法であって、
前記画像処理装置は、前記単位図形を入力するときに操作される操作手段を備え、
前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成ステップと、
前記単位図形の頂点の座標および補間用ベクトルを提供するための提供ステップと、
前記単位図形を、前記頂点の座標および補間用ベクトルに基づいて、複数のサブ単位図形に分割する分割ステップと、
前記サブ単位図形をレンダリングするレンダリングステップと、を備え、
前記分割ステップは、
前記頂点の座標および前記補間用ベクトルに基づいて、前記補間線を求める補間線算出ステップと、
前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、を有し、
前記補間線は、ベジェ曲線であり、
前記画像は、３次元画像であり、
前記補間線算出ステップは、
前記ベジェ曲線である前記補間線が補間する１の頂点と他の頂点とを結ぶ直線と、その直線を、前記１の頂点または他の頂点を含む平面であって、前記１の頂点または他の頂点における補間用ベクトルに垂直な平面に投影したものそれぞれとがなす第１または第２の角度を求める角度算出ステップと、
前記第１および第２の角度に基づいて、前記１の頂点または他の頂点から、前記ベジェ曲線の第１または第２の制御点までの距離である第１または第２の制御辺長をそれぞれ求める距離算出ステップと、
前記第１または第２の制御辺長に基づいて、前記第１または第２の制御点をそれぞれ求めることにより、前記１の頂点と、他の頂点との間を補間する補間線としての前記ベジェ曲線を求めるベジェ曲線算出ステップと、を有すること
を特徴とする画像処理方法。
【請求項３８】
単位図形の組合せにより定義される画像を、コンピュータに処理させるためのコンピュータプログラムを提供するプログラム提供媒体であって、
前記コンピュータは、前記単位図形を入力するときに操作される操作手段を備え、
前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成ステップと、
前記単位図形の頂点の座標および補間用ベクトルを提供するための提供ステップと、を備え、
前記補間用ベクトル生成ステップにおいて、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルを、前記補間用ベクトルとして生成するコンピュータプログラムを提供すること
を特徴とするプログラム提供媒体。
【請求項３９】
単位図形の組合せにより定義される画像を処理する画像処理装置であって、
前記画像についてのデータを提供する提供装置と、
前記提供装置からのデータの提供を受け、前記単位図形を、複数のサブ単位図形に分割するクライアント装置と、を備え、
前記提供装置は、
前記単位図形を入力するときに操作される操作手段と、
前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成手段と、
前記単位図形の頂点の座標および補間用ベクトルを、前記クライアント装置に提供する提供手段と、を有し、
前記クライアント装置は、
前記単位図形の頂点の座標および補間用ベクトルとから、前記補間線を求める補間線算出手段と、
前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出手段と、
前記サブ単位図形を、２次元出力装置の座標系のものに変換する変換手段と、
前記変換手段によって変換された前記サブ単位図形をレンダリングするレンダリング手段と、を有し、
前記補間用ベクトル生成手段は、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルを、前記補間用ベクトルとして生成すること
を特徴とする画像処理装置。
【請求項４０】
単位図形の組合せにより定義される画像を処理する画像処理装置であって、
前記画像についてのデータを提供する提供装置と、
前記提供装置からのデータの提供を受け、前記単位図形を、複数のサブ単位図形に分割するクライアント装置と、を備え、
前記提供装置は、
前記単位図形を入力するときに操作される操作手段と、
前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成手段と、
前記単位図形の頂点の座標および補間用ベクトルを、前記クライアント装置に提供する提供手段と、を有し、
前記クライアント装置は、
前記単位図形の頂点の座標および補間用ベクトルとから、前記補間線を求める補間線算出手段と、
前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出手段と、
前記サブ単位図形を、２次元出力装置の座標系のものに変換する変換手段と、
前記変換手段によって変換された前記サブ単位図形をレンダリングするレンダリング手段と、を有し、
前記補間用ベクトル生成手段は、前記補間線の、前記頂点における方向を表す補間線方向ベクトルを、前記補間用ベクトルとして生成すること
を特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体に関し、特に、例えば、大まかな形状から、詳細な形状の画像を生成することができるようにする画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体に関する。
【０００２】
【従来の技術】
プロセッサやメモリなどの高集積化、高速化等に伴い、従来は困難であった３次元画像のリアルタイム生成が可能となり、これにより、例えば、ビデオゲーム機などにおいては、臨場感のある３次元画像（３次元グラフィックス）の表示が可能となっている。なお、３次元画像を表示する場合においては、多くの場合、その３次元画像を複数のポリゴン（単位図形）に分解し、これらのポリゴンそれぞれを描画することで、３次元画像全体を描画するようになされている。従って、このようにして描画される３次元画像は、ポリゴンの組合せにより定義されているということができる。
【０００３】
【発明が解決しようとする課題】
ところで、３次元画像の制作は、例えば、ワイヤーフレームで、３次元形状を構成することなどにより行われるが、ワイヤーフレームを構成するには、３次元形状について、詳細なパラメータを、制作者が設定しなければならず、面倒であった。即ち、３次元形状が複雑になるにつれて、ワイヤーフレームのパラメータも細かに設定する必要があり、面倒であった。
【０００４】
本発明は、このような状況に鑑みてなされたものであり、大まかな形状から、詳細な形状の画像を生成することができるようにするものである。
【０００５】
【課題を解決するための手段】
請求項１に記載の画像処理装置は、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、２つの頂点の間を補間する線である補間線を求める補間線算出手段と、補間線上の点である補間点を、サブ単位図形の頂点として求める補間点算出手段とを備えることを特徴とする。
【０００６】
請求項２５に記載の画像処理方法は、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、２つの頂点の間を補間する線である補間線を求める補間線算出ステップと、補間線上の点である補間点を、サブ単位図形の頂点として求める補間点算出ステップとを備えることを特徴とする。
【０００７】
請求項４９に記載のプログラム提供媒体は、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、２つの頂点の間を補間する線である補間線を求める補間線算出ステップと、補間線上の点である補間点を、サブ単位図形の頂点として求める補間点算出ステップとを備えるコンピュータプログラムを提供することを特徴とする。
【０００８】
請求項７４に記載の画像処理装置は、単位図形を入力するときに操作される操作手段と、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成手段とを備えることを特徴とする。
【０００９】
請求項９１に記載の画像処理方法は、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成ステップを備えることを特徴とする。
【００１０】
請求項１０８に記載のプログラム提供媒体は、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成ステップを備えるコンピュータプログラムを提供することを特徴とする。
【００１１】
請求項１２５に記載のデータ提供媒体は、単位図形が入力された場合に、その単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成することにより得られる、頂点における補間用ベクトルと、頂点の座標とを、画像についてのデータとして、少なくとも提供することを特徴とする。
【００１２】
請求項１３３に記載の画像処理装置は、提供装置が、単位図形を入力するときに操作される操作手段と、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成手段とを有し、クライアント装置が、単位図形の頂点の座標および補間用ベクトルとから、補間線を求める補間線算出手段と、補間線上の点である補間点を、サブ単位図形の頂点として求める補間点算出手段とを有することを特徴とする。
【００１３】
請求項１に記載の画像処理装置においては、補間線算出手段は、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、２つの頂点の間を補間する線である補間線を求め、補間点算出手段は、補間線上の点である補間点を、サブ単位図形の頂点として求めるようになされている。
【００１４】
請求項２５に記載の画像処理方法においては、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、２つの頂点の間を補間する線である補間線を求め、補間線上の点である補間点を、サブ単位図形の頂点として求めるようになされている。
【００１５】
請求項４９に記載のプログラム提供媒体においては、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、２つの頂点の間を補間する線である補間線を求め、補間線上の点である補間点を、サブ単位図形の頂点として求めるコンピュータプログラムを提供するようになされている。
【００１６】
請求項７４に記載の画像処理装置においては、操作手段は、単位図形を入力するときに操作され、補間用ベクトル生成手段は、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成するようになされている。
【００１７】
請求項９１に記載の画像処理方法においては、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成するようになされている。
【００１８】
請求項１０８に記載のプログラム提供媒体においては、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成するコンピュータプログラムを提供するようになされている。
【００１９】
請求項１２５に記載のデータ提供媒体においては、単位図形が入力された場合に、その単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成することにより得られる、頂点における補間用ベクトルと、頂点の座標とを、画像についてのデータとして、少なくとも提供するようになされている。
【００２０】
請求項１３３に記載の画像処理装置においては、操作手段は、単位図形を入力するときに操作され、補間用ベクトル生成手段は、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成するようになされている。補間線算出手段は、単位図形の頂点の座標および補間用ベクトルとから、補間線を求め、補間点算出手段は、補間線上の点である補間点を、サブ単位図形の頂点として求めるようになされている。
【００２１】
【発明の実施の形態】
以下に、本発明の実施の形態を説明するが、その前に、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態（但し、一例）を付加して、本発明の特徴を記述すると、次のようになる。
【００２２】
即ち、請求項１に記載の画像処理装置は、単位図形の組合せにより定義される画像を処理することにより、単位図形を、複数のサブ単位図形に分割する画像処理装置であって、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、２つの頂点の間を補間する線である補間線を求める補間線算出手段（例えば、図３４に示すプログラムの処理ステップＳ３１乃至Ｓ３５や、図３５に示すプログラムの処理ステップＳ４１乃至４５など）と、補間線上の点である補間点を、サブ単位図形の頂点として求める補間点算出手段（例えば、図３４に示すプログラムの処理ステップＳ３６や、図３５に示すプログラムの処理ステップＳ４６など）とを備えることを特徴とする。
【００２３】
請求項３に記載の画像処理装置は、第１の補間線上の補間点における補間用ベクトルを、第１および第２の頂点における補間用ベクトルから求めるとともに、第２の補間線上の補間点における補間用ベクトルを、第３および第４の頂点における補間用ベクトルから求める補間用ベクトル算出手段（例えば、図３４に示すプログラムの処理ステップＳ３６など）をさらに備え、補間線算出手段が、第１および第２の補間線上の補間点における補間用ベクトルと、その補間点の座標とから、第５の補間線を求めることを特徴とする。
【００２４】
請求項１４に記載の画像処理装置は、補間点における、その補間点と他の補間点との間を補間する線を求めるのに用いる補間用ベクトルを、頂点における補間用ベクトルから求める補間用ベクトル算出手段（例えば、図３４に示すプログラムの処理ステップＳ３６など）をさらに備えることを特徴とする。
【００２５】
請求項１６に記載の画像処理装置は、補間用ベクトル算出手段によって求められた補間点における補間用ベクトルを補正する補正手段（例えば、図３４に示すプログラムの処理ステップＳ３７など）をさらに備えることを特徴とする。
【００２６】
請求項１８に記載の画像処理装置は、画像が、３次元画像であり、サブ単位図形をレンダリングするレンダリング手段（例えば、図３に示すレンダリング部２５など）をさらに備えることを特徴とする。
【００２７】
請求項２１に記載の画像処理装置は、画像が、３次元画像であり、補間線算出手段が、ベジェ曲線である補間線が補間する１の頂点と他の頂点とを結ぶ直線と、その直線を、１の頂点または他の頂点を含む平面であって、１の頂点または他の頂点における補間用ベクトルに垂直な平面に投影したものそれぞれとがなす第１または第２の角度を求める角度算出手段（例えば、図３４に示すプログラムの処理ステップＳ３１乃至Ｓ３３など）と、第１および第２の角度に基づいて、１の頂点または他の頂点から、ベジェ曲線の第１または第２の制御点までの距離である第１または第２の制御辺長をそれぞれ求める距離算出手段（例えば、図３４に示すプログラムの処理ステップＳ３４など）と、第１または第２の制御辺長に基づいて、第１または第２の制御点をそれぞれ求めることにより、１の頂点と、他の頂点との間を補間する補間線としてのベジェ曲線を求めるベジェ曲線算出手段（例えば、図３４に示すプログラムの処理ステップＳ３５など）とを有することを特徴とする。
【００２８】
請求項２２に記載の画像処理装置は、単位図形の頂点の座標および補間用ベクトルが記録媒体に記録されている場合に、その記録媒体から、頂点の座標および補間用ベクトルを再生する再生手段（例えば、図３に示す受信／再生装置２１など）をさらに備えることを特徴とする。
【００２９】
請求項２３に記載の画像処理装置は、単位図形の頂点の座標および補間用ベクトルが伝送路を介して伝送されてくる場合に、その伝送路を介して伝送されてくる頂点の座標および補間用ベクトルを受信する受信手段（例えば、図３に示す受信／再生装置２１など）をさらに備えることを特徴とする。
【００３０】
請求項２４に記載の画像処理装置は、画像が、３次元画像であり、所定の入力を与えるときに操作される操作手段（例えば、図３に示す入力部２８など）と、単位図形に関するデータを、記録媒体から読み込み、そのデータに対して、操作手段からの入力に対応するジオメトリ処理を施すジオメトリ処理手段（例えば、図３に示すジオメトリ処理部２３など）と、ジオメトリ処理後の単位図形を分割して得られるサブ単位図形を、２次元出力装置の座標系のものに変換する変換手段（例えば、図３に示すレンダリング部２５など）と、変換手段によって変換されたサブ単位図形をレンダリングするレンダリング手段（例えば、図３に示すレンダリング部２５など）とをさらに備えることを特徴とする。
【００３１】
請求項７４に記載の画像処理装置は、単位図形の組合せにより定義される画像を処理する画像処理装置であって、単位図形を入力するときに操作される操作手段（例えば、図２に示す入力部１１など）と、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成手段（例えば、図２に示すデータ処理部１２など）と、単位図形の頂点の座標および補間用ベクトルを提供するための提供手段（例えば、図２に示す送信／記録装置１８など）とを備えることを特徴とする。
【００３２】
請求項８２に記載の画像処理装置は、単位図形を、頂点の座標および補間用ベクトルに基づいて、複数のサブ単位図形に分割する分割手段（例えば、図２に示す分割処理部１４など）と、サブ単位図形をレンダリングするレンダリング手段（例えば、図２に示すレンダリング部１５など）とをさらに備えることを特徴する。
【００３３】
請求項８３に記載の画像処理装置は、分割手段が、頂点の座標および補間用ベクトルに基づいて、補間線を求める補間線算出手段（例えば、図３４に示すプログラムの処理ステップＳ３１乃至Ｓ３５や、図３５に示すプログラムの処理ステップＳ４１乃至Ｓ４５など）と、補間線上の点である補間点を、サブ単位図形の頂点として求める補間点算出手段（例えば、図３４に示すプログラムの処理ステップＳ３６や、図３５に示すプログラムの処理ステップＳ４６など）とを有することを特徴とする。
【００３４】
請求項８４に記載の画像処理装置は、分割手段が、補間点における、その補間点と他の補間点との間を補間する線を求めるのに用いる補間用ベクトルを、頂点における補間用ベクトルから求める補間用ベクトル算出手段（例えば、図３４に示すプログラムの処理ステップＳ３６など）をさらに有することを特徴とする。
【００３５】
請求項８６に記載の画像処理装置は、分割手段が、補間用ベクトル算出手段によって求められた補間点における補間用ベクトルを補正する補正手段（例えば、図３４に示すプログラムの処理ステップＳ３７など）をさらに有することを特徴とする。
【００３６】
請求項９０に記載の画像処理装置は、画像が、３次元画像であり、補間線算出手段が、ベジェ曲線である補間線が補間する１の頂点と他の頂点とを結ぶ直線と、その直線を、１の頂点または他の頂点を含む平面であって、１の頂点または他の頂点における補間用ベクトルに垂直な平面に投影したものそれぞれとがなす第１または第２の角度を求める角度算出手段（例えば、図３４に示すプログラムの処理ステップＳ３１乃至Ｓ３３など）と、第１および第２の角度に基づいて、１の頂点または他の頂点から、ベジェ曲線の第１または第２の制御点までの距離である第１または第２の制御辺長をそれぞれ求める距離算出手段（例えば、図３４に示すプログラムの処理ステップＳ３４など）と、第１または第２の制御辺長に基づいて、第１または第２の制御点をそれぞれ求めることにより、１の頂点と、他の頂点との間を補間する補間線としてのベジェ曲線を求めるベジェ曲線算出手段（例えば、図３４に示すプログラムの処理ステップＳ３５など）とを有することを特徴とする。
【００３７】
請求項１３３に記載の画像処理装置は、単位図形の組合せにより定義される画像を処理する画像処理装置であって、画像についてのデータを提供する提供装置と、提供装置からのデータの提供を受け、単位図形を、複数のサブ単位図形に分割するクライアント装置とを備え、提供装置が、単位図形を入力するときに操作される操作手段（例えば、図２に示す入力部１１など）と、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成手段（例えば、図２に示すデータ処理部１２など）と、単位図形の頂点の座標および補間用ベクトルを、クライアント端末に提供する提供手段（例えば、図２に示す送信／記録装置１８など）とを有し、クライアント装置が、単位図形の頂点の座標および補間用ベクトルとから、補間線を求める補間線算出手段（例えば、図３に示す分割処理部２４など）と、補間線上の点である補間点を、サブ単位図形の頂点として求める補間点算出手段（例えば、図３に示す分割処理部２４など）と、サブ単位図形を、２次元出力装置の座標系のものに変換する変換手段（例えば、図３に示すレンダリング部２５など）と、変換手段によって変換されたサブ単位図形をレンダリングするレンダリング手段（例えば、図３に示すレンダリング部２５など）とを有することを特徴とする。
【００３８】
なお、勿論この記載は、各手段を上記したものに限定することを意味するものではない。
【００３９】
図１は、本発明を適用したデータ提供システム（システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない）の一実施の形態の構成例を示している。
【００４０】
このデータ提供システムにおいては、データ提供装置１側において生成された３次元画像のデータが、ユーザ端末４に提供されるようになされている。
【００４１】
即ち、データ提供装置１では、制作者によって、３次元画像のデータ、即ち、３次元形状を構成するポリゴンのデータなどが生成され、例えば、インターネットや、衛星回線、地上波、ＣＡＴＶ（Cable Television）網、ＰＳＴＮ（Public Switched Telephone Network），ＩＳＤＮ（Integrated Service Digital Network）などの伝送媒体（伝送路）２を介して送信されることにより、ユーザ端末４に提供される。あるいは、また、データ提供装置１で生成された３次元画像のデータは、光ディスクや、光磁気ディスク、磁気ディスク、磁気テープ、相変化ディスクなどの記録媒体３に記録されることにより、ユーザ端末４に提供される。
【００４２】
ユーザ端末４では、データ提供装置１から、上述のようにして提供されるデータが処理され、３次元画像が表示される。
【００４３】
図２は、図１のデータ提供装置１の構成例を示している。
【００４４】
入力部１１は、キーボードやマウス、タブレットなどでなり、３次元形状を構成するポリゴンを作成するためのデータを入力するときや、ポリゴンにマッピングするテクスチャを指定するとき、さらには、必要なコマンドなどを入力するときなどに操作される。ここで、入力部１１が操作されることにより入力された３次元形状を構成するポリゴンを作成するためのデータは、データ処理部１２に、ポリゴンにマッピングするテクスチャの指定は、レンダリング部１５に、コマンドは、必要なブロックに、それぞれ供給されるようになされている。
【００４５】
データ処理部１２は、入力部１１から供給されるポリゴンを作成するためのデータを、必要に応じて、メモリ１２Ａを用いて処理することにより、３次元空間におけるポリゴンの頂点の座標と、各頂点における、後述するような補間用ベクトルとを生成し、分割用データベース１３に供給するようになされている。ここで、ポリゴンの頂点の座標および補間用ベクトルは、後述するポリゴンの分割処理に用いられるので、以下、適宜、両方あわせて、分割用ポリゴンデータという。
【００４６】
メモリ１２Ａは、データ処理部１２の処理上必要なデータを一時記憶するようになされている。分割データベース１３は、データ処理部１２からの分割用ポリゴンデータを一時記憶するようになされている。
【００４７】
分割処理部１４は、分割データベース１３に記憶された分割用ポリゴンデータを読み出し、後述するような分割処理（細分割処理）を施すことで、大まかなポリゴンを、複数の詳細なポリゴン（以下、適宜、サブポリゴンという）に分割し、レンダリング部１５に供給するようになされている。
【００４８】
レンダリング部１５は、分割処理部１４からのサブポリゴンに対して、レンダリング処理を施すようになされている。即ち、レンダリング部１５は、サブポリゴンに対して、シェーディングのための輝度計算などを行い、さらに、３次元空間におけるポリゴンの座標系を、３次元画像を表示する２次元出力装置としての表示部１６の座標系（画面座標系）に変換する。そして、レンダリング部１５は、テクスチャデータベース１７に記憶されているテクスチャのデータを用いてテクスチャマッピングのためのテクスチャアドレスの計算を行うなどして、表示部１６を構成する各画素の最終的なＲＧＢ値（Ｒ（Red）成分、Ｇ（Green）成分、Ｂ（Blue）成分の輝度値）を求め、表示部１６に出力する。なお、テクスチャマッピングに用いるテクスチャは、例えば、入力部１１が操作されることにより指定されるようになされている。
【００４９】
表示部１６は、例えば、ＣＲＴ（Cathod Ray Tube）や液晶ディスプレイなどでなり、レンダリング部１５からのＲＧＢ値に対応する画像を表示するようになされている。テクスチャデータベース１７は、テクスチャマッピングに用いるテクスチャのデータを記憶している。送信／記録装置１８は、分割用データベース１３に記憶された分割用ポリゴンデータを読み出すとともに、テクスチャデータベース１７に記憶されたテクスチャのデータを読み出し、伝送媒体２を介して伝送し、または記録媒体３に記録するようになされている。
【００５０】
次に、図３は、図１のユーザ端末４の構成例を示している。
【００５１】
受信／再生装置２１は、伝送媒体２を介して伝送されてくるデータを受信し、または記録媒体３に記録されたデータを再生し、そのうちの分割用ポリゴンデータを分割用データベース２２に、テクスチャのデータをテクスチャデータベース２７に供給するようになされている。
【００５２】
分割用データベース２２は、受信／再生装置２１からの分割用ポリゴンデータを一時記憶するようになされている。ジオメトリ処理部２３は、分割用データベース２２に記憶された分割用ポリゴンデータを読み出し、入力部２８からの入力に対応したジオメトリ処理、即ち、座標変換や、クリッピング（Clipping）処理等を施して、分割処理部２４に供給するようになされている。
【００５３】
分割処理部２４、またはその出力が供給されるレンダリング部２５は、図２のデータ提供装置１を構成する分割処理部１４またはレンダリング部１５における場合とそれぞれ同様の処理を行うようになされている。表示部２６は、図２のデータ提供装置１を構成する表示部１６と同様に構成され、レンダリング部２５からのＲＧＢ値に対応した３次元画像を表示するようになされている。
【００５４】
テクスチャデータベース２７は、受信／再生装置２１からのテクスチャのデータを記憶するようになされている。なお、このテクスチャのデータは、レンダリング部２５で行われるテクスチャマッピングに用いられる。
【００５５】
入力部２８は、例えば、キーボードや、マウス、ジョイスティック、ボタンなどでなり、所定の入力（例えば、特に、視点に関する情報）を入力するときに、ユーザによって操作される。
【００５６】
次に、図２のデータ提供装置１および図３のユーザ端末４における処理について説明するが、その前に、図２のデータ提供装置１を構成する分割処理部１４および図３のユーザ端末（クライアント端末）４を構成する分割処理部２４において行われるポリゴンの分割処理について説明する。
【００５７】
３次元画像における３次元形状を、ポリゴンによって表現する場合においては、より細かなポリゴンを用いることで、３次元形状を、より忠実に再現することができる。しかしながら、細かなポリゴンを用いる場合には、３次元形状を表現するポリゴンの数が増加するため、その多くのポリゴンについてのデータをすべて設定しなければならず、面倒であり、さらに、データ量も多くなる。
【００５８】
一方、３次元形状を、少ない数のポリゴンで表現する場合においては、設定するデータは少なくて済むが、再現される３次元形状が粗くなり、その結果、３次元画像の品質が劣化する。
【００５９】
ここで、一般に行われているポリゴンの分割は、３次元形状を構成する細かなポリゴンの幾つかをあわせて、大きなポリゴンを構成しておき、必要に応じて、その大きなポリゴンと元の細かなポリゴンを選択するものであるため、３次元形状を構成するときに設定しなければならないデータは、３次元形状を、細かなポリゴンで構成する場合と変わらない。
【００６０】
分割処理部１４および２４において行われるポリゴンの分割処理（従来のポリゴン分割と区別するために、以下、適宜、細分割処理ともいう）では、最初から大まかなポリゴンが、滑らかな３次元形状を与えるような詳細な（細かな）ポリゴンに分割されるようになされており、これにより、実現しようとする３次元形状についての詳細なデータを与えなくても、その形状についての、いわば大まかなデータを与えるだけで、微細な３次元形状を得ることができるようになされている。
【００６１】
即ち、分割処理部１４および２４に対しては、分割用ポリゴンデータとして、ポリゴンの頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトル、および頂点の座標が、少なくとも与えられるようになされており、細分割処理では、補間用ベクトルおよび頂点の座標から、２つの頂点の間を補間する線である補間線が求められ、その補間線上の点である補間点が、元のポリゴンを分割するサブポリゴンの頂点として求められるようになされている。
【００６２】
ここで、ポリゴンにより構成される３次元画像のデータとしては、一般に、ポリゴンの各頂点の座標が、そのポリゴンの形状を特定するために与えられる。さらに、３次元画像のデータとしては、ポリゴンによって実現しようとする３次元形状を構成する曲面の、ポリゴンの各頂点における法線ベクトルも、シェーディングのために与えられる。
【００６３】
そこで、細分割処理では、ポリゴンの各頂点における法線ベクトルを補間用ベクトルとして用い、２つの頂点の間を補間する補間線が求められるようになされている。
【００６４】
即ち、いま説明を簡単にするために、図４に示すように、２次元形状を構成するポリゴンの２頂点Ｐ1およびＰ2と、頂点Ｐ1，Ｐ2それぞれにおける法線ベクトルｎ1，ｎ2とが与えられているとし、この場合に、頂点Ｐ1とＰ2との間を補間する補間線の算出方法について説明する。
【００６５】
なお、本実施の形態においては、補間線は、例えば、その補間線が補間する２つの頂点を通る円または楕円の円弧に等しくなるのが理想的であるとし、そのような補間線を求めることとする。ここで、すべての滑らかな曲線は、微少な円弧（円および楕円の円弧の両方を含む）の連続で近似することができるから、ここでは、円弧を近似することができる関数によって表現される曲線を補間線として採用する。
【００６６】
いま、図５に示すように、頂点Ｐ1とＰ2とを通る２次元形状の、頂点Ｐ1，Ｐ2における接線ベクトルを考え（法線ベクトルｎ1，ｎ2は、２次元形状に垂直な方向であるので、この法線ベクトルｎ1，ｎ2から、接線ベクトルを求めることができる）、頂点Ｐ1またはＰ2における接線ベクトルそれぞれと、頂点Ｐ1とＰ2とを結ぶ線分Ｐ1Ｐ2とがなす角度を、θ1またはθ2とする。この場合、θ1とθ2とが等しければ、頂点Ｐ1とＰ2の両方を通る円の円弧を、補間線とすることができる。
【００６７】
ところで、θ1とθ2とが等しい場合には、頂点Ｐ1とＰ2の両方を通る、例えば円の円弧を、補間線とし、また、θ1とθ2とが幾分異なる場合には、頂点Ｐ1とＰ2の両方を通る、例えば楕円の円弧を、補間線とし、さらに、θ1とθ2とが大きく異なる場合には、頂点Ｐ1とＰ2の両方を通る、例えばスプライン曲線を、補間線とするといったように、θ1とθ2との関係を条件として、補間線とする曲線を選択するのでは、θ1とθ2との関係が変化したときに、補間線が連続的に変化しないことがある。
【００６８】
そこで、ここでは、補間線として、θ1とθ2との関係にかかわりなく、一律に例えば、ベジェ（Bezier）曲線を採用する（正確には、BezierにおけるBの後のｅの上部には、'が付される）。また、ベジェ曲線の次数は、任意のθ1，θ2を与えることができるように、例えば、３次とする。
【００６９】
３次のベジェ曲線は、４つの制御点で特定されるが、そのうちの２つは、ベジェ曲線の始点と終点に一致する。また、残りの２つの制御点は、ベジェ曲線の始点または終点における接線上に１つずつ存在する。
【００７０】
一方、頂点Ｐ1またはＰ2における接線ベクトルは、法線ベクトルｎ1またはｎ2それぞれに基づいて決まるから、法線ベクトルｎ1またはｎ2が与えられていることで、頂点Ｐ1またはＰ2を通るベジェ曲線の接線方向は特定される。また、補間線であるベジェ曲線の始点または終点は、それぞれ、頂点Ｐ1またはＰ2（あるいは、Ｐ2またはＰ1）によって与えられる。従って、頂点Ｐ1とＰ2との間を補間する補間線としての３次のベジェ曲線は、頂点Ｐ1またはＰ2における接線ベクトルそれぞれの方向にある制御点が求まれば、一意に特定される。
【００７１】
そこで、いま、図６に示すように、頂点Ｐ1における接線ベクトルの方向にある制御点をＱ1とするとともに、頂点Ｐ2における接線ベクトルの方向にある制御点をＱ2として、線分Ｐ1Ｑ1の長さＬ1、および線分Ｐ2Ｑ2の長さＬ2を求めることを考える（以下、適宜、Ｌ1，Ｌ2を、制御辺長という）。
【００７２】
まず、補間線となる３次のベジェ曲線Ｂは、パラメータｔ（０≦ｔ≦１）、４つの制御点（の座標）Ｐ1，Ｐ2，Ｑ1，Ｑ2を用いて次式で表される。
【００７３】
Ｂ＝（１−ｔ）3Ｐ1＋３（１−ｔ）2ｔＱ1＋３（１−ｔ）ｔ2Ｑ2＋ｔ3Ｐ2・・・（１）
【００７４】
いま、図６において、θ1＝θ2＝θとすると、上述のように、ここでは、補間線は円の円弧となるのが理想的であるから、例えば、その円の中心Ｃを原点にとり、線分Ｐ1Ｐ2が、ｘ軸と平行になるように、図６を書き直すと、図７に示すようになる。なお、図７において、Ｒは、ｙ軸と、補間線となる円の円弧との交点（のｙ座標）を表し、この交点Ｒは、式（１）において、ｔ＝０．５とすることにより求めることができる。ここで、線分ＲＣは、補間線となる円の円弧の半径であり、いまの場合、中心Ｃは原点にあるから、円の半径はＲである。
【００７５】
補間線が円の円弧の場合、制御辺長Ｌ1とＬ2とは等しくなるから、これを、Ｌ（＝Ｌ1＝Ｌ2）とおくと、図７より、次式が成立する。
【００７６】
Ｐ1y＝Ｐ2y＝Ｒｃｏｓθ，Ｑ1y＝Ｑ2y＝Ｐ1y＋Ｌｓｉｎθ・・・（２）
但し、Ｐ1y，Ｑ1yは、制御点Ｐ1，Ｑ1のｙ座標を、Ｐ2y，Ｑ2yは、制御点Ｐ2，Ｑ2のｙ座標を、それぞれ表す。
【００７７】
また、交点Ｒは、式（１）において、ｔを０．５とするとともに、Ｐ1，Ｐ2，Ｑ1，Ｑ2に、式（２）のＰ1y，Ｐ2y，Ｑ1y，Ｑ2yをそれぞれ代入することにより、次式で表される。
【００７８】
Ｒ＝Ｒｃｏｓθ／４＋３／４（Ｒｃｏｓθ＋Ｌｓｉｎθ）・・・（３）
【００７９】
式（２）および（３）を、制御辺長Ｌについてとき、それを、弦Ｐ1Ｐ2の長さ（２Ｒｓｉｎθ）で除算すると、弦Ｐ1Ｐ2の長さを１に正規化したときの制御辺長Ｌ’（＝Ｌ／（２Ｒｓｉｎθ））を求めることができ、これは、次式に示すようになる。
【００８０】
Ｌ’＝２／（３（１＋ｃｏｓθ））・・・（４）
【００８１】
式（４）により、制御辺長Ｌ’が求まった後は、その制御辺長Ｌ’と、頂点Ｐ1またはＰ2とを用いることで、制御点Ｑ1またはＱ2をそれぞれ求めることができ、従って、補間線としてのベジェ曲線が特定される。
【００８２】
以上は、θ1とθ2とが等しい場合であるが、θ1とθ2とが異なる場合も、１軸の拡大／縮小変換を行うことで、θ1とθ2とが等しい場合と同様にして、制御点Ｑ1およびＱ2を求めることができる。
【００８３】
即ち、θ1とθ2とが異なる場合においては、例えば、図８（Ａ）に示すように、頂点Ｐ1，Ｐ2、および頂点Ｐ1またはＰ2それぞれにおける接線どうしの交点Ｐ’で構成される三角形が不等辺三角形になる（これに対して、図７における場合には、二等辺三角形になっている）が、いま、この不等辺三角形の辺Ｐ1Ｐ’またはＰ2Ｐ’の長さを、それぞれｋ1またはｋ2とする。また、辺Ｐ1Ｐ2の長さをＫとする。
【００８４】
この場合、次式が成立する。
【００８５】
ｋ1ｓｉｎθ1＝ｋ2ｓｉｎθ2，ｋ1ｃｏｓθ1＋ｋ2ｃｏｓθ2＝Ｋ・・・（５）
なお、Ｋは、頂点Ｐ1およびＰ2の座標から求めることができる。
【００８６】
式（５）を、ｋ1，ｋ2それぞれについて解くと、次式のようになる。
【００８７】
0003705923.tif 000002
【００８８】
一方、例えば、図８（Ｂ）に示すように、点Ｐ2から、直線Ｐ1Ｐ’におろした垂線をＶとして、点Ｐ2を、垂線Ｖ上を移動し、これにより、三角形Ｐ1Ｐ2Ｐ’を、例えば、図８（Ｃ）に示すように、三角形Ｐ1Ｐ2’Ｐ’に変形（拡大変換または縮小変換）した場合においては、変形前の三角形Ｐ1Ｐ2Ｐ’における制御点Ｐ2からＱ2までの制御辺長Ｌ2と、変形後の三角形Ｐ1Ｐ2’Ｐ’における制御点Ｐ2’からＱ2’までの制御辺長Ｌ2’との比は、変形前の三角形Ｐ1Ｐ2Ｐ’における辺Ｐ2Ｐ’の長さｋ2と、変形後の三角形Ｐ1Ｐ2’Ｐ’における辺Ｐ2’Ｐ’の長さｋ2’の比に等しくなり、その結果、次式が成り立つ。
【００８９】
ｋ2：ｋ2’＝Ｌ2：Ｌ2’・・・（７）
【００９０】
従って、変形後の三角形Ｐ1Ｐ2’Ｐ’を、辺Ｐ1Ｐ’の長さと、辺Ｐ2’Ｐ’の長さが等しい二等辺三角形とすれば（但し、１軸の拡大／縮小変換による変形後の三角形Ｐ1Ｐ2’Ｐ’を二等辺三角形とするには、θ1とθ2とが、弦Ｐ1Ｐ2に対して、同じ側に形成されている必要がある）、式（４）により、制御辺長Ｌ2’を求めることができ、さらに、式（６）および（７）から制御辺長Ｌ2を求めることができる。即ち、次式により、制御辺長Ｌ2を求めることができる。
【００９１】
Ｌ2＝Ｋ×ｋ2×２×ｃｏｓθ’×２／（３（１＋ｃｏｓθ’））・・・（８）
【００９２】
同様に、制御辺長Ｌ1は、次式により求めることができる。
【００９３】
Ｌ1＝Ｋ×ｋ1×２×ｃｏｓθ’×２／（３（１＋ｃｏｓθ’））・・・（９）
【００９４】
ここで、式（８）および（９）におけるθ’は、変形後の三角形Ｐ1Ｐ2’Ｐ’における辺Ｐ1Ｐ2と辺Ｐ2’Ｐ’とがなす角度（図８（Ｃ）におけるθ2’）（または辺Ｐ1Ｐ2と辺Ｐ1Ｐ’がなす角度（図８（Ｃ）におけるθ1’））を表す（θ1＝θ2）。
【００９５】
以上のようにして、制御辺長Ｌ1またはＬ2が求まった後は、頂点Ｐ1またはＰ2から、制御点Ｑ1またはＱ2をそれぞれ求めることができ、これにより、補間線としてのベジェ曲線が特定される。
【００９６】
なお、θ’は、縮小変換を数式で表現することにより正確に求めることができるが、本実施の形態では、計算量の増加を低減するため、ｃｏｓθ’を、次式で表されるｓに近似することとする。
【００９７】
ｃｏｓθ’  ｓ＝（ｃｏｓθ1＋ｃｏｓθ2）／２・・・（１０）
【００９８】
この場合、制御辺長Ｌ1，Ｌ2は、次式にしたがって求められる。
【００９９】
0003705923.tif 000003
【０１００】
次に、図９のフローチャートを参照して、補間線であるベジェ曲線を特定するための制御点Ｑ1およびＱ2の算出方法（制御点算出処理）について、さらに説明する。
【０１０１】
制御点Ｑ1およびＱ2の算出にあたっては、まず最初に、ステップＳ１において、図８（Ａ）に示した三角形Ｐ1Ｐ2Ｐ’の辺Ｐ1Ｐ’またはＰ2Ｐ’の長さｋ1またはｋ2が、式（６）にしたがって求められ、ステップＳ２に進む。ステップＳ２では、三角形Ｐ1Ｐ2Ｐ’を拡大／縮小変換することにより、図８（Ｃ）に示したような二等辺三角形Ｐ1Ｐ2’Ｐ’に変形したときの底角θ’（＝θ1’＝θ2’）の余弦（コサイン）の近似値ｓが、式（１０）にしたがって求められ、ステップＳ３に進む。ステップＳ３では、式（１１）が計算されることにより、制御辺長Ｌ1，Ｌ2が求められ、これにより、制御点Ｑ1，Ｑ2が求められる。
【０１０２】
ここで、Ｋ＝１として、制御点Ｑ1およびＱ2を求め、その制御点Ｑ1およびＱ2により特定されるベジェ曲線である補間線を求めたシミュレーション結果を、図１０乃至図１３に示す。なお、図１０乃至図１３において、（Ａ）は、補間線の曲率半径を、（Ｂ）は、補間線の形状を、それぞれ示している。また、図１０は、θ1＝θ2＝１８度とした場合を、図１１は、θ1＝１８度、θ2＝２２度とした場合を、図１２は、θ1＝２８度、θ2＝３２度とした場合を、図１３は、θ1＝２０度、θ2＝６０度とした場合を、それぞれ示している。
【０１０３】
以上は、２次元形状を構成するポリゴンについてであるが、３次元形状を構成するポリゴンについては、その２つの頂点Ｐ1またはＰ2それぞれにおける法線ベクトルｎ1またはｎ2どうしが、一般に、互いにねじれの位置にある。そこで、図１４に示すように、線分Ｐ1Ｐ2と、その線分Ｐ1Ｐ2を、頂点Ｐ1を含む平面であって、法線ベクトルｎ1に垂直な平面に投影（正射影）したものとがなす角度を、式（６）および（１０）のθ1として採用する。即ち、線分Ｐ1Ｐ2を、頂点Ｐ1を含む平面であって、法線ベクトルｎ1に垂直な平面に投影したものの方向の単位ベクトルを、３次元形状の、頂点Ｐ1における接線ベクトルとして、その接線ベクトルと、線分Ｐ1Ｐ2とがなす角度を、式（６）および（１０）のθ1とする。
【０１０４】
同様に、線分Ｐ1Ｐ2と、その線分Ｐ1Ｐ2を、頂点Ｐ2を含む平面であって、法線ベクトルｎ2に垂直な平面に投影したものとがなす角度を、式（６）および（１０）のθ2として採用する。
【０１０５】
以下、図９で説明したようにして、制御点Ｑ1およびＱ2を求めることで、頂点Ｐ1とＰ2との間を補間する補間線としてのベジェ曲線を求めることができる。この場合、補間線としてのベジェ曲線は、一般に、空間的にねじれた曲線になるが、ふくらみ方が円または楕円に近いものとなるので、結果的には、頂点Ｐ1とＰ2との間を滑らかに補間するものになる。
【０１０６】
以上のようにして、補間線を求めた後は、細分割処理では、上述したように、その補間線上の点である補間点が、元のポリゴンを分割するサブポリゴンの頂点として求められるが、この補間点は、補間線としてのベジェ曲線を表す式（１）のパラメータｔに、適当な値を入力することで求めることができる。
【０１０７】
ここで、頂点Ｐ1とＰ2との間をＭ分割する場合には、その間に、Ｍ−１個の補間点を設定すれば良く、この場合、パラメータｔを、例えば、ｉ／Ｍ（ｉ＝１，２，・・・，Ｍ−１）として、式（１）を計算すれば良い。
【０１０８】
次に、例えば、図１５に示すような、４つの頂点Ｐ1乃至Ｐ4を有し、線分Ｐ1Ｐ2とＰ3Ｐ4とが対向するとともに、線分Ｐ1Ｐ3とＰ2Ｐ4とが対向する、３次元形状を構成する四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3に対して、細分割処理を施す場合について説明する。
【０１０９】
いま、頂点Ｐ1とＰ2との間を、例えば、２分割するとすると（この場合、線分Ｐ1Ｐ2と対向する頂点Ｐ3とＰ4との間も２分割される）、図９で説明したようにして、頂点Ｐ1とＰ2との間を補間する補間線Ｂ12（第１の補間線）が求められるとともに、頂点Ｐ3とＰ4との間を補間する補間線Ｂ34（第２の補間線）が求められる。そして、パラメータｔを、例えば、０．５として、式（１）を計算することにより、補間線Ｂ12またはＢ34上に、補間点Ｐ12またはＰ34が求められる。
【０１１０】
これにより、四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3は、四角形ポリゴンＰ1Ｐ12Ｐ34Ｐ3とＰ12Ｐ2Ｐ4Ｐ34との２つのサブポリゴンに分割される。
【０１１１】
さらに、頂点Ｐ1とＰ3との間、および頂点Ｐ2とＰ4との間を、例えば、いずれも２分割する場合には、やはり図９で説明したようにして、頂点Ｐ1とＰ3との間を補間する補間線Ｂ13（第３の補間線）が求められるとともに、頂点Ｐ2とＰ4との間を補間する補間線Ｂ24（第４の補間線）が求められる。そして、パラメータｔを、例えば、０．５として、式（１）を計算することにより、補間線Ｂ13またはＢ24上に、補間点Ｐ13またはＰ24が求められる。
【０１１２】
また、この場合、既にサブポリゴンの頂点として求められている補間点Ｐ12とＰ34との間を補間する補間線Ｂ1234（第５の補間線）も、図９で説明したようにして求められる。そして、パラメータｔを、例えば、０．５として、式（１）を計算することにより、補間線Ｂ1234上に、補間点Ｐ1234が求められる。
【０１１３】
以上により、四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3は、四角形ポリゴンＰ1Ｐ12Ｐ1234Ｐ13，Ｐ12Ｐ2Ｐ24Ｐ1234，Ｐ1234Ｐ24Ｐ4Ｐ34、およびＰ13Ｐ1234Ｐ34Ｐ3の４つのサブポリゴンに分割される。
【０１１４】
なお、ここでは、四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3を、２×２（横×縦）のサブポリゴンに分割することとしたが、四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3を、Ｍ×Ｎのサブポリゴンに分割する場合においては、頂点Ｐ1とＰ2との間、および頂点Ｐ3とＰ4との間を、いずれもＭ分割するとともに、頂点Ｐ1とＰ3との間、および頂点Ｐ2とＰ4との間を、いずれもＮ分割し、さらに、頂点Ｐ1とＰ2との間をＭ分割するＭ−１個の補間点と、頂点Ｐ3とＰ4との間をＭ分割するＭ個の補間点の、対応するものどうしの間をＮ分割すれば良い。但し、四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3を、細分割処理によって、２つのサブポリゴンＰ1Ｐ12Ｐ34Ｐ3およびＰ12Ｐ2Ｐ4Ｐ34に分割し、その２つのサブポリゴンＰ1Ｐ12Ｐ34Ｐ3またはＰ12Ｐ2Ｐ4Ｐ34それぞれを、細分割処理によって、さらに２つのサブポリゴンに分割するようなことを繰り返すことにより、四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3を、多くのサブポリゴンに分割することも可能である。
【０１１５】
ところで、細分割処理では、２つの頂点の間を補間する補間線は、その２つの頂点の座標と法線ベクトルとを用いて求められるから、例えば、図１５に示した場合においては、補間点Ｐ12とＰ34との間を補間する補間線Ｂ1234を求めるに当たって、補間点Ｐ12またはＰ34それぞれにおける法線ベクトルｎ12またはｎ34が必要となる。また、他の補間点との間の補間線が求められない補間点（図１５における場合には、補間点Ｐ13，Ｐ24，Ｐ1234）であっても、補間点は、サブポリゴンの頂点となるから、レンダリング処理におけるシェーディングを行うにあたって、法線ベクトルが必要となる。
【０１１６】
そこで、サブポリゴンの頂点（元のポリゴンの頂点となっているものを除く）における法線ベクトルは、ここでは、例えば、次のようにして求められるようになっている。
【０１１７】
即ち、頂点Ｐ1とＰ2との間を分割する補間点Ｐ12を例にすると、その法線ベクトルｎ12は、図１６に示すように、頂点Ｐ1における法線ベクトルｎ1と、頂点Ｐ2における法線ベクトルｎ2とを用いた線形補間を行うことで求められる。
【０１１８】
具体的には、補間線Ｂ12上の補間点Ｐ12を求めるときに、式（１）に代入したパラメータｔをＴとすると、次式にしたがい、法線ベクトルｎ1の（１−Ｔ）倍と、法線ベクトルｎ2のＴ倍との加算値に対応するものの単位ベクトルｎｎ12が求められる。
【０１１９】
ｎｎ12＝（（１−Ｔ）ｎ1＋Ｔｎ2）／｜（１−Ｔ）ｎ1＋Ｔｎ2｜・・・（１２）
なお、｜ｘ｜は、ベクトルｘのノルムを表す。
【０１２０】
ここで、式（１２）により得られるベクトルｎｎ12は、フォーンシェーディング（Phong Shading）において求められる法線ベクトルに等しい。
【０１２１】
補間点Ｐ12における法線ベクトルｎ12として、ベクトルｎｎ12をそのまま採用しても良いが、ベクトルｎｎ12は、法線ベクトルｎ1とｎ2とを用いての線形補間により得られたものであるから、補間線Ｂ12の形状を、忠実に反映しているとは言い難い。そこで、ここでは、ベクトルｎｎ12を、次のように補正し、その補正の結果得られるベクトルを、補間点Ｐ12における法線ベクトルｎ12として採用することとする。
【０１２２】
即ち、まず、補間点Ｐ12における、補間線Ｂ12の接線ベクトルｓ12を求める。ここで、接線ベクトルｓ12は、式（１）から求めることができる。
【０１２３】
さらに、次式にしたがい、ベクトルｎｎ12と接線ベクトルｓ12との外積ｎｎ12’を求める。
【０１２４】
ｎｎ12’＝ｎｎ12×ｓ12・・・（１３）
【０１２５】
そして、接線ベクトルｓ12とベクトルｎｎ12’との外積を求め、次式に示すように、これを、補間点Ｐ12における法線ベクトルｎ12とする。
【０１２６】
ｎ12＝ｓ12×ｎｎ12’・・・（１４）
ここで、式（１３）および（１４）における×は、ベクトルの外積を表す。
【０１２７】
以上のようにして求められる法線ベクトルｎ12は、ベジェ曲線である補間線Ｂ12の形状を忠実に表現するから、これを用いてシェーディング（ハイライト計算等）を行うことで、補間線Ｂ12の形状を精度良く反映した輝度分布の画像を得ることが可能となる。
【０１２８】
以上のように、細分割処理によれば、補間用ベクトルとして法線ベクトルを用い、その法線ベクトルおよび頂点の座標から、２つの頂点の間を補間する補間線が求められ、その補間線上の点である補間点が、元のポリゴンを分割するサブポリゴンの頂点として求められるので、大まかな形状のポリゴンから、微細な３次元形状を構成することができる。
【０１２９】
なお、ここでは、補間の局所性が保たれているため、即ち、例えば、図１５において、頂点Ｐ1とＰ2との間を分割する補間点のいずれの法線ベクトルも、頂点Ｐ1における法線ベクトルｎ1および頂点Ｐ2における法線ベクトルｎ2から求められるため、四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3を分割して得られるサブポリゴンと、辺Ｐ1Ｐ2において四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3と接する他のポリゴンを分割して得られるサブポリゴンとは、連続に接続されるので、滑らかな３次元形状を得ることができる。
【０１３０】
また、上述の場合においては、四角形ポリゴンを対象としたが、細分割処理は、四角形以外の多角形のポリゴンを対象として行うことが可能である。例えば、三角形ポリゴンを対象とする場合には、上述の四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3を構成する頂点Ｐ1とＰ2，Ｐ3とＰ4，Ｐ1とＰ3、またはＰ2とＰ4のうちのいずれか１組が同一の頂点となっていると考えることで、三角形ポリゴンに対して、四角形ポリゴンにおける場合と同様に、細分割処理を施すことができる。
【０１３１】
ここで、細分割処理後のサブポリゴンに対して、テクスチャマッピングを施すには、サブポリゴンの頂点におけるテクスチャ座標が必要となるが、これは、例えば、図１６で説明した補間点Ｐ12における法線ベクトルｎｎ12を求めるのと同様にして求めることができる。即ち、上述しなかったが、データ提供装置１において生成される３次元画像のデータには、分割用ポリゴンデータおよびテクスチャのデータの他に、元のポリゴンの各頂点におけるテクスチャ座標も含まれており、例えば、頂点Ｐ1とＰ2との間を分割する補間点Ｐ12におけるテクスチャ座標は、頂点Ｐ1におけるテクスチャ座標と、頂点Ｐ2におけるテクスチャ座標とを、補間点Ｐ12を求めるのに式（１）に代入したパラメータｔに対応する比１−ｔ：ｔにしたがって加算（線形補間）することで求めることができる。
【０１３２】
なお、頂点Ｐ1とＰ2との間の補間線Ｂ12の形状が偏っている場合（例えば、頂点Ｐ1またはＰ2のうちのいずれか一方に近い部分の曲率半径が大きく、他方に近い部分の曲率半径が小さい場合など）には、上述のような線形補間によって求められたテクスチャ座標を用いてテクスチャマッピングを行うと、テクスチャに歪みが生じることがある。即ち、補間点Ｐ12を求めるのに式（１）に代入したパラメータｔが、それがとりうる範囲の値のうちの、例えば、中点の値である０．５であるが、補間線Ｂ12の形状が偏っているために、補間線Ｂ12に沿っての距離が、頂点Ｐ1またはＰ2のうちの、例えば、頂点Ｐ1に極端に近い位置に、補間点Ｐ12が設定された場合に、線形補間によって求められたテクスチャ座標を用いてテクスチャマッピングを行うと、テクスチャに歪みが生じる。
【０１３３】
このようなテクスチャの歪みが問題となる場合においては、補間線Ｂ12に沿っての線積分を行い、頂点Ｐ1またはＰ2それぞれから補間点Ｐ12までの補間線Ｂ12に沿っての距離を求め、その距離に応じて、補間点Ｐ12におけるテクスチャ座標を線形補間によって求めるときに用いる比を補正するようにすれば良い。即ち、補間点Ｐ12におけるテクスチャ座標を線形補間によって求めるときに用いる比を、頂点Ｐ1から補間点Ｐ12までの補間線Ｂ12に沿っての距離と、頂点Ｐ2から補間点Ｐ12までの補間線Ｂ12に沿っての距離との比に近づける（等しくなる）ように補正すれば良い。
【０１３４】
次に、多くの場合、補間用ベクトルとして、頂点における法線ベクトルを用いて、細分割処理を行うことで、滑らかな３次元形状を実現することができるが、実現しようとする３次元形状によっては、頂点における法線ベクトルだけを、補間用ベクトルとして用いるのでは、不具合が生じることがある。
【０１３５】
即ち、例えば、回転軸を中心に平面形状を回転することで構成される円柱などの回転体や、それに近い３次元形状などについては、その３次元形状を構成するポリゴンのある頂点ａにおける法線ベクトルに垂直な平面に、その頂点ａと他の頂点ｂ（但し、頂点ｂは、頂点ａに隣接する頂点）とを結ぶ線分を正射影したものの方向と、頂点ａとｂとを結ぶ、実現しようとする３次元形状に沿った曲線（以下、適宜、枠線という）の、頂点ａにおける接線方向（以下、適宜、枠線方向という）とのずれが大きくなる場合があり、このような場合に、上述したような細分割処理を行うと、頂点ａとｂとを結ぶ補間線が、いわば折れ曲がった状態となり、特に、テクスチャマッピングを行った場合に、テクスチャが不自然に見える。
【０１３６】
具体的には、大まかなポリゴンで、例えば、図１７（Ａ）に示すような３次元形状を構成しておき、これを、回転軸Ｙを回転して得られるような３次元形状を実現しようとする場合には、図１７（Ａ）の３次元形状を構成する１のポリゴンｐの辺１と２との交点である頂点ａにおける法線ベクトルＡは、ポリゴンｐに対してほぼ垂直な方向である斜め上方向のベクトルとなる。この場合、頂点ａにおける法線ベクトルに垂直な平面に、その頂点ａと、ポリゴンｐの他の頂点ｂとを結ぶ線分ａｂ（辺１）を正射影したものの方向と、頂点ａにおける枠線方向とのずれは大きくなる。即ち、いまの場合、法線ベクトルＡは、斜め上方向のベクトルであるから、法線ベクトルに垂直な平面に、線分ａｂ（辺１）を正射影したものの方向は、回転軸Ｙに垂直な平面に対して傾きをもったものとなる。一方、頂点ａにおける枠線方向は、回転軸Ｙを中心として、ポリゴンｐを回転した場合に、頂点ａの軌跡である円の、頂点ａにおける接線方向になるから、回転軸Ｙに垂直な平面と平行になる。
【０１３７】
この場合、ポリゴンｐに対して、細分割処理を施すと、図１７（Ｂ）に示すように、頂点ａとｂとの間を補間する補間線が折れ曲がり、滑らかな３次元形状を構成することが困難となる。
【０１３８】
また、ポリゴンに細分割処理を施し、それにより得られるサブポリゴンで構成される３次元形状を、特定の形状にする必要がなく、また、上述のような補間線の折れ曲がりが問題とならない場合には、頂点における法線ベクトルだけを、補間用ベクトルとして用いれば足りる。しかしながら、上述のような補間線の折れ曲がりが問題となる場合の他、サブポリゴンで構成される３次元形状を、特定の形状にすることが必要な場合には、頂点における法線ベクトルだけを、補間用ベクトルとして用いるのでは、その特定の形状を実現できないことがある。
【０１３９】
即ち、例えば、図１８に示すように、四角形ポリゴンａｂｄｃに対して、細分割処理を施し、これにより、同図に点線で示すような円柱の底面である円Ｏを構成しようとする場合においては、四角形ポリゴンａｂｄｃを、円柱の底面となる円Ｏを構成するようなサブポリゴンに分割する必要がある。しかしながら、この場合、頂点ａ乃至ｄそれぞれにおける法線ベクトルＡ乃至Ｄとしては、底面となる円Ｏに垂直な方向のベクトルが与えられるため、このような法線ベクトルＡ乃至Ｄを用いて、細分割処理を行うと、四角形ポリゴンａｂｄｃは、辺ａｂ（ｃｄ）や辺ａｃ（ｂｄ）に平行な方向に分割される。即ち、円Ｏを構成するようなサブポリゴンには分割されない。
【０１４０】
これは、図１７で説明したことと同様の理由による。即ち、図１８では頂点ａにおける法線ベクトルＡに垂直な平面に、その頂点ａと、他の頂点である頂点ｂとを結ぶ線分を正射影したものの方向は、線分ａｂの方向に一致する。一方、頂点ａとｂとを結ぶ、実現しようとする３次元形状に沿った曲線、つまり枠線は、円Ｏを構成する円弧ａｂであり、その円弧ａｂの、頂点ａにおける接線方向、つまり枠線方向は、円Ｏの点ａにおける接線の方向である。従って、円柱を構成する四角形ポリゴンａｂｄｃの頂点ａにおける法線ベクトルＡに垂直な平面に、線分ａｂを正射影したものの方向と、頂点ａにおける枠線方向とのずれが大きく、このため、四角形ポリゴンａｂｄｃは、円Ｏを構成するようなサブポリゴンには分割されない。即ち、細分割処理によれば、頂点ａとｂとの間を補間する補間線が、頂点ａにおける法線ベクトルＡに垂直な平面への、線分ａｂの正射影に接し、かつ頂点ｂにおける法線ベクトルＢに垂直な平面への、線分ａｂの正射影に接するように形成されるのに対して、頂点ａとｂとを結ぶ、実現しようとする円柱に沿った曲線である枠線が、円弧ａｂであるため、補間線と枠線とが異なり、四角形ポリゴンａｂｄｃは、枠線である円Ｏ（の円周）を構成するようなサブポリゴンには分割されない（辺ａｂ，ｃｄ，ａｃ，ｂｄそれぞれを、そのまま補間線として分割されるだけである）。
【０１４１】
そこで、ある頂点における補間用ベクトルとして、その頂点における法線ベクトルの他に、その頂点を通る枠線の方向（枠線方向）を表すベクトル（補間線方向ベクトル）を採用する。枠線方向を表すベクトルを、補間用ベクトルとして用い、細分割処理を行った場合においては、補間線が、枠線と一致するように形成されるから（これは、枠線方向を表すベクトルが、それを用いて細分割処理を行った場合に、枠線と一致するような補間線を構成させるものであるからである）、ポリゴンは、実現しようとする３次元形状を構成するようなサブポリゴンに分割される。
【０１４２】
頂点における枠線方向を表すベクトルとしては、例えば、その枠線の、頂点における接線ベクトル（２次元平面における曲線の傾きに相当する）や、枠線の、頂点における法線ベクトル（枠線の法線ベクトルの定義については、後述する）があるが、ここでは、枠線の法線ベクトルを採用することとする。
【０１４３】
なお、シェーディングのために与えられる、頂点における法線ベクトル（実現しようとする３次元形状の法線方向のベクトル）を用いて、細分割処理を行った場合には、その法線ベクトルが、実現しようとする３次元形状である曲面の法線方向を向いているために、ポリゴンが、実現しようとする３次元形状である曲面を構成するようなサブポリゴンに分割される。即ち、シェーディングのために与えられる、頂点における法線ベクトルを、補間用ベクトルとして用いて、細分割処理を行った場合には、実現しようとする３次元形状である曲面を、いわば補間するようなサブポリゴンに分割される。そこで、以下、適宜、この法線ベクトルを、曲面補間用法線ベクトルという。
【０１４４】
一方、枠線の法線ベクトルを用いて、ポリゴンの細分割処理を行った場合には、そのポリゴンを構成する辺が、枠線、つまり、実現しようとする３次元形状である曲面を構成する曲線（曲面に含まれる曲線）を、いわば補間するような辺を有するサブポリゴンに分割される。以下、適宜、この法線ベクトルを、枠線補間用法線ベクトルという。
【０１４５】
細分割処理によって得られるサブポリゴンによって、例えば、図１８に点線で示した円柱を構成させる場合、四角形ポリゴンａｂｄｃの頂点ａ乃至ｄにおける曲面補間用法線ベクトルは、それぞれ法線ベクトルＡ乃至Ｄとなり、頂点ａ乃至ｄにおける枠線補間用法線ベクトルは、円Ｏの中心から、頂点ａ乃至ｄに向かって伸ばした直線の方向の単位ベクトルとなる。
【０１４６】
補間用ベクトルとして、曲線補間用法線ベクトルだけでなく、枠線補間用法線ベクトルも採用した場合においては、細分割処理の対象となる元のポリゴンにおける隣接する頂点の間の補間点（例えば、図１５における補間点Ｐ12，Ｐ34，Ｐ13，Ｐ24）を求めるときには、枠線補間用法線ベクトルが用いられ、元のポリゴンにおける、いわば内部の補間点（例えば、図１５における補間点Ｐ1234）を求めるときには、曲面補間用法線ベクトルが用いられる。
【０１４７】
例えば、図１８に示した四角形ポリゴンａｂｄｃに対して、このような細分割処理を施した場合には、頂点ａとｂとの間、頂点ｂとｄとの間、頂点ｄとｃとの間、頂点ｃとａとの間については、いずれも、枠線補間用法線ベクトルを、補間用ベクトルとして用い、上述したようにして、補間点が求められる。その結果、補間点は、円弧ａｂ，ｂｄ，ｄｃ，ｃａ上に形成される。また、四角形ポリゴンａｂｄｃの内部については、曲面補間用法線ベクトルを、補間用ベクトルとして用い、上述したようにして、補間点が求められる。その結果、補間点は、円Ｏを含む平面内に形成される。その結果、四角形ポリゴンａｂｄｃは、円Ｏを構成するようなサブポリゴンに分割される。
【０１４８】
即ち、例えば、四角形ポリゴンａｂｄｃを、辺ａｂ（ｃｄ）およびａｃ（ｂｄ）のいずれの方向にも２分割して、４つのサブポリゴンを生成するような細分割処理を施す場合において、図１９（Ａ）に示すように、頂点ａ乃至ｄに対して、円Ｏの中心から頂点ａ乃至ｄの方向への枠線補間用法線ベクトルがそれぞれ与えられているとともに、円Ｏに対して垂直な方向（図１９（Ａ）では、図面から垂直な方向に飛び出る方向）の曲面補間用法線ベクトルがそれぞれ与えられているときには、まず、頂点ａとｂとの間または頂点ｃとｄとの間について、枠線補間用法線ベクトルを、補間用ベクトルとして用いて、円弧ａｂまたはｃｄがそれぞれ補間線として求められ、図１９（Ｂ）に示すように、それぞれの補間線上に、補間点ｅまたはｆが設定される。また、頂点ａとｃとの間または頂点ｂとｄとの間についても、枠線補間用法線ベクトルを、補間用ベクトルとして用いて、円弧ａｃまたはｂｄがそれぞれ補間線として求められ、図１９（Ｃ）に示すように、それぞれの補間線上に、補間点ｇまたはｈが設定される。
【０１４９】
さらに、例えば、補間点ｅとｆとの間（または補間点ｇとｈとの間）について、曲線補間用法線ベクトルを、補間用ベクトルとして用いて、線分ｅｆが補間線として求められ、図１９（Ｄ）に示すように、その補間線上に、補間点ｉが設定される。その結果、四角形ポリゴンａｂｄｃは、図１９（Ｄ）に示すように、円Ｏを構成するような４つのサブポリゴンとしての四角形ポリゴンａｅｉｇ，ｅｂｈｉ，ｈｄｆｉ，ｆｃｇｉに分割される。
【０１５０】
以上説明した細分割処理によれば、ポリゴンが、滑らかな３次元形状を与えるような詳細な（細かな）ポリゴンに分割されるので、データ提供装置１では、実現しようとする３次元形状についての詳細なデータを与えなくても、その形状についての大まかなデータを与えるだけで、微細な３次元形状を構成し、ユーザに提供することができる。また、ユーザ端末４側においては、少ないデータから、微細な３次元形状を再現することができる。
【０１５１】
次に、図２のデータ提供装置１の処理について説明する。
【０１５２】
データ提供装置１では、制作者によって、入力部１１が、３次元形状を構成するように操作されると、細分割処理に用いる分割用ポリゴンデータを生成する分割用ポリゴンデータ生成処理が行われる。
【０１５３】
そこで、図２０のフローチャートを参照して、分割用ポリゴンデータ生成処理について説明する。
【０１５４】
分割用ポリゴンデータ生成処理では、まず最初に、ステップＳ１１において、３次元形状を構成するポリゴンの頂点の座標（３次元空間における座標）およびその頂点における枠線の法線ベクトル（後述するように、これが、枠線補間用法線ベクトルとされる）の入力が、入力部１１からあったかどうかが、データ処理部１２によって判定される。
【０１５５】
ステップＳ１１において、頂点の座標およびその頂点における枠線の法線ベクトルの入力がなかったと判定された場合、ステップＳ１２をスキップして、ステップＳ１３に進む。
【０１５６】
また、ステップＳ１１において、頂点の座標およびその頂点における枠線の法線ベクトルの入力があったと判定された場合、即ち、制作者が、入力部１１を操作することにより、頂点の座標およびその頂点における枠線の法線ベクトルを入力した場合、ステップＳ１２に進み、入力のあった頂点の座標およびその頂点における枠線の法線ベクトルが、メモリ１２Ａに一時記憶され、ステップＳ１３に進む。
【０１５７】
ステップＳ１３では、入力部１１が、メモリ１２Ａの記憶内容を、分割用ポリゴンデータとして確定するように操作（以下、適宜、確定操作という）されたかどうかが、データ処理部１２によって判定される。ステップＳ１３において、入力部１１が確定操作されていないと判定された場合、ステップＳ１１に戻り、以下、同様の処理を繰り返す。
【０１５８】
また、ステップＳ１３において、入力部１１が確定操作されたと判定された場合、ステップＳ１４に進み、データ処理部１２は、メモリ１２Ａの記憶内容を読み出して、分割用データベース１３に供給して記憶させる。さらに、データ処理部１２は、例えば、入力された順に頂点を通り、かつ各頂点における枠線の法線ベクトルとなす角度が９０度の、３次のベジェ曲線を、メモリ１２Ａの記憶内容に基づいて求め、分割用データベース１３、分割処理部１４、およびレンダリング部１５を介して、表示部１６に供給して表示させる。
【０１５９】
これにより、表示部１６においては、例えば、図２１に示すような、３次元形状を構成する枠線としてのベジェ曲線（図中、点線で示す）が表示される。
【０１６０】
その後、ステップＳ１５に進み、頂点の座標およびその頂点における枠線の法線ベクトルの入力を、追加して行うように、入力部１１が操作（以下、適宜、追加操作という）されたかどうかが、データ処理部１２によって判定される。ステップＳ１５において、入力部１１が追加操作されたと判定された場合、メモリ１２Ａの記憶内容がクリアされ、ステップＳ１１に戻り、以下、ステップＳ１１乃至Ｓ１５の処理が繰り返されることにより、３次元形状を構成する枠線としてのベジェ曲線が、順次描かれていく。
【０１６１】
即ち、例えば、制作者が、図２２（Ａ）に示すように、頂点Ｐ1の座標およびその頂点Ｐ1における枠線の法線ベクトル（枠線補間用法線ベクトル）Ａ1、並びに頂点Ｐ2の座標およびその頂点Ｐ2における枠線の法線ベクトルＡ2を入力し、入力部１１を確定操作すると、データ処理部１２は、３次元形状を構成する枠線としてのベジェ曲線Ｐ1Ｐ2を求め、表示部１６に表示させる。さらに、制作者が、入力部１１を追加操作し、例えば、図２２（Ａ）に示すように、頂点Ｐ3の座標およびその頂点Ｐ3における枠線の法線ベクトルＡ3、並びに頂点Ｐ4の座標およびその頂点Ｐ4における枠線の法線ベクトルＡ4を入力して、入力部１１を確定操作すると、データ処理部１２は、３次元形状を構成する枠線としてのベジェ曲線Ｐ3Ｐ4を求め、表示部１６に表示させる。
【０１６２】
その後、制作者が、入力部１１を追加操作し、例えば、図２２（Ｂ）に示すように、頂点Ｐ1の座標およびその頂点Ｐ1における枠線の法線ベクトル（枠線補間用法線ベクトル）Ｂ1、並びに頂点Ｐ3の座標およびその頂点Ｐ3における枠線の法線ベクトルＢ3を入力し、入力部１１を確定操作すると、データ処理部１２は、３次元形状を構成する枠線としてのベジェ曲線Ｐ1Ｐ3を求め、表示部１６に表示させる。さらに、制作者が、入力部１１を追加操作し、例えば、図２２（Ｂ）に示すように、頂点Ｐ2の座標およびその頂点Ｐ3における枠線の法線ベクトルＢ2、並びに頂点Ｐ4の座標およびその頂点Ｐ4における枠線の法線ベクトルＢ4を入力して、入力部１１を確定操作すると、データ処理部１２は、３次元形状を構成する枠線としてのベジェ曲線Ｐ2Ｐ4を求め、表示部１６に表示させる。
【０１６３】
ここで、図２２において、例えば、頂点Ｐ1の枠線の法線ベクトルとしては、ベクトルＡ1とＢ1の２つが存在することとなるが、ベクトルＡ1またはＢ1は、曲線Ｐ1Ｐ2またはＰ1Ｐ3に対して、それぞれ垂直になっている。同様に、ベクトルＡ2またはＢ2は、曲線Ｐ1Ｐ2またはＰ2Ｐ4に対して、ベクトルＡ3またはＢ3は、曲線Ｐ1Ｐ3またはＰ3Ｐ4に対して、ベクトルＡ4またはＢ4は、曲線Ｐ3Ｐ4またはＰ3Ｐ4に対して、それぞれ垂直になっている。
【０１６４】
なお、データ処理部１２は、ある２つの頂点Ｐ1とＰ2、およびその頂点Ｐ1またはＰ2におけるにおける枠線の法線ベクトルＡ1またはＡ2が与えられると、その２つの頂点Ｐ1およびＰ2を通り、かつ法線ベクトルＡ1またはＡ2それぞれとなす角度が９０度の、３次元形状を構成する枠線としての３次のベジェ曲線Ｐ1Ｐ2を、例えば、次のようにして求めるようになされている。
【０１６５】
即ち、データ処理部１２は、図２３に示すように、頂点Ｐ1を含み、法線ベクトルＡ1に垂直な平面Ｒに対して、線分Ｐ1Ｐ2を投影（正射影）した線分Ｐ1’Ｐ2’を求める。同様にして、データ処理部１２は、頂点Ｐ2を含み、法線ベクトルＡ2に垂直な平面に対して、線分Ｐ1Ｐ2を投影した線分Ｐ1’’Ｐ2’’（図示せず）を求める。そして、データ処理部１２では、頂点Ｐ1およびＰ2の座標、並びに線分Ｐ1Ｐ2と線分Ｐ1’Ｐ2’とがなす角度、および線分Ｐ1Ｐ2と線分Ｐ1’’Ｐ2’’とがなす角度から、図９で説明したようにして、制御点Ｑ1およびＱ2が求められ、その制御点Ｑ1およびＱ2、さらには、制御点Ｐ1およびＰ2で特定される３次のベジェ曲線が、３次元形状を構成する枠線として求められる。
【０１６６】
ここで、このようにして求められる枠線としてのベジェ曲線は、頂点Ｐ1における枠線の法線ベクトルと、頂点Ｐ2における枠線の法線ベクトルを、補間用ベクトルとして、細分割処理を行った場合に得られる補間線に一致する。
【０１６７】
図２０に戻り、ステップＳ１５において、入力部１１が追加操作ではなく、頂点の座標およびその頂点における枠線の法線ベクトルの入力を終了するように操作されたと判定された場合、ステップＳ１６に進み、データ処理部１２は、いままでに求められた枠線によって形成される曲面（３次元形状を構成する曲面）が求められる。即ち、例えば、図２２で説明したようにして、枠線Ｐ1Ｐ2，Ｐ3Ｐ4，Ｐ1Ｐ3，Ｐ2Ｐ4が求められている場合においては、ステップＳ１６において、図２４に示すような、枠線Ｐ1Ｐ2，Ｐ3Ｐ4，Ｐ1Ｐ3，Ｐ2Ｐ4で囲まれる曲面Ｓが求められる。
【０１６８】
そして、ステップＳ１７に進み、データ処理部１２は、分割用データベース１３に記憶されている各頂点について、枠線補間用法線ベクトルと曲面補間用法線ベクトルを算出する。即ち、データ処理部１２は、分割用データベース１３に記憶されている各頂点における枠線の法線ベクトルを、そのまま、それぞれの頂点における枠線補間用法線ベクトルとする。従って、ある頂点における枠線補間用法線ベクトルは（頂点における枠線の法線ベクトルも）、図２３で説明したことから、その頂点を含む所定の平面に、その頂点と他の頂点とを結ぶ線分を投影した線が、枠線としてのベジェ曲線（図２３で説明したようにして求められるベジェ曲線）と接する場合の、所定の平面の法線方向のベクトルとなる。
【０１６９】
さらに、データ処理部１２は、ステップＳ１７において、分割用データベース１３に記憶されている各頂点における、ステップＳ１６で求めた曲面の法線ベクトルを求め、それぞれの頂点における曲面補間用法線ベクトルとし、分割用データベース１３に供給して記憶させる。なお、曲面補間用法線ベクトルは、ポリゴンのシェーディングを行う場合に用いられる法線ベクトルに一致する。
【０１７０】
ここで、細分割処理において、枠線補間用法線ベクトルまたは曲面補間用法線ベクトルのうちの、曲面補間用法線ベクトルのみを用いて、頂点間の補間線を求めた場合には、例えば、図２５（Ａ）に示すように、補間線が、ステップＳ１４で求められた曲線（枠線）には一致せず、折れ曲がることがある。これに対して、枠線補間用法線ベクトルを用いて、頂点間の補間線を求めた場合には、例えば、図２５（Ｂ）に示すような、ステップＳ１４で求められた曲線（枠線）に一致する滑らかな補間線が得られる。
【０１７１】
データ処理部１２は、ステップＳ１７において、枠線補間用法線ベクトルおよび曲面補間用法線ベクトルを求めると、ステップＳ１８に進み、ベクトル統合処理を行う。
【０１７２】
即ち、１の頂点と、それに隣接する他の頂点とを結ぶ線分を、曲面補間用法線ベクトルに垂直な平面であって、１の頂点を通る平面に正射影したものの方向と、１の頂点を通る、実現しようとする３次元形状に沿った曲線（枠線）の、その１の頂点における接線方向（枠線方向）とのずれが大きいと、上述したように、補間線が折れ曲がるが、このずれ量は、枠線補間用法線ベクトルと曲面補間用法線ベクトルとの差分に反映される。
【０１７３】
一方、上述のずれ量は、０（ほとんど０の場合も含む）になることが多く（ずれ量が大きくなるのは、例えば、上述したように、回転軸を中心に平面形状を回転することで構成される円柱などの回転体や、それに近い３次元形状を実現しようとする場合である）、この場合、枠線補間用法線ベクトルと曲面補間用法線ベクトルとは一致（ほぼ一致）する。このように一致するベクトルを、枠線補間用法線ベクトルと曲面補間用法線ベクトルとに分けて、別々に、分割用ポリゴンデータとするのは冗長である。
【０１７４】
そこで、分割用ポリゴンデータのデータ量を低減するために、ステップＳ１８では、同一の頂点における枠線補間用法線ベクトルと、曲面補間用法線ベクトルとを比較し、それらが一致（ほぼ一致）する場合には、その枠線補間用法線ベクトルと、曲面補間用法線ベクトルとを、１のベクトルに統合するベクトル統合処理が行われる。ここで、枠線補間用法線ベクトルと、曲面補間用法線ベクトルとが完全に一致する場合、ステップＳ１８では、例えば、そのうちのいずれか１のベクトルが選択され、それがベクトル統合処理結果とされる。また、枠線補間用法線ベクトルと、曲面補間用法線ベクトルとがほぼ一致する場合、ステップＳ１８では、例えば、それらの平均値が求められ、それがベクトル統合結果とされる。ベクトル統合処理結果は、分割用データベース１３に記憶されている、そのベクトル統合処理の対象となった枠線補間用法線ベクトルおよび曲面補間用法線ベクトルに替えて書き込まれる。なお、同一の頂点における枠線補間用法線ベクトルと、曲面補間用法線ベクトルとが一致しない場合には、それらは、分割用データベース１３に記憶された状態のままとされる。
【０１７５】
データ処理部１２は、ステップＳ１８において、分割用データベース１３に記憶されたすべての頂点に対して、ベクトル統合処理を施すと、ステップＳ１９に進み、分割用データベース１３の記憶内容に基づいて、分割用ポリゴンデータを構成し、分割用ポリゴンデータ生成処理を終了する。
【０１７６】
ここで、図２６は、ステップＳ１９で構成される分割用ポリゴンデータのフォーマットを示している。
【０１７７】
分割用ポリゴンデータは、例えば、図２６（Ａ）に示すように、Ｉ個の参照用データ＃１乃至＃Ｉに続いて、Ｉ個のポリゴンデータ＃１乃至＃Ｉが順次配置されて構成されている。
【０１７８】
ここで、ポリゴンデータ＃ｉ（ｉ＝１，２，・・・，Ｉ）は、例えば、図２０の分割用ポリゴンデータ生成処理において、図２４に示したような曲面Ｓが作成されるごとに、その曲面Ｓを構成する四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3について生成される。従って、図２６（Ａ）は、３次元形状が、Ｉ個のポリゴンから構成される場合の分割用ポリゴンデータを示している。
【０１７９】
ポリゴンデータ＃ｉは、図２６（Ｂ）に示すように、そのポリゴン＃ｉを構成する頂点の座標（ｐｘ1，ｐｙ1，ｐｚ1），（ｐｘ2，ｐｙ2，ｐｚ2），（ｐｘ3，ｐｙ3，ｐｚ3），・・・、各頂点における枠線補間用法線ベクトルまたは曲面補間用法線ベクトルとなる法線ベクトル（ｎｘ1，ｎｙ1，ｎｚ1），（ｎｘ2，ｎｙ2，ｎｚ2），（ｎｘ3，ｎｙ3，ｎｚ3）、その他のデータから構成されている。ポリゴンデータ＃ｉに配置された頂点の座標、および法線ベクトルには、それらを特定するためのインデックスが付されている。なお、図２６（Ｂ）の実施の形態では、インデックスとして、シーケンシャルな数字が、頂点の座標および法線ベクトルに、実際に付されているが、インデックスは、頂点の座標、法線ベクトルに対して、それが配置されている順番に、シーケンシャルな数字を割り当てることとして、ポリゴンデータ＃ｉの中に書き込まないようにすることも可能である。
【０１８０】
参照用データ＃ｉは、ポリゴンデータ＃ｉを参照するときに用いられるデータで、例えば、図２６（Ｃ）に示すように、そのポリゴン＃ｉを構成する頂点の数としての頂点数と、各頂点についての参照用データとから構成されている。従って、ポリゴン＃ｉの頂点がＪ個ある場合には、頂点についての参照用データは、Ｊ個配置される。頂点＃ｊ（ｊ＝１，２，・・・，Ｊ）についての参照用データは、例えば、図２６（Ｄ）に示すように、頂点＃ｊの座標のインデックス、その頂点における枠線補間用法線ベクトルＡ，Ｂのインデックス、その頂点における曲面補間用法線ベクトルのインデックスが、順次配置されて構成されている。
【０１８１】
頂点＃ｊの座標のインデックスとして、例えば、１が配置されている場合、参照用データ＃ｉに対応するポリゴンデータ＃ｉにおいて、インデックス「１」が割り当てられている座標（ｐｘ1，ｐｙ1，ｐｚ1）が、頂点＃ｊの座標ということになる。
【０１８２】
また、例えば、枠線補間用法線ベクトルＡのインデックスとして、例えば、１が配置されている場合、参照用データ＃ｉに対応するポリゴンデータ＃ｉにおいて、インデックス「１」が割り当てられている法線ベクトル（ｎｘ1，ｎｙ1，ｎｚ1）が、頂点＃ｊにおける枠線補間用法線ベクトルＡということになる。
【０１８３】
さらに、例えば、枠線補間用法線ベクトルＢのインデックスとして、例えば、２が配置されている場合、参照用データ＃ｉに対応するポリゴンデータ＃ｉにおいて、インデックス「２」が割り当てられている法線ベクトル（ｎｘ2，ｎｙ2，ｎｚ2）が、頂点＃ｊにおける枠線補間用法線ベクトルＢということになる。
【０１８４】
また、例えば、曲面補間用法線ベクトルのインデックスとして、例えば、３が配置されている場合、参照用データ＃ｉに対応するポリゴンデータ＃ｉにおいて、インデックス「３」が割り当てられている法線ベクトル（ｎｘ3，ｎｙ3，ｎｚ3）が、頂点＃ｊにおける曲面補間用法線ベクトルということになる。
【０１８５】
ここで、１の頂点＃ｊにおける枠線補間用法線ベクトルが、ベクトルＡとＢとの２つあるのは、次のような理由による。即ち、上述したような分割用ポリゴンデータ生成処理において生成される、例えば、図２４に示した曲面Ｓを構成する四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3の各頂点Ｐ1乃至Ｐ4においては、いずれも、方向の異なる２つ曲線（枠線）が交差するが、この２つの曲線についての法線ベクトルが、曲面補間用法線ベクトルとして与えられるためである。
【０１８６】
また、上述の場合においては、枠線補間用法線ベクトルＡ，Ｂ、曲面補間用法線ベクトルそれぞれに対して、異なるインデックスを与えるようにしたが、図２０のステップＳ１８において、例えば、枠線補間用法線ベクトルＡ，Ｂ、曲面補間用法線ベクトルが一致し、１のベクトルに統合された場合においては、枠線補間用法線ベクトルＡ，Ｂ、曲面補間用法線ベクトルのいずれにに対しても、その統合された１のベクトルに割り当てられているインデックスが与えられる。即ち、例えば、枠線補間用法線ベクトルＡ，Ｂ、曲面補間用法線ベクトルが、いずれも（ｎｘ1，ｎｙ1，ｎｚ1）で表される場合には、枠線補間用法線ベクトルＡ，Ｂ、曲面補間用法線ベクトルのインデックスは、いずれも、法線ベクトル（ｎｘ1，ｎｙ1，ｎｚ1）に割り当てられているインデックスである１とされる（この場合、法線ベクトル（ｎｘ1，ｎｙ1，ｎｚ1）は、枠線補間用法線ベクトルＡ，Ｂ、曲面補間用法線ベクトルについてのベクトル統合処理結果（図２０のステップＳ１８）である）。また、この場合、ポリゴンデータ＃ｉに、法線ベクトルとして配置されるのは、ベクトル（ｎｘ1，ｎｙ1，ｎｚ1）だけになる。
【０１８７】
なお、図２０の分割用ポリゴンデータ生成処理では、制作者に、頂点の座標およびその頂点における枠線の法線ベクトルを入力してもらい、それらから、枠線となる曲線を求め、その曲線どうしを交差させることで、３次元形状を定義していくようにしたが、３次元形状は、例えば、次のようにして構成することも可能である。
【０１８８】
即ち、まず、実現しようとする３次元形状について、実際に測定を行い、３次元空間における各頂点の座標と、各頂点における３次元形状の法線ベクトル、即ち、曲面補間用法線ベクトルとを求め、これを、制作者によって、データ処理部１２に入力してもらう。データ処理部１２には、頂点における曲線補間用法線ベクトルを、その頂点において交差する２つの枠線それぞれについての枠線補間用法線ベクトルＡ，Ｂとみなして、枠線となる曲線を求めさせて表示させる。そして、その表示された枠線のうち、折れ曲がっている（歪んでいる）ものについては、曲線補間用法線ベクトルと等しくなっている枠線補間用法線ベクトルＡ，Ｂを、枠線が滑らかになるように、制作者によって補正してもらう。この場合、図２０のステップＳ１７およびＳ１８の処理は行わずに済むようになる。
【０１８９】
次に、データ提供装置１では、分割用ポリゴンデータ生成処理（図２０）が行われ、図２６に示したような分割用ポリゴンデータが、分割用データベース１３に記憶されると、分割処理部１４において、分割用データベース１３から分割用ポリゴンデータが読み出され、細分割処理が行われる。
【０１９０】
そこで、図２７のフローチャートを参照して、分割処理部１４において行われる、ポリゴンに対する細分割処理について説明する。
【０１９１】
なお、ここでは、例えば、図２８に示すような四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3の横方向または縦方向を、それぞれＭまたはＮ分割し、これにより、Ｍ×Ｎ個の四角形のサブポリゴンを構成するものとする（ここでは、図２８の四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3の、例えば、線分Ｐ1Ｐ2（またはＰ3Ｐ4）の方向を横方向と、線分Ｐ1Ｐ3（またはＰ2Ｐ4）の方向を縦方向とする）。
【０１９２】
また、四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3の頂点Ｐi（ｉ＝１，２，３，４）における曲面用法線ベクトルをｎiと表すとともに、その頂点Ｐiにおける横方向の枠線についての枠線補間用法線ベクトルをＡiと表し、縦方向の枠線についての枠線補間用法線ベクトルをＢiと表す。
【０１９３】
この場合、細分割処理では、まず最初に、ステップＳ２１において、枠線Ｐ1Ｐ2の分割処理が行われる。即ち、ステップＳ２１では、頂点Ｐ1とＰ2との間に、Ｍ−１個の補間点Ｐ12が設定され、さらに、そのＭ−１個の補間点Ｐ12それぞれにおける曲面補間用法線ベクトルｎ12が求められる。
【０１９４】
そして、ステップＳ２２に進み、枠線Ｐ3Ｐ4の分割処理が行われる。即ち、ステップＳ２２では、頂点Ｐ3とＰ4との間に、Ｍ−１個の補間点Ｐ34が設定され、さらに、そのＭ−１個の補間点Ｐ34それぞれにおける曲面補間用法線ベクトルｎ34が求められる。
【０１９５】
その後、ステップＳ２３，Ｓ２４に順次進み、枠線Ｐ1Ｐ3の分割処理、枠線Ｐ2Ｐ4の分割処理が行われる。即ち、ステップＳ２３では、頂点Ｐ1と頂点Ｐ3との間に、Ｎ−１個の補間点Ｐ13が設定され、さらに、そのＮ−１個の補間点Ｐ13それぞれにおける曲面補間用法線ベクトルｎ13が求められる。また、ステップＳ２４では、頂点Ｐ2と頂点Ｐ4との間に、Ｎ−１個の補間点Ｐ24が設定され、さらに、そのＮ−１個の補間点Ｐ24それぞれにおける曲面補間用法線ベクトルｎ24が求められる。
【０１９６】
そして、ステップＳ２５に進み、四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3のポリゴン内部の分割処理が行われる。即ち、ステップＳ２５では、Ｍ−１個の補間点Ｐ12と、Ｍ−１個の補間点Ｐ34との対応するものどうしそれぞれの間に、Ｎ−１個の補間点、つまり、全部で、（Ｍ−１）×（Ｎ−１）個の補間点Ｐ1234が設定され、その（Ｍ−１）×（Ｎ−１）個の補間点Ｐ1234それぞれにおける曲面補間用法線ベクトルｎ1234が求められる。
【０１９７】
その後、ステップＳ２６に進み、ステップＳ２１乃至Ｓ２５で求められた補間点Ｐ12，Ｐ34，Ｐ13，Ｐ24，Ｐ1234に基づいて、四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3が、Ｍ×Ｎ個の四角形のサブポリゴンに分割され、細分割処理を終了する。
【０１９８】
例えば、いま、図２８に示す四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3を、２×２個の四角形のサブポリゴンに分割するものとすると（従って、Ｍ＝Ｎ＝１）、図２７のステップＳ２１では、枠線Ｐ1Ｐ2に一致する補間線が、頂点Ｐ1およびＰ2の座標、並びに枠線補間用法線ベクトルＡ1およびＡ2を用いて、図９の制御点算出処理を行うことで求められる。さらに、ステップＳ２１では、その補間線Ｐ1Ｐ2を表すベジェ曲線の式（１）に、パラメータｔとして、例えば、０．５を代入することで、図２９に示すように、補間線Ｐ1Ｐ2上の１点である補間点Ｐ12が求められる。また、ステップＳ２１では、頂点Ｐ1またはＰ2それぞれにおける曲面補間用法線ベクトルｎ1またはｎ2から、図１６で説明したようにして、補間点Ｐ12における曲面補間用法線ベクトルｎ12も求められる。
【０１９９】
ステップＳ２２においても、頂点Ｐ3およびＰ4を対象に、ステップＳ２１における場合と同様の処理が行われ、これにより、図２９に示すように、補間線Ｐ3Ｐ4上の１点である補間点Ｐ34が求められるとともに、その補間点Ｐ34における曲面補間用法線ベクトルｎ34が求められる。
【０２００】
さらに、ステップＳ２３では、枠線Ｐ1Ｐ3に一致する補間線が、頂点Ｐ1およびＰ3の座標、並びに枠線補間用法線ベクトルＢ1およびＢ3を用いて、図９の制御点算出処理を行うことで求められる。さらに、ステップＳ２３では、その補間線Ｐ1Ｐ3を表すベジェ曲線の式（１）に、パラメータｔとして、例えば，０．５を代入することで、図３０に示すように、補間線Ｐ1Ｐ3の１点である補間点Ｐ13が求められる。また、ステップＳ２３では、頂点Ｐ1またはＰ3それぞれにおける曲面補間用法線ベクトルｎ1またはｎ3から、図１６で説明したようにして、補間点Ｐ13における曲面補間用法線ベクトルｎ13も求められる。
【０２０１】
ステップＳ２４においても、頂点Ｐ2およびＰ4を対象に、ステップＳ２３における場合と同様の処理が行われ、これにより、図３０に示すように、補間線Ｐ2Ｐ4上の１点である補間点Ｐ24が求められるとともに、その補間点Ｐ24における曲面補間用法線ベクトルｎ24が求められる。
【０２０２】
そして、ステップＳ２５では、補間線Ｐ1Ｐ2上の補間点と、補間線Ｐ3Ｐ4上の補間点との対応する補間どうしの間を補間する補間線が求められ、その補間線上に、補間線Ｐ1Ｐ3（または補間線Ｐ2Ｐ4）上に設定された補間点と同一の数の補間点が設定される。即ち、いまの場合、図３１に示すように、補間点Ｐ12とＰ34との間を補間する補間線Ｐ12Ｐ34が、補間点Ｐ12およびＰ34の座標、並びに曲面補間用法線ベクトルｎ12，ｎ34を用いて、図９の制御点算出処理を行うことで求められる。さらに、その補間線Ｐ12Ｐ34を表すベジェ曲線の式（１）に、パラメータｔとして、例えば、０．５を代入することで、図３１に示すように、補間線Ｐ12Ｐ34上の１点である補間点Ｐ1234が求められる。また、補間点Ｐ12またはＰ34それぞれにおける曲面補間用法線ベクトルｎ12またはｎ34から、図１６で説明したようにして、補間点Ｐ1234における曲面補間用法線ベクトルｎ1234が求められる。
【０２０３】
そして、ステップＳ２６では、ステップＳ２１乃至Ｓ２５で求められた補間点Ｐ12，Ｐ34，Ｐ13，Ｐ24，Ｐ1234に基づいて、四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3が、２×２個の四角形のサブポリゴンに分割される。即ち、図２８に示した四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3は、図３２に示すように、４つの四角形のサブポリゴンＰ1Ｐ12Ｐ1234Ｐ13，Ｐ12Ｐ2Ｐ24Ｐ1234，Ｐ1234Ｐ24Ｐ4Ｐ34，Ｐ13Ｐ1234Ｐ34Ｐ3に分割され、これにより、四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3だけの場合に比較して滑らかな３次元形状が実現される。
【０２０４】
なお、上述の場合においては、ステップＳ２５において、補間線Ｐ1Ｐ2上の補間点と、補間線Ｐ3Ｐ4上の補間点との対応する補間どうしの間を補間する補間線を求め、その補間線上に、補間線Ｐ1Ｐ3（または補間線Ｐ2Ｐ4）上に設定された補間点と同一の数の補間点を設定するようにしたが、その他、例えば、補間線Ｐ1Ｐ3上の補間点と、補間線Ｐ2Ｐ4上の補間点との対応する補間どうしの間を補間する補間線を求め、その補間線上に、補間線Ｐ1Ｐ2（または補間線Ｐ3Ｐ4）上に設定された補間点と同一の数の補間点を設定するようにしても良い。
【０２０５】
即ち、例えば、図２８に示した四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3を、２×２個の四角形のサブポリゴンに分割する場合には、ステップＳ２５において、図３３に示すように、補間点Ｐ13とＰ24との間を補間する補間線Ｐ13Ｐ24を、補間点Ｐ13およびＰ24の座標、並びに曲面補間用法線ベクトルｎ13，ｎ24を用いて、図９の制御点算出処理を行うことで求めるようにする。さらに、ステップＳ２５において、補間線Ｐ13Ｐ24を表すベジェ曲線の式（１）に、パラメータｔとして、例えば、０．５を代入することで、補間線Ｐ12Ｐ34上の１点である補間点Ｐ1324を求め、補間点Ｐ13またはＰ24それぞれにおける曲面補間用法線ベクトルｎ13またはｎ24から、図１６で説明したようにして、補間点Ｐ1324における曲面補間用法線ベクトルｎ1324を求めるようにする。
【０２０６】
この場合、図２８の四角形ポリゴンＰ1Ｐ2Ｐ4Ｐ3は、４つの四角形のサブポリゴンＰ1Ｐ12Ｐ1324Ｐ13，Ｐ12Ｐ2Ｐ24Ｐ1324，Ｐ1324Ｐ24Ｐ4Ｐ34，Ｐ13Ｐ1324Ｐ34Ｐ3に分割されることになる。
【０２０７】
ここで、ステップＳ２５では、補間点Ｐ1234（図３１）とＰ1324（図３３）の両方を求め、その座標の平均値などで表される点を、最終的な補間点とすることも可能である。この場合、その最終的な補間点における曲面補間用法線ベクトルは、例えば、曲面補間用法線ベクトルｎ1234とｎ1324との平均値などとされる。
【０２０８】
以上のような細分割処理により得られるサブポリゴンは、分割処理部１４からレンダリング部１５に供給され、レンダリング処理が施されることにより描画される。即ち、レンダリング部１５は、例えば、サブポリゴンについて、シェーディングなどを行い、さらに、画面座標系への変換を行う。なお、サブポリゴンのシェーディングは、各頂点における曲面補間用法線ベクトルを用いて行われる。そして、レンダリング部１５は、テクスチャデータベース１７に記憶されているテクスチャのデータを用いてテクスチャマッピングのためのテクスチャアドレスの計算を行うなどして、表示部１６を構成する各画素の最終的なＲＧＢ値を求め、表示部１６に出力する。これにより、表示部１６では、サブポリゴンで構成される３次元画像が表示される。
【０２０９】
そして、制作者は、表示部１６に表示された３次元画像に問題がなければ、入力部１１を、分割用データベース１３の記憶内容を、送信／記録装置１８に供給するように操作する。これに対応して、分割用データベース１３に記憶された分割用ポリゴンデータは、送信／記録装置１８に供給される。送信／記録装置１８は、分割用ポリゴンデータを受信すると、テクスチャデータベース１７からテクスチャのデータを読み出し、分割用ポリゴンデータと多重化して、伝送媒体２を介して伝送し、あるいは記録媒体３に記録する。
【０２１０】
なお、表示部１６に表示された３次元画像に問題がある場合には、制作者は、入力部１１を操作して、分割用ポリゴンデータを修正する。
【０２１１】
次に、図３４のフローチャートを参照して、図２７のステップＳ２１乃至Ｓ２４における枠線の分割処理について、さらに説明する。なお、ここでは、ポリゴンを構成する１の頂点をＰ1とするとともに、その頂点Ｐ1に隣接する他の頂点をＰ2とする。また、頂点Ｐ1とＰ2との間の枠線Ｐ1Ｐ2についての頂点Ｐ1またはＰ2における枠線補間用法線ベクトルをＡ1またはＡ2とそれぞれするとともに、頂点Ｐ1またはＰ2における曲面補間用法線ベクトルを、それぞれｎ1またはｎ2とする。
【０２１２】
枠線の分割処理では、まず最初に、ステップＳ３１において、直線（線分）Ｐ1Ｐ2が求められ、ステップＳ３２に進み、直線Ｐ1Ｐ2を、頂点Ｐ1またはＰ2を含む、枠線補間用法線ベクトルＡ1またはＡ2に垂直な平面それぞれに正射影し、それぞれの平面に射影された直線方向の単位ベクトルが求められ、それぞれが、頂点Ｐ1またはＰ2における接線ベクトルとされる。
【０２１３】
そして、ステップＳ３３に進み、頂点Ｐ1またはＰ2における接線ベクトルそれぞれと、直線Ｐ1Ｐ2とのなす角度θ1またはθ2が求められる。その後は、ステップＳ３４，Ｓ３５に順次進み、図９における場合と同様にして、枠線Ｐ1Ｐ2に一致する補間線としての３次のベジェ曲線が求められる。
【０２１４】
即ち、ステップＳ３４では、角度θ1およびθ2、並びに頂点Ｐ1およびＰ2の座標に基づき、制御点Ｐ1またはＰ2から、他の制御点Ｑ1またはＱ2までの距離である制御辺長Ｌ1またはＬ2が、それぞれ求められる。また、ステップＳ３５では、制御辺長Ｌ1またはＬ2から、制御点Ｑ1またはＱ2がそれぞれ求められ、これにより、枠線Ｐ1Ｐ2に一致する補間線としての３次のベジェ曲線が特定される。
【０２１５】
そして、ステップＳ３６，Ｓ３７に順次進み、ベジェ曲線である補間線Ｐ1Ｐ2上に補間点Ｐ12が設定され、その補間点Ｐ12における曲面補間用法線ベクトルｎ12が求められ、枠線の分割処理を終了する。
【０２１６】
即ち、ステップＳ３６では、ベジェ曲線である補間線Ｐ1Ｐ2を表す式（１）の中のパラメータｔに、所定の値が代入されることで、補間点Ｐ12が求められる。さらに、ステップＳ３６では、図１６で説明したようにして、補間線Ｐ1Ｐ2の、補間点Ｐ12における接線ベクトルｓ12が求められるとともに、曲面補間用法線ベクトルｎ1およびｎ2を用いて線形補間を行うことで、図１６で説明したベクトルｎｎ12が求められる。そして、ステップＳ３７において、ベクトルｎｎ12が、図１６で説明したように、接線ベクトルｓ12によって補正され、その補正結果が、補間点Ｐ12における最終的な曲面補間用法線ベクトルｎ12として求められる。
【０２１７】
次に、図３５のフローチャートを参照して、図２７のステップＳ２５におけるポリゴン内部の分割処理について、さらに説明する。なお、ここでは、枠線の分割処理によって得られた枠線上の１の補間点をＰ1とするとともに、その枠線に対向する枠線上の、補間点Ｐ1に対応する補間点をＰ2とする。また、補間点Ｐ1またはＰ2を求めるための枠線の分割処理において、補間点Ｐ1およびＰ2とともに求められた、それぞれにおける曲面補間用法線ベクトルを、ｎ1またはｎ2とする。
【０２１８】
ポリゴン内部の分割処理では、ステップＳ４２において、枠線補間用法線ベクトルではなく、曲面補間用法線ベクトルｎ1またはｎ2を用いて、補間点Ｐ1またはＰ2それぞれにおける接線ベクトルが求められることを除けば、ステップＳ４１乃至Ｓ４７において、図３４のステップＳ３１乃至Ｓ３７における場合とそれぞれ同様の処理が行われ、補間点Ｐ1とＰ2との間を補間する補間線としてのベジェ曲線上の点である補間点と、その補間点における曲面補間用法線ベクトルｎ12が求められる。
【０２１９】
以上のように、頂点が、枠線補間用法線ベクトルおよび曲面補間用法線ベクトルの両方を有する場合には、細分割処理を施す元のポリゴンの頂点どうしの間を補間する補間点は、枠線補間用法線ベクトルを用いて求められ、補間点どうしの間を補間する補間点は、曲面補間用法線ベクトルを用いて求められる。但し、上述したような補間線（枠線）の折れ曲がりが問題とならない場合には、頂点が、枠線補間用法線ベクトルおよび曲面補間用法線ベクトルの両方を有していても、曲面補間用法線ベクトルのみを用いて、補間点を求めるようにしても良い。
【０２２０】
以上のような細分割処理によれば、大まかなポリゴンについての分割用ポリゴンデータから、滑らかな３次元形状を構成するサブポリゴンを生成することができる。
【０２２１】
即ち、例えば、図３６に示す立方体は、その６面を構成する６つの四角形（正方形）のポリゴンから構成されるが、この６つの四角形ポリゴンに対して細分割処理を施さずに、そのまま描画を行った場合には、例えば、図３７に示すような立方体が得られる。これに対して、６つの四角形ポリゴンの各頂点に、図３６に示すような、立方体の重心から放射状に延びるベクトルを、補間用ベクトル（曲面補間用法線ベクトル）として与えておき、細分割処理を施した場合には、例えば、図３８に示すような球が得られる。なお、図３８では（後述する図４０乃至図４２についても同様）、１の四角形ポリゴンを、５×５のサブポリゴンに分割している。
【０２２２】
さらに、６つの四角形ポリゴンの各頂点に与える補間用ベクトルを、図３６に示したものから、例えば、図３９の側面図に示すように傾けたものにすることにより、６つの四角形ポリゴンは、細分割処理を施すことによって、同図に点線で示すような歪んだ球を構成するサブポリゴンに分割される。即ち、立方体を構成する６つの四角形ポリゴンに与える補間用ベクトルを変えるだけで、図４０や図４１に示すような、いわば卵形の３次元形状を得ることができる。
【０２２３】
ここで、図３８、図４０、および図４１に示した３次元形状は、曲面補間用法線ベクトルだけを補間用ベクトルとして用いることで実現することができる。
【０２２４】
また、図３６に示す立方体を構成する６つの四角形ポリゴンのうち、円柱の側面を構成するものの頂点には、その四角形ポリゴンの法線ベクトルを、枠線補間用法線ベクトルおよび曲面補間用法線ベクトルとして与えておき、円柱の底面である円を構成する四角形ポリゴンの頂点には、その円の中心から放射状に延びる方向のベクトルを枠線補間用法線ベクトルとして与えるとともに、その円（の面）の法線方向のベクトルを曲面補間用法線ベクトルとして与えておくことで、細分割処理によって、例えば、図４２に示すような円柱を実現することができる。
【０２２５】
以上のように、細分割処理によれば、大まかなポリゴンについての分割用ポリゴンデータから、滑らかな３次元形状を構成するサブポリゴンを生成することができるので、制作者は、３次元形状について、詳細なパラメータを設定しなくても、複雑な３次元形状を構成することが可能となる。
【０２２６】
次に、図４３のフローチャートを参照して、図３のユーザ端末４の処理について説明する。
【０２２７】
ユーザ端末４では、受信／再生装置２１において、伝送媒体２を介して伝送されてくるデータが受信され、または記録媒体３に記録されたデータが再生され、そのうちの分割用ポリゴンデータは分割用データベース２２に供給されて記憶され、テクスチャのデータはテクスチャデータベース２７に供給されて記憶される。
【０２２８】
分割用データベース２２に記憶された分割用ポリゴンデータは、ジオメトリ処理部２３によって、例えば、１フレーム単位で読み出され、ジオメトリ処理部２３は、ステップＳ５１において、その分割用ポリゴンデータに対して、ユーザによる入力部２８の操作に対応したジオメトリ処理（視点に応じた座標変換など）を施し、分割処理部２４に供給する。分割処理部２４では、ステップＳ５２において、データ提供装置１の分割処理部１４における場合と同様にして、分割用ポリゴンデータに対して細分割処理が施され、その結果得られるサブポリゴンが、レンダリング部２５に供給される。レンダリング部２５は、ステップＳ５３において、分割処理部１４からのサブポリゴンを透視変換（透視投影変換）し、ステップＳ５４に進む。ステップＳ５４では、レンダリング部２５において、その変換後のデータに対して、輝度計算（シェーディング（例えば、グーローシェーディングやフォーンシェーディングなど））を施し、さらに、テクスチャアドレスの計算などを行うことで、各画素のＲＧＢ値が求められる。そして、ステップＳ５５では、レンダリング部２５において、各画素のＲＧＢ値が、図示せぬフレームバッファに書き込まれ、次のフレームについての分割用ポリゴンデータが、分割用データベース２２から読み出されるのを待って、ステップＳ５１に戻る。なお、フレームバッファに書き込まれたＲＧＢ値としての３次元画像は、所定のタイミングで読み出され、表示部２６において表示される。
【０２２９】
従って、ユーザ端末４でも、データ提供装置１における場合と同様に、大まかなポリゴンについての分割用ポリゴンデータから、滑らかな３次元形状を構成するサブポリゴンを生成することができる。
【０２３０】
次に、図４４は、ユーザ端末４が、例えば、ビデオゲーム機である場合の構成例を示している。なお、ユーザ端末４が、ビデオゲーム機である場合においては、ユーザ端末４に対しては、データ提供装置１から伝送媒体２または記録媒体３を介して、３次元画像を表示するためのデータの他、ゲームのプログラム（コンピュータプログラム）なども提供されるようになされている。
【０２３１】
このビデオゲーム機は、各ブロックにおいてデータをやりとりするためのバスとして、メインバス１０１およびサブバス１０２の２種類のバスを有しており、このメインバス１０１とサブバス１０２とは、バスコントローラ１１６を介して接続されている。
【０２３２】
メインバス１０１には、バスコントローラ１１６の他、例えばマイクロプロセッサなどからなるメインＣＰＵ（Central Processing Unit）１１１、例えばＲＡＭ（Random Access Memory）などでなるメインメモリ１１２、メインＤＭＡＣ（Direct Memory Access Controller）１１３、ＭＤＥＣ（MPEG（Moving Picture Experts Group） Decoder）、およびＧＰＵ（Graphic Processor Unit）１１５が接続されている。
【０２３３】
サブバス１０２には、バスコントローラ１１６の他、ＧＰＵ１１５、例えばメインＣＰＵ１１１と同様に構成されるサブＣＰＵ１２１、例えばメインメモリ１１２と同様に構成されるサブメモリ１２２、サブＤＭＡＣ１２３、オペレーティングシステムなどが格納されたＲＯＭ（Read Only Memory）１２４、ＳＰＵ（Sound Processing Unit）１２５、ＡＴＭ（Asynchronous Transmission Mode）通信部１２６、補助記憶装置１２７、および入力デバイス用Ｉ／Ｆ（Interface）１２８が接続されている。
【０２３４】
なお、ここでは、メインバス１０１では、高速でデータのやりとりが行われるようになされており、サブバス１０２では、低速でデータのやりとりが行われるようになされている。即ち、低速でやりとりが可能なデータについては、サブバス１０２を用いることで、メインバス１０１の高速性を確保するようになされている。
【０２３５】
バスコントローラ１１６は、メインバス１０１とサブバス１０２とを切り離したり、メインバス１０１にサブバス１０２を接続したりするようになされている。メインバス１０１とサブバス１０２とが切り離された場合、メインバス１０１上からは、メインバス１０１に接続されたデバイスのみにしかアクセスできず、また、サブバス１０２上からも、サブバスに接続されたデバイスのみにしかアクセスすることができないが、メインバス１０１にサブバス１０２が接続された場合には、メインバス１０１およびサブバス１０２のいずれからであっても、いずれのデバイスにもアクセスすることができる。なお、例えば、装置の電源がオンにされた直後などの初期状態においては、バスコントローラ１１６はオープン状態になっている（メインバス１０１とサブバス１０２とが接続された状態となっている）。
【０２３６】
メインＣＰＵ１１１は、メインメモリ１１２に記憶されたプログラムにしたがって各種の処理を行うようになされている。即ち、メインＣＰＵ１１１は、例えば、装置が起動されると、バスコントローラ１１６を介して、サブバス１０２上にある（サブバス１０２に接続された）ＲＯＭ１２４からブートプログラムを読み出して実行する。これにより、メインＣＰＵ１１１は、補助記憶装置１２７からアプリケーションプログラム（ここでは、ゲームのプログラムや、上述の細分割処理などを行うためのプログラム）および必要なデータを、メインメモリ１１２やサブメモリ１１２にロードさせる。そして、メインＣＰＵ１１１は、このようにしてメインメモリ１１２にロードさせたプログラムを実行する。
【０２３７】
メインＣＰＵ１１１は、ＧＴＥ（Geometry Transfer Engine）１１７を内蔵しており、このＧＴＥ１１７は、例えば複数の演算を並列に実行する並列演算機構を備え、メインＣＰＵ１１１からの要求に応じて、座標変換などのジオメトリ処理のための演算処理を高速に行うようになされている。このように、ＧＴＥ１１７は、メインＣＰＵ１１１からの要求にしたがった処理（ジオメトリ処理）を行うことにより、表示すべき３次元画像を構成するポリゴンのデータを生成し、メインＣＰＵ１１１に供給する。メインＣＰＵ１１１は、ＧＴＥ１１７からポリゴンデータを受信すると、メインバス１０１を介して、ＧＰＵ１１５に転送する。
【０２３８】
なお、メインＣＰＵ１１１は、キャッシュメモリ（Cache）１１９を内蔵しており、メインメモリ１１２にアクセスする代わりに、このキャッシュメモリ１１９にアクセスすることで、処理の高速化を図るようになされている。
【０２３９】
メインメモリ１１２は、上述したように、プログラムなどを記憶する他、メインＣＰＵ１１１の処理上必要なデータなどを記憶するようにもなされている。メインＤＭＡＣ１１３は、メインバス１０１上のデバイスを対象に、ＤＭＡ転送の制御を行うようになされている。但し、バスコントローラ１１６がオープン状態にあるときは、メインＤＭＡＣ１１３は、サブバス１０２上のデバイスをも対象として制御を行うようになされている。ＭＤＥＣ１１４は、メインＣＰＵ１１１と並列に動作可能なＩ／Ｏデバイスで、画像伸張エンジンとして機能するようになされている。即ち、ＭＤＥＣ１１４は、ＭＰＥＧ符号化されて圧縮された画像データを復号化するようになされている。
【０２４０】
ＧＰＵ１１５は、レンダリングプロセッサとして機能するようになされている。即ち、ＧＰＵ１１５は、メインＣＰＵ１１１から送信されてくる、分割用ポリゴンデータを含むデータを受信し、細分割処理を行うことで、サブポリゴンに分割するようになされている。また、ＧＰＵ１１５は、サブポリゴンを透視投影変換することにより、２次元平面（画面座標系）上のデータにし、さらに、サブポリゴンの頂点の色データ（上述しなかったが、色データも、分割用ポリゴンデータに含まれている）と、その奥行き（視点からの深さ）を示すＺ値などに基づいて、ポリゴンを構成する画素データを計算し、グラフィックメモリ１１８に書き込む（描画する）ようになされている。そして、ＧＰＵ１１５は、グラフィックメモリ１１８に書き込んだ画素データを読み出し、ビデオ信号として出力するようにもなされている。なお、ＧＰＵ１１５は、必要に応じて、メインＤＭＡＣ１１３、あるいはサブバス１０２上のデバイスからも分割用ポリゴンデータを受信し、そデータにしたがって、同様の処理を行うようになされている。
【０２４１】
グラフィックメモリ１１８は、例えば、ＤＲＡＭなどで構成され、図４５に示すように、フレームメモリ１４１，Ｚバッファ１４２、およびテクスチャメモリ１４３を有している。フレームメモリ１４１は、画面に表示する画素データを、例えば、１フレーム分だけ記憶するようになされている。Ｚバッファ１４２は、画面に表示する画像の中の最も手前にあるポリゴンのＺ値を記憶するようになされており、例えば、１フレーム分のＺ値を記憶することのできる記憶容量を有している。テクスチャメモリ１４３は、ポリゴンに貼り付けるテクスチャのデータを記憶するようになされている。
【０２４２】
ここで、ＧＰＵ１１５は、これらのフレームメモリ１４１，Ｚバッファ１４２、およびテクスチャメモリ１４３を用いて処理を行うようになされている。即ち、ＧＰＵ１１５は、Ｚバッファ１４２に、３次元画像を構成するサブポリゴンのうちの、最も手前にあるもののＺ値を記憶させ、このＺバッファ１４２の記憶値に基づいて、フレームバッファ１４１に、画素データ（ＲＧＢ値）の描画を行うかどうかを決定する。そして、画素データを描画する場合には、テクスチャメモリ１４３からテクスチャのデータを読み出し、そのデータを用いて、描画すべき画素データを求めて、フレームメモリ１４１に描画するようになされている。
【０２４３】
図４４に戻り、サブＣＰＵ１２１は、サブメモリ１２２に記憶されたプログラムを読み出して実行することにより、各種の処理を行うようになされている。サブメモリ１２２には、メインメモリ１１２と同様に、プログラムや必要なデータが記憶されるようになされている。サブＤＭＡＣ１２３は、サブバス１０２上のデバイスを対象として、ＤＭＡ転送の制御を行うようになされている。なお、サブＤＭＡＣ１２３は、バスコントローラ１１６がクローズ状態にあるとき（メインバス１０１とサブバス１０２とが切り離されている状態にあるとき）のみ、バス権を獲得するようになされている。ＲＯＭ１２４は、上述したようにブートプログラムや、オペレーティングシステムなどを記憶している。なお、ＲＯＭ１２４には、メインＣＰＵ１１１およびサブＣＰＵ１２１の両方のプログラムが記憶されている。また、ＲＯＭ１２４は、ここでは、アクセス速度の遅いものが用いられており、そのため、サブバス１０２上に設けられている。
【０２４４】
ＳＰＵ１２５は、サブＣＰＵ１２１またはサブＤＭＡＣ１２３から送信されてくるパケットを受信し、そのパケットに配置されているサウンドコマンドにしたがって、サウンドメモリ１２９から音声データを読み出すようになされている。そして、ＳＰＵ２５は、読み出した音声データを、図示せぬスピーカに供給して出力させるようになされている。ＡＴＭ通信部１２６は、例えば、伝送媒体２を介して行われる通信の制御（ＡＴＭ通信の制御）を行うようになされている。これにより、ビデオゲーム機のユーザは、他のビデオゲーム機のユーザと直接、あるいはデータ提供装置１や、インターネット上のサーバ、さらには、いわゆるパソコン通信のセンタ局などを介してデータのやりとりをすることで対戦することができるようになされている。
【０２４５】
補助記憶装置１２７は、例えば、ディスクドライブなどで、記録媒体３に記録されている情報（プログラム、データ）を再生するようになされている。入力デバイス用Ｉ／Ｆ１２８は、各種の入力を与えるためのコントロールパッド１２８Ａ、および他の装置によって再生された画像または音声などの外部入力を受け付けるためのインターフェイス１２８Ｂまたは１２８Ｃなどで構成され、外部からの入力に応じた信号を、サブバス１０２上に出力するようになされている。サウンドメモリ１２９は、音声データ（オーディオデータ）を記憶している。
【０２４６】
なお、図３のユーザ端末４において、受信／再生装置２１は、図４４のＡＴＭ通信部１２６および補助記憶装置１２７に、分割用データベース２２は、図４４のメインメモリ１１２に、ジオメトリ処理部２３は、図４４のＧＴＥ１１７に、分割処理部２４およびレンダリング部２５は、図４４のＧＰＵ１１５に、テクスチャデータベース２７は、図４５のテクスチャメモリ１４３に、入力部２８は、図４４のコントロールパッド１２８Ａに、それぞれ対応する。
【０２４７】
以上のように構成されるビデオゲーム機においては、装置の電源がオンにされると、メインＣＰＵ１１１において、ブートプログラムがＲＯＭ１２４から読み出されて実行されることにより、ＡＴＭ通信部１２６によって、伝送媒体２を介してプログラムおよびデータが受信され、あるいは、補助記憶装置１２７によって、記録媒体３からプログラムおよびデータが読み出され、メインメモリ１１２およびサブメモリ１２２に展開される。そして、メインＣＰＵ１１１またはサブＣＰＵ１２１それぞれにおいて、メインメモリ１１２またはサブメモリ１２２に展開されたプログラムが実行されることにより、ゲームの画像（ここでは、動画像とする）、音声が再生される。
【０２４８】
即ち、例えば、メインＣＰＵ１１１において、メインメモリ１１２に記憶された分割用ポリゴンデータに対してジオメトリ処理が施され、メインバス１０１を介して、ＧＰＵ１１５に供給される。
【０２４９】
ＧＰＵ１１５は、メインＣＰＵ１１１からの分割用ポリゴンデータを受信すると、細分割処理を行うことで、サブポリゴンに分割する。さらに、ＧＰＵ１１５は、サブポリゴンを透視変換し、その変換後のサブポリゴンを、Ｚバッファ１４２を使用して、フレームメモリ１４１に描画する。フレームメモリ１４１に対する描画結果は、ＧＰＵ１１５において適宜読み出され、ビデオ信号として出力される。これにより、ゲームのための３次元画像が、２次元出力装置としての、例えば、表示部２６（図３）に表示される。
【０２５０】
一方、サブＣＰＵ１２１では、サブメモリ１２２に記憶されたデータにしたがって、音声の生成を指示するサウンドコマンドが生成される。このサウンドコマンドは、パケット化され、サブバス１０２を介して、ＳＰＵ１２５に供給される。ＳＰＵ１２５は、サブＣＰＵ１２１からのサウンドコマンドにしたがって、サウンドメモリ１２９から音声データを読み出して出力する。これにより、ゲームのＢＧＭ（Background Music）その他の音声が出力される。
【０２５１】
以上のように、ポリゴンの頂点の座標と、その頂点における補間用ベクトルとから、その頂点と、他の頂点との間を補間する補間線を求め、その補間線上にある補間点を、サブポリゴンの頂点として求めるようにしたので、ある程度の大まかなポリゴンについてのデータを与えるだけで、滑らかな３次元形状を実現することができる。
【０２５２】
さらに、滑らかな３次元形状を、大まかなポリゴンについてのデータ、即ち、少ないデータで実現することができるので、例えば、インターネット上に構築されているＷＷＷ（World Wide Web）などにおいて、３次元画像を提供する場合には、データの保存および伝送の効率化を図ることができる。即ち、分割用ポリゴンデータは、伝送媒体２や記録媒体３として、比較的容量の小さなものを用いて、ユーザ端末４に提供することができる。
【０２５３】
また、例えば、３次元画像のリアルタイム表示が重要なビデオゲーム機や、その他のグラフィックスシステムでは、処理効率の観点から、視点に近い３次元形状を細かく表示するとともに、視点から遠い３次元形状を粗く表示して、必要最小限のポリゴンを処理することが行われる。その際、３次元形状を、どの程度細かくするか（または粗くするか）という、３次元形状の細かさ（粗さ）のレベルは、レベルオブディテール（ＬＯＤ（Level of Detail））と呼ばれるが、細分割処理を行うときのポリゴンの分割数を、ＬＯＤに応じて決めるようにすることで、適切な細かさ（粗さ）の３次元形状の表示を行うことが可能となる。
【０２５４】
また、ポリゴンで構成される３次元形状の拡大を行う場合に、細分割処理を行い、ポリゴンを、拡大率に応じた数のサブポリゴンに分割することで、拡大により、３次元形状が粗くなるのを防止することが可能となる。即ち、この場合、拡大率によらず、一定の滑らかさの３次元形状を提供することが可能となる。
【０２５５】
さらに、分割用ポリゴンデータ生成処理によって得られる分割用ポリゴンデータは、従来より３次元画像の表示に用いられているポリゴンの頂点の座標と、各頂点における法線ベクトル（曲面補間用法線ベクトルは、従来、頂点に与えられている法線ベクトルに一致する）とを含むから、細分割処理を行うことができないような、従来からある低速のビデオゲーム機やその他のグラフィックスシステムにおいても取り扱うことが可能であり、粗くはなるが、３次元形状を表示することができる。
【０２５６】
また、分割用ポリゴンデータは、データ量が少ないので、細分割処理を行う前に、３次元形状の変形や回転のためのジオメトリ処理、さらには、透視変換のためのＺ値での除算（パースペクティブ除算）の前までの処理を行い、細分割処理後に得られるサブポリゴンに対して、透視変換のためのＺ値での除算を施すようにすることで、ジオメトリ処理等における計算量を少なくすることができる。
【０２５７】
さらに、本実施の形態では、補間線は、その補間線が補間する２つの点を通る円または楕円の円弧に等しくなるのが理想的であるとし、そのような補間線を求めるようにしたため、例えば、スプライン曲面やベジェ曲面などで、球や回転体などを表現する場合に比較して、少ないデータで、球や回転体などを構成するポリゴンを表現することができる。
【０２５８】
以上、本発明を適用したデータ提供システムやビデオゲーム機について説明したが、本発明は、その他、画像に特殊効果を与えるエフェクタや、ＣＡＤなどのコンピュータグラフィックス処理を行う装置などにも適用可能である。さらに、本発明は、例えば、ビデオカメラなどで撮影した自然画を符号化して記録再生し、または送受信する記録再生装置または伝送装置などにも適用可能である。即ち、分割用ポリゴンデータ生成処理は、ビデオカメラなどで撮影した自然画を、ポリゴンで表現するような符号化処理に適用することができ、細分割処理は、そのような符号化によって得られる分割用ポリゴンデータを、元の自然画に復号する復号処理に適用することができる。
【０２５９】
なお、本発明は、動画像および静止画像のいずれの描画にも適用可能である。
【０２６０】
さらに、本実施の形態では、３次元グラフィックスを対象としたが、本発明は、その他、例えば、２次元グラフィックスにも適用可能である。即ち、本発明によれば、例えば、円や楕円の円弧を形成することができるような幾つかの点（少なくとも２つ）と、それらの点における補間用ベクトルとを与えるだけで、円や楕円の作図を容易に行うことができる。そして、この場合に得られる曲線の曲率は、図１０乃至図１３から分かるように滑らかに変化するので、曲線としても、滑らかに変化するものを得ることができる。
【０２６１】
また、細分割処理によるポリゴンの分割数は、上述したように、ＬＯＤや拡大率によって決める他、例えば、細分割処理を行うハードウェアの処理能力によって決めたり、あるいは、乱数を用いてランダムに決めたりすることが可能である。ポリゴンの分割数を、細分割処理を行うハードウェアの処理能力によって決める場合には、その処理能力に適した滑らかさの３次元形状を表示することができる。一方、ポリゴンの分割数を、ランダムに決める場合には、３次元形状の表面に現れる模様（ポリゴンどうしの境界線によって構成される模様）を、ランダムに変化させることができる。
【０２６２】
さらに、本実施の形態では、補間線は、その補間線が補間する２つの点を通る円または楕円の円弧に等しくなるのが理想的であるとし、そのような補間線を求めるようにしたが、補間線は、そのようなものに限定されるものではない。即ち、補間線としては、例えば、その補間線が補間する２つの点を通る、実現しようとする３次元形状に沿った曲線（枠線）との自乗誤差が最小になるようなものを求めるようにしても良い。
【０２６３】
また、本実施の形態では、ｃｏｓθ’を、式（１０）に示したように近似するようにしたが、ｃｏｓθ’は、そのような近似を行わずに、正確に求めるようにすることも可能である。また、本実施の形態では、θ1，θ2から３次のベジェ曲線の制御辺長比Ｌ1／Ｋ，Ｌ2／Ｋを計算により求めるようにしたが、この計算を高速化するために、（θ1，θ2）から（Ｌ1／Ｋ，Ｌ2／Ｋ）への離散化された対応表を作っておき、この対応表を用いてＬ1／Ｋ，Ｌ2／Ｋを求めることも可能である。
【０２６４】
さらに、本実施の形態では、補間線として、３次のベジェ曲線を採用したが、補間線は、３次以外のベジェ曲線であっても良いし、ベジェ曲線以外のパラメトリックな曲線その他であっても良い。
【０２６５】
また、細分割処理により得られるサブポリゴンで構成される３次元形状が任意の形状でかまわない場合においては、補間用ベクトルとしては、枠線補間用法線ベクトルは必要なく、曲面補間用法線ベクトルだけで足りる。
【０２６６】
さらに、本実施の形態では、頂点における枠線方向を表すベクトルとして、枠線の法線ベクトルを採用したが、頂点における枠線方向を表すベクトルとしては、例えば、上述したように、枠線の接線ベクトルを採用することも可能である。但し、この接線ベクトルは、枠線の法線ベクトルと９０度だけ向きが異なるから、曲面補間用法線ベクトルとも異なることが多く、図２０のステップＳ１８において、１のベクトルに統合されないことが多くなるため、分割量ポリゴンデータのデータ量が増加することとなる。
【０２６７】
また、ユーザ端末４に対しては、上述のような細分割処理を行うためのコンピュータプログラムを、分割用ポリゴンデータとともに、伝送媒体２や記録媒体３を介して提供することができる。同様に、データ提供装置１に対しても、細分割処理や分割用ポリゴンデータ生成処理を行うためのコンピュータプログラムを、光ディスクや、光磁気ディスクその他の記録媒体を介して提供したり、インターネットや衛星回線その他の伝送媒体を介して提供することが可能である。
【０２６８】
また、分割用ポリゴンデータ生成処理や細分割処理は、コンピュータプログラムをプロセッサに実行させることにより行う他、それ専用のハードウェアに行わせることも可能である。
【０２６９】
さらに、本実施の形態では、３次元画像を、ＣＲＴや液晶ディスプレイなどの表示部１６（表示部２６）に表示させるようにしたが、本発明は、その他、例えば、３次元画像をプリンタ（２次元出力装置）によって印刷する場合などにも適用可能である。
【０２７０】
【発明の効果】
請求項１に記載の画像処理装置および請求項２５に記載の画像処理方法、並びに請求項４９に記載のプログラム提供媒体によれば、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、２つの頂点の間を補間する線である補間線が求められ、補間線上の点である補間点が、サブ単位図形の頂点として求められる。従って、大まかな単位図形から、例えば、滑らかな形状を構成するサブ単位図形を得ることが可能となる。
【０２７１】
請求項７４に記載の画像処理装置および請求項９１に記載の画像処理方法、並びに請求項１０８に記載のプログラム提供媒体によれば、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルが生成される。従ってその補間用ベクトルを用いることで、例えば、滑らかな形状を構成することが可能となる。
【０２７２】
請求項１２５に記載のデータ提供媒体によれば、単位図形が入力された場合に、その単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成することにより得られる、頂点における補間用ベクトルと、頂点の座標とが、画像についてのデータとして、少なくとも提供される。従って、その補間用ベクトルおよび頂点の座標を用いることで、例えば、滑らかな形状を構成することが可能となる。
【０２７３】
請求項１３３に記載の画像処理装置によれば、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルが生成される。そして、単位図形の頂点の座標および補間用ベクトルとから、補間線が求められ、補間線上の点である補間点が、サブ単位図形の頂点として求められる。従って、大まかな単位図形から、例えば、滑らかな形状を構成するサブ単位図形を得ることが可能となる。
【図面の簡単な説明】
【図１】本発明を適用したデータ提供システムの一実施の形態の構成例を示す図である。
【図２】図１のデータ提供装置１の構成例を示すブロック図である。
【図３】図１のユーザ端末４の構成例を示すブロック図である。
【図４】補間線の算出方法を説明するための図である。
【図５】角度θ1とθ2とが等しい場合の補間線を示す図である。
【図６】制御辺長Ｌ1およびＬ2の求め方を説明するための図である。
【図７】制御辺長Ｌ1およびＬ2の求め方を説明するための図である。
【図８】角度θ1とθ2とが異なる場合の補間線の求め方を説明するための図である。
【図９】制御点算出処理を説明するためのフローチャートである。
【図１０】補間線を求めたシミュレーション結果を示す図である。
【図１１】補間線を求めたシミュレーション結果を示す図である。
【図１２】補間線を求めたシミュレーション結果を示す図である。
【図１３】補間線を求めたシミュレーション結果を示す図である。
【図１４】３次元形状を構成するポリゴンについての補間線の求め方を説明するための図である。
【図１５】細分割処理を説明するための図である。
【図１６】サブポリゴンの頂点における法線ベクトルの求め方を説明するための図である。
【図１７】細分割処理において、頂点における法線ベクトルだけを補間用ベクトルとして用いた場合の不具合を説明するための図である。
【図１８】細分割処理において、頂点における法線ベクトルだけを補間用ベクトルとして用いた場合の不具合を説明するための図である。
【図１９】補間用ベクトルとして、曲線補間用法線ベクトルおよび枠線補間用法線ベクトルの両方を採用した場合の細分割処理を説明するための図である。
【図２０】分割用ポリゴンデータ生成処理を説明するためのフローチャートである。
【図２１】図２０のステップＳ１４の処理を説明するための図である。
【図２２】３次元形状を構成する枠線としてのベジェ曲線が、順次描かれていく様子を示す図である。
【図２３】枠線補間用法線ベクトル（枠線の法線ベクトル）を説明するための図である。
【図２４】図２０のステップＳ１６の処理を説明するための図である。
【図２５】枠線補間用法線ベクトルを用いて得られる補間線と、曲面補間用法線ベクトルを用いて得られる補間線とを示す図である。
【図２６】分割用ポリゴンデータのフォーマットを示す図である。
【図２７】細分割処理を説明するためのフローチャートである。
【図２８】細分割処理を説明するための図である。
【図２９】図２７のステップＳ２１およびＳ２２の処理を説明するための図である。
【図３０】図２７のステップＳ２３およびＳ２４の処理を説明するための図である。
【図３１】図２７のステップＳ２５の処理を説明するための図である。
【図３２】図２７のステップＳ２６の処理を説明するための図である。
【図３３】図２７のステップＳ２５の処理を説明するための図である。
【図３４】枠線の分割処理を説明するためのフローチャートである。
【図３５】ポリゴン内部の分割処理を説明するためのフローチャートである。
【図３６】細分割処理の対象としての立方体を構成するポリゴンを示す図である。
【図３７】図３６のポリゴンに対して細分割処理を施さなかった場合の描画結果を示すディスプレー上に表示した中間調画像の写真である。
【図３８】図３６のポリゴンに対して細分割処理を施した場合の描画結果を示すディスプレー上に表示した中間調画像の写真である。
【図３９】細分割処理の対象としての立方体に与える補間用法線ベクトルを変更した状態を示す図である。
【図４０】図３６のポリゴンに対して細分割処理を施した場合の描画結果を示すディスプレー上に表示した中間調画像の写真である。
【図４１】図３６のポリゴンに対して細分割処理を施した場合の描画結果を示すディスプレー上に表示した中間調画像の写真である。
【図４２】図３６のポリゴンに対して細分割処理を施した場合の描画結果を示すディスプレー上に表示した中間調画像の写真である。
【図４３】図３のユーザ端末４の処理を説明するためのフローチャートである。
【図４４】ユーザ端末４がビデオゲーム機として構成されている場合の電気的構成例を示すブロック図である。
【図４５】図４４のグラフィックメモリ１１８の構成例を示すブロック図である。
【符号の説明】
１  データ提供装置，  ２  伝送媒体，  ３  記録媒体，  ４  ユーザ端末，１１  入力部，  １２  データ処理部，  １２Ａ  メモリ，  １３  分割用データベース，  １４  分割処理部，  １５  レンダリング部，  １６  表示部，１７  テクスチャデータベース，  １８  送信／記録装置，  ２１  受信／再生装置，  ２２  分割用データベース，  ２３  ジオメトリ処理部，  ２４  分割処理部，  ２５  レンダリング部，  ２６  表示部，  ２７  テクスチャデータベース，  ２８  入力部，  １０１  メインバス，  １０２  サブバス，  １１１  メインＣＰＵ，  １１２  メインメモリ，  １１３  メインＤＭＡＣ，  １１４  ＭＤＥＣ，  １１５  ＧＰＵ，  １１６  バスコントローラ，  １１７ＧＴＥ，  １１８  グラフィックメモリ，  １１９  キャッシュメモリ，  １２１  サブＣＰＵ，  １２２  サブメモリ，  １２３  サブＤＭＡＣ，  １２４ＲＯＭ，  １２５  ＳＰＵ，  １２６  ＡＴＭ通信部，  １２７  補助記憶装置，  １２８  入力デバイス用Ｉ／Ｆ，  １２９  サウンドメモリ，  １４１  フレームバッファ，  １４２  Ｚバッファ，  １４３  テクスチャメモリ
【図１】
0003705923.tif 000004
【図２】
0003705923.tif 000005
【図３】
0003705923.tif 000006
【図４】
0003705923.tif 000007
【図５】
0003705923.tif 000008
【図６】
0003705923.tif 000009
【図７】
0003705923.tif 000010
【図８】
0003705923.tif 000011
【図９】
0003705923.tif 000012
【図１０】
0003705923.tif 000013
【図１１】
0003705923.tif 000014
【図１２】
0003705923.tif 000015
【図１３】
0003705923.tif 000016
【図１４】
0003705923.tif 000017
【図１５】
0003705923.tif 000018
【図１６】
0003705923.tif 000019
【図１７】
0003705923.tif 000020
【図１８】
0003705923.tif 000021
【図１９】
0003705923.tif 000022
【図２０】
0003705923.tif 000023
【図２１】
0003705923.tif 000024
【図２２】
0003705923.tif 000025
【図２３】
0003705923.tif 000026
【図２４】
0003705923.tif 000027
【図２５】
0003705923.tif 000028
【図２６】
0003705923.tif 000029
【図２７】
0003705923.tif 000030
【図２８】
0003705923.tif 000031
【図２９】
0003705923.tif 000032
【図３０】
0003705923.tif 000033
【図３１】
0003705923.tif 000034
【図３２】
0003705923.tif 000035
【図３３】
0003705923.tif 000036
【図３４】
0003705923.tif 000037
【図３５】
0003705923.tif 000038
【図３６】
0003705923.tif 000039
【図３７】
0003705923.tif 000040
【図３８】
0003705923.tif 000041
【図３９】
0003705923.tif 000042
【図４０】
0003705923.tif 000043
【図４１】
0003705923.tif 000044
【図４２】
0003705923.tif 000045
【図４３】
0003705923.tif 000046
【図４４】
0003705923.tif 000047
【図４５】
0003705923.tif 000048