JP3705923B2 - 画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体 - Google Patents

画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体 Download PDF

Info

Publication number
JP3705923B2
JP3705923B2 JP09706598A JP9706598A JP3705923B2 JP 3705923 B2 JP3705923 B2 JP 3705923B2 JP 09706598 A JP09706598 A JP 09706598A JP 9706598 A JP9706598 A JP 9706598A JP 3705923 B2 JP3705923 B2 JP 3705923B2
Authority
JP
Japan
Prior art keywords
interpolation
vertex
line
vector
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP09706598A
Other languages
English (en)
Other versions
JPH11296686A (ja
Inventor
伸夫 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP09706598A priority Critical patent/JP3705923B2/ja
Priority to US09/286,866 priority patent/US6373491B1/en
Priority to CA002293670A priority patent/CA2293670A1/en
Priority to CNB998009202A priority patent/CN100476882C/zh
Priority to EP99913590A priority patent/EP0996094B1/en
Priority to KR1019997011526A priority patent/KR100586276B1/ko
Priority to AU31670/99A priority patent/AU3167099A/en
Priority to PCT/JP1999/001876 priority patent/WO1999053445A1/ja
Priority to BR9906309-3A priority patent/BR9906309A/pt
Priority to ZA9902636A priority patent/ZA992636B/xx
Priority to CO99021027A priority patent/CO4880830A1/es
Priority to TW088105714A priority patent/TW430772B/zh
Priority to ARP990101639A priority patent/AR018846A1/es
Publication of JPH11296686A publication Critical patent/JPH11296686A/ja
Priority to US09/942,319 priority patent/US7084883B2/en
Application granted granted Critical
Publication of JP3705923B2 publication Critical patent/JP3705923B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/30Polynomial surface description
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/10Intensity circuits

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体に関し、特に、例えば、大まかな形状から、詳細な形状の画像を生成することができるようにする画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体に関する。
【0002】
【従来の技術】
プロセッサやメモリなどの高集積化、高速化等に伴い、従来は困難であった3次元画像のリアルタイム生成が可能となり、これにより、例えば、ビデオゲーム機などにおいては、臨場感のある3次元画像(3次元グラフィックス)の表示が可能となっている。なお、3次元画像を表示する場合においては、多くの場合、その3次元画像を複数のポリゴン(単位図形)に分解し、これらのポリゴンそれぞれを描画することで、3次元画像全体を描画するようになされている。従って、このようにして描画される3次元画像は、ポリゴンの組合せにより定義されているということができる。
【0003】
【発明が解決しようとする課題】
ところで、3次元画像の制作は、例えば、ワイヤーフレームで、3次元形状を構成することなどにより行われるが、ワイヤーフレームを構成するには、3次元形状について、詳細なパラメータを、制作者が設定しなければならず、面倒であった。即ち、3次元形状が複雑になるにつれて、ワイヤーフレームのパラメータも細かに設定する必要があり、面倒であった。
【0004】
本発明は、このような状況に鑑みてなされたものであり、大まかな形状から、詳細な形状の画像を生成することができるようにするものである。
【0005】
【課題を解決するための手段】
請求項1に記載の画像処理装置は、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、2つの頂点の間を補間する線である補間線を求める補間線算出手段と、補間線上の点である補間点を、サブ単位図形の頂点として求める補間点算出手段とを備えることを特徴とする。
【0006】
請求項25に記載の画像処理方法は、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、2つの頂点の間を補間する線である補間線を求める補間線算出ステップと、補間線上の点である補間点を、サブ単位図形の頂点として求める補間点算出ステップとを備えることを特徴とする。
【0007】
請求項49に記載のプログラム提供媒体は、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、2つの頂点の間を補間する線である補間線を求める補間線算出ステップと、補間線上の点である補間点を、サブ単位図形の頂点として求める補間点算出ステップとを備えるコンピュータプログラムを提供することを特徴とする。
【0008】
請求項74に記載の画像処理装置は、単位図形を入力するときに操作される操作手段と、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成手段とを備えることを特徴とする。
【0009】
請求項91に記載の画像処理方法は、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成ステップを備えることを特徴とする。
【0010】
請求項108に記載のプログラム提供媒体は、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成ステップを備えるコンピュータプログラムを提供することを特徴とする。
【0011】
請求項125に記載のデータ提供媒体は、単位図形が入力された場合に、その単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成することにより得られる、頂点における補間用ベクトルと、頂点の座標とを、画像についてのデータとして、少なくとも提供することを特徴とする。
【0012】
請求項133に記載の画像処理装置は、提供装置が、単位図形を入力するときに操作される操作手段と、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成手段とを有し、クライアント装置が、単位図形の頂点の座標および補間用ベクトルとから、補間線を求める補間線算出手段と、補間線上の点である補間点を、サブ単位図形の頂点として求める補間点算出手段とを有することを特徴とする。
【0013】
請求項1に記載の画像処理装置においては、補間線算出手段は、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、2つの頂点の間を補間する線である補間線を求め、補間点算出手段は、補間線上の点である補間点を、サブ単位図形の頂点として求めるようになされている。
【0014】
請求項25に記載の画像処理方法においては、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、2つの頂点の間を補間する線である補間線を求め、補間線上の点である補間点を、サブ単位図形の頂点として求めるようになされている。
【0015】
請求項49に記載のプログラム提供媒体においては、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、2つの頂点の間を補間する線である補間線を求め、補間線上の点である補間点を、サブ単位図形の頂点として求めるコンピュータプログラムを提供するようになされている。
【0016】
請求項74に記載の画像処理装置においては、操作手段は、単位図形を入力するときに操作され、補間用ベクトル生成手段は、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成するようになされている。
【0017】
請求項91に記載の画像処理方法においては、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成するようになされている。
【0018】
請求項108に記載のプログラム提供媒体においては、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成するコンピュータプログラムを提供するようになされている。
【0019】
請求項125に記載のデータ提供媒体においては、単位図形が入力された場合に、その単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成することにより得られる、頂点における補間用ベクトルと、頂点の座標とを、画像についてのデータとして、少なくとも提供するようになされている。
【0020】
請求項133に記載の画像処理装置においては、操作手段は、単位図形を入力するときに操作され、補間用ベクトル生成手段は、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成するようになされている。補間線算出手段は、単位図形の頂点の座標および補間用ベクトルとから、補間線を求め、補間点算出手段は、補間線上の点である補間点を、サブ単位図形の頂点として求めるようになされている。
【0021】
【発明の実施の形態】
以下に、本発明の実施の形態を説明するが、その前に、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態(但し、一例)を付加して、本発明の特徴を記述すると、次のようになる。
【0022】
即ち、請求項1に記載の画像処理装置は、単位図形の組合せにより定義される画像を処理することにより、単位図形を、複数のサブ単位図形に分割する画像処理装置であって、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、2つの頂点の間を補間する線である補間線を求める補間線算出手段(例えば、図34に示すプログラムの処理ステップS31乃至S35や、図35に示すプログラムの処理ステップS41乃至45など)と、補間線上の点である補間点を、サブ単位図形の頂点として求める補間点算出手段(例えば、図34に示すプログラムの処理ステップS36や、図35に示すプログラムの処理ステップS46など)とを備えることを特徴とする。
【0023】
請求項3に記載の画像処理装置は、第1の補間線上の補間点における補間用ベクトルを、第1および第2の頂点における補間用ベクトルから求めるとともに、第2の補間線上の補間点における補間用ベクトルを、第3および第4の頂点における補間用ベクトルから求める補間用ベクトル算出手段(例えば、図34に示すプログラムの処理ステップS36など)をさらに備え、補間線算出手段が、第1および第2の補間線上の補間点における補間用ベクトルと、その補間点の座標とから、第5の補間線を求めることを特徴とする。
【0024】
請求項14に記載の画像処理装置は、補間点における、その補間点と他の補間点との間を補間する線を求めるのに用いる補間用ベクトルを、頂点における補間用ベクトルから求める補間用ベクトル算出手段(例えば、図34に示すプログラムの処理ステップS36など)をさらに備えることを特徴とする。
【0025】
請求項16に記載の画像処理装置は、補間用ベクトル算出手段によって求められた補間点における補間用ベクトルを補正する補正手段(例えば、図34に示すプログラムの処理ステップS37など)をさらに備えることを特徴とする。
【0026】
請求項18に記載の画像処理装置は、画像が、3次元画像であり、サブ単位図形をレンダリングするレンダリング手段(例えば、図3に示すレンダリング部25など)をさらに備えることを特徴とする。
【0027】
請求項21に記載の画像処理装置は、画像が、3次元画像であり、補間線算出手段が、ベジェ曲線である補間線が補間する1の頂点と他の頂点とを結ぶ直線と、その直線を、1の頂点または他の頂点を含む平面であって、1の頂点または他の頂点における補間用ベクトルに垂直な平面に投影したものそれぞれとがなす第1または第2の角度を求める角度算出手段(例えば、図34に示すプログラムの処理ステップS31乃至S33など)と、第1および第2の角度に基づいて、1の頂点または他の頂点から、ベジェ曲線の第1または第2の制御点までの距離である第1または第2の制御辺長をそれぞれ求める距離算出手段(例えば、図34に示すプログラムの処理ステップS34など)と、第1または第2の制御辺長に基づいて、第1または第2の制御点をそれぞれ求めることにより、1の頂点と、他の頂点との間を補間する補間線としてのベジェ曲線を求めるベジェ曲線算出手段(例えば、図34に示すプログラムの処理ステップS35など)とを有することを特徴とする。
【0028】
請求項22に記載の画像処理装置は、単位図形の頂点の座標および補間用ベクトルが記録媒体に記録されている場合に、その記録媒体から、頂点の座標および補間用ベクトルを再生する再生手段(例えば、図3に示す受信/再生装置21など)をさらに備えることを特徴とする。
【0029】
請求項23に記載の画像処理装置は、単位図形の頂点の座標および補間用ベクトルが伝送路を介して伝送されてくる場合に、その伝送路を介して伝送されてくる頂点の座標および補間用ベクトルを受信する受信手段(例えば、図3に示す受信/再生装置21など)をさらに備えることを特徴とする。
【0030】
請求項24に記載の画像処理装置は、画像が、3次元画像であり、所定の入力を与えるときに操作される操作手段(例えば、図3に示す入力部28など)と、単位図形に関するデータを、記録媒体から読み込み、そのデータに対して、操作手段からの入力に対応するジオメトリ処理を施すジオメトリ処理手段(例えば、図3に示すジオメトリ処理部23など)と、ジオメトリ処理後の単位図形を分割して得られるサブ単位図形を、2次元出力装置の座標系のものに変換する変換手段(例えば、図3に示すレンダリング部25など)と、変換手段によって変換されたサブ単位図形をレンダリングするレンダリング手段(例えば、図3に示すレンダリング部25など)とをさらに備えることを特徴とする。
【0031】
請求項74に記載の画像処理装置は、単位図形の組合せにより定義される画像を処理する画像処理装置であって、単位図形を入力するときに操作される操作手段(例えば、図2に示す入力部11など)と、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成手段(例えば、図2に示すデータ処理部12など)と、単位図形の頂点の座標および補間用ベクトルを提供するための提供手段(例えば、図2に示す送信/記録装置18など)とを備えることを特徴とする。
【0032】
請求項82に記載の画像処理装置は、単位図形を、頂点の座標および補間用ベクトルに基づいて、複数のサブ単位図形に分割する分割手段(例えば、図2に示す分割処理部14など)と、サブ単位図形をレンダリングするレンダリング手段(例えば、図2に示すレンダリング部15など)とをさらに備えることを特徴する。
【0033】
請求項83に記載の画像処理装置は、分割手段が、頂点の座標および補間用ベクトルに基づいて、補間線を求める補間線算出手段(例えば、図34に示すプログラムの処理ステップS31乃至S35や、図35に示すプログラムの処理ステップS41乃至S45など)と、補間線上の点である補間点を、サブ単位図形の頂点として求める補間点算出手段(例えば、図34に示すプログラムの処理ステップS36や、図35に示すプログラムの処理ステップS46など)とを有することを特徴とする。
【0034】
請求項84に記載の画像処理装置は、分割手段が、補間点における、その補間点と他の補間点との間を補間する線を求めるのに用いる補間用ベクトルを、頂点における補間用ベクトルから求める補間用ベクトル算出手段(例えば、図34に示すプログラムの処理ステップS36など)をさらに有することを特徴とする。
【0035】
請求項86に記載の画像処理装置は、分割手段が、補間用ベクトル算出手段によって求められた補間点における補間用ベクトルを補正する補正手段(例えば、図34に示すプログラムの処理ステップS37など)をさらに有することを特徴とする。
【0036】
請求項90に記載の画像処理装置は、画像が、3次元画像であり、補間線算出手段が、ベジェ曲線である補間線が補間する1の頂点と他の頂点とを結ぶ直線と、その直線を、1の頂点または他の頂点を含む平面であって、1の頂点または他の頂点における補間用ベクトルに垂直な平面に投影したものそれぞれとがなす第1または第2の角度を求める角度算出手段(例えば、図34に示すプログラムの処理ステップS31乃至S33など)と、第1および第2の角度に基づいて、1の頂点または他の頂点から、ベジェ曲線の第1または第2の制御点までの距離である第1または第2の制御辺長をそれぞれ求める距離算出手段(例えば、図34に示すプログラムの処理ステップS34など)と、第1または第2の制御辺長に基づいて、第1または第2の制御点をそれぞれ求めることにより、1の頂点と、他の頂点との間を補間する補間線としてのベジェ曲線を求めるベジェ曲線算出手段(例えば、図34に示すプログラムの処理ステップS35など)とを有することを特徴とする。
【0037】
請求項133に記載の画像処理装置は、単位図形の組合せにより定義される画像を処理する画像処理装置であって、画像についてのデータを提供する提供装置と、提供装置からのデータの提供を受け、単位図形を、複数のサブ単位図形に分割するクライアント装置とを備え、提供装置が、単位図形を入力するときに操作される操作手段(例えば、図2に示す入力部11など)と、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成手段(例えば、図2に示すデータ処理部12など)と、単位図形の頂点の座標および補間用ベクトルを、クライアント端末に提供する提供手段(例えば、図2に示す送信/記録装置18など)とを有し、クライアント装置が、単位図形の頂点の座標および補間用ベクトルとから、補間線を求める補間線算出手段(例えば、図3に示す分割処理部24など)と、補間線上の点である補間点を、サブ単位図形の頂点として求める補間点算出手段(例えば、図3に示す分割処理部24など)と、サブ単位図形を、2次元出力装置の座標系のものに変換する変換手段(例えば、図3に示すレンダリング部25など)と、変換手段によって変換されたサブ単位図形をレンダリングするレンダリング手段(例えば、図3に示すレンダリング部25など)とを有することを特徴とする。
【0038】
なお、勿論この記載は、各手段を上記したものに限定することを意味するものではない。
【0039】
図1は、本発明を適用したデータ提供システム(システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない)の一実施の形態の構成例を示している。
【0040】
このデータ提供システムにおいては、データ提供装置1側において生成された3次元画像のデータが、ユーザ端末4に提供されるようになされている。
【0041】
即ち、データ提供装置1では、制作者によって、3次元画像のデータ、即ち、3次元形状を構成するポリゴンのデータなどが生成され、例えば、インターネットや、衛星回線、地上波、CATV(Cable Television)網、PSTN(Public Switched Telephone Network),ISDN(Integrated Service Digital Network)などの伝送媒体(伝送路)2を介して送信されることにより、ユーザ端末4に提供される。あるいは、また、データ提供装置1で生成された3次元画像のデータは、光ディスクや、光磁気ディスク、磁気ディスク、磁気テープ、相変化ディスクなどの記録媒体3に記録されることにより、ユーザ端末4に提供される。
【0042】
ユーザ端末4では、データ提供装置1から、上述のようにして提供されるデータが処理され、3次元画像が表示される。
【0043】
図2は、図1のデータ提供装置1の構成例を示している。
【0044】
入力部11は、キーボードやマウス、タブレットなどでなり、3次元形状を構成するポリゴンを作成するためのデータを入力するときや、ポリゴンにマッピングするテクスチャを指定するとき、さらには、必要なコマンドなどを入力するときなどに操作される。ここで、入力部11が操作されることにより入力された3次元形状を構成するポリゴンを作成するためのデータは、データ処理部12に、ポリゴンにマッピングするテクスチャの指定は、レンダリング部15に、コマンドは、必要なブロックに、それぞれ供給されるようになされている。
【0045】
データ処理部12は、入力部11から供給されるポリゴンを作成するためのデータを、必要に応じて、メモリ12Aを用いて処理することにより、3次元空間におけるポリゴンの頂点の座標と、各頂点における、後述するような補間用ベクトルとを生成し、分割用データベース13に供給するようになされている。ここで、ポリゴンの頂点の座標および補間用ベクトルは、後述するポリゴンの分割処理に用いられるので、以下、適宜、両方あわせて、分割用ポリゴンデータという。
【0046】
メモリ12Aは、データ処理部12の処理上必要なデータを一時記憶するようになされている。分割データベース13は、データ処理部12からの分割用ポリゴンデータを一時記憶するようになされている。
【0047】
分割処理部14は、分割データベース13に記憶された分割用ポリゴンデータを読み出し、後述するような分割処理(細分割処理)を施すことで、大まかなポリゴンを、複数の詳細なポリゴン(以下、適宜、サブポリゴンという)に分割し、レンダリング部15に供給するようになされている。
【0048】
レンダリング部15は、分割処理部14からのサブポリゴンに対して、レンダリング処理を施すようになされている。即ち、レンダリング部15は、サブポリゴンに対して、シェーディングのための輝度計算などを行い、さらに、3次元空間におけるポリゴンの座標系を、3次元画像を表示する2次元出力装置としての表示部16の座標系(画面座標系)に変換する。そして、レンダリング部15は、テクスチャデータベース17に記憶されているテクスチャのデータを用いてテクスチャマッピングのためのテクスチャアドレスの計算を行うなどして、表示部16を構成する各画素の最終的なRGB値(R(Red)成分、G(Green)成分、B(Blue)成分の輝度値)を求め、表示部16に出力する。なお、テクスチャマッピングに用いるテクスチャは、例えば、入力部11が操作されることにより指定されるようになされている。
【0049】
表示部16は、例えば、CRT(Cathod Ray Tube)や液晶ディスプレイなどでなり、レンダリング部15からのRGB値に対応する画像を表示するようになされている。テクスチャデータベース17は、テクスチャマッピングに用いるテクスチャのデータを記憶している。送信/記録装置18は、分割用データベース13に記憶された分割用ポリゴンデータを読み出すとともに、テクスチャデータベース17に記憶されたテクスチャのデータを読み出し、伝送媒体2を介して伝送し、または記録媒体3に記録するようになされている。
【0050】
次に、図3は、図1のユーザ端末4の構成例を示している。
【0051】
受信/再生装置21は、伝送媒体2を介して伝送されてくるデータを受信し、または記録媒体3に記録されたデータを再生し、そのうちの分割用ポリゴンデータを分割用データベース22に、テクスチャのデータをテクスチャデータベース27に供給するようになされている。
【0052】
分割用データベース22は、受信/再生装置21からの分割用ポリゴンデータを一時記憶するようになされている。ジオメトリ処理部23は、分割用データベース22に記憶された分割用ポリゴンデータを読み出し、入力部28からの入力に対応したジオメトリ処理、即ち、座標変換や、クリッピング(Clipping)処理等を施して、分割処理部24に供給するようになされている。
【0053】
分割処理部24、またはその出力が供給されるレンダリング部25は、図2のデータ提供装置1を構成する分割処理部14またはレンダリング部15における場合とそれぞれ同様の処理を行うようになされている。表示部26は、図2のデータ提供装置1を構成する表示部16と同様に構成され、レンダリング部25からのRGB値に対応した3次元画像を表示するようになされている。
【0054】
テクスチャデータベース27は、受信/再生装置21からのテクスチャのデータを記憶するようになされている。なお、このテクスチャのデータは、レンダリング部25で行われるテクスチャマッピングに用いられる。
【0055】
入力部28は、例えば、キーボードや、マウス、ジョイスティック、ボタンなどでなり、所定の入力(例えば、特に、視点に関する情報)を入力するときに、ユーザによって操作される。
【0056】
次に、図2のデータ提供装置1および図3のユーザ端末4における処理について説明するが、その前に、図2のデータ提供装置1を構成する分割処理部14および図3のユーザ端末(クライアント端末)4を構成する分割処理部24において行われるポリゴンの分割処理について説明する。
【0057】
3次元画像における3次元形状を、ポリゴンによって表現する場合においては、より細かなポリゴンを用いることで、3次元形状を、より忠実に再現することができる。しかしながら、細かなポリゴンを用いる場合には、3次元形状を表現するポリゴンの数が増加するため、その多くのポリゴンについてのデータをすべて設定しなければならず、面倒であり、さらに、データ量も多くなる。
【0058】
一方、3次元形状を、少ない数のポリゴンで表現する場合においては、設定するデータは少なくて済むが、再現される3次元形状が粗くなり、その結果、3次元画像の品質が劣化する。
【0059】
ここで、一般に行われているポリゴンの分割は、3次元形状を構成する細かなポリゴンの幾つかをあわせて、大きなポリゴンを構成しておき、必要に応じて、その大きなポリゴンと元の細かなポリゴンを選択するものであるため、3次元形状を構成するときに設定しなければならないデータは、3次元形状を、細かなポリゴンで構成する場合と変わらない。
【0060】
分割処理部14および24において行われるポリゴンの分割処理(従来のポリゴン分割と区別するために、以下、適宜、細分割処理ともいう)では、最初から大まかなポリゴンが、滑らかな3次元形状を与えるような詳細な(細かな)ポリゴンに分割されるようになされており、これにより、実現しようとする3次元形状についての詳細なデータを与えなくても、その形状についての、いわば大まかなデータを与えるだけで、微細な3次元形状を得ることができるようになされている。
【0061】
即ち、分割処理部14および24に対しては、分割用ポリゴンデータとして、ポリゴンの頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトル、および頂点の座標が、少なくとも与えられるようになされており、細分割処理では、補間用ベクトルおよび頂点の座標から、2つの頂点の間を補間する線である補間線が求められ、その補間線上の点である補間点が、元のポリゴンを分割するサブポリゴンの頂点として求められるようになされている。
【0062】
ここで、ポリゴンにより構成される3次元画像のデータとしては、一般に、ポリゴンの各頂点の座標が、そのポリゴンの形状を特定するために与えられる。さらに、3次元画像のデータとしては、ポリゴンによって実現しようとする3次元形状を構成する曲面の、ポリゴンの各頂点における法線ベクトルも、シェーディングのために与えられる。
【0063】
そこで、細分割処理では、ポリゴンの各頂点における法線ベクトルを補間用ベクトルとして用い、2つの頂点の間を補間する補間線が求められるようになされている。
【0064】
即ち、いま説明を簡単にするために、図4に示すように、2次元形状を構成するポリゴンの2頂点P1およびP2と、頂点P1,P2それぞれにおける法線ベクトルn1,n2とが与えられているとし、この場合に、頂点P1とP2との間を補間する補間線の算出方法について説明する。
【0065】
なお、本実施の形態においては、補間線は、例えば、その補間線が補間する2つの頂点を通る円または楕円の円弧に等しくなるのが理想的であるとし、そのような補間線を求めることとする。ここで、すべての滑らかな曲線は、微少な円弧(円および楕円の円弧の両方を含む)の連続で近似することができるから、ここでは、円弧を近似することができる関数によって表現される曲線を補間線として採用する。
【0066】
いま、図5に示すように、頂点P1とP2とを通る2次元形状の、頂点P1,P2における接線ベクトルを考え(法線ベクトルn1,n2は、2次元形状に垂直な方向であるので、この法線ベクトルn1,n2から、接線ベクトルを求めることができる)、頂点P1またはP2における接線ベクトルそれぞれと、頂点P1とP2とを結ぶ線分P12とがなす角度を、θ1またはθ2とする。この場合、θ1とθ2とが等しければ、頂点P1とP2の両方を通る円の円弧を、補間線とすることができる。
【0067】
ところで、θ1とθ2とが等しい場合には、頂点P1とP2の両方を通る、例えば円の円弧を、補間線とし、また、θ1とθ2とが幾分異なる場合には、頂点P1とP2の両方を通る、例えば楕円の円弧を、補間線とし、さらに、θ1とθ2とが大きく異なる場合には、頂点P1とP2の両方を通る、例えばスプライン曲線を、補間線とするといったように、θ1とθ2との関係を条件として、補間線とする曲線を選択するのでは、θ1とθ2との関係が変化したときに、補間線が連続的に変化しないことがある。
【0068】
そこで、ここでは、補間線として、θ1とθ2との関係にかかわりなく、一律に例えば、ベジェ(Bezier)曲線を採用する(正確には、BezierにおけるBの後のeの上部には、'が付される)。また、ベジェ曲線の次数は、任意のθ1,θ2を与えることができるように、例えば、3次とする。
【0069】
3次のベジェ曲線は、4つの制御点で特定されるが、そのうちの2つは、ベジェ曲線の始点と終点に一致する。また、残りの2つの制御点は、ベジェ曲線の始点または終点における接線上に1つずつ存在する。
【0070】
一方、頂点P1またはP2における接線ベクトルは、法線ベクトルn1またはn2それぞれに基づいて決まるから、法線ベクトルn1またはn2が与えられていることで、頂点P1またはP2を通るベジェ曲線の接線方向は特定される。また、補間線であるベジェ曲線の始点または終点は、それぞれ、頂点P1またはP2(あるいは、P2またはP1)によって与えられる。従って、頂点P1とP2との間を補間する補間線としての3次のベジェ曲線は、頂点P1またはP2における接線ベクトルそれぞれの方向にある制御点が求まれば、一意に特定される。
【0071】
そこで、いま、図6に示すように、頂点P1における接線ベクトルの方向にある制御点をQ1とするとともに、頂点P2における接線ベクトルの方向にある制御点をQ2として、線分P11の長さL1、および線分P22の長さL2を求めることを考える(以下、適宜、L1,L2を、制御辺長という)。
【0072】
まず、補間線となる3次のベジェ曲線Bは、パラメータt(0≦t≦1)、4つの制御点(の座標)P1,P2,Q1,Q2を用いて次式で表される。
【0073】
B=(1−t)31+3(1−t)2tQ1+3(1−t)t22+t32・・・(1)
【0074】
いま、図6において、θ1=θ2=θとすると、上述のように、ここでは、補間線は円の円弧となるのが理想的であるから、例えば、その円の中心Cを原点にとり、線分P12が、x軸と平行になるように、図6を書き直すと、図7に示すようになる。なお、図7において、Rは、y軸と、補間線となる円の円弧との交点(のy座標)を表し、この交点Rは、式(1)において、t=0.5とすることにより求めることができる。ここで、線分RCは、補間線となる円の円弧の半径であり、いまの場合、中心Cは原点にあるから、円の半径はRである。
【0075】
補間線が円の円弧の場合、制御辺長L1とL2とは等しくなるから、これを、L(=L1=L2)とおくと、図7より、次式が成立する。
【0076】
1y=P2y=Rcosθ,Q1y=Q2y=P1y+Lsinθ・・・(2)
但し、P1y,Q1yは、制御点P1,Q1のy座標を、P2y,Q2yは、制御点P2,Q2のy座標を、それぞれ表す。
【0077】
また、交点Rは、式(1)において、tを0.5とするとともに、P1,P2,Q1,Q2に、式(2)のP1y,P2y,Q1y,Q2yをそれぞれ代入することにより、次式で表される。
【0078】
R=Rcosθ/4+3/4(Rcosθ+Lsinθ)・・・(3)
【0079】
式(2)および(3)を、制御辺長Lについてとき、それを、弦P12の長さ(2Rsinθ)で除算すると、弦P12の長さを1に正規化したときの制御辺長L’(=L/(2Rsinθ))を求めることができ、これは、次式に示すようになる。
【0080】
L’=2/(3(1+cosθ))・・・(4)
【0081】
式(4)により、制御辺長L’が求まった後は、その制御辺長L’と、頂点P1またはP2とを用いることで、制御点Q1またはQ2をそれぞれ求めることができ、従って、補間線としてのベジェ曲線が特定される。
【0082】
以上は、θ1とθ2とが等しい場合であるが、θ1とθ2とが異なる場合も、1軸の拡大/縮小変換を行うことで、θ1とθ2とが等しい場合と同様にして、制御点Q1およびQ2を求めることができる。
【0083】
即ち、θ1とθ2とが異なる場合においては、例えば、図8(A)に示すように、頂点P1,P2、および頂点P1またはP2それぞれにおける接線どうしの交点P’で構成される三角形が不等辺三角形になる(これに対して、図7における場合には、二等辺三角形になっている)が、いま、この不等辺三角形の辺P1P’またはP2P’の長さを、それぞれk1またはk2とする。また、辺P12の長さをKとする。
【0084】
この場合、次式が成立する。
【0085】
1sinθ1=k2sinθ2,k1cosθ1+k2cosθ2=K・・・(5)
なお、Kは、頂点P1およびP2の座標から求めることができる。
【0086】
式(5)を、k1,k2それぞれについて解くと、次式のようになる。
【0087】
Figure 0003705923
【0088】
一方、例えば、図8(B)に示すように、点P2から、直線P1P’におろした垂線をVとして、点P2を、垂線V上を移動し、これにより、三角形P12P’を、例えば、図8(C)に示すように、三角形P12’P’に変形(拡大変換または縮小変換)した場合においては、変形前の三角形P12P’における制御点P2からQ2までの制御辺長L2と、変形後の三角形P12’P’における制御点P2’からQ2’までの制御辺長L2’との比は、変形前の三角形P12P’における辺P2P’の長さk2と、変形後の三角形P12’P’における辺P2’P’の長さk2’の比に等しくなり、その結果、次式が成り立つ。
【0089】
2:k2’=L2:L2’・・・(7)
【0090】
従って、変形後の三角形P12’P’を、辺P1P’の長さと、辺P2’P’の長さが等しい二等辺三角形とすれば(但し、1軸の拡大/縮小変換による変形後の三角形P12’P’を二等辺三角形とするには、θ1とθ2とが、弦P12に対して、同じ側に形成されている必要がある)、式(4)により、制御辺長L2’を求めることができ、さらに、式(6)および(7)から制御辺長L2を求めることができる。即ち、次式により、制御辺長L2を求めることができる。
【0091】
2=K×k2×2×cosθ’×2/(3(1+cosθ’))・・・(8)
【0092】
同様に、制御辺長L1は、次式により求めることができる。
【0093】
1=K×k1×2×cosθ’×2/(3(1+cosθ’))・・・(9)
【0094】
ここで、式(8)および(9)におけるθ’は、変形後の三角形P12’P’における辺P12と辺P2’P’とがなす角度(図8(C)におけるθ2’)(または辺P12と辺P1P’がなす角度(図8(C)におけるθ1’))を表す(θ1=θ2)。
【0095】
以上のようにして、制御辺長L1またはL2が求まった後は、頂点P1またはP2から、制御点Q1またはQ2をそれぞれ求めることができ、これにより、補間線としてのベジェ曲線が特定される。
【0096】
なお、θ’は、縮小変換を数式で表現することにより正確に求めることができるが、本実施の形態では、計算量の増加を低減するため、cosθ’を、次式で表されるsに近似することとする。
【0097】
cosθ’ s=(cosθ1+cosθ2)/2・・・(10)
【0098】
この場合、制御辺長L1,L2は、次式にしたがって求められる。
【0099】
Figure 0003705923
【0100】
次に、図9のフローチャートを参照して、補間線であるベジェ曲線を特定するための制御点Q1およびQ2の算出方法(制御点算出処理)について、さらに説明する。
【0101】
制御点Q1およびQ2の算出にあたっては、まず最初に、ステップS1において、図8(A)に示した三角形P12P’の辺P1P’またはP2P’の長さk1またはk2が、式(6)にしたがって求められ、ステップS2に進む。ステップS2では、三角形P12P’を拡大/縮小変換することにより、図8(C)に示したような二等辺三角形P12’P’に変形したときの底角θ’(=θ1’=θ2’)の余弦(コサイン)の近似値sが、式(10)にしたがって求められ、ステップS3に進む。ステップS3では、式(11)が計算されることにより、制御辺長L1,L2が求められ、これにより、制御点Q1,Q2が求められる。
【0102】
ここで、K=1として、制御点Q1およびQ2を求め、その制御点Q1およびQ2により特定されるベジェ曲線である補間線を求めたシミュレーション結果を、図10乃至図13に示す。なお、図10乃至図13において、(A)は、補間線の曲率半径を、(B)は、補間線の形状を、それぞれ示している。また、図10は、θ1=θ2=18度とした場合を、図11は、θ1=18度、θ2=22度とした場合を、図12は、θ1=28度、θ2=32度とした場合を、図13は、θ1=20度、θ2=60度とした場合を、それぞれ示している。
【0103】
以上は、2次元形状を構成するポリゴンについてであるが、3次元形状を構成するポリゴンについては、その2つの頂点P1またはP2それぞれにおける法線ベクトルn1またはn2どうしが、一般に、互いにねじれの位置にある。そこで、図14に示すように、線分P12と、その線分P12を、頂点P1を含む平面であって、法線ベクトルn1に垂直な平面に投影(正射影)したものとがなす角度を、式(6)および(10)のθ1として採用する。即ち、線分P12を、頂点P1を含む平面であって、法線ベクトルn1に垂直な平面に投影したものの方向の単位ベクトルを、3次元形状の、頂点P1における接線ベクトルとして、その接線ベクトルと、線分P12とがなす角度を、式(6)および(10)のθ1とする。
【0104】
同様に、線分P12と、その線分P12を、頂点P2を含む平面であって、法線ベクトルn2に垂直な平面に投影したものとがなす角度を、式(6)および(10)のθ2として採用する。
【0105】
以下、図9で説明したようにして、制御点Q1およびQ2を求めることで、頂点P1とP2との間を補間する補間線としてのベジェ曲線を求めることができる。この場合、補間線としてのベジェ曲線は、一般に、空間的にねじれた曲線になるが、ふくらみ方が円または楕円に近いものとなるので、結果的には、頂点P1とP2との間を滑らかに補間するものになる。
【0106】
以上のようにして、補間線を求めた後は、細分割処理では、上述したように、その補間線上の点である補間点が、元のポリゴンを分割するサブポリゴンの頂点として求められるが、この補間点は、補間線としてのベジェ曲線を表す式(1)のパラメータtに、適当な値を入力することで求めることができる。
【0107】
ここで、頂点P1とP2との間をM分割する場合には、その間に、M−1個の補間点を設定すれば良く、この場合、パラメータtを、例えば、i/M(i=1,2,・・・,M−1)として、式(1)を計算すれば良い。
【0108】
次に、例えば、図15に示すような、4つの頂点P1乃至P4を有し、線分P12とP34とが対向するとともに、線分P13とP24とが対向する、3次元形状を構成する四角形ポリゴンP1243に対して、細分割処理を施す場合について説明する。
【0109】
いま、頂点P1とP2との間を、例えば、2分割するとすると(この場合、線分P12と対向する頂点P3とP4との間も2分割される)、図9で説明したようにして、頂点P1とP2との間を補間する補間線B12(第1の補間線)が求められるとともに、頂点P3とP4との間を補間する補間線B34(第2の補間線)が求められる。そして、パラメータtを、例えば、0.5として、式(1)を計算することにより、補間線B12またはB34上に、補間点P12またはP34が求められる。
【0110】
これにより、四角形ポリゴンP1243は、四角形ポリゴンP112343とP122434との2つのサブポリゴンに分割される。
【0111】
さらに、頂点P1とP3との間、および頂点P2とP4との間を、例えば、いずれも2分割する場合には、やはり図9で説明したようにして、頂点P1とP3との間を補間する補間線B13(第3の補間線)が求められるとともに、頂点P2とP4との間を補間する補間線B24(第4の補間線)が求められる。そして、パラメータtを、例えば、0.5として、式(1)を計算することにより、補間線B13またはB24上に、補間点P13またはP24が求められる。
【0112】
また、この場合、既にサブポリゴンの頂点として求められている補間点P12とP34との間を補間する補間線B1234(第5の補間線)も、図9で説明したようにして求められる。そして、パラメータtを、例えば、0.5として、式(1)を計算することにより、補間線B1234上に、補間点P1234が求められる。
【0113】
以上により、四角形ポリゴンP1243は、四角形ポリゴンP112123413,P122241234,P123424434、およびP131234343の4つのサブポリゴンに分割される。
【0114】
なお、ここでは、四角形ポリゴンP1243を、2×2(横×縦)のサブポリゴンに分割することとしたが、四角形ポリゴンP1243を、M×Nのサブポリゴンに分割する場合においては、頂点P1とP2との間、および頂点P3とP4との間を、いずれもM分割するとともに、頂点P1とP3との間、および頂点P2とP4との間を、いずれもN分割し、さらに、頂点P1とP2との間をM分割するM−1個の補間点と、頂点P3とP4との間をM分割するM個の補間点の、対応するものどうしの間をN分割すれば良い。但し、四角形ポリゴンP1243を、細分割処理によって、2つのサブポリゴンP112343およびP122434に分割し、その2つのサブポリゴンP112343またはP122434それぞれを、細分割処理によって、さらに2つのサブポリゴンに分割するようなことを繰り返すことにより、四角形ポリゴンP1243を、多くのサブポリゴンに分割することも可能である。
【0115】
ところで、細分割処理では、2つの頂点の間を補間する補間線は、その2つの頂点の座標と法線ベクトルとを用いて求められるから、例えば、図15に示した場合においては、補間点P12とP34との間を補間する補間線B1234を求めるに当たって、補間点P12またはP34それぞれにおける法線ベクトルn12またはn34が必要となる。また、他の補間点との間の補間線が求められない補間点(図15における場合には、補間点P13,P24,P1234)であっても、補間点は、サブポリゴンの頂点となるから、レンダリング処理におけるシェーディングを行うにあたって、法線ベクトルが必要となる。
【0116】
そこで、サブポリゴンの頂点(元のポリゴンの頂点となっているものを除く)における法線ベクトルは、ここでは、例えば、次のようにして求められるようになっている。
【0117】
即ち、頂点P1とP2との間を分割する補間点P12を例にすると、その法線ベクトルn12は、図16に示すように、頂点P1における法線ベクトルn1と、頂点P2における法線ベクトルn2とを用いた線形補間を行うことで求められる。
【0118】
具体的には、補間線B12上の補間点P12を求めるときに、式(1)に代入したパラメータtをTとすると、次式にしたがい、法線ベクトルn1の(1−T)倍と、法線ベクトルn2のT倍との加算値に対応するものの単位ベクトルnn12が求められる。
【0119】
nn12=((1−T)n1+Tn2)/|(1−T)n1+Tn2|・・・(12)
なお、|x|は、ベクトルxのノルムを表す。
【0120】
ここで、式(12)により得られるベクトルnn12は、フォーンシェーディング(Phong Shading)において求められる法線ベクトルに等しい。
【0121】
補間点P12における法線ベクトルn12として、ベクトルnn12をそのまま採用しても良いが、ベクトルnn12は、法線ベクトルn1とn2とを用いての線形補間により得られたものであるから、補間線B12の形状を、忠実に反映しているとは言い難い。そこで、ここでは、ベクトルnn12を、次のように補正し、その補正の結果得られるベクトルを、補間点P12における法線ベクトルn12として採用することとする。
【0122】
即ち、まず、補間点P12における、補間線B12の接線ベクトルs12を求める。ここで、接線ベクトルs12は、式(1)から求めることができる。
【0123】
さらに、次式にしたがい、ベクトルnn12と接線ベクトルs12との外積nn12’を求める。
【0124】
nn12’=nn12×s12・・・(13)
【0125】
そして、接線ベクトルs12とベクトルnn12’との外積を求め、次式に示すように、これを、補間点P12における法線ベクトルn12とする。
【0126】
12=s12×nn12’・・・(14)
ここで、式(13)および(14)における×は、ベクトルの外積を表す。
【0127】
以上のようにして求められる法線ベクトルn12は、ベジェ曲線である補間線B12の形状を忠実に表現するから、これを用いてシェーディング(ハイライト計算等)を行うことで、補間線B12の形状を精度良く反映した輝度分布の画像を得ることが可能となる。
【0128】
以上のように、細分割処理によれば、補間用ベクトルとして法線ベクトルを用い、その法線ベクトルおよび頂点の座標から、2つの頂点の間を補間する補間線が求められ、その補間線上の点である補間点が、元のポリゴンを分割するサブポリゴンの頂点として求められるので、大まかな形状のポリゴンから、微細な3次元形状を構成することができる。
【0129】
なお、ここでは、補間の局所性が保たれているため、即ち、例えば、図15において、頂点P1とP2との間を分割する補間点のいずれの法線ベクトルも、頂点P1における法線ベクトルn1および頂点P2における法線ベクトルn2から求められるため、四角形ポリゴンP1243を分割して得られるサブポリゴンと、辺P12において四角形ポリゴンP1243と接する他のポリゴンを分割して得られるサブポリゴンとは、連続に接続されるので、滑らかな3次元形状を得ることができる。
【0130】
また、上述の場合においては、四角形ポリゴンを対象としたが、細分割処理は、四角形以外の多角形のポリゴンを対象として行うことが可能である。例えば、三角形ポリゴンを対象とする場合には、上述の四角形ポリゴンP1243を構成する頂点P1とP2,P3とP4,P1とP3、またはP2とP4のうちのいずれか1組が同一の頂点となっていると考えることで、三角形ポリゴンに対して、四角形ポリゴンにおける場合と同様に、細分割処理を施すことができる。
【0131】
ここで、細分割処理後のサブポリゴンに対して、テクスチャマッピングを施すには、サブポリゴンの頂点におけるテクスチャ座標が必要となるが、これは、例えば、図16で説明した補間点P12における法線ベクトルnn12を求めるのと同様にして求めることができる。即ち、上述しなかったが、データ提供装置1において生成される3次元画像のデータには、分割用ポリゴンデータおよびテクスチャのデータの他に、元のポリゴンの各頂点におけるテクスチャ座標も含まれており、例えば、頂点P1とP2との間を分割する補間点P12におけるテクスチャ座標は、頂点P1におけるテクスチャ座標と、頂点P2におけるテクスチャ座標とを、補間点P12を求めるのに式(1)に代入したパラメータtに対応する比1−t:tにしたがって加算(線形補間)することで求めることができる。
【0132】
なお、頂点P1とP2との間の補間線B12の形状が偏っている場合(例えば、頂点P1またはP2のうちのいずれか一方に近い部分の曲率半径が大きく、他方に近い部分の曲率半径が小さい場合など)には、上述のような線形補間によって求められたテクスチャ座標を用いてテクスチャマッピングを行うと、テクスチャに歪みが生じることがある。即ち、補間点P12を求めるのに式(1)に代入したパラメータtが、それがとりうる範囲の値のうちの、例えば、中点の値である0.5であるが、補間線B12の形状が偏っているために、補間線B12に沿っての距離が、頂点P1またはP2のうちの、例えば、頂点P1に極端に近い位置に、補間点P12が設定された場合に、線形補間によって求められたテクスチャ座標を用いてテクスチャマッピングを行うと、テクスチャに歪みが生じる。
【0133】
このようなテクスチャの歪みが問題となる場合においては、補間線B12に沿っての線積分を行い、頂点P1またはP2それぞれから補間点P12までの補間線B12に沿っての距離を求め、その距離に応じて、補間点P12におけるテクスチャ座標を線形補間によって求めるときに用いる比を補正するようにすれば良い。即ち、補間点P12におけるテクスチャ座標を線形補間によって求めるときに用いる比を、頂点P1から補間点P12までの補間線B12に沿っての距離と、頂点P2から補間点P12までの補間線B12に沿っての距離との比に近づける(等しくなる)ように補正すれば良い。
【0134】
次に、多くの場合、補間用ベクトルとして、頂点における法線ベクトルを用いて、細分割処理を行うことで、滑らかな3次元形状を実現することができるが、実現しようとする3次元形状によっては、頂点における法線ベクトルだけを、補間用ベクトルとして用いるのでは、不具合が生じることがある。
【0135】
即ち、例えば、回転軸を中心に平面形状を回転することで構成される円柱などの回転体や、それに近い3次元形状などについては、その3次元形状を構成するポリゴンのある頂点aにおける法線ベクトルに垂直な平面に、その頂点aと他の頂点b(但し、頂点bは、頂点aに隣接する頂点)とを結ぶ線分を正射影したものの方向と、頂点aとbとを結ぶ、実現しようとする3次元形状に沿った曲線(以下、適宜、枠線という)の、頂点aにおける接線方向(以下、適宜、枠線方向という)とのずれが大きくなる場合があり、このような場合に、上述したような細分割処理を行うと、頂点aとbとを結ぶ補間線が、いわば折れ曲がった状態となり、特に、テクスチャマッピングを行った場合に、テクスチャが不自然に見える。
【0136】
具体的には、大まかなポリゴンで、例えば、図17(A)に示すような3次元形状を構成しておき、これを、回転軸Yを回転して得られるような3次元形状を実現しようとする場合には、図17(A)の3次元形状を構成する1のポリゴンpの辺1と2との交点である頂点aにおける法線ベクトルAは、ポリゴンpに対してほぼ垂直な方向である斜め上方向のベクトルとなる。この場合、頂点aにおける法線ベクトルに垂直な平面に、その頂点aと、ポリゴンpの他の頂点bとを結ぶ線分ab(辺1)を正射影したものの方向と、頂点aにおける枠線方向とのずれは大きくなる。即ち、いまの場合、法線ベクトルAは、斜め上方向のベクトルであるから、法線ベクトルに垂直な平面に、線分ab(辺1)を正射影したものの方向は、回転軸Yに垂直な平面に対して傾きをもったものとなる。一方、頂点aにおける枠線方向は、回転軸Yを中心として、ポリゴンpを回転した場合に、頂点aの軌跡である円の、頂点aにおける接線方向になるから、回転軸Yに垂直な平面と平行になる。
【0137】
この場合、ポリゴンpに対して、細分割処理を施すと、図17(B)に示すように、頂点aとbとの間を補間する補間線が折れ曲がり、滑らかな3次元形状を構成することが困難となる。
【0138】
また、ポリゴンに細分割処理を施し、それにより得られるサブポリゴンで構成される3次元形状を、特定の形状にする必要がなく、また、上述のような補間線の折れ曲がりが問題とならない場合には、頂点における法線ベクトルだけを、補間用ベクトルとして用いれば足りる。しかしながら、上述のような補間線の折れ曲がりが問題となる場合の他、サブポリゴンで構成される3次元形状を、特定の形状にすることが必要な場合には、頂点における法線ベクトルだけを、補間用ベクトルとして用いるのでは、その特定の形状を実現できないことがある。
【0139】
即ち、例えば、図18に示すように、四角形ポリゴンabdcに対して、細分割処理を施し、これにより、同図に点線で示すような円柱の底面である円Oを構成しようとする場合においては、四角形ポリゴンabdcを、円柱の底面となる円Oを構成するようなサブポリゴンに分割する必要がある。しかしながら、この場合、頂点a乃至dそれぞれにおける法線ベクトルA乃至Dとしては、底面となる円Oに垂直な方向のベクトルが与えられるため、このような法線ベクトルA乃至Dを用いて、細分割処理を行うと、四角形ポリゴンabdcは、辺ab(cd)や辺ac(bd)に平行な方向に分割される。即ち、円Oを構成するようなサブポリゴンには分割されない。
【0140】
これは、図17で説明したことと同様の理由による。即ち、図18では頂点aにおける法線ベクトルAに垂直な平面に、その頂点aと、他の頂点である頂点bとを結ぶ線分を正射影したものの方向は、線分abの方向に一致する。一方、頂点aとbとを結ぶ、実現しようとする3次元形状に沿った曲線、つまり枠線は、円Oを構成する円弧abであり、その円弧abの、頂点aにおける接線方向、つまり枠線方向は、円Oの点aにおける接線の方向である。従って、円柱を構成する四角形ポリゴンabdcの頂点aにおける法線ベクトルAに垂直な平面に、線分abを正射影したものの方向と、頂点aにおける枠線方向とのずれが大きく、このため、四角形ポリゴンabdcは、円Oを構成するようなサブポリゴンには分割されない。即ち、細分割処理によれば、頂点aとbとの間を補間する補間線が、頂点aにおける法線ベクトルAに垂直な平面への、線分abの正射影に接し、かつ頂点bにおける法線ベクトルBに垂直な平面への、線分abの正射影に接するように形成されるのに対して、頂点aとbとを結ぶ、実現しようとする円柱に沿った曲線である枠線が、円弧abであるため、補間線と枠線とが異なり、四角形ポリゴンabdcは、枠線である円O(の円周)を構成するようなサブポリゴンには分割されない(辺ab,cd,ac,bdそれぞれを、そのまま補間線として分割されるだけである)。
【0141】
そこで、ある頂点における補間用ベクトルとして、その頂点における法線ベクトルの他に、その頂点を通る枠線の方向(枠線方向)を表すベクトル(補間線方向ベクトル)を採用する。枠線方向を表すベクトルを、補間用ベクトルとして用い、細分割処理を行った場合においては、補間線が、枠線と一致するように形成されるから(これは、枠線方向を表すベクトルが、それを用いて細分割処理を行った場合に、枠線と一致するような補間線を構成させるものであるからである)、ポリゴンは、実現しようとする3次元形状を構成するようなサブポリゴンに分割される。
【0142】
頂点における枠線方向を表すベクトルとしては、例えば、その枠線の、頂点における接線ベクトル(2次元平面における曲線の傾きに相当する)や、枠線の、頂点における法線ベクトル(枠線の法線ベクトルの定義については、後述する)があるが、ここでは、枠線の法線ベクトルを採用することとする。
【0143】
なお、シェーディングのために与えられる、頂点における法線ベクトル(実現しようとする3次元形状の法線方向のベクトル)を用いて、細分割処理を行った場合には、その法線ベクトルが、実現しようとする3次元形状である曲面の法線方向を向いているために、ポリゴンが、実現しようとする3次元形状である曲面を構成するようなサブポリゴンに分割される。即ち、シェーディングのために与えられる、頂点における法線ベクトルを、補間用ベクトルとして用いて、細分割処理を行った場合には、実現しようとする3次元形状である曲面を、いわば補間するようなサブポリゴンに分割される。そこで、以下、適宜、この法線ベクトルを、曲面補間用法線ベクトルという。
【0144】
一方、枠線の法線ベクトルを用いて、ポリゴンの細分割処理を行った場合には、そのポリゴンを構成する辺が、枠線、つまり、実現しようとする3次元形状である曲面を構成する曲線(曲面に含まれる曲線)を、いわば補間するような辺を有するサブポリゴンに分割される。以下、適宜、この法線ベクトルを、枠線補間用法線ベクトルという。
【0145】
細分割処理によって得られるサブポリゴンによって、例えば、図18に点線で示した円柱を構成させる場合、四角形ポリゴンabdcの頂点a乃至dにおける曲面補間用法線ベクトルは、それぞれ法線ベクトルA乃至Dとなり、頂点a乃至dにおける枠線補間用法線ベクトルは、円Oの中心から、頂点a乃至dに向かって伸ばした直線の方向の単位ベクトルとなる。
【0146】
補間用ベクトルとして、曲線補間用法線ベクトルだけでなく、枠線補間用法線ベクトルも採用した場合においては、細分割処理の対象となる元のポリゴンにおける隣接する頂点の間の補間点(例えば、図15における補間点P12,P34,P13,P24)を求めるときには、枠線補間用法線ベクトルが用いられ、元のポリゴンにおける、いわば内部の補間点(例えば、図15における補間点P1234)を求めるときには、曲面補間用法線ベクトルが用いられる。
【0147】
例えば、図18に示した四角形ポリゴンabdcに対して、このような細分割処理を施した場合には、頂点aとbとの間、頂点bとdとの間、頂点dとcとの間、頂点cとaとの間については、いずれも、枠線補間用法線ベクトルを、補間用ベクトルとして用い、上述したようにして、補間点が求められる。その結果、補間点は、円弧ab,bd,dc,ca上に形成される。また、四角形ポリゴンabdcの内部については、曲面補間用法線ベクトルを、補間用ベクトルとして用い、上述したようにして、補間点が求められる。その結果、補間点は、円Oを含む平面内に形成される。その結果、四角形ポリゴンabdcは、円Oを構成するようなサブポリゴンに分割される。
【0148】
即ち、例えば、四角形ポリゴンabdcを、辺ab(cd)およびac(bd)のいずれの方向にも2分割して、4つのサブポリゴンを生成するような細分割処理を施す場合において、図19(A)に示すように、頂点a乃至dに対して、円Oの中心から頂点a乃至dの方向への枠線補間用法線ベクトルがそれぞれ与えられているとともに、円Oに対して垂直な方向(図19(A)では、図面から垂直な方向に飛び出る方向)の曲面補間用法線ベクトルがそれぞれ与えられているときには、まず、頂点aとbとの間または頂点cとdとの間について、枠線補間用法線ベクトルを、補間用ベクトルとして用いて、円弧abまたはcdがそれぞれ補間線として求められ、図19(B)に示すように、それぞれの補間線上に、補間点eまたはfが設定される。また、頂点aとcとの間または頂点bとdとの間についても、枠線補間用法線ベクトルを、補間用ベクトルとして用いて、円弧acまたはbdがそれぞれ補間線として求められ、図19(C)に示すように、それぞれの補間線上に、補間点gまたはhが設定される。
【0149】
さらに、例えば、補間点eとfとの間(または補間点gとhとの間)について、曲線補間用法線ベクトルを、補間用ベクトルとして用いて、線分efが補間線として求められ、図19(D)に示すように、その補間線上に、補間点iが設定される。その結果、四角形ポリゴンabdcは、図19(D)に示すように、円Oを構成するような4つのサブポリゴンとしての四角形ポリゴンaeig,ebhi,hdfi,fcgiに分割される。
【0150】
以上説明した細分割処理によれば、ポリゴンが、滑らかな3次元形状を与えるような詳細な(細かな)ポリゴンに分割されるので、データ提供装置1では、実現しようとする3次元形状についての詳細なデータを与えなくても、その形状についての大まかなデータを与えるだけで、微細な3次元形状を構成し、ユーザに提供することができる。また、ユーザ端末4側においては、少ないデータから、微細な3次元形状を再現することができる。
【0151】
次に、図2のデータ提供装置1の処理について説明する。
【0152】
データ提供装置1では、制作者によって、入力部11が、3次元形状を構成するように操作されると、細分割処理に用いる分割用ポリゴンデータを生成する分割用ポリゴンデータ生成処理が行われる。
【0153】
そこで、図20のフローチャートを参照して、分割用ポリゴンデータ生成処理について説明する。
【0154】
分割用ポリゴンデータ生成処理では、まず最初に、ステップS11において、3次元形状を構成するポリゴンの頂点の座標(3次元空間における座標)およびその頂点における枠線の法線ベクトル(後述するように、これが、枠線補間用法線ベクトルとされる)の入力が、入力部11からあったかどうかが、データ処理部12によって判定される。
【0155】
ステップS11において、頂点の座標およびその頂点における枠線の法線ベクトルの入力がなかったと判定された場合、ステップS12をスキップして、ステップS13に進む。
【0156】
また、ステップS11において、頂点の座標およびその頂点における枠線の法線ベクトルの入力があったと判定された場合、即ち、制作者が、入力部11を操作することにより、頂点の座標およびその頂点における枠線の法線ベクトルを入力した場合、ステップS12に進み、入力のあった頂点の座標およびその頂点における枠線の法線ベクトルが、メモリ12Aに一時記憶され、ステップS13に進む。
【0157】
ステップS13では、入力部11が、メモリ12Aの記憶内容を、分割用ポリゴンデータとして確定するように操作(以下、適宜、確定操作という)されたかどうかが、データ処理部12によって判定される。ステップS13において、入力部11が確定操作されていないと判定された場合、ステップS11に戻り、以下、同様の処理を繰り返す。
【0158】
また、ステップS13において、入力部11が確定操作されたと判定された場合、ステップS14に進み、データ処理部12は、メモリ12Aの記憶内容を読み出して、分割用データベース13に供給して記憶させる。さらに、データ処理部12は、例えば、入力された順に頂点を通り、かつ各頂点における枠線の法線ベクトルとなす角度が90度の、3次のベジェ曲線を、メモリ12Aの記憶内容に基づいて求め、分割用データベース13、分割処理部14、およびレンダリング部15を介して、表示部16に供給して表示させる。
【0159】
これにより、表示部16においては、例えば、図21に示すような、3次元形状を構成する枠線としてのベジェ曲線(図中、点線で示す)が表示される。
【0160】
その後、ステップS15に進み、頂点の座標およびその頂点における枠線の法線ベクトルの入力を、追加して行うように、入力部11が操作(以下、適宜、追加操作という)されたかどうかが、データ処理部12によって判定される。ステップS15において、入力部11が追加操作されたと判定された場合、メモリ12Aの記憶内容がクリアされ、ステップS11に戻り、以下、ステップS11乃至S15の処理が繰り返されることにより、3次元形状を構成する枠線としてのベジェ曲線が、順次描かれていく。
【0161】
即ち、例えば、制作者が、図22(A)に示すように、頂点P1の座標およびその頂点P1における枠線の法線ベクトル(枠線補間用法線ベクトル)A1、並びに頂点P2の座標およびその頂点P2における枠線の法線ベクトルA2を入力し、入力部11を確定操作すると、データ処理部12は、3次元形状を構成する枠線としてのベジェ曲線P12を求め、表示部16に表示させる。さらに、制作者が、入力部11を追加操作し、例えば、図22(A)に示すように、頂点P3の座標およびその頂点P3における枠線の法線ベクトルA3、並びに頂点P4の座標およびその頂点P4における枠線の法線ベクトルA4を入力して、入力部11を確定操作すると、データ処理部12は、3次元形状を構成する枠線としてのベジェ曲線P34を求め、表示部16に表示させる。
【0162】
その後、制作者が、入力部11を追加操作し、例えば、図22(B)に示すように、頂点P1の座標およびその頂点P1における枠線の法線ベクトル(枠線補間用法線ベクトル)B1、並びに頂点P3の座標およびその頂点P3における枠線の法線ベクトルB3を入力し、入力部11を確定操作すると、データ処理部12は、3次元形状を構成する枠線としてのベジェ曲線P13を求め、表示部16に表示させる。さらに、制作者が、入力部11を追加操作し、例えば、図22(B)に示すように、頂点P2の座標およびその頂点P3における枠線の法線ベクトルB2、並びに頂点P4の座標およびその頂点P4における枠線の法線ベクトルB4を入力して、入力部11を確定操作すると、データ処理部12は、3次元形状を構成する枠線としてのベジェ曲線P24を求め、表示部16に表示させる。
【0163】
ここで、図22において、例えば、頂点P1の枠線の法線ベクトルとしては、ベクトルA1とB1の2つが存在することとなるが、ベクトルA1またはB1は、曲線P12またはP13に対して、それぞれ垂直になっている。同様に、ベクトルA2またはB2は、曲線P12またはP24に対して、ベクトルA3またはB3は、曲線P13またはP34に対して、ベクトルA4またはB4は、曲線P34またはP34に対して、それぞれ垂直になっている。
【0164】
なお、データ処理部12は、ある2つの頂点P1とP2、およびその頂点P1またはP2におけるにおける枠線の法線ベクトルA1またはA2が与えられると、その2つの頂点P1およびP2を通り、かつ法線ベクトルA1またはA2それぞれとなす角度が90度の、3次元形状を構成する枠線としての3次のベジェ曲線P12を、例えば、次のようにして求めるようになされている。
【0165】
即ち、データ処理部12は、図23に示すように、頂点P1を含み、法線ベクトルA1に垂直な平面Rに対して、線分P12を投影(正射影)した線分P1’P2’を求める。同様にして、データ処理部12は、頂点P2を含み、法線ベクトルA2に垂直な平面に対して、線分P12を投影した線分P1’’P2’’(図示せず)を求める。そして、データ処理部12では、頂点P1およびP2の座標、並びに線分P12と線分P1’P2’とがなす角度、および線分P12と線分P1’’P2’’とがなす角度から、図9で説明したようにして、制御点Q1およびQ2が求められ、その制御点Q1およびQ2、さらには、制御点P1およびP2で特定される3次のベジェ曲線が、3次元形状を構成する枠線として求められる。
【0166】
ここで、このようにして求められる枠線としてのベジェ曲線は、頂点P1における枠線の法線ベクトルと、頂点P2における枠線の法線ベクトルを、補間用ベクトルとして、細分割処理を行った場合に得られる補間線に一致する。
【0167】
図20に戻り、ステップS15において、入力部11が追加操作ではなく、頂点の座標およびその頂点における枠線の法線ベクトルの入力を終了するように操作されたと判定された場合、ステップS16に進み、データ処理部12は、いままでに求められた枠線によって形成される曲面(3次元形状を構成する曲面)が求められる。即ち、例えば、図22で説明したようにして、枠線P12,P34,P13,P24が求められている場合においては、ステップS16において、図24に示すような、枠線P12,P34,P13,P24で囲まれる曲面Sが求められる。
【0168】
そして、ステップS17に進み、データ処理部12は、分割用データベース13に記憶されている各頂点について、枠線補間用法線ベクトルと曲面補間用法線ベクトルを算出する。即ち、データ処理部12は、分割用データベース13に記憶されている各頂点における枠線の法線ベクトルを、そのまま、それぞれの頂点における枠線補間用法線ベクトルとする。従って、ある頂点における枠線補間用法線ベクトルは(頂点における枠線の法線ベクトルも)、図23で説明したことから、その頂点を含む所定の平面に、その頂点と他の頂点とを結ぶ線分を投影した線が、枠線としてのベジェ曲線(図23で説明したようにして求められるベジェ曲線)と接する場合の、所定の平面の法線方向のベクトルとなる。
【0169】
さらに、データ処理部12は、ステップS17において、分割用データベース13に記憶されている各頂点における、ステップS16で求めた曲面の法線ベクトルを求め、それぞれの頂点における曲面補間用法線ベクトルとし、分割用データベース13に供給して記憶させる。なお、曲面補間用法線ベクトルは、ポリゴンのシェーディングを行う場合に用いられる法線ベクトルに一致する。
【0170】
ここで、細分割処理において、枠線補間用法線ベクトルまたは曲面補間用法線ベクトルのうちの、曲面補間用法線ベクトルのみを用いて、頂点間の補間線を求めた場合には、例えば、図25(A)に示すように、補間線が、ステップS14で求められた曲線(枠線)には一致せず、折れ曲がることがある。これに対して、枠線補間用法線ベクトルを用いて、頂点間の補間線を求めた場合には、例えば、図25(B)に示すような、ステップS14で求められた曲線(枠線)に一致する滑らかな補間線が得られる。
【0171】
データ処理部12は、ステップS17において、枠線補間用法線ベクトルおよび曲面補間用法線ベクトルを求めると、ステップS18に進み、ベクトル統合処理を行う。
【0172】
即ち、1の頂点と、それに隣接する他の頂点とを結ぶ線分を、曲面補間用法線ベクトルに垂直な平面であって、1の頂点を通る平面に正射影したものの方向と、1の頂点を通る、実現しようとする3次元形状に沿った曲線(枠線)の、その1の頂点における接線方向(枠線方向)とのずれが大きいと、上述したように、補間線が折れ曲がるが、このずれ量は、枠線補間用法線ベクトルと曲面補間用法線ベクトルとの差分に反映される。
【0173】
一方、上述のずれ量は、0(ほとんど0の場合も含む)になることが多く(ずれ量が大きくなるのは、例えば、上述したように、回転軸を中心に平面形状を回転することで構成される円柱などの回転体や、それに近い3次元形状を実現しようとする場合である)、この場合、枠線補間用法線ベクトルと曲面補間用法線ベクトルとは一致(ほぼ一致)する。このように一致するベクトルを、枠線補間用法線ベクトルと曲面補間用法線ベクトルとに分けて、別々に、分割用ポリゴンデータとするのは冗長である。
【0174】
そこで、分割用ポリゴンデータのデータ量を低減するために、ステップS18では、同一の頂点における枠線補間用法線ベクトルと、曲面補間用法線ベクトルとを比較し、それらが一致(ほぼ一致)する場合には、その枠線補間用法線ベクトルと、曲面補間用法線ベクトルとを、1のベクトルに統合するベクトル統合処理が行われる。ここで、枠線補間用法線ベクトルと、曲面補間用法線ベクトルとが完全に一致する場合、ステップS18では、例えば、そのうちのいずれか1のベクトルが選択され、それがベクトル統合処理結果とされる。また、枠線補間用法線ベクトルと、曲面補間用法線ベクトルとがほぼ一致する場合、ステップS18では、例えば、それらの平均値が求められ、それがベクトル統合結果とされる。ベクトル統合処理結果は、分割用データベース13に記憶されている、そのベクトル統合処理の対象となった枠線補間用法線ベクトルおよび曲面補間用法線ベクトルに替えて書き込まれる。なお、同一の頂点における枠線補間用法線ベクトルと、曲面補間用法線ベクトルとが一致しない場合には、それらは、分割用データベース13に記憶された状態のままとされる。
【0175】
データ処理部12は、ステップS18において、分割用データベース13に記憶されたすべての頂点に対して、ベクトル統合処理を施すと、ステップS19に進み、分割用データベース13の記憶内容に基づいて、分割用ポリゴンデータを構成し、分割用ポリゴンデータ生成処理を終了する。
【0176】
ここで、図26は、ステップS19で構成される分割用ポリゴンデータのフォーマットを示している。
【0177】
分割用ポリゴンデータは、例えば、図26(A)に示すように、I個の参照用データ#1乃至#Iに続いて、I個のポリゴンデータ#1乃至#Iが順次配置されて構成されている。
【0178】
ここで、ポリゴンデータ#i(i=1,2,・・・,I)は、例えば、図20の分割用ポリゴンデータ生成処理において、図24に示したような曲面Sが作成されるごとに、その曲面Sを構成する四角形ポリゴンP1243について生成される。従って、図26(A)は、3次元形状が、I個のポリゴンから構成される場合の分割用ポリゴンデータを示している。
【0179】
ポリゴンデータ#iは、図26(B)に示すように、そのポリゴン#iを構成する頂点の座標(px1,py1,pz1),(px2,py2,pz2),(px3,py3,pz3),・・・、各頂点における枠線補間用法線ベクトルまたは曲面補間用法線ベクトルとなる法線ベクトル(nx1,ny1,nz1),(nx2,ny2,nz2),(nx3,ny3,nz3)、その他のデータから構成されている。ポリゴンデータ#iに配置された頂点の座標、および法線ベクトルには、それらを特定するためのインデックスが付されている。なお、図26(B)の実施の形態では、インデックスとして、シーケンシャルな数字が、頂点の座標および法線ベクトルに、実際に付されているが、インデックスは、頂点の座標、法線ベクトルに対して、それが配置されている順番に、シーケンシャルな数字を割り当てることとして、ポリゴンデータ#iの中に書き込まないようにすることも可能である。
【0180】
参照用データ#iは、ポリゴンデータ#iを参照するときに用いられるデータで、例えば、図26(C)に示すように、そのポリゴン#iを構成する頂点の数としての頂点数と、各頂点についての参照用データとから構成されている。従って、ポリゴン#iの頂点がJ個ある場合には、頂点についての参照用データは、J個配置される。頂点#j(j=1,2,・・・,J)についての参照用データは、例えば、図26(D)に示すように、頂点#jの座標のインデックス、その頂点における枠線補間用法線ベクトルA,Bのインデックス、その頂点における曲面補間用法線ベクトルのインデックスが、順次配置されて構成されている。
【0181】
頂点#jの座標のインデックスとして、例えば、1が配置されている場合、参照用データ#iに対応するポリゴンデータ#iにおいて、インデックス「1」が割り当てられている座標(px1,py1,pz1)が、頂点#jの座標ということになる。
【0182】
また、例えば、枠線補間用法線ベクトルAのインデックスとして、例えば、1が配置されている場合、参照用データ#iに対応するポリゴンデータ#iにおいて、インデックス「1」が割り当てられている法線ベクトル(nx1,ny1,nz1)が、頂点#jにおける枠線補間用法線ベクトルAということになる。
【0183】
さらに、例えば、枠線補間用法線ベクトルBのインデックスとして、例えば、2が配置されている場合、参照用データ#iに対応するポリゴンデータ#iにおいて、インデックス「2」が割り当てられている法線ベクトル(nx2,ny2,nz2)が、頂点#jにおける枠線補間用法線ベクトルBということになる。
【0184】
また、例えば、曲面補間用法線ベクトルのインデックスとして、例えば、3が配置されている場合、参照用データ#iに対応するポリゴンデータ#iにおいて、インデックス「3」が割り当てられている法線ベクトル(nx3,ny3,nz3)が、頂点#jにおける曲面補間用法線ベクトルということになる。
【0185】
ここで、1の頂点#jにおける枠線補間用法線ベクトルが、ベクトルAとBとの2つあるのは、次のような理由による。即ち、上述したような分割用ポリゴンデータ生成処理において生成される、例えば、図24に示した曲面Sを構成する四角形ポリゴンP1243の各頂点P1乃至P4においては、いずれも、方向の異なる2つ曲線(枠線)が交差するが、この2つの曲線についての法線ベクトルが、曲面補間用法線ベクトルとして与えられるためである。
【0186】
また、上述の場合においては、枠線補間用法線ベクトルA,B、曲面補間用法線ベクトルそれぞれに対して、異なるインデックスを与えるようにしたが、図20のステップS18において、例えば、枠線補間用法線ベクトルA,B、曲面補間用法線ベクトルが一致し、1のベクトルに統合された場合においては、枠線補間用法線ベクトルA,B、曲面補間用法線ベクトルのいずれにに対しても、その統合された1のベクトルに割り当てられているインデックスが与えられる。即ち、例えば、枠線補間用法線ベクトルA,B、曲面補間用法線ベクトルが、いずれも(nx1,ny1,nz1)で表される場合には、枠線補間用法線ベクトルA,B、曲面補間用法線ベクトルのインデックスは、いずれも、法線ベクトル(nx1,ny1,nz1)に割り当てられているインデックスである1とされる(この場合、法線ベクトル(nx1,ny1,nz1)は、枠線補間用法線ベクトルA,B、曲面補間用法線ベクトルについてのベクトル統合処理結果(図20のステップS18)である)。また、この場合、ポリゴンデータ#iに、法線ベクトルとして配置されるのは、ベクトル(nx1,ny1,nz1)だけになる。
【0187】
なお、図20の分割用ポリゴンデータ生成処理では、制作者に、頂点の座標およびその頂点における枠線の法線ベクトルを入力してもらい、それらから、枠線となる曲線を求め、その曲線どうしを交差させることで、3次元形状を定義していくようにしたが、3次元形状は、例えば、次のようにして構成することも可能である。
【0188】
即ち、まず、実現しようとする3次元形状について、実際に測定を行い、3次元空間における各頂点の座標と、各頂点における3次元形状の法線ベクトル、即ち、曲面補間用法線ベクトルとを求め、これを、制作者によって、データ処理部12に入力してもらう。データ処理部12には、頂点における曲線補間用法線ベクトルを、その頂点において交差する2つの枠線それぞれについての枠線補間用法線ベクトルA,Bとみなして、枠線となる曲線を求めさせて表示させる。そして、その表示された枠線のうち、折れ曲がっている(歪んでいる)ものについては、曲線補間用法線ベクトルと等しくなっている枠線補間用法線ベクトルA,Bを、枠線が滑らかになるように、制作者によって補正してもらう。この場合、図20のステップS17およびS18の処理は行わずに済むようになる。
【0189】
次に、データ提供装置1では、分割用ポリゴンデータ生成処理(図20)が行われ、図26に示したような分割用ポリゴンデータが、分割用データベース13に記憶されると、分割処理部14において、分割用データベース13から分割用ポリゴンデータが読み出され、細分割処理が行われる。
【0190】
そこで、図27のフローチャートを参照して、分割処理部14において行われる、ポリゴンに対する細分割処理について説明する。
【0191】
なお、ここでは、例えば、図28に示すような四角形ポリゴンP1243の横方向または縦方向を、それぞれMまたはN分割し、これにより、M×N個の四角形のサブポリゴンを構成するものとする(ここでは、図28の四角形ポリゴンP1243の、例えば、線分P12(またはP34)の方向を横方向と、線分P13(またはP24)の方向を縦方向とする)。
【0192】
また、四角形ポリゴンP1243の頂点Pi(i=1,2,3,4)における曲面用法線ベクトルをniと表すとともに、その頂点Piにおける横方向の枠線についての枠線補間用法線ベクトルをAiと表し、縦方向の枠線についての枠線補間用法線ベクトルをBiと表す。
【0193】
この場合、細分割処理では、まず最初に、ステップS21において、枠線P12の分割処理が行われる。即ち、ステップS21では、頂点P1とP2との間に、M−1個の補間点P12が設定され、さらに、そのM−1個の補間点P12それぞれにおける曲面補間用法線ベクトルn12が求められる。
【0194】
そして、ステップS22に進み、枠線P34の分割処理が行われる。即ち、ステップS22では、頂点P3とP4との間に、M−1個の補間点P34が設定され、さらに、そのM−1個の補間点P34それぞれにおける曲面補間用法線ベクトルn34が求められる。
【0195】
その後、ステップS23,S24に順次進み、枠線P13の分割処理、枠線P24の分割処理が行われる。即ち、ステップS23では、頂点P1と頂点P3との間に、N−1個の補間点P13が設定され、さらに、そのN−1個の補間点P13それぞれにおける曲面補間用法線ベクトルn13が求められる。また、ステップS24では、頂点P2と頂点P4との間に、N−1個の補間点P24が設定され、さらに、そのN−1個の補間点P24それぞれにおける曲面補間用法線ベクトルn24が求められる。
【0196】
そして、ステップS25に進み、四角形ポリゴンP1243のポリゴン内部の分割処理が行われる。即ち、ステップS25では、M−1個の補間点P12と、M−1個の補間点P34との対応するものどうしそれぞれの間に、N−1個の補間点、つまり、全部で、(M−1)×(N−1)個の補間点P1234が設定され、その(M−1)×(N−1)個の補間点P1234それぞれにおける曲面補間用法線ベクトルn1234が求められる。
【0197】
その後、ステップS26に進み、ステップS21乃至S25で求められた補間点P12,P34,P13,P24,P1234に基づいて、四角形ポリゴンP1243が、M×N個の四角形のサブポリゴンに分割され、細分割処理を終了する。
【0198】
例えば、いま、図28に示す四角形ポリゴンP1243を、2×2個の四角形のサブポリゴンに分割するものとすると(従って、M=N=1)、図27のステップS21では、枠線P12に一致する補間線が、頂点P1およびP2の座標、並びに枠線補間用法線ベクトルA1およびA2を用いて、図9の制御点算出処理を行うことで求められる。さらに、ステップS21では、その補間線P12を表すベジェ曲線の式(1)に、パラメータtとして、例えば、0.5を代入することで、図29に示すように、補間線P12上の1点である補間点P12が求められる。また、ステップS21では、頂点P1またはP2それぞれにおける曲面補間用法線ベクトルn1またはn2から、図16で説明したようにして、補間点P12における曲面補間用法線ベクトルn12も求められる。
【0199】
ステップS22においても、頂点P3およびP4を対象に、ステップS21における場合と同様の処理が行われ、これにより、図29に示すように、補間線P34上の1点である補間点P34が求められるとともに、その補間点P34における曲面補間用法線ベクトルn34が求められる。
【0200】
さらに、ステップS23では、枠線P13に一致する補間線が、頂点P1およびP3の座標、並びに枠線補間用法線ベクトルB1およびB3を用いて、図9の制御点算出処理を行うことで求められる。さらに、ステップS23では、その補間線P13を表すベジェ曲線の式(1)に、パラメータtとして、例えば,0.5を代入することで、図30に示すように、補間線P13の1点である補間点P13が求められる。また、ステップS23では、頂点P1またはP3それぞれにおける曲面補間用法線ベクトルn1またはn3から、図16で説明したようにして、補間点P13における曲面補間用法線ベクトルn13も求められる。
【0201】
ステップS24においても、頂点P2およびP4を対象に、ステップS23における場合と同様の処理が行われ、これにより、図30に示すように、補間線P24上の1点である補間点P24が求められるとともに、その補間点P24における曲面補間用法線ベクトルn24が求められる。
【0202】
そして、ステップS25では、補間線P12上の補間点と、補間線P34上の補間点との対応する補間どうしの間を補間する補間線が求められ、その補間線上に、補間線P13(または補間線P24)上に設定された補間点と同一の数の補間点が設定される。即ち、いまの場合、図31に示すように、補間点P12とP34との間を補間する補間線P1234が、補間点P12およびP34の座標、並びに曲面補間用法線ベクトルn12,n34を用いて、図9の制御点算出処理を行うことで求められる。さらに、その補間線P1234を表すベジェ曲線の式(1)に、パラメータtとして、例えば、0.5を代入することで、図31に示すように、補間線P1234上の1点である補間点P1234が求められる。また、補間点P12またはP34それぞれにおける曲面補間用法線ベクトルn12またはn34から、図16で説明したようにして、補間点P1234における曲面補間用法線ベクトルn1234が求められる。
【0203】
そして、ステップS26では、ステップS21乃至S25で求められた補間点P12,P34,P13,P24,P1234に基づいて、四角形ポリゴンP1243が、2×2個の四角形のサブポリゴンに分割される。即ち、図28に示した四角形ポリゴンP1243は、図32に示すように、4つの四角形のサブポリゴンP112123413,P122241234,P123424434,P131234343に分割され、これにより、四角形ポリゴンP1243だけの場合に比較して滑らかな3次元形状が実現される。
【0204】
なお、上述の場合においては、ステップS25において、補間線P12上の補間点と、補間線P34上の補間点との対応する補間どうしの間を補間する補間線を求め、その補間線上に、補間線P13(または補間線P24)上に設定された補間点と同一の数の補間点を設定するようにしたが、その他、例えば、補間線P13上の補間点と、補間線P24上の補間点との対応する補間どうしの間を補間する補間線を求め、その補間線上に、補間線P12(または補間線P34)上に設定された補間点と同一の数の補間点を設定するようにしても良い。
【0205】
即ち、例えば、図28に示した四角形ポリゴンP1243を、2×2個の四角形のサブポリゴンに分割する場合には、ステップS25において、図33に示すように、補間点P13とP24との間を補間する補間線P1324を、補間点P13およびP24の座標、並びに曲面補間用法線ベクトルn13,n24を用いて、図9の制御点算出処理を行うことで求めるようにする。さらに、ステップS25において、補間線P1324を表すベジェ曲線の式(1)に、パラメータtとして、例えば、0.5を代入することで、補間線P1234上の1点である補間点P1324を求め、補間点P13またはP24それぞれにおける曲面補間用法線ベクトルn13またはn24から、図16で説明したようにして、補間点P1324における曲面補間用法線ベクトルn1324を求めるようにする。
【0206】
この場合、図28の四角形ポリゴンP1243は、4つの四角形のサブポリゴンP112132413,P122241324,P132424434,P131324343に分割されることになる。
【0207】
ここで、ステップS25では、補間点P1234(図31)とP1324(図33)の両方を求め、その座標の平均値などで表される点を、最終的な補間点とすることも可能である。この場合、その最終的な補間点における曲面補間用法線ベクトルは、例えば、曲面補間用法線ベクトルn1234とn1324との平均値などとされる。
【0208】
以上のような細分割処理により得られるサブポリゴンは、分割処理部14からレンダリング部15に供給され、レンダリング処理が施されることにより描画される。即ち、レンダリング部15は、例えば、サブポリゴンについて、シェーディングなどを行い、さらに、画面座標系への変換を行う。なお、サブポリゴンのシェーディングは、各頂点における曲面補間用法線ベクトルを用いて行われる。そして、レンダリング部15は、テクスチャデータベース17に記憶されているテクスチャのデータを用いてテクスチャマッピングのためのテクスチャアドレスの計算を行うなどして、表示部16を構成する各画素の最終的なRGB値を求め、表示部16に出力する。これにより、表示部16では、サブポリゴンで構成される3次元画像が表示される。
【0209】
そして、制作者は、表示部16に表示された3次元画像に問題がなければ、入力部11を、分割用データベース13の記憶内容を、送信/記録装置18に供給するように操作する。これに対応して、分割用データベース13に記憶された分割用ポリゴンデータは、送信/記録装置18に供給される。送信/記録装置18は、分割用ポリゴンデータを受信すると、テクスチャデータベース17からテクスチャのデータを読み出し、分割用ポリゴンデータと多重化して、伝送媒体2を介して伝送し、あるいは記録媒体3に記録する。
【0210】
なお、表示部16に表示された3次元画像に問題がある場合には、制作者は、入力部11を操作して、分割用ポリゴンデータを修正する。
【0211】
次に、図34のフローチャートを参照して、図27のステップS21乃至S24における枠線の分割処理について、さらに説明する。なお、ここでは、ポリゴンを構成する1の頂点をP1とするとともに、その頂点P1に隣接する他の頂点をP2とする。また、頂点P1とP2との間の枠線P12についての頂点P1またはP2における枠線補間用法線ベクトルをA1またはA2とそれぞれするとともに、頂点P1またはP2における曲面補間用法線ベクトルを、それぞれn1またはn2とする。
【0212】
枠線の分割処理では、まず最初に、ステップS31において、直線(線分)P12が求められ、ステップS32に進み、直線P12を、頂点P1またはP2を含む、枠線補間用法線ベクトルA1またはA2に垂直な平面それぞれに正射影し、それぞれの平面に射影された直線方向の単位ベクトルが求められ、それぞれが、頂点P1またはP2における接線ベクトルとされる。
【0213】
そして、ステップS33に進み、頂点P1またはP2における接線ベクトルそれぞれと、直線P12とのなす角度θ1またはθ2が求められる。その後は、ステップS34,S35に順次進み、図9における場合と同様にして、枠線P12に一致する補間線としての3次のベジェ曲線が求められる。
【0214】
即ち、ステップS34では、角度θ1およびθ2、並びに頂点P1およびP2の座標に基づき、制御点P1またはP2から、他の制御点Q1またはQ2までの距離である制御辺長L1またはL2が、それぞれ求められる。また、ステップS35では、制御辺長L1またはL2から、制御点Q1またはQ2がそれぞれ求められ、これにより、枠線P12に一致する補間線としての3次のベジェ曲線が特定される。
【0215】
そして、ステップS36,S37に順次進み、ベジェ曲線である補間線P12上に補間点P12が設定され、その補間点P12における曲面補間用法線ベクトルn12が求められ、枠線の分割処理を終了する。
【0216】
即ち、ステップS36では、ベジェ曲線である補間線P12を表す式(1)の中のパラメータtに、所定の値が代入されることで、補間点P12が求められる。さらに、ステップS36では、図16で説明したようにして、補間線P12の、補間点P12における接線ベクトルs12が求められるとともに、曲面補間用法線ベクトルn1およびn2を用いて線形補間を行うことで、図16で説明したベクトルnn12が求められる。そして、ステップS37において、ベクトルnn12が、図16で説明したように、接線ベクトルs12によって補正され、その補正結果が、補間点P12における最終的な曲面補間用法線ベクトルn12として求められる。
【0217】
次に、図35のフローチャートを参照して、図27のステップS25におけるポリゴン内部の分割処理について、さらに説明する。なお、ここでは、枠線の分割処理によって得られた枠線上の1の補間点をP1とするとともに、その枠線に対向する枠線上の、補間点P1に対応する補間点をP2とする。また、補間点P1またはP2を求めるための枠線の分割処理において、補間点P1およびP2とともに求められた、それぞれにおける曲面補間用法線ベクトルを、n1またはn2とする。
【0218】
ポリゴン内部の分割処理では、ステップS42において、枠線補間用法線ベクトルではなく、曲面補間用法線ベクトルn1またはn2を用いて、補間点P1またはP2それぞれにおける接線ベクトルが求められることを除けば、ステップS41乃至S47において、図34のステップS31乃至S37における場合とそれぞれ同様の処理が行われ、補間点P1とP2との間を補間する補間線としてのベジェ曲線上の点である補間点と、その補間点における曲面補間用法線ベクトルn12が求められる。
【0219】
以上のように、頂点が、枠線補間用法線ベクトルおよび曲面補間用法線ベクトルの両方を有する場合には、細分割処理を施す元のポリゴンの頂点どうしの間を補間する補間点は、枠線補間用法線ベクトルを用いて求められ、補間点どうしの間を補間する補間点は、曲面補間用法線ベクトルを用いて求められる。但し、上述したような補間線(枠線)の折れ曲がりが問題とならない場合には、頂点が、枠線補間用法線ベクトルおよび曲面補間用法線ベクトルの両方を有していても、曲面補間用法線ベクトルのみを用いて、補間点を求めるようにしても良い。
【0220】
以上のような細分割処理によれば、大まかなポリゴンについての分割用ポリゴンデータから、滑らかな3次元形状を構成するサブポリゴンを生成することができる。
【0221】
即ち、例えば、図36に示す立方体は、その6面を構成する6つの四角形(正方形)のポリゴンから構成されるが、この6つの四角形ポリゴンに対して細分割処理を施さずに、そのまま描画を行った場合には、例えば、図37に示すような立方体が得られる。これに対して、6つの四角形ポリゴンの各頂点に、図36に示すような、立方体の重心から放射状に延びるベクトルを、補間用ベクトル(曲面補間用法線ベクトル)として与えておき、細分割処理を施した場合には、例えば、図38に示すような球が得られる。なお、図38では(後述する図40乃至図42についても同様)、1の四角形ポリゴンを、5×5のサブポリゴンに分割している。
【0222】
さらに、6つの四角形ポリゴンの各頂点に与える補間用ベクトルを、図36に示したものから、例えば、図39の側面図に示すように傾けたものにすることにより、6つの四角形ポリゴンは、細分割処理を施すことによって、同図に点線で示すような歪んだ球を構成するサブポリゴンに分割される。即ち、立方体を構成する6つの四角形ポリゴンに与える補間用ベクトルを変えるだけで、図40や図41に示すような、いわば卵形の3次元形状を得ることができる。
【0223】
ここで、図38、図40、および図41に示した3次元形状は、曲面補間用法線ベクトルだけを補間用ベクトルとして用いることで実現することができる。
【0224】
また、図36に示す立方体を構成する6つの四角形ポリゴンのうち、円柱の側面を構成するものの頂点には、その四角形ポリゴンの法線ベクトルを、枠線補間用法線ベクトルおよび曲面補間用法線ベクトルとして与えておき、円柱の底面である円を構成する四角形ポリゴンの頂点には、その円の中心から放射状に延びる方向のベクトルを枠線補間用法線ベクトルとして与えるとともに、その円(の面)の法線方向のベクトルを曲面補間用法線ベクトルとして与えておくことで、細分割処理によって、例えば、図42に示すような円柱を実現することができる。
【0225】
以上のように、細分割処理によれば、大まかなポリゴンについての分割用ポリゴンデータから、滑らかな3次元形状を構成するサブポリゴンを生成することができるので、制作者は、3次元形状について、詳細なパラメータを設定しなくても、複雑な3次元形状を構成することが可能となる。
【0226】
次に、図43のフローチャートを参照して、図3のユーザ端末4の処理について説明する。
【0227】
ユーザ端末4では、受信/再生装置21において、伝送媒体2を介して伝送されてくるデータが受信され、または記録媒体3に記録されたデータが再生され、そのうちの分割用ポリゴンデータは分割用データベース22に供給されて記憶され、テクスチャのデータはテクスチャデータベース27に供給されて記憶される。
【0228】
分割用データベース22に記憶された分割用ポリゴンデータは、ジオメトリ処理部23によって、例えば、1フレーム単位で読み出され、ジオメトリ処理部23は、ステップS51において、その分割用ポリゴンデータに対して、ユーザによる入力部28の操作に対応したジオメトリ処理(視点に応じた座標変換など)を施し、分割処理部24に供給する。分割処理部24では、ステップS52において、データ提供装置1の分割処理部14における場合と同様にして、分割用ポリゴンデータに対して細分割処理が施され、その結果得られるサブポリゴンが、レンダリング部25に供給される。レンダリング部25は、ステップS53において、分割処理部14からのサブポリゴンを透視変換(透視投影変換)し、ステップS54に進む。ステップS54では、レンダリング部25において、その変換後のデータに対して、輝度計算(シェーディング(例えば、グーローシェーディングやフォーンシェーディングなど))を施し、さらに、テクスチャアドレスの計算などを行うことで、各画素のRGB値が求められる。そして、ステップS55では、レンダリング部25において、各画素のRGB値が、図示せぬフレームバッファに書き込まれ、次のフレームについての分割用ポリゴンデータが、分割用データベース22から読み出されるのを待って、ステップS51に戻る。なお、フレームバッファに書き込まれたRGB値としての3次元画像は、所定のタイミングで読み出され、表示部26において表示される。
【0229】
従って、ユーザ端末4でも、データ提供装置1における場合と同様に、大まかなポリゴンについての分割用ポリゴンデータから、滑らかな3次元形状を構成するサブポリゴンを生成することができる。
【0230】
次に、図44は、ユーザ端末4が、例えば、ビデオゲーム機である場合の構成例を示している。なお、ユーザ端末4が、ビデオゲーム機である場合においては、ユーザ端末4に対しては、データ提供装置1から伝送媒体2または記録媒体3を介して、3次元画像を表示するためのデータの他、ゲームのプログラム(コンピュータプログラム)なども提供されるようになされている。
【0231】
このビデオゲーム機は、各ブロックにおいてデータをやりとりするためのバスとして、メインバス101およびサブバス102の2種類のバスを有しており、このメインバス101とサブバス102とは、バスコントローラ116を介して接続されている。
【0232】
メインバス101には、バスコントローラ116の他、例えばマイクロプロセッサなどからなるメインCPU(Central Processing Unit)111、例えばRAM(Random Access Memory)などでなるメインメモリ112、メインDMAC(Direct Memory Access Controller)113、MDEC(MPEG(Moving Picture Experts Group) Decoder)、およびGPU(Graphic Processor Unit)115が接続されている。
【0233】
サブバス102には、バスコントローラ116の他、GPU115、例えばメインCPU111と同様に構成されるサブCPU121、例えばメインメモリ112と同様に構成されるサブメモリ122、サブDMAC123、オペレーティングシステムなどが格納されたROM(Read Only Memory)124、SPU(Sound Processing Unit)125、ATM(Asynchronous Transmission Mode)通信部126、補助記憶装置127、および入力デバイス用I/F(Interface)128が接続されている。
【0234】
なお、ここでは、メインバス101では、高速でデータのやりとりが行われるようになされており、サブバス102では、低速でデータのやりとりが行われるようになされている。即ち、低速でやりとりが可能なデータについては、サブバス102を用いることで、メインバス101の高速性を確保するようになされている。
【0235】
バスコントローラ116は、メインバス101とサブバス102とを切り離したり、メインバス101にサブバス102を接続したりするようになされている。メインバス101とサブバス102とが切り離された場合、メインバス101上からは、メインバス101に接続されたデバイスのみにしかアクセスできず、また、サブバス102上からも、サブバスに接続されたデバイスのみにしかアクセスすることができないが、メインバス101にサブバス102が接続された場合には、メインバス101およびサブバス102のいずれからであっても、いずれのデバイスにもアクセスすることができる。なお、例えば、装置の電源がオンにされた直後などの初期状態においては、バスコントローラ116はオープン状態になっている(メインバス101とサブバス102とが接続された状態となっている)。
【0236】
メインCPU111は、メインメモリ112に記憶されたプログラムにしたがって各種の処理を行うようになされている。即ち、メインCPU111は、例えば、装置が起動されると、バスコントローラ116を介して、サブバス102上にある(サブバス102に接続された)ROM124からブートプログラムを読み出して実行する。これにより、メインCPU111は、補助記憶装置127からアプリケーションプログラム(ここでは、ゲームのプログラムや、上述の細分割処理などを行うためのプログラム)および必要なデータを、メインメモリ112やサブメモリ112にロードさせる。そして、メインCPU111は、このようにしてメインメモリ112にロードさせたプログラムを実行する。
【0237】
メインCPU111は、GTE(Geometry Transfer Engine)117を内蔵しており、このGTE117は、例えば複数の演算を並列に実行する並列演算機構を備え、メインCPU111からの要求に応じて、座標変換などのジオメトリ処理のための演算処理を高速に行うようになされている。このように、GTE117は、メインCPU111からの要求にしたがった処理(ジオメトリ処理)を行うことにより、表示すべき3次元画像を構成するポリゴンのデータを生成し、メインCPU111に供給する。メインCPU111は、GTE117からポリゴンデータを受信すると、メインバス101を介して、GPU115に転送する。
【0238】
なお、メインCPU111は、キャッシュメモリ(Cache)119を内蔵しており、メインメモリ112にアクセスする代わりに、このキャッシュメモリ119にアクセスすることで、処理の高速化を図るようになされている。
【0239】
メインメモリ112は、上述したように、プログラムなどを記憶する他、メインCPU111の処理上必要なデータなどを記憶するようにもなされている。メインDMAC113は、メインバス101上のデバイスを対象に、DMA転送の制御を行うようになされている。但し、バスコントローラ116がオープン状態にあるときは、メインDMAC113は、サブバス102上のデバイスをも対象として制御を行うようになされている。MDEC114は、メインCPU111と並列に動作可能なI/Oデバイスで、画像伸張エンジンとして機能するようになされている。即ち、MDEC114は、MPEG符号化されて圧縮された画像データを復号化するようになされている。
【0240】
GPU115は、レンダリングプロセッサとして機能するようになされている。即ち、GPU115は、メインCPU111から送信されてくる、分割用ポリゴンデータを含むデータを受信し、細分割処理を行うことで、サブポリゴンに分割するようになされている。また、GPU115は、サブポリゴンを透視投影変換することにより、2次元平面(画面座標系)上のデータにし、さらに、サブポリゴンの頂点の色データ(上述しなかったが、色データも、分割用ポリゴンデータに含まれている)と、その奥行き(視点からの深さ)を示すZ値などに基づいて、ポリゴンを構成する画素データを計算し、グラフィックメモリ118に書き込む(描画する)ようになされている。そして、GPU115は、グラフィックメモリ118に書き込んだ画素データを読み出し、ビデオ信号として出力するようにもなされている。なお、GPU115は、必要に応じて、メインDMAC113、あるいはサブバス102上のデバイスからも分割用ポリゴンデータを受信し、そデータにしたがって、同様の処理を行うようになされている。
【0241】
グラフィックメモリ118は、例えば、DRAMなどで構成され、図45に示すように、フレームメモリ141,Zバッファ142、およびテクスチャメモリ143を有している。フレームメモリ141は、画面に表示する画素データを、例えば、1フレーム分だけ記憶するようになされている。Zバッファ142は、画面に表示する画像の中の最も手前にあるポリゴンのZ値を記憶するようになされており、例えば、1フレーム分のZ値を記憶することのできる記憶容量を有している。テクスチャメモリ143は、ポリゴンに貼り付けるテクスチャのデータを記憶するようになされている。
【0242】
ここで、GPU115は、これらのフレームメモリ141,Zバッファ142、およびテクスチャメモリ143を用いて処理を行うようになされている。即ち、GPU115は、Zバッファ142に、3次元画像を構成するサブポリゴンのうちの、最も手前にあるもののZ値を記憶させ、このZバッファ142の記憶値に基づいて、フレームバッファ141に、画素データ(RGB値)の描画を行うかどうかを決定する。そして、画素データを描画する場合には、テクスチャメモリ143からテクスチャのデータを読み出し、そのデータを用いて、描画すべき画素データを求めて、フレームメモリ141に描画するようになされている。
【0243】
図44に戻り、サブCPU121は、サブメモリ122に記憶されたプログラムを読み出して実行することにより、各種の処理を行うようになされている。サブメモリ122には、メインメモリ112と同様に、プログラムや必要なデータが記憶されるようになされている。サブDMAC123は、サブバス102上のデバイスを対象として、DMA転送の制御を行うようになされている。なお、サブDMAC123は、バスコントローラ116がクローズ状態にあるとき(メインバス101とサブバス102とが切り離されている状態にあるとき)のみ、バス権を獲得するようになされている。ROM124は、上述したようにブートプログラムや、オペレーティングシステムなどを記憶している。なお、ROM124には、メインCPU111およびサブCPU121の両方のプログラムが記憶されている。また、ROM124は、ここでは、アクセス速度の遅いものが用いられており、そのため、サブバス102上に設けられている。
【0244】
SPU125は、サブCPU121またはサブDMAC123から送信されてくるパケットを受信し、そのパケットに配置されているサウンドコマンドにしたがって、サウンドメモリ129から音声データを読み出すようになされている。そして、SPU25は、読み出した音声データを、図示せぬスピーカに供給して出力させるようになされている。ATM通信部126は、例えば、伝送媒体2を介して行われる通信の制御(ATM通信の制御)を行うようになされている。これにより、ビデオゲーム機のユーザは、他のビデオゲーム機のユーザと直接、あるいはデータ提供装置1や、インターネット上のサーバ、さらには、いわゆるパソコン通信のセンタ局などを介してデータのやりとりをすることで対戦することができるようになされている。
【0245】
補助記憶装置127は、例えば、ディスクドライブなどで、記録媒体3に記録されている情報(プログラム、データ)を再生するようになされている。入力デバイス用I/F128は、各種の入力を与えるためのコントロールパッド128A、および他の装置によって再生された画像または音声などの外部入力を受け付けるためのインターフェイス128Bまたは128Cなどで構成され、外部からの入力に応じた信号を、サブバス102上に出力するようになされている。サウンドメモリ129は、音声データ(オーディオデータ)を記憶している。
【0246】
なお、図3のユーザ端末4において、受信/再生装置21は、図44のATM通信部126および補助記憶装置127に、分割用データベース22は、図44のメインメモリ112に、ジオメトリ処理部23は、図44のGTE117に、分割処理部24およびレンダリング部25は、図44のGPU115に、テクスチャデータベース27は、図45のテクスチャメモリ143に、入力部28は、図44のコントロールパッド128Aに、それぞれ対応する。
【0247】
以上のように構成されるビデオゲーム機においては、装置の電源がオンにされると、メインCPU111において、ブートプログラムがROM124から読み出されて実行されることにより、ATM通信部126によって、伝送媒体2を介してプログラムおよびデータが受信され、あるいは、補助記憶装置127によって、記録媒体3からプログラムおよびデータが読み出され、メインメモリ112およびサブメモリ122に展開される。そして、メインCPU111またはサブCPU121それぞれにおいて、メインメモリ112またはサブメモリ122に展開されたプログラムが実行されることにより、ゲームの画像(ここでは、動画像とする)、音声が再生される。
【0248】
即ち、例えば、メインCPU111において、メインメモリ112に記憶された分割用ポリゴンデータに対してジオメトリ処理が施され、メインバス101を介して、GPU115に供給される。
【0249】
GPU115は、メインCPU111からの分割用ポリゴンデータを受信すると、細分割処理を行うことで、サブポリゴンに分割する。さらに、GPU115は、サブポリゴンを透視変換し、その変換後のサブポリゴンを、Zバッファ142を使用して、フレームメモリ141に描画する。フレームメモリ141に対する描画結果は、GPU115において適宜読み出され、ビデオ信号として出力される。これにより、ゲームのための3次元画像が、2次元出力装置としての、例えば、表示部26(図3)に表示される。
【0250】
一方、サブCPU121では、サブメモリ122に記憶されたデータにしたがって、音声の生成を指示するサウンドコマンドが生成される。このサウンドコマンドは、パケット化され、サブバス102を介して、SPU125に供給される。SPU125は、サブCPU121からのサウンドコマンドにしたがって、サウンドメモリ129から音声データを読み出して出力する。これにより、ゲームのBGM(Background Music)その他の音声が出力される。
【0251】
以上のように、ポリゴンの頂点の座標と、その頂点における補間用ベクトルとから、その頂点と、他の頂点との間を補間する補間線を求め、その補間線上にある補間点を、サブポリゴンの頂点として求めるようにしたので、ある程度の大まかなポリゴンについてのデータを与えるだけで、滑らかな3次元形状を実現することができる。
【0252】
さらに、滑らかな3次元形状を、大まかなポリゴンについてのデータ、即ち、少ないデータで実現することができるので、例えば、インターネット上に構築されているWWW(World Wide Web)などにおいて、3次元画像を提供する場合には、データの保存および伝送の効率化を図ることができる。即ち、分割用ポリゴンデータは、伝送媒体2や記録媒体3として、比較的容量の小さなものを用いて、ユーザ端末4に提供することができる。
【0253】
また、例えば、3次元画像のリアルタイム表示が重要なビデオゲーム機や、その他のグラフィックスシステムでは、処理効率の観点から、視点に近い3次元形状を細かく表示するとともに、視点から遠い3次元形状を粗く表示して、必要最小限のポリゴンを処理することが行われる。その際、3次元形状を、どの程度細かくするか(または粗くするか)という、3次元形状の細かさ(粗さ)のレベルは、レベルオブディテール(LOD(Level of Detail))と呼ばれるが、細分割処理を行うときのポリゴンの分割数を、LODに応じて決めるようにすることで、適切な細かさ(粗さ)の3次元形状の表示を行うことが可能となる。
【0254】
また、ポリゴンで構成される3次元形状の拡大を行う場合に、細分割処理を行い、ポリゴンを、拡大率に応じた数のサブポリゴンに分割することで、拡大により、3次元形状が粗くなるのを防止することが可能となる。即ち、この場合、拡大率によらず、一定の滑らかさの3次元形状を提供することが可能となる。
【0255】
さらに、分割用ポリゴンデータ生成処理によって得られる分割用ポリゴンデータは、従来より3次元画像の表示に用いられているポリゴンの頂点の座標と、各頂点における法線ベクトル(曲面補間用法線ベクトルは、従来、頂点に与えられている法線ベクトルに一致する)とを含むから、細分割処理を行うことができないような、従来からある低速のビデオゲーム機やその他のグラフィックスシステムにおいても取り扱うことが可能であり、粗くはなるが、3次元形状を表示することができる。
【0256】
また、分割用ポリゴンデータは、データ量が少ないので、細分割処理を行う前に、3次元形状の変形や回転のためのジオメトリ処理、さらには、透視変換のためのZ値での除算(パースペクティブ除算)の前までの処理を行い、細分割処理後に得られるサブポリゴンに対して、透視変換のためのZ値での除算を施すようにすることで、ジオメトリ処理等における計算量を少なくすることができる。
【0257】
さらに、本実施の形態では、補間線は、その補間線が補間する2つの点を通る円または楕円の円弧に等しくなるのが理想的であるとし、そのような補間線を求めるようにしたため、例えば、スプライン曲面やベジェ曲面などで、球や回転体などを表現する場合に比較して、少ないデータで、球や回転体などを構成するポリゴンを表現することができる。
【0258】
以上、本発明を適用したデータ提供システムやビデオゲーム機について説明したが、本発明は、その他、画像に特殊効果を与えるエフェクタや、CADなどのコンピュータグラフィックス処理を行う装置などにも適用可能である。さらに、本発明は、例えば、ビデオカメラなどで撮影した自然画を符号化して記録再生し、または送受信する記録再生装置または伝送装置などにも適用可能である。即ち、分割用ポリゴンデータ生成処理は、ビデオカメラなどで撮影した自然画を、ポリゴンで表現するような符号化処理に適用することができ、細分割処理は、そのような符号化によって得られる分割用ポリゴンデータを、元の自然画に復号する復号処理に適用することができる。
【0259】
なお、本発明は、動画像および静止画像のいずれの描画にも適用可能である。
【0260】
さらに、本実施の形態では、3次元グラフィックスを対象としたが、本発明は、その他、例えば、2次元グラフィックスにも適用可能である。即ち、本発明によれば、例えば、円や楕円の円弧を形成することができるような幾つかの点(少なくとも2つ)と、それらの点における補間用ベクトルとを与えるだけで、円や楕円の作図を容易に行うことができる。そして、この場合に得られる曲線の曲率は、図10乃至図13から分かるように滑らかに変化するので、曲線としても、滑らかに変化するものを得ることができる。
【0261】
また、細分割処理によるポリゴンの分割数は、上述したように、LODや拡大率によって決める他、例えば、細分割処理を行うハードウェアの処理能力によって決めたり、あるいは、乱数を用いてランダムに決めたりすることが可能である。ポリゴンの分割数を、細分割処理を行うハードウェアの処理能力によって決める場合には、その処理能力に適した滑らかさの3次元形状を表示することができる。一方、ポリゴンの分割数を、ランダムに決める場合には、3次元形状の表面に現れる模様(ポリゴンどうしの境界線によって構成される模様)を、ランダムに変化させることができる。
【0262】
さらに、本実施の形態では、補間線は、その補間線が補間する2つの点を通る円または楕円の円弧に等しくなるのが理想的であるとし、そのような補間線を求めるようにしたが、補間線は、そのようなものに限定されるものではない。即ち、補間線としては、例えば、その補間線が補間する2つの点を通る、実現しようとする3次元形状に沿った曲線(枠線)との自乗誤差が最小になるようなものを求めるようにしても良い。
【0263】
また、本実施の形態では、cosθ’を、式(10)に示したように近似するようにしたが、cosθ’は、そのような近似を行わずに、正確に求めるようにすることも可能である。また、本実施の形態では、θ1,θ2から3次のベジェ曲線の制御辺長比L1/K,L2/Kを計算により求めるようにしたが、この計算を高速化するために、(θ1,θ2)から(L1/K,L2/K)への離散化された対応表を作っておき、この対応表を用いてL1/K,L2/Kを求めることも可能である。
【0264】
さらに、本実施の形態では、補間線として、3次のベジェ曲線を採用したが、補間線は、3次以外のベジェ曲線であっても良いし、ベジェ曲線以外のパラメトリックな曲線その他であっても良い。
【0265】
また、細分割処理により得られるサブポリゴンで構成される3次元形状が任意の形状でかまわない場合においては、補間用ベクトルとしては、枠線補間用法線ベクトルは必要なく、曲面補間用法線ベクトルだけで足りる。
【0266】
さらに、本実施の形態では、頂点における枠線方向を表すベクトルとして、枠線の法線ベクトルを採用したが、頂点における枠線方向を表すベクトルとしては、例えば、上述したように、枠線の接線ベクトルを採用することも可能である。但し、この接線ベクトルは、枠線の法線ベクトルと90度だけ向きが異なるから、曲面補間用法線ベクトルとも異なることが多く、図20のステップS18において、1のベクトルに統合されないことが多くなるため、分割量ポリゴンデータのデータ量が増加することとなる。
【0267】
また、ユーザ端末4に対しては、上述のような細分割処理を行うためのコンピュータプログラムを、分割用ポリゴンデータとともに、伝送媒体2や記録媒体3を介して提供することができる。同様に、データ提供装置1に対しても、細分割処理や分割用ポリゴンデータ生成処理を行うためのコンピュータプログラムを、光ディスクや、光磁気ディスクその他の記録媒体を介して提供したり、インターネットや衛星回線その他の伝送媒体を介して提供することが可能である。
【0268】
また、分割用ポリゴンデータ生成処理や細分割処理は、コンピュータプログラムをプロセッサに実行させることにより行う他、それ専用のハードウェアに行わせることも可能である。
【0269】
さらに、本実施の形態では、3次元画像を、CRTや液晶ディスプレイなどの表示部16(表示部26)に表示させるようにしたが、本発明は、その他、例えば、3次元画像をプリンタ(2次元出力装置)によって印刷する場合などにも適用可能である。
【0270】
【発明の効果】
請求項1に記載の画像処理装置および請求項25に記載の画像処理方法、並びに請求項49に記載のプログラム提供媒体によれば、単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、頂点の座標とから、2つの頂点の間を補間する線である補間線が求められ、補間線上の点である補間点が、サブ単位図形の頂点として求められる。従って、大まかな単位図形から、例えば、滑らかな形状を構成するサブ単位図形を得ることが可能となる。
【0271】
請求項74に記載の画像処理装置および請求項91に記載の画像処理方法、並びに請求項108に記載のプログラム提供媒体によれば、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルが生成される。従ってその補間用ベクトルを用いることで、例えば、滑らかな形状を構成することが可能となる。
【0272】
請求項125に記載のデータ提供媒体によれば、単位図形が入力された場合に、その単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成することにより得られる、頂点における補間用ベクトルと、頂点の座標とが、画像についてのデータとして、少なくとも提供される。従って、その補間用ベクトルおよび頂点の座標を用いることで、例えば、滑らかな形状を構成することが可能となる。
【0273】
請求項133に記載の画像処理装置によれば、操作手段が操作されることにより入力された単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルが生成される。そして、単位図形の頂点の座標および補間用ベクトルとから、補間線が求められ、補間線上の点である補間点が、サブ単位図形の頂点として求められる。従って、大まかな単位図形から、例えば、滑らかな形状を構成するサブ単位図形を得ることが可能となる。
【図面の簡単な説明】
【図1】本発明を適用したデータ提供システムの一実施の形態の構成例を示す図である。
【図2】図1のデータ提供装置1の構成例を示すブロック図である。
【図3】図1のユーザ端末4の構成例を示すブロック図である。
【図4】補間線の算出方法を説明するための図である。
【図5】角度θ1とθ2とが等しい場合の補間線を示す図である。
【図6】制御辺長L1およびL2の求め方を説明するための図である。
【図7】制御辺長L1およびL2の求め方を説明するための図である。
【図8】角度θ1とθ2とが異なる場合の補間線の求め方を説明するための図である。
【図9】制御点算出処理を説明するためのフローチャートである。
【図10】補間線を求めたシミュレーション結果を示す図である。
【図11】補間線を求めたシミュレーション結果を示す図である。
【図12】補間線を求めたシミュレーション結果を示す図である。
【図13】補間線を求めたシミュレーション結果を示す図である。
【図14】3次元形状を構成するポリゴンについての補間線の求め方を説明するための図である。
【図15】細分割処理を説明するための図である。
【図16】サブポリゴンの頂点における法線ベクトルの求め方を説明するための図である。
【図17】細分割処理において、頂点における法線ベクトルだけを補間用ベクトルとして用いた場合の不具合を説明するための図である。
【図18】細分割処理において、頂点における法線ベクトルだけを補間用ベクトルとして用いた場合の不具合を説明するための図である。
【図19】補間用ベクトルとして、曲線補間用法線ベクトルおよび枠線補間用法線ベクトルの両方を採用した場合の細分割処理を説明するための図である。
【図20】分割用ポリゴンデータ生成処理を説明するためのフローチャートである。
【図21】図20のステップS14の処理を説明するための図である。
【図22】3次元形状を構成する枠線としてのベジェ曲線が、順次描かれていく様子を示す図である。
【図23】枠線補間用法線ベクトル(枠線の法線ベクトル)を説明するための図である。
【図24】図20のステップS16の処理を説明するための図である。
【図25】枠線補間用法線ベクトルを用いて得られる補間線と、曲面補間用法線ベクトルを用いて得られる補間線とを示す図である。
【図26】分割用ポリゴンデータのフォーマットを示す図である。
【図27】細分割処理を説明するためのフローチャートである。
【図28】細分割処理を説明するための図である。
【図29】図27のステップS21およびS22の処理を説明するための図である。
【図30】図27のステップS23およびS24の処理を説明するための図である。
【図31】図27のステップS25の処理を説明するための図である。
【図32】図27のステップS26の処理を説明するための図である。
【図33】図27のステップS25の処理を説明するための図である。
【図34】枠線の分割処理を説明するためのフローチャートである。
【図35】ポリゴン内部の分割処理を説明するためのフローチャートである。
【図36】細分割処理の対象としての立方体を構成するポリゴンを示す図である。
【図37】図36のポリゴンに対して細分割処理を施さなかった場合の描画結果を示すディスプレー上に表示した中間調画像の写真である。
【図38】図36のポリゴンに対して細分割処理を施した場合の描画結果を示すディスプレー上に表示した中間調画像の写真である。
【図39】細分割処理の対象としての立方体に与える補間用法線ベクトルを変更した状態を示す図である。
【図40】図36のポリゴンに対して細分割処理を施した場合の描画結果を示すディスプレー上に表示した中間調画像の写真である。
【図41】図36のポリゴンに対して細分割処理を施した場合の描画結果を示すディスプレー上に表示した中間調画像の写真である。
【図42】図36のポリゴンに対して細分割処理を施した場合の描画結果を示すディスプレー上に表示した中間調画像の写真である。
【図43】図3のユーザ端末4の処理を説明するためのフローチャートである。
【図44】ユーザ端末4がビデオゲーム機として構成されている場合の電気的構成例を示すブロック図である。
【図45】図44のグラフィックメモリ118の構成例を示すブロック図である。
【符号の説明】
1 データ提供装置, 2 伝送媒体, 3 記録媒体, 4 ユーザ端末,11 入力部, 12 データ処理部, 12A メモリ, 13 分割用データベース, 14 分割処理部, 15 レンダリング部, 16 表示部,17 テクスチャデータベース, 18 送信/記録装置, 21 受信/再生装置, 22 分割用データベース, 23 ジオメトリ処理部, 24 分割処理部, 25 レンダリング部, 26 表示部, 27 テクスチャデータベース, 28 入力部, 101 メインバス, 102 サブバス, 111 メインCPU, 112 メインメモリ, 113 メインDMAC, 114 MDEC, 115 GPU, 116 バスコントローラ, 117GTE, 118 グラフィックメモリ, 119 キャッシュメモリ, 121 サブCPU, 122 サブメモリ, 123 サブDMAC, 124ROM, 125 SPU, 126 ATM通信部, 127 補助記憶装置, 128 入力デバイス用I/F, 129 サウンドメモリ, 141 フレームバッファ, 142 Zバッファ, 143 テクスチャメモリ

Claims (40)

  1. 単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する画像処理装置であって、
    前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、前記頂点の座標とから、2つの頂点の間を補間する線である補間線を求める補間線算出手段と、
    前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出手段と、を有し、
    前記単位図形の頂点における前記補間用ベクトルは、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルであること
    を特徴とする画像処理装置。
  2. 単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する画像処理装置の画像処理方法であって、
    前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、前記頂点の座標とから、2つの頂点の間を補間する線である補間線を求める補間線算出ステップと、
    前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、を備え、
    前記単位図形の頂点における前記補間用ベクトルは、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルであること
    を特徴とする画像処理方法。
  3. 前記単位図形が第1乃至第4の頂点を有し、前記第1と第2の頂点を結ぶ線分と、前記第3と第4の頂点を結ぶ線分とが対向するとともに、前記第1と第3の頂点を結ぶ線分と、前記第2と第4の頂点を結ぶ線分とが対向する場合において、
    前記補間線算出ステップにおいて、前記第1と第2の頂点の間を補間する第1の補間線、前記第3と第4の頂点を補間する第2の補間線、前記第1と第3の頂点の間を補間する第3の補間線、および前記第2と第4の頂点を補間する第4の補間線を求め、さらに、前記第1の補間線上の補間点と、前記第2の補間線上の補間点との間を補間する第5の補間線も求め、
    前記補間点算出ステップにおいて、前記第1乃至第5の補間線上の補間点を、前記サブ単位図形の頂点として求めること
    を特徴とする請求項2に記載の画像処理方法。
  4. 前記単位図形の頂点における前記補間用ベクトルには、前記法線ベクトルの他に、前記補間線の、前記頂点における方向を表すベクトルも含まれること
    を特徴とする請求項2に記載の画像処理方法。
  5. 前記補間点における、その補間点と他の補間点との間を補間する線を求めるのに用いる補間用ベクトルを、前記頂点における補間用ベクトルから求める補間用ベクトル算出ステップをさらに備えること
    を特徴とする請求項2記載の画像処理方法。
  6. 前記補間線は、ベジェ曲線であること
    を特徴とする請求項2に記載の画像処理方法。
  7. 前記単位図形の頂点の座標および補間用ベクトルが記録媒体に記録されている場合に、その記録媒体から、前記頂点の座標および補間用ベクトルを再生する再生ステップをさらに備えること
    を特徴とする請求項2に記載の画像処理方法。
  8. 前記単位図形の頂点の座標および補間用ベクトルが伝送路を介して伝送されてくる場合に、その伝送路を介して伝送されてくる前記頂点の座標および補間用ベクトルを受信する受信ステップをさらに備えること
    を特徴とする請求項2に記載の画像処理方法。
  9. 前記画像は、3次元画像であり、
    前記画像処理装置は、所定の入力を与えるときに操作される操作手段を備え、
    前記単位図形に関するデータを、記録媒体から読み込み、そのデータに対して、前記操作手段からの入力に対応するジオメトリ処理を施すジオメトリ処理ステップと、
    前記ジオメトリ処理後の前記単位図形を分割して得られる前記サブ単位図形を、2次元出力装置の座標系のものに変換する変換ステップと、
    前記変換ステップで変換された前記サブ単位図形をレンダリングするレンダリングステップと、をさらに備えること
    を特徴とする請求項2に記載の画像処理方法。
  10. 前記第1および第2の頂点、第3および第4の頂点、前記第1および第3の頂点、または前記第2および第4の頂点のうちのいずれか1組の頂点が、同一の頂点であること
    を特徴とする請求項3に記載の画像処理方法。
  11. 単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する画像処理装置の画像処理方法であって、
    前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、前記頂点の座標とから、2つの頂点の間を補間する線である補間線を求める補間線算出ステップと、
    前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、を備え、
    前記単位図形が第1乃至第4の頂点を有し、前記第1と第2の頂点を結ぶ線分と、前記第3と第4の頂点を結ぶ線分とが対向するとともに、前記第1と第3の頂点を結ぶ線分と、前記第2と第4の頂点を結ぶ線分とが対向する場合において、
    前記補間線算出ステップにおいて、前記第1と第2の頂点の間を補間する第1の補間線、前記第3と第4の頂点を補間する第2の補間線、前記第1と第3の頂点の間を補間する第3の補間線、および前記第2と第4の頂点を補間する第4の補間線を求め、さらに、前記第1の補間線上の補間点と、前記第2の補間線上の補間点との間を補間する第5の補間線も求め、
    前記補間点算出ステップにおいて、前記第1乃至第5の補間線上の補間点を、前記サブ単位図形の頂点として求め、
    前記第1の補間線上の補間点における前記補間用ベクトルを、前記第1および第2の頂点における前記補間用ベクトルから求めるとともに、前記第2の補間線上の補間点における前記補間用ベクトルを、前記第3および第4の頂点における前記補間用ベクトルから求める補間用ベクトル算出ステップをさらに備え、
    前記補間線算出ステップにおいて、前記第1および第2の補間線上の補間点における前記補間用ベクトルと、その補間点の座標とから、前記第5の補間線を求め
    前記単位図形の第1乃至第4の頂点における前記補間用ベクトルは、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルであること
    を特徴とする画像処理方法。
  12. 前記単位図形の第1乃至第4の頂点における前記補間用ベクトルには、前記法線ベクトルの他に、前記第1乃至第4の頂点を通る前記補間線それぞれの、前記第1乃至第4の頂点における方向を表す補間線方向ベクトルも含まれること
    を特徴とする請求項11に記載の画像処理方法。
  13. 前記補間線算出ステップにおいて、前記第1乃至第4の補間線を、前記補間線方向ベクトルを用いて求め、
    前記補間用ベクトル算出ステップにおいて、前記第1および第2の補間線上の補間点における前記補間用ベクトルを、前記法線ベクトルを用いて求めること
    を特徴とする請求項12に記載の画像処理方法。
  14. 単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する画像処理装置の画像処理方法であって、
    前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、前記頂点の座標とから、2つの頂点の間を補間する線である補間線を求める補間線算出ステップと、
    前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、を備え、
    前記単位図形が第1乃至第4の頂点を有し、前記第1と第2の頂点を結ぶ線分と、前記第3と第4の頂点を結ぶ線分とが対向するとともに、前記第1と第3の頂点を結ぶ線分と、前記第2と第4の頂点を結ぶ線分とが対向する場合において、
    前記補間線算出ステップにおいて、前記第1と第2の頂点の間を補間する第1の補間線、前記第3と第4の頂点を補間する第2の補間線、前記第1と第3の頂点の間を補間する第3の補間線、および前記第2と第4の頂点を補間する第4の補間線を求め、さらに、前記第1の補間線上の補間点と、前記第2の補間線上の補間点との間を補間する第5の補間線も求め、
    前記補間点算出ステップにおいて、前記第1乃至第5の補間線上の補間点を、前記サブ単位図形の頂点として求め、
    前記第1の補間線上の補間点における前記補間用ベクトルを、前記第1および第2の頂点における前記補間用ベクトルから求めるとともに、前記第2の補間線上の補間点における前記補間用ベクトルを、前記第3および第4の頂点における前記補間用ベクトルから求める補間用ベクトル算出ステップをさらに備え、
    前記補間線算出ステップにおいて、前記第1および第2の補間線上の補間点における前記補間用ベクトルと、その補間点の座標とから、前記第5の補間線を求め、
    前記単位図形の第1乃至第4の頂点における前記補間用ベクトルは、前記第1乃至第4の頂点を通る前記補間線それぞれの、前記第1乃至第4の頂点における方向を表すベクトルであること
    を特徴とする画像処理方法。
  15. 単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する画像処理装置の画像処理方法であって、
    前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、前記頂点の座標とから、2つの頂点の間を補間する線である補間線を求める補間線算出ステップと、
    前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、を備え、
    前記単位図形の頂点における前記補間用ベクトルは、前記補間線の、前記頂点における方向を表す補間線方向ベクトルであること
    を特徴とする画像処理方法。
  16. 前記補間線方向ベクトルは、前記頂点を含む所定の平面に、その頂点と他の頂点とを結ぶ線分を投影した線が、前記補間線と接する場合の、前記所定の平面の法線方向のベクトルであること
    を特徴とする請求項15に記載の画像処理方法。
  17. 前記補間線方向ベクトルは、前記補間線の、前記頂点における接線方向を表すベクトルであること
    を特徴とする請求項15に記載の画像処理方法。
  18. 単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する画像処理装置の画像処理方法であって、
    前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、前記頂点の座標とから、2つの頂点の間を補間する線である補間線を求める補間線算出ステップと、
    前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、
    前記補間点における、その補間点と他の補間点との間を補間する線を求めるのに用いる補間用ベクトルを、前記頂点における補間用ベクトルから求める補間用ベクトル算出ステップと、を備え、
    1の頂点と他の頂点との間の前記補間点と、前記1の頂点または他の頂点それぞれとの距離に対応する値どうしの比を、t:1−tとする場合、
    前記補間用ベクトル算出ステップにおいて、前記1の頂点における補間用ベクトルの(1−t)倍と、前記他の頂点における補間用ベクトルのt倍との加算値に対応するものを、前記補間点における補間用ベクトルとして求めること
    を特徴とする画像処理方法。
  19. 前記補間用ベクトル算出ステップで求められた前記補間点における補間用ベクトルを補正する補正ステップをさらに備え
    記補正ステップにおいて、
    前記補間用ベクトル算出ステップで求められた前記補間点における補間用ベクトルと、前記補間点における前記補間線の接線方向の接線ベクトルとの外積を求め、
    その外積と、前記接線ベクトルとの外積を求め、
    その結果得られるベクトルを、前記補間点における補正後の補間用ベクトルとすること
    を特徴とする請求項18に記載の画像処理方法。
  20. 前記画像は、3次元画像であり、前記サブ単位図形をレンダリングするレンダリングステップをさらに備えること
    を特徴とする請求項19に記載の画像処理方法。
  21. 単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する画像処理装置の画像処理方法であって、
    前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルと、前記頂点の座標とから、2つの頂点の間を補間する線である補間線を求める補間線算出ステップと、
    前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、を備え、
    前記補間線は、ベジェ曲線であって、
    前記画像は、3次元画像であり、
    前記補間線算出ステップは、
    前記ベジェ曲線である前記補間線が補間する1の頂点と他の頂点とを結ぶ直線と、その直線を、前記1の頂点または他の頂点を含む平面であって、前記1の頂点または他の頂点における補間用ベクトルに垂直な平面に投影したものそれぞれとがなす第1または第2の角度を求める角度算出ステップと、
    前記第1および第2の角度に基づいて、前記1の頂点または他の頂点から、前記ベジェ曲線の第1または第2の制御点までの距離である第1または第2の制御辺長をそれぞれ求める距離算出ステップと、
    前記第1または第2の制御辺長に基づいて、前記第1または第2の制御点をそれぞれ求めることにより、前記1の頂点と、他の頂点との間を補間する補間線としての前記ベジェ曲線を求めるベジェ曲線算出ステップと、を有すること
    を特徴とする画像処理方法。
  22. 単位図形の組合せにより定義される画像を処理することにより、前記単位図形を、複数のサブ単位図形に分割する処理をコンピュータに行わせるためのコンピュータプログラムを提供するプログラム提供媒体であって、
    前記単位図形の頂点における、その頂点と他の頂点との間を補間する線を求めるのに用いる補間用ベクトルであって、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルと、前記頂点の座標とから、2つの頂点の間を補間する線である補間線を求める補間線算出ステップと、
    前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップとを備えるコンピュータプログラムを提供すること
    を特徴とするプログラム提供媒体。
  23. 単位図形の組合せにより定義される画像を処理する画像処理装置であって、
    前記単位図形を入力するときに操作される操作手段と、
    前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成手段と、
    前記単位図形の頂点の座標および補間用ベクトルを提供するための提供手段と、を備え、
    前記補間用ベクトル生成手段は、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルを、前記補間用ベクトルとして生成すること
    を特徴とする画像処理装置。
  24. 単位図形の組合せにより定義される画像を処理する画像処理装置の画像処理方法であって、
    前記画像処理装置は、前記単位図形を入力するときに操作される操作手段を備え、
    前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成ステップと、
    前記単位図形の頂点の座標および補間用ベクトルを提供するための提供ステップと、を備え、
    前記補間用ベクトル生成ステップにおいて、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルを、前記補間用ベクトルとして生成すること
    を特徴とする画像処理方法。
  25. 前記提供ステップにおいて、前記単位図形の頂点の座標および補間用ベクトルを記録媒体に記録することにより提供すること
    を特徴とする請求項24に記載の画像処理方法。
  26. 前記提供ステップにおいて、前記単位図形の頂点の座標および補間用ベクトルを伝送路を介して伝送することにより提供すること
    を特徴とする請求項24に記載の画像処理方法。
  27. 前記補間用ベクトル生成ステップにおいて、前記法線ベクトルの他に、前記補間線の、前記頂点における方向を表すベクトルも、前記補間用ベクトルとして生成すること
    を特徴とする請求項24に記載の画像処理方法。
  28. 前記単位図形を、前記頂点の座標および補間用ベクトルに基づいて、複数のサブ単位図形に分割する分割ステップと、
    前記サブ単位図形をレンダリングするレンダリングステップと
    をさらに備えること
    を特徴する請求項24に記載の画像処理方法。
  29. 前記分割ステップは、
    前記頂点の座標および前記補間用ベクトルに基づいて、前記補間線を求める補間線算出ステップと、
    前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、を有すること
    を特徴とする請求項28に記載の画像処理方法。
  30. 前記分割ステップは、前記補間点における、その補間点と他の補間点との間を補間する線を求めるのに用いる補間用ベクトルを、前記頂点における補間用ベクトルから求める補間用ベクトル算出ステップをさらに有すること
    を特徴とする請求項29に記載の画像処理方法。
  31. 前記補間線は、ベジェ曲線であること
    を特徴とする請求項29に記載の画像処理方法。
  32. 単位図形の組合せにより定義される画像を処理する画像処理装置の画像処理方法であって、
    前記画像処理装置は、前記単位図形を入力するときに操作される操作手段を備え、
    前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成ステップと、
    前記単位図形の頂点の座標および補間用ベクトルを提供するための提供ステップと、を備え、
    前記補間用ベクトル生成ステップにおいて、前記補間線の、前記頂点における方向を表す補間線方向ベクトルを、前記補間用ベクトルとして生成すること
    を特徴とする画像処理方法。
  33. 前記補間線方向ベクトルは、前記頂点を含む所定の平面に、その頂点と他の頂点とを結ぶ線分を投影した線が、前記補間線と接する場合の、前記所定の平面の法線方向のベクトルであること
    を特徴とする請求項32に記載の画像処理方法。
  34. 前記補間線方向ベクトルは、前記補間線の、前記頂点における接線方向を表すベクトルであること
    を特徴とする請求項32に記載の画像処理方法。
  35. 単位図形の組合せにより定義される画像を処理する画像処理装置の画像処理方法であって、
    前記画像処理装置は、前記単位図形を入力するときに操作される操作手段を備え、
    前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成ステップと、
    前記単位図形の頂点の座標および補間用ベクトルを提供するための提供ステップと、
    前記単位図形を、前記頂点の座標および補間用ベクトルに基づいて、複数のサブ単位図形に分割する分割ステップと、
    前記サブ単位図形をレンダリングするレンダリングステップと、を備え、
    前記分割ステップは、
    前記頂点の座標および前記補間用ベクトルに基づいて、前記補間線を求める補間線算出ステップと、
    前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、
    前記補間点における、その補間点と他の補間点との間を補間する線を求めるのに用いる補間用ベクトルを、前記頂点における補間用ベクトルから求める補間用ベクトル算出ステップと、を有し、
    1の頂点と他の頂点との間の前記補間点と、前記1の頂点または他の頂点それぞれとの距離に対応する値どうしの比を、t:1−tとする場合、
    前記補間用ベクトル算出ステップにおいて、前記1の頂点における補間用ベクトルの(1−t)倍と、前記他の頂点における補間用ベクトルのt倍との加算値に対応するものを、前記補間点における補間用ベクトルとして求めること
    を特徴とする画像処理方法。
  36. 前記分割ステップは、前記補間用ベクトル算出ステップで求められた前記補間点における補間用ベクトルを補正する補正ステップをさらに有し
    記補正ステップにおいて、
    前記補間用ベクトル算出ステップで求められた前記補間点における補間用ベクトルと、前記補間点における前記補間線の接線方向の接線ベクトルとの外積を求め、
    その外積と、前記接線ベクトルとの外積を求め、
    その結果得られるベクトルを、前記補間点における補正後の補間用ベクトルとすること
    を特徴とする請求項35に記載の画像処理方法。
  37. 単位図形の組合せにより定義される画像を処理する画像処理装置の画像処理方法であって、
    前記画像処理装置は、前記単位図形を入力するときに操作される操作手段を備え、
    前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成ステップと、
    前記単位図形の頂点の座標および補間用ベクトルを提供するための提供ステップと、
    前記単位図形を、前記頂点の座標および補間用ベクトルに基づいて、複数のサブ単位図形に分割する分割ステップと、
    前記サブ単位図形をレンダリングするレンダリングステップと、を備え、
    前記分割ステップは、
    前記頂点の座標および前記補間用ベクトルに基づいて、前記補間線を求める補間線算出ステップと、
    前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出ステップと、を有し、
    前記補間線は、ベジェ曲線であり、
    前記画像は、3次元画像であり、
    前記補間線算出ステップは、
    前記ベジェ曲線である前記補間線が補間する1の頂点と他の頂点とを結ぶ直線と、その直線を、前記1の頂点または他の頂点を含む平面であって、前記1の頂点または他の頂点における補間用ベクトルに垂直な平面に投影したものそれぞれとがなす第1または第2の角度を求める角度算出ステップと、
    前記第1および第2の角度に基づいて、前記1の頂点または他の頂点から、前記ベジェ曲線の第1または第2の制御点までの距離である第1または第2の制御辺長をそれぞれ求める距離算出ステップと、
    前記第1または第2の制御辺長に基づいて、前記第1または第2の制御点をそれぞれ求めることにより、前記1の頂点と、他の頂点との間を補間する補間線としての前記ベジェ曲線を求めるベジェ曲線算出ステップと、を有すること
    を特徴とする画像処理方法。
  38. 単位図形の組合せにより定義される画像を、コンピュータに処理させるためのコンピュータプログラムを提供するプログラム提供媒体であって、
    前記コンピュータは、前記単位図形を入力するときに操作される操作手段を備え、
    前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成ステップと、
    前記単位図形の頂点の座標および補間用ベクトルを提供するための提供ステップと、を備え、
    前記補間用ベクトル生成ステップにおいて、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルを、前記補間用ベクトルとして生成するコンピュータプログラムを提供すること
    を特徴とするプログラム提供媒体。
  39. 単位図形の組合せにより定義される画像を処理する画像処理装置であって、
    前記画像についてのデータを提供する提供装置と、
    前記提供装置からのデータの提供を受け、前記単位図形を、複数のサブ単位図形に分割するクライアント装置と、を備え、
    前記提供装置は、
    前記単位図形を入力するときに操作される操作手段と、
    前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成手段と、
    前記単位図形の頂点の座標および補間用ベクトルを、前記クライアント装置に提供する提供手段と、を有し、
    前記クライアント装置は、
    前記単位図形の頂点の座標および補間用ベクトルとから、前記補間線を求める補間線算出手段と、
    前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出手段と、
    前記サブ単位図形を、2次元出力装置の座標系のものに変換する変換手段と、
    前記変換手段によって変換された前記サブ単位図形をレンダリングするレンダリング手段と、を有し、
    前記補間用ベクトル生成手段は、前記単位図形によって実現しようとする形状の法線方向の法線ベクトルを、前記補間用ベクトルとして生成すること
    を特徴とする画像処理装置。
  40. 単位図形の組合せにより定義される画像を処理する画像処理装置であって、
    前記画像についてのデータを提供する提供装置と、
    前記提供装置からのデータの提供を受け、前記単位図形を、複数のサブ単位図形に分割するクライアント装置と、を備え、
    前記提供装置は、
    前記単位図形を入力するときに操作される操作手段と、
    前記操作手段が操作されることにより入力された前記単位図形の頂点における、その頂点と他の頂点との間を補間する線である補間線を求めるのに用いる補間用ベクトルを生成する補間用ベクトル生成手段と、
    前記単位図形の頂点の座標および補間用ベクトルを、前記クライアント装置に提供する提供手段と、を有し、
    前記クライアント装置は、
    前記単位図形の頂点の座標および補間用ベクトルとから、前記補間線を求める補間線算出手段と、
    前記補間線上の点である補間点を、前記サブ単位図形の頂点として求める補間点算出手段と、
    前記サブ単位図形を、2次元出力装置の座標系のものに変換する変換手段と、
    前記変換手段によって変換された前記サブ単位図形をレンダリングするレンダリング手段と、を有し、
    前記補間用ベクトル生成手段は、前記補間線の、前記頂点における方向を表す補間線方向ベクトルを、前記補間用ベクトルとして生成すること
    を特徴とする画像処理装置。
JP09706598A 1998-04-09 1998-04-09 画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体 Expired - Lifetime JP3705923B2 (ja)

Priority Applications (14)

Application Number Priority Date Filing Date Title
JP09706598A JP3705923B2 (ja) 1998-04-09 1998-04-09 画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体
US09/286,866 US6373491B1 (en) 1998-04-09 1999-04-06 Image processing device, image processing method and program distribution medium and data distribution medium for processing images
CNB998009202A CN100476882C (zh) 1998-04-09 1999-04-08 图像处理装置与图像处理方法
EP99913590A EP0996094B1 (en) 1998-04-09 1999-04-08 Image processing apparatus and image processing method, program providing medium, and data providing medium
KR1019997011526A KR100586276B1 (ko) 1998-04-09 1999-04-08 화상처리장치 및 화상처리방법, 프로그램 기록매체, 및 데이터 기록매체
AU31670/99A AU3167099A (en) 1998-04-09 1999-04-08 Image processing apparatus and image processing method, program providing medium, and data providing medium
PCT/JP1999/001876 WO1999053445A1 (fr) 1998-04-09 1999-04-08 Appareil de traitement d'images et procede de traitement d'images, programme fournissant un support, et donnees fournissant un support
BR9906309-3A BR9906309A (pt) 1998-04-09 1999-04-08 Dispositivo de processamento de imagem, método de processamento de imagem, e meio de distribuição de programa e meio de distribuição de dados
CA002293670A CA2293670A1 (en) 1998-04-09 1999-04-08 Image processing apparatus and image processing method, program providing medium, and data providing medium
CO99021027A CO4880830A1 (es) 1998-04-09 1999-04-09 Dispositivo de procesamiento de imagen, metodo de procesa- miento de imagen y medio de distribucion de programa y medio de distribucion de datos para el procesamiento de imagenes
ZA9902636A ZA992636B (en) 1998-04-09 1999-04-09 Image processing device, image processing method and program distribution medium and data distribution medium for processing images.
TW088105714A TW430772B (en) 1998-04-09 1999-04-09 Image processing apparatus and image processing method, program providing medium, and data providing medium
ARP990101639A AR018846A1 (es) 1998-04-09 1999-04-09 Dispositivo de procesamiento de imagenes, metodo de procesamiento de imagenes y medio de distribucion de programas y medio de distribucion de datos paraprocesar imagenes
US09/942,319 US7084883B2 (en) 1998-04-09 2001-08-29 Image processing device, image processing method and program distribution medium and data distribution medium for processing images

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09706598A JP3705923B2 (ja) 1998-04-09 1998-04-09 画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体

Publications (2)

Publication Number Publication Date
JPH11296686A JPH11296686A (ja) 1999-10-29
JP3705923B2 true JP3705923B2 (ja) 2005-10-12

Family

ID=14182254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09706598A Expired - Lifetime JP3705923B2 (ja) 1998-04-09 1998-04-09 画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体

Country Status (13)

Country Link
US (2) US6373491B1 (ja)
EP (1) EP0996094B1 (ja)
JP (1) JP3705923B2 (ja)
KR (1) KR100586276B1 (ja)
CN (1) CN100476882C (ja)
AR (1) AR018846A1 (ja)
AU (1) AU3167099A (ja)
BR (1) BR9906309A (ja)
CA (1) CA2293670A1 (ja)
CO (1) CO4880830A1 (ja)
TW (1) TW430772B (ja)
WO (1) WO1999053445A1 (ja)
ZA (1) ZA992636B (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3705923B2 (ja) * 1998-04-09 2005-10-12 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体
EP1026639A3 (en) 1999-02-04 2002-09-04 Canon Kabushiki Kaisha 3D computer graphics processing apparatus and method
DE60026785T2 (de) 1999-03-01 2006-09-07 Canon K.K. Bildverarbeitungsgerät
US6462738B1 (en) 1999-04-26 2002-10-08 Spatial Technology, Inc. Curved surface reconstruction
JP2001118049A (ja) * 1999-10-14 2001-04-27 Sega Corp マトリクス演算器を有する画像処理装置
US6636217B1 (en) * 2000-05-11 2003-10-21 Autodesk, Inc. Regularized tangents in computer graphics
US7787696B2 (en) * 2000-08-28 2010-08-31 University Of North Carolina At Charlotte Systems and methods for adaptive sampling and estimating a systematic relationship between a plurality of points
KR100412342B1 (ko) * 2000-08-29 2003-12-31 (주)디지탈아리아 무선 네트워크를 통한 벡터 그래픽 기반의 동영상 데이터처리 방법 및 시스템
WO2002021874A1 (en) * 2000-08-29 2002-03-14 Digitalaria Co., Ltd. Method and system for processing moving picture data based upon vector graphic on wireless network
JP4541533B2 (ja) * 2000-11-24 2010-09-08 パナソニック株式会社 描画装置
US20050018885A1 (en) * 2001-05-31 2005-01-27 Xuesong Chen System and method of anatomical modeling
JP4052831B2 (ja) * 2001-12-19 2008-02-27 株式会社ルネサステクノロジ レンダリング処理装置およびレンダリング処理方法
WO2003067527A1 (fr) * 2002-02-06 2003-08-14 Digital Process Ltd. Programme d'affichage de forme tridimensionnelle, procede d'affichage de forme tridimensionnelle et dispositif d'affichage de forme tridimensionnelle
JP4464657B2 (ja) * 2002-11-12 2010-05-19 パナソニック株式会社 曲面画像処理装置及び曲面画像処理方法
JPWO2004104869A1 (ja) * 2003-05-19 2006-07-20 有限会社 瀬戸口総研 面形状の創成システム、面形状の創成方法とプログラムの記録媒体
US7623730B2 (en) * 2003-07-30 2009-11-24 Hewlett-Packard Development Company, L.P. System and method that compensate for rotations of textures defined by parametric texture maps
US7295202B2 (en) * 2003-12-26 2007-11-13 Toyota Jidosha Kabushiki Kaisha System for approximating and displaying three dimensional CAD data, and system for executing method thereof
JP4323519B2 (ja) * 2004-03-08 2009-09-02 三菱電機株式会社 符号化データの復号プログラム及び方法並びに装置
US7750914B2 (en) * 2004-08-26 2010-07-06 Intel Corporation Subdividing geometry images in graphics hardware
JP4255449B2 (ja) * 2005-03-01 2009-04-15 株式会社ソニー・コンピュータエンタテインメント 描画処理装置、テクスチャ処理装置、およびテセレーション方法
JP4652252B2 (ja) * 2006-02-28 2011-03-16 株式会社ミツトヨ 画像測定システム、画像測定方法及び画像測定プログラム
US7999812B2 (en) * 2006-08-15 2011-08-16 Nintendo Co, Ltd. Locality based morphing between less and more deformed models in a computer graphics system
EP2080169A4 (en) * 2006-10-10 2011-07-27 Cedara Software Corp SYSTEM AND METHOD FOR SEGMENTING A REGION IN A MEDICAL IMAGE
JP4370438B2 (ja) * 2007-06-27 2009-11-25 Necシステムテクノロジー株式会社 ベクター画像描画装置、ベクター画像描画方法およびプログラム
JP4949953B2 (ja) * 2007-07-11 2012-06-13 国立大学法人埼玉大学 曲面形状と基準面との距離算出方法
US20090322748A1 (en) * 2008-06-09 2009-12-31 Uti Limited Partnership Methods,systems, and computer program products for GPU-based point radiation for interactive volume sculpting and segmentation
EP2313868B1 (en) * 2008-07-18 2016-03-16 Vorum Research Corporation Method, apparatus, signals and media for producing a computer representation of a three-dimensional surface of an appliance for a living body
GB201003065D0 (en) * 2010-02-23 2010-04-07 Simpleware Ltd Image processing method and method of three-dimensional printing incorporating the same
US8669983B2 (en) * 2010-08-31 2014-03-11 Microsoft Corporation Buffer construction with geodetic circular arcs
KR101794537B1 (ko) * 2011-01-21 2017-11-07 삼성전자주식회사 데이터 처리 장치 및 방법
CN102768764B (zh) * 2012-03-26 2017-12-29 新奥特(北京)视频技术有限公司 一种基于贝塞尔曲线使图形平滑的方法
KR20130126195A (ko) * 2012-05-11 2013-11-20 삼성전자주식회사 계단 현상을 제거하기 위한 영상 처리 방법 및 이를 적용한 영상 처리 장치
US9965893B2 (en) * 2013-06-25 2018-05-08 Google Llc. Curvature-driven normal interpolation for shading applications
GB2515510B (en) 2013-06-25 2019-12-25 Synopsys Inc Image processing method
CN103903290B (zh) * 2014-04-10 2016-08-17 国家电网公司 一种基于坐标跳跃的图形排列组合的方法
US9489770B2 (en) * 2014-05-26 2016-11-08 Tatsuya Iwamoto Method for generating quartic bezier triangle patches from triangle mesh for computer graphics
JP6289283B2 (ja) * 2014-06-20 2018-03-07 株式会社ブリヂストン 円環状回転体の表面形状データの補正方法、及び、円環状回転体の外観検査装置
RU2605035C1 (ru) * 2015-05-25 2016-12-20 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер для восстановления логической иерархии по меньшей мере двух двухмерных объектов
CA2987536A1 (en) * 2015-07-07 2017-01-12 Landmark Graphics Corporation Tri-cubic and hybrid interpolation in a 3d texture shader
WO2019049289A1 (ja) 2017-09-07 2019-03-14 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置および画像生成方法
US11270486B2 (en) * 2018-07-02 2022-03-08 Apple Inc. Electronic drawing with handwriting recognition
US11380028B2 (en) 2018-07-02 2022-07-05 Apple Inc. Electronic drawing with handwriting recognition
JP7339846B2 (ja) * 2019-10-25 2023-09-06 住友重機械工業株式会社 モデル化装置及びプログラム
US11127205B2 (en) * 2019-11-12 2021-09-21 Adobe Inc. Three-dimensional mesh segmentation
KR20220122645A (ko) 2019-12-29 2022-09-02 매직 아이 인코포레이티드 3차원 좌표를 2차원 피처 포인트와 연관
CN111496798B (zh) * 2020-05-18 2022-06-14 北京配天技术有限公司 机器人传送带跟踪方法、设备及存储装置
CN113593046B (zh) * 2021-06-22 2024-03-01 北京百度网讯科技有限公司 全景切换方法、装置、电子设备和存储介质
CN113706970B (zh) * 2021-08-26 2023-04-28 北京金三惠科技有限公司 展示乐谱连音线的方法及计算机程序

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2513209B2 (ja) 1987-03-05 1996-07-03 ソニー株式会社 オフセツト曲面デ−タ作成方法
JP3187813B2 (ja) 1986-10-21 2001-07-16 ソニー株式会社 オフセツト曲面データ作成方法
JP2595568B2 (ja) 1987-10-26 1997-04-02 ソニー株式会社 オフセツトデータ作成方法
JP2668895B2 (ja) 1987-10-26 1997-10-27 ソニー株式会社 オフセットデータ作成方法
JP2595572B2 (ja) 1987-10-30 1997-04-02 ソニー株式会社 オフセツトデータ作成方法
JP2737127B2 (ja) 1987-11-04 1998-04-08 ソニー株式会社 物体の表面形状データ作成方法
JP2946506B2 (ja) 1987-11-04 1999-09-06 ソニー株式会社 物体の表面形状データ作成方法
US5381519A (en) * 1987-12-04 1995-01-10 Evans & Sutherland Computer Corp. System for line interpolation for computer graphics displays
US5142617A (en) * 1988-10-27 1992-08-25 Tektronix, Inc. Method of shading a graphics image
US5307450A (en) * 1991-02-19 1994-04-26 Silicon Graphics, Inc. Z-subdivision for improved texture mapping
JPH05175842A (ja) * 1991-12-24 1993-07-13 Ricoh Co Ltd 音声データ再生装置
US5619625A (en) * 1993-05-28 1997-04-08 Ricoh Company, Ltd. Method for interpolating smooth free-form surfaces into curve mesh including composite curves
JP3480971B2 (ja) * 1993-10-17 2003-12-22 ヒューレット・パッカード・カンパニー 画像データの生成方法及び復元方法
JPH07311858A (ja) * 1994-05-18 1995-11-28 Sony Corp 自由曲面作成方法及び自由曲面作成装置
US5781714A (en) * 1994-05-27 1998-07-14 Bitstream Inc. Apparatus and methods for creating and using portable fonts
US5594852A (en) * 1994-08-17 1997-01-14 Laser Products, Inc. Method for operating a curve forming device
US5600772A (en) * 1994-08-17 1997-02-04 Printronix, Inc. Bit map character convertor using chain-codes for the character filling process
US5694535A (en) * 1995-03-24 1997-12-02 Novell, Inc. Direct interactive, constant-time curve apparatus and method
JP3926866B2 (ja) 1996-05-10 2007-06-06 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理方法、及び描画システム
US6108011A (en) * 1996-10-28 2000-08-22 Pacific Data Images, Inc. Shape interpolation for computer-generated geometric models using independent shape parameters for parametric shape interpolation curves
JPH10134208A (ja) * 1996-10-31 1998-05-22 Sony Corp 形状データの近似化方法及び描画装置
JP3179392B2 (ja) * 1997-11-17 2001-06-25 日本電気アイシーマイコンシステム株式会社 画像処理装置及び画像処理方法
JP3705923B2 (ja) * 1998-04-09 2005-10-12 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体
US6184408B1 (en) * 1999-04-28 2001-02-06 Dow Corning Corporation Method for preparation of hydrophobic precipitated silica

Also Published As

Publication number Publication date
CO4880830A1 (es) 2000-01-31
JPH11296686A (ja) 1999-10-29
TW430772B (en) 2001-04-21
EP0996094A1 (en) 2000-04-26
US7084883B2 (en) 2006-08-01
CN1272933A (zh) 2000-11-08
BR9906309A (pt) 2000-07-11
US6373491B1 (en) 2002-04-16
WO1999053445A1 (fr) 1999-10-21
AU3167099A (en) 1999-11-01
KR20010013519A (ko) 2001-02-26
EP0996094B1 (en) 2011-06-15
ZA992636B (en) 1999-10-11
EP0996094A4 (en) 2007-10-17
AR018846A1 (es) 2001-12-12
US20020005856A1 (en) 2002-01-17
CA2293670A1 (en) 1999-10-21
CN100476882C (zh) 2009-04-08
KR100586276B1 (ko) 2006-06-07

Similar Documents

Publication Publication Date Title
JP3705923B2 (ja) 画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体
US6700586B1 (en) Low cost graphics with stitching processing hardware support for skeletal animation
JP3578498B2 (ja) 画像情報処理装置
US7027050B1 (en) 3D computer graphics processing apparatus and method
JP3926866B2 (ja) 情報処理装置、情報処理方法、及び描画システム
JP4563554B2 (ja) モデルとして表現されるオブジェクトを彫塑する方法
US20040247173A1 (en) Non-flat image processing apparatus, image processing method, recording medium, and computer program
US20080246760A1 (en) Method and apparatus for mapping texture onto 3-dimensional object model
JP3466661B2 (ja) 画像処理装置及びその方法
JP5320334B2 (ja) 画像処理装置及びプログラム
JP2004005452A (ja) 画像処理装置、画像処理方法、半導体デバイス、コンピュータプログラム、記録媒体
JPH09330423A (ja) 三次元形状データ変換装置
JP4282587B2 (ja) テクスチャ・マッピング装置
JP2006309802A (ja) 画像処理装置及び画像処理方法
JP3629243B2 (ja) モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法
JP3327986B2 (ja) 画像作成装置
JP4518643B2 (ja) ゲームシステム及び情報記憶媒体
NZ500171A (en) Deriving smoothed polygonal images from crude polygonal data and displaying images on game machine
JP3617960B2 (ja) 3次元ゲーム画像処理プログラム、3次元ゲーム画像処理方法及びビデオゲーム装置
MXPA99011422A (en) Image processing apparatus and image processing method, program providing medium, and data providing medium
JP2006277772A (ja) 情報処理装置、情報処理方法、情報処理プログラム、記録媒体、及び情報提供装置
JP2007156773A (ja) 画像生成装置、画像生成方法、ならびに、プログラム
JP4726347B2 (ja) 画像表示装置、画像表示方法、情報記憶媒体および画像表示プログラム
JP3712139B2 (ja) 画像作成装置および方法
JP3740024B2 (ja) 画像管理システム、サーバ、ユーザコンピュータ及び記憶媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050627

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050719

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050727

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080805

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130805

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term