説明

ベジェ曲線の処理方法並びにグラフィクスオブジェクトの変形処理方法及びシステム

【課題】基となるグラフィクスオブジェクトから、それを自然な形で変形させ、類似したグラフィクスオブジェクトを生成する。
【解決手段】ベジェ曲線によって構成されたグラフィクスオブジェクトについて、これを構成するベジェ曲線の制御点に変位を与える処理方法であって、グラフィクスオブジェクトの中心位置を算出する第1ステップと、−1以上1以下の範囲内で乱数を発生させる第2ステップと、0以上1以下の範囲内の変形パラメタを取得する第3ステップと、前記第1ステップにより算出された中心位置、前記第2ステップにより発生させた乱数及び前記第3ステップにより取得した変形パラメタを用いて前記ベジェ曲線の制御点に与える変位を算出する第4ステップとを備えたベジェ曲線の変形処理方法及びシステムである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び方法、並びにプログラムに関し、特に、ベジェ曲線により構成されたグラフィクスオブジェクトを変形させるための、コンピュータグラフィクスにおける処理方法及びシステムに関するものである。
【背景技術】
【0002】
近年では、コンピュータ上で描画用プログラムを用いて絵や図などのグラフィクスオブジェクトを描画する事は当然となっているが、このグラフィクスオブジェクトの特徴として、再現性が高く、再利用が容易であることが挙げられる。
【0003】
このグラフィクスオブジェクトについて、それが文字のような記号である場合、再現性の高さが利便性につながっている。しかし、それが絵のような独自性や個性を有し、それが価値となる場合、再現性の高さは単純な複製を招き、価値の低下につながっている。ここで「グラフィクスオブジェクトの独自性」とは、幾何学的に相似で無いことを意味し、以降、同様の定義で「独自性」という語句を使用する。上記より、再現性と独自性を両立するための、グラフィクスオブジェクトの生成方法が課題となっている。
【0004】
ここで、独自性をもったグラフィクスオブジェクトの生成方法として、乱数を利用した方法が考案されている。図1は、その生成方法を利用したシステムの概要図であり、グラフィクスオブジェクトを生成するデータ処理部101、グラフィクスオブジェクトを送受信するためのネットワーク102と、生成されたグラフィクスオブジェクトを受け取るクライアントa102及びクライアントb103から構成されている。
【0005】
データ処理部102ではグラフィクスオブジェクトの複数の通過点を設定し、各通過点の振幅を、各通過点間の距離に乱数αと、グラフィクスオブジェクトに適宜設定される値βとを乗じて決定し、グラフィクスオブジェクト上の各通過点の角度を各通過点の位置データを基に演算し、通過点の角度が基準値を超えたときには、グラフィクスオブジェクトの生成の自動計算を最初からやり直し、角度が基準値を超えている通過点がないときには、各通過点の位置データを基にベジェ曲線を用いてグラフィクスオブジェクトの曲線を生成するというものである。生成されたグラフィクスオブジェクトはネットワーク102を通じてクライアントa103及びクライアントb104に伝播される。すなわち、データ処理部102で再計算するたびに、α、β、及び角度の基準値の範囲内で求められた独自性のあるグラフィクスオブジェクトを、クライアントa103及びクライアントb104が取得できることとなる。
【0006】
本発明に関連する公知技術文献としては下記特許文献1があげられる。
【特許文献1】特開2006−116294
【発明の開示】
【発明が解決しようとする課題】
【0007】
ところで一般的に期待されているのは、完全な独自性をもつグラフィクスオブジェクトではなく、あるグラフィクスオブジェクトに対して類似したグラフィクスオブジェクトである。ここで「類似したグラフィクスオブジェクト」とは、比較対象同士がその形状で共通点を持ちつつも幾何学的に相似で無いことを示し、以降、同様の定義で「類似」という語句を使用する。
【0008】
具体例を示すと、森を描画するにあたり、基となる木のグラフィクスオブジェクトを、それを木として認識できる範囲内で変形させたものの集合があれば、一つ一つ木を描画するよりも早く森を描画でき、かつ、全く同じ木を複製して描画するよりも独自性のある森を描画することができる。すなわち、基となるグラフィクスオブジェクトから、それに類似するグラフィクスオブジェクトが生成できれば、独自性と利便性を両立することができるのである。
【0009】
さて、今日において独自性を持ったグラフィクスオブジェクトを生成しようとした場合、基となるようなグラフィクスオブジェクトは考慮されず、完全な独自性をもつグラフィクスオブジェクトの生成方法及びシステムしか提示されていない。例えば、特許文献1では、乱数をもとに得られた値を、任意の基準値によってグラフィクスオブジェクトの要素とするか否かを判定しており、基となるグラフィクスオブジェクトという概念が欠損している。
【0010】
よって、基となるグラフィクスオブジェクトを変形させ、類似したグラフィクスオブジェクトを生成するための方法及びシステムが求められているのである。
【0011】
ここでグラフィクスオブジェクトの描画方法を顧みると、その方法は多々あるが、その中でも最も慣用的な方法の一つに、ベジェ曲線による描画方法がある。ベジェ曲線は3つ以上の制御点と呼ばれる点によって構成される。ベジェ曲線を利用してグラフィクスオブジェクトを描画すると、出力装置の解像度によらないグラフィクスオブジェクトの描画ができ、また、その構成要素が数学的なパラメタであるため、変形や再編集といった操作や処理が容易な点が特徴として挙げられる。
【0012】
本発明は、上述のベジェ曲線で構成されたグラフィクスオブジェクトについて、基となるグラフィクスオブジェクトを、グラフィクスオブジェクトの中心位置からベジェ曲線の制御点までのベクトル量に変位を与えることで変形させ、類似したグラフィクスオブジェクトを生成する方法を提示することを目的とする。
【0013】
また、グラフィクスオブジェクトを描画する作成者が、基となるグラフィクスオブジェクトを描画するだけで、類似したグラフィクスオブジェクトを生成して取得できることを目的とする。また、類似したグラフィクスオブジェクトを生成するシステムを利用することにより、類似したグラフィクスオブジェクトを全て作成者が描画するよりも、短期間でグラフィクスオブジェクトを作成できることを目的とする。また、基となるグラフィクスオブジェクトが既に作成済みの場合には、グラフィクスオブジェクトの描画技術を必要とせずとも、類似したグラフィクスオブジェクトを生成し、取得できることを目的とする。
【課題を解決するための手段】
【0014】
上記目的を達成するために、本発明のグラフィクスオブジェクトにおけるベジェ曲線の変形のための処理方法は、ベジェ曲線によって構成されたグラフィクスオブジェクトについて、グラフィクスオブジェクトの中心位置を算出する第1ステップと、−1以上1以下の範囲内で乱数を発生させる第2ステップと、0以上1以下の範囲内の変形パラメタを取得する第3ステップと、前記第1ステップにより算出された中心位置、前記第2ステップにより発生させた乱数及び前記第3ステップにより取得した変形パラメタを用いて前記ベジェ曲線の制御点に与える変位を算出する第4ステップとを備えている。
【0015】
上記方法において、前記乱数が負であった場合は、前記第4ステップにおいて、変位を与えた後の制御点と変位を与える前の制御点が前記中心位置に対してなす第2の角を、変位を与える前の制御点とその直前となる制御点が前記中心位置に対してなす第1の角に対して前記乱数と前記変形パラメタを乗算することにより算出するものである。
【0016】
また、上記方法において、前記乱数が正であった場合は、前記第4ステップにおいて、変位を与えた後の制御点と変位を与える前の制御点が前記中心位置に対してなす第2の角を、変位を与える前の制御点とその直後となる制御点が前記中心位置に対してなす第1の角に対して前記乱数と前記変形パラメタを乗算することにより算出するものである。
【0017】
また、上記方法の前記第4ステップにおいて、前記中心位置に対する変位を与えた後の制御点の距離を、変位を与える前の制御点と前記中心位置との距離に対し前記乱数と前記変形パラメタを乗算することにより算出するものである。
【0018】
さらに、本発明のグラフィクスオブジェクトの変形処理方法は、上記のベジェ曲線の処理方法を備え、前記ベジェ曲線処理方法を用いてグラフィクスオブジェクトを変形させるものである。
【0019】
さらに、本発明のグラフィクスオブジェクトの変形処理システムは、上記のグラフィクスオブジェクトの変形処理方法を備えたものである。
【発明の効果】
【0020】
本発明のベジェ曲線の処理方法によれば、ベジェ曲線で構成されたグラフィクスオブジェクトについて、基となるグラフィクスオブジェクトを変形させ、類似したグラフィクスオブジェクトを生成することができる。
【0021】
本発明によれば、グラフィクスオブジェクトを描画する作成者は、基となるグラフィクスオブジェクトを描画するだけで、類似したグラフィクスオブジェクトを生成して取得することができる。また、類似したグラフィクスオブジェクトを生成するシステムを利用することにより、類似したグラフィクスオブジェクトを全て作成者(ユーザ)が描画するよりも、短期間でグラフィクスオブジェクトを作成することができる。また、基となるグラフィクスオブジェクトが既に作成済みの場合には、グラフィクスオブジェクトの描画技術を必要とせずとも、類似したグラフィクスオブジェクトを生成し、取得することができる。
【発明を実施するための最良の形態】
【0022】
以下、本発明を実施する場合の一形態を図面を参照して具体的に説明する。
図2は、本発明のベジェ曲線の処理方法を実施可能に構成されたグラフィクスオブジェクト生成システムの一実施例の構成図である。グラフィクスオブジェクトは、ここではいわゆるベクターグラフィクスであり、コンピュータシステムに導入された描画用プログラムの数式演算により作成されるラインやサーフィス等が含まれるが、本発明では特に、ベジェ曲線で構成されるグラフィクスオブジェクトを対象とする。ベジェ曲線は、3つ以上の制御点を設け、各制御点間を連結する線分について、0≦t≦1の範囲に含まれるパラメタtを用いてt:1−tの比率の位置で分割する点を求める処理を繰り返すことによりベジェ曲線上の点を取得することで作成できる。本発明のベジェ曲線の処理方法は、このようにして生成されたベジェ曲線から構成される1つのグラフィクスオブジェクトを、基のグラフィクスオブジェクト(変形前のグラフィクスオブジェクト)とし、これに類似した新規のグラフィクスオブジェクト(変形後のグラフィクスオブジェクト)を生成する方法である。
【0023】
図2に示すグラフィクスオブジェクト生成システムは、グラフィクスオブジェクトを作成するための演算を行う演算装置201と、グラフィクスオブジェクトを作成するために必要なデータを入力する入力装置202と、グラフィクスオブジェクトを出力する出力装置203と、グラフィクスオブジェクトを記憶するための外部記憶装置204とから構成されている。
【0024】
そして演算装置201には、グラフィクスオブジェクトを作成する過程で用いられる種々のデータを一時的に記憶するメモリ205と、グラフィクスオブジェクトの中心位置(中心点の座標)を演算するプログラムである中心演算プログラム210と、乱数を発生させる乱数発生プログラム211がある。また、メモリ205上には、変形前のグラフィクスオブジェクトのデータである変形前データ206と、変形前データ206を演算した結果として得られた変形後のグラフィクスオブジェクトのデータである変形後データ207と、変形前データ206から変形後データ207を生成するための変形パラメタ208と、変形過程の一時的なグラフィクスオブジェクトのデータ及び/またはその他の一時的データである変形中データ209が配置されている。
【0025】
例えば、花を描画したグラフィクスオブジェクトを変形させる場合、先ず、基となる花のグラフィクスオブジェクトのデータを入力装置202で入力するか、あるいは外部記憶装置204に記憶されている花のグラフィクスオブジェクトのデータを読み込み、これを変形前データ206とする。この変形前データ206から演算装置と本発明によるグラフィクスオブジェクトの変形方法によって変形後データ207を生成し、出力装置203に出力する。これにより、ユーザは花のグラフィクスオブジェクトを変形させたグラフィクスオブジェクトを取得することができる。
【0026】
図3は、類似したグラフィクスオブジェクトを生成する時の処理フローである。処理フローは、変形前データをメモリ上に配置するステップ301と、変形パラメタをメモリ上に配置するステップ302と、変形前データの中心位置を算出するステップ303と、乱数を算出するステップ304と、変形後データを算出するステップ305と、出力装置に出力するステップ306で構成される。
【0027】
変形前データをメモリ上に配置するステップ301では、入力装置で作成した変形前データ、または外部記憶装置に記憶している変形前データを、演算装置のメモリ上に配置する。
【0028】
変形パラメタをメモリ上に配置するステップ302では、入力装置で作成した変形パラメタ、または外部記憶装置に記憶している変形パラメタを、演算装置のメモリ上に配置する。
【0029】
変形前データの中心位置を算出するステップ303では、変形前データから、中心演算プログラムを用い、変形前データのグラフィクスオブジェクトの中心位置を算出する。算出した値はメモリ上に変形中データの1つとして配置され、一時的に記憶される。
【0030】
乱数を算出するステップ304では、乱数発生プログラムを用い、変形後データを作成するための乱数を生成する。生成した乱数はメモリ上に配置され、一時的に記憶される。
【0031】
変形後データを算出するステップ305では、変形前データと、ステップ303で算出した中心位置、及びステップ304で生成した乱数を用い、図4で後述する変形方法に従い、変形後データを生成し、メモリ上に配置する。
【0032】
出力装置に出力するステップ306では、生成した変形後データを、出力装置に出力する。
【0033】
図4は、グラフィクスオブジェクトの変形過程の概要図である。
まず、変形前データ、すなわち基となるグラフィクスオブジェクトを、ベジェ曲線a401とベジェ曲線b406からなる曲線で構成されるとして定義する。ベジェ曲線a401は、制御点a402、制御点b403、制御点c404、制御点d405の4点の制御点をもつ3次ベジェ曲線である。また、ベジェ曲線b406は、制御点d405、制御点e407、制御点f408、制御点a402の4点の制御点をもつ3次ベジェ曲線である。ベジェ曲線a401とベジェ曲線b406は連続しており、ベジェ曲線a401とベジェ曲線b406からなる曲線は閉曲線である。また、変形前データから中心演算プログラムによって得られる値、すなわち基となるグラフィクスオブジェクトの中心位置となる点を中心点412とする。例えばこの例では、中心位置は、制御点a402、制御点b403、制御点c404、制御点d405、制御点e407、制御点f408から成る多角形の重心を計算することによって求めることができるが、別の方法によって求めてもよい。また、制御点g408、中心点412、及び制御点a402による角を角413とし、制御点a402、中心点412、及び制御点b403による角を角414とする。
【0034】
次に、変形後データ、すなわち基となるグラフィクスオブジェクトを変形した場合の、その変形過程のグラフィクスオブジェクトを、ベジェ曲線c409とベジェ曲線d410からなる曲線で構成されるとして定義する。ベジェ曲線c409は、制御点g411、制御点b403、制御点c404、制御点d405の4点の制御点を持つベジェ曲線である。また、ベジェ曲線d410は、制御点d405、制御点e407、制御点f408、制御点g411の4点の制御点をもつベジェ曲線である。ベジェ曲線c409とベジェ曲線d410は連続しており、ベジェ曲線c409とベジェ曲線d410からなる曲線は閉曲線である。ここで制御点g411は制御点a402に変位を与えた後の制御点であり、制御点a402、中心点412、及び制御点g411による角を角415とする。
【0035】
なお、この変形過程のグラフィクスオブジェクトは、基のグラフィクスオブジェクトから類似したグラフィクスオブジェクトを生成する際の、制御点aに変位を与えた時の過程を示したものである。類似したオブジェクトの生成は、基のグラフィクスオブジェクトを構成する全ての制御点に対し、後述する制御点aに変位を与える方法と同様の方法で変位を与えることにより実現される。
【0036】
制御点g411は制御点a402に対し、角と距離に変位を与えて算出する。変位の算出にはユーザが指定した変形パラメタαと、乱数発生プログラムによって得られる乱数β及び乱数γが必要である。ここでαは0以上1以下の実数であり、β及びγは−1以上1以下の実数である。
【0037】
制御点a402から制御点g411への変位は、中心点412に対する制御点g411の角と距離として算出される。
まず、変位後の制御点gの中心点412に対する角については、乱数βが負の値の場合は、変位前の制御点とその直前の制御点(図4の例では制御点aと制御点f)とが中心点となす角を第1の角iとする。一方、乱数βが正の値の場合は、変位前の制御点とその直後の制御点(図4の例では制御点aと制御点b)とが中心点となす角を第1の角iとする。続いて、第1の角iに対し変数パラメタα及び乱数βを乗算して第2の角jを算出する。得られた第2の角jは、変位後の制御点と変位前の制御点が中心点に対してなす角である。すなわち、例えば、乱数βが正の値であった場合に、変位前の制御点a402は直後の制御点として制御点b403を持つので、第2の角jである角415は、第1の角iである角414と変形パラメタαと乱数βの乗算値として算出する。
【0038】
次に、変位後の制御点gの中心点412からの距離については、中心点412と制御点a402との距離に対し変形パラメタαと乱数γ(上記乱数βとは別に発生されたもの)を乗算して与えられる。
【0039】
以上の角と距離の変位の算出により、制御点a402に変位を与えた後の制御点である制御点g411は、制御点a402と中心点412を結ぶ線分に対し第1の角j(符号415)をなす線上にあって、中心点412からの距離が、制御点a402と中心点412の距離にα及びγを乗算した値の位置として決定する。
【0040】
上記及び図4では4点の制御点を持つ3次ベジェ曲線2本によって構成されたグラフィクスオブジェクトの場合について述べているが、これは一例であり、ベジェ曲線の制御点の数(ベジェ曲線の次数)、及びベジェ曲線の本数に関わらず、上記と同様の方法によって変位を与えることで、類似したグラフィクスオブジェクトを生成することができる。
【図面の簡単な説明】
【0041】
【図1】乱数を利用したグラフィクスオブジェクトの生成システムの構成図である。
【図2】本発明の一実施例を示すシステム構成図である。
【図3】類似したグラフィクスオブジェクトを生成する時の処理フローである。
【図4】グラフィクスオブジェクトの変形過程の概要図である。
【符号の説明】
【0042】
101・・・データ処理部
102・・・ネットワーク
103・・・クライアントa
104・・・クライアントb
201・・・演算装置
202・・・出力装置
203・・・入力装置
204・・・外部記憶装置
205・・・メモリ
206・・・変形前データ
207・・・変形後データ
208・・・変形パラメタ
209・・・変形中データ
210・・・中心演算プログラム
211・・・乱数発生プログラム
401・・・ベジェ曲線a
402・・・制御点a
403・・・制御点b
404・・・制御点c
405・・・制御点d
406・・・ベジェ曲線b
407・・・制御点e
408・・・制御点f
409・・・ベジェ曲線c
410・・・ベジェ曲線d
411・・・制御点g
412・・・中心点
413・・・第1の角i
414・・・第1の角i
415・・・第2の角j

【特許請求の範囲】
【請求項1】
ベジェ曲線によって構成されたグラフィクスオブジェクトについて、これを構成するベジェ曲線の制御点に変位を与える処理方法であって、グラフィクスオブジェクトの中心位置を算出する第1ステップと、−1以上1以下の範囲内で乱数を発生させる第2ステップと、0以上1以下の範囲内の変形パラメタを取得する第3ステップと、前記第1ステップにより算出された中心位置、前記第2ステップにより発生させた乱数及び前記第3ステップにより取得した変形パラメタを用いて前記ベジェ曲線の制御点に与える変位を算出する第4ステップとを備えたベジェ曲線の処理方法。
【請求項2】
前記乱数が負であった場合、前記第4ステップにおいて、変位を与えた後の制御点と変位を与える前の制御点が前記中心位置に対してなす第2の角を、変位を与える前の制御点とその直前となる制御点が前記中心位置に対してなす第1の角に対して前記乱数と前記変形パラメタを乗算することにより算出することを特徴とする請求項1記載のベジェ曲線の処理方法。
【請求項3】
前記乱数が正であった場合、前記第4ステップにおいて、変位を与えた後の制御点と変位を与える前の制御点が前記中心位置に対してなす第2の角を、変位を与える前の制御点とその直後となる制御点が前記中心位置に対してなす第1の角に対して前記乱数と前記変形パラメタを乗算することにより算出することを特徴とする請求項1記載のベジェ曲線の処理方法。
【請求項4】
前記第4ステップにおいて、前記中心位置に対する変位を与えた後の制御点の距離を、変位を与える前の制御点と前記中心位置との距離に対して前記乱数と前記変形パラメタを乗算することにより算出することを特徴とする請求項1記載のベジェ曲線の処理方法。
【請求項5】
請求項1記載のベジェ曲線の処理方法を備え、前記ベジェ曲線の処理方法を用いてグラフィクスオブジェクトを変形させることを特徴とするグラフィクスオブジェクトの変形処理方法。
【請求項6】
請求項5に記載したグラフィクスオブジェクトの処理方法を備えた、グラフィクスオブジェクトの変形処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2008−134827(P2008−134827A)
【公開日】平成20年6月12日(2008.6.12)
【国際特許分類】
【出願番号】特願2006−320555(P2006−320555)
【出願日】平成18年11月28日(2006.11.28)
【出願人】(000233055)日立ソフトウエアエンジニアリング株式会社 (1,610)
【Fターム(参考)】