(57)【要約】【課題】基となるグラフィクスオブジェクトから、それを自然な形で変形させ、類似したグラフィクスオブジェクトを生成する。【解決手段】ベジェ曲線によって構成されたグラフィクスオブジェクトについて、これを構成するベジェ曲線の制御点に変位を与える処理方法であって、グラフィクスオブジェクトの中心位置を算出する第１ステップと、−１以上１以下の範囲内で乱数を発生させる第２ステップと、０以上１以下の範囲内の変形パラメタを取得する第３ステップと、前記第１ステップにより算出された中心位置、前記第２ステップにより発生させた乱数及び前記第３ステップにより取得した変形パラメタを用いて前記ベジェ曲線の制御点に与える変位を算出する第４ステップとを備えたベジェ曲線の変形処理方法及びシステムである。【選択図】図４
2008134827.tif 000002
【特許請求の範囲】
【請求項１】
ベジェ曲線によって構成されたグラフィクスオブジェクトについて、これを構成するベジェ曲線の制御点に変位を与える処理方法であって、グラフィクスオブジェクトの中心位置を算出する第１ステップと、−１以上１以下の範囲内で乱数を発生させる第２ステップと、０以上１以下の範囲内の変形パラメタを取得する第３ステップと、前記第１ステップにより算出された中心位置、前記第２ステップにより発生させた乱数及び前記第３ステップにより取得した変形パラメタを用いて前記ベジェ曲線の制御点に与える変位を算出する第４ステップとを備えたベジェ曲線の処理方法。
【請求項２】
前記乱数が負であった場合、前記第４ステップにおいて、変位を与えた後の制御点と変位を与える前の制御点が前記中心位置に対してなす第２の角を、変位を与える前の制御点とその直前となる制御点が前記中心位置に対してなす第１の角に対して前記乱数と前記変形パラメタを乗算することにより算出することを特徴とする請求項１記載のベジェ曲線の処理方法。
【請求項３】
前記乱数が正であった場合、前記第４ステップにおいて、変位を与えた後の制御点と変位を与える前の制御点が前記中心位置に対してなす第２の角を、変位を与える前の制御点とその直後となる制御点が前記中心位置に対してなす第１の角に対して前記乱数と前記変形パラメタを乗算することにより算出することを特徴とする請求項１記載のベジェ曲線の処理方法。
【請求項４】
前記第４ステップにおいて、前記中心位置に対する変位を与えた後の制御点の距離を、変位を与える前の制御点と前記中心位置との距離に対して前記乱数と前記変形パラメタを乗算することにより算出することを特徴とする請求項１記載のベジェ曲線の処理方法。
【請求項５】
請求項１記載のベジェ曲線の処理方法を備え、前記ベジェ曲線の処理方法を用いてグラフィクスオブジェクトを変形させることを特徴とするグラフィクスオブジェクトの変形処理方法。
【請求項６】
請求項５に記載したグラフィクスオブジェクトの処理方法を備えた、グラフィクスオブジェクトの変形処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び方法、並びにプログラムに関し、特に、ベジェ曲線により構成されたグラフィクスオブジェクトを変形させるための、コンピュータグラフィクスにおける処理方法及びシステムに関するものである。
【背景技術】
【０００２】
近年では、コンピュータ上で描画用プログラムを用いて絵や図などのグラフィクスオブジェクトを描画する事は当然となっているが、このグラフィクスオブジェクトの特徴として、再現性が高く、再利用が容易であることが挙げられる。
【０００３】
このグラフィクスオブジェクトについて、それが文字のような記号である場合、再現性の高さが利便性につながっている。しかし、それが絵のような独自性や個性を有し、それが価値となる場合、再現性の高さは単純な複製を招き、価値の低下につながっている。ここで「グラフィクスオブジェクトの独自性」とは、幾何学的に相似で無いことを意味し、以降、同様の定義で「独自性」という語句を使用する。上記より、再現性と独自性を両立するための、グラフィクスオブジェクトの生成方法が課題となっている。
【０００４】
ここで、独自性をもったグラフィクスオブジェクトの生成方法として、乱数を利用した方法が考案されている。図１は、その生成方法を利用したシステムの概要図であり、グラフィクスオブジェクトを生成するデータ処理部１０１、グラフィクスオブジェクトを送受信するためのネットワーク１０２と、生成されたグラフィクスオブジェクトを受け取るクライアントａ１０２及びクライアントｂ１０３から構成されている。
【０００５】
データ処理部１０２ではグラフィクスオブジェクトの複数の通過点を設定し、各通過点の振幅を、各通過点間の距離に乱数αと、グラフィクスオブジェクトに適宜設定される値βとを乗じて決定し、グラフィクスオブジェクト上の各通過点の角度を各通過点の位置データを基に演算し、通過点の角度が基準値を超えたときには、グラフィクスオブジェクトの生成の自動計算を最初からやり直し、角度が基準値を超えている通過点がないときには、各通過点の位置データを基にベジェ曲線を用いてグラフィクスオブジェクトの曲線を生成するというものである。生成されたグラフィクスオブジェクトはネットワーク１０２を通じてクライアントａ１０３及びクライアントｂ１０４に伝播される。すなわち、データ処理部１０２で再計算するたびに、α、β、及び角度の基準値の範囲内で求められた独自性のあるグラフィクスオブジェクトを、クライアントａ１０３及びクライアントｂ１０４が取得できることとなる。
【０００６】
本発明に関連する公知技術文献としては下記特許文献１があげられる。
【特許文献１】特開２００６−１１６２９４
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで一般的に期待されているのは、完全な独自性をもつグラフィクスオブジェクトではなく、あるグラフィクスオブジェクトに対して類似したグラフィクスオブジェクトである。ここで「類似したグラフィクスオブジェクト」とは、比較対象同士がその形状で共通点を持ちつつも幾何学的に相似で無いことを示し、以降、同様の定義で「類似」という語句を使用する。
【０００８】
具体例を示すと、森を描画するにあたり、基となる木のグラフィクスオブジェクトを、それを木として認識できる範囲内で変形させたものの集合があれば、一つ一つ木を描画するよりも早く森を描画でき、かつ、全く同じ木を複製して描画するよりも独自性のある森を描画することができる。すなわち、基となるグラフィクスオブジェクトから、それに類似するグラフィクスオブジェクトが生成できれば、独自性と利便性を両立することができるのである。
【０００９】
さて、今日において独自性を持ったグラフィクスオブジェクトを生成しようとした場合、基となるようなグラフィクスオブジェクトは考慮されず、完全な独自性をもつグラフィクスオブジェクトの生成方法及びシステムしか提示されていない。例えば、特許文献１では、乱数をもとに得られた値を、任意の基準値によってグラフィクスオブジェクトの要素とするか否かを判定しており、基となるグラフィクスオブジェクトという概念が欠損している。
【００１０】
よって、基となるグラフィクスオブジェクトを変形させ、類似したグラフィクスオブジェクトを生成するための方法及びシステムが求められているのである。
【００１１】
ここでグラフィクスオブジェクトの描画方法を顧みると、その方法は多々あるが、その中でも最も慣用的な方法の一つに、ベジェ曲線による描画方法がある。ベジェ曲線は３つ以上の制御点と呼ばれる点によって構成される。ベジェ曲線を利用してグラフィクスオブジェクトを描画すると、出力装置の解像度によらないグラフィクスオブジェクトの描画ができ、また、その構成要素が数学的なパラメタであるため、変形や再編集といった操作や処理が容易な点が特徴として挙げられる。
【００１２】
本発明は、上述のベジェ曲線で構成されたグラフィクスオブジェクトについて、基となるグラフィクスオブジェクトを、グラフィクスオブジェクトの中心位置からベジェ曲線の制御点までのベクトル量に変位を与えることで変形させ、類似したグラフィクスオブジェクトを生成する方法を提示することを目的とする。
【００１３】
また、グラフィクスオブジェクトを描画する作成者が、基となるグラフィクスオブジェクトを描画するだけで、類似したグラフィクスオブジェクトを生成して取得できることを目的とする。また、類似したグラフィクスオブジェクトを生成するシステムを利用することにより、類似したグラフィクスオブジェクトを全て作成者が描画するよりも、短期間でグラフィクスオブジェクトを作成できることを目的とする。また、基となるグラフィクスオブジェクトが既に作成済みの場合には、グラフィクスオブジェクトの描画技術を必要とせずとも、類似したグラフィクスオブジェクトを生成し、取得できることを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明のグラフィクスオブジェクトにおけるベジェ曲線の変形のための処理方法は、ベジェ曲線によって構成されたグラフィクスオブジェクトについて、グラフィクスオブジェクトの中心位置を算出する第１ステップと、−１以上１以下の範囲内で乱数を発生させる第２ステップと、０以上１以下の範囲内の変形パラメタを取得する第３ステップと、前記第１ステップにより算出された中心位置、前記第２ステップにより発生させた乱数及び前記第３ステップにより取得した変形パラメタを用いて前記ベジェ曲線の制御点に与える変位を算出する第４ステップとを備えている。
【００１５】
上記方法において、前記乱数が負であった場合は、前記第４ステップにおいて、変位を与えた後の制御点と変位を与える前の制御点が前記中心位置に対してなす第２の角を、変位を与える前の制御点とその直前となる制御点が前記中心位置に対してなす第１の角に対して前記乱数と前記変形パラメタを乗算することにより算出するものである。
【００１６】
また、上記方法において、前記乱数が正であった場合は、前記第４ステップにおいて、変位を与えた後の制御点と変位を与える前の制御点が前記中心位置に対してなす第２の角を、変位を与える前の制御点とその直後となる制御点が前記中心位置に対してなす第１の角に対して前記乱数と前記変形パラメタを乗算することにより算出するものである。
【００１７】
また、上記方法の前記第４ステップにおいて、前記中心位置に対する変位を与えた後の制御点の距離を、変位を与える前の制御点と前記中心位置との距離に対し前記乱数と前記変形パラメタを乗算することにより算出するものである。
【００１８】
さらに、本発明のグラフィクスオブジェクトの変形処理方法は、上記のベジェ曲線の処理方法を備え、前記ベジェ曲線処理方法を用いてグラフィクスオブジェクトを変形させるものである。
【００１９】
さらに、本発明のグラフィクスオブジェクトの変形処理システムは、上記のグラフィクスオブジェクトの変形処理方法を備えたものである。
【発明の効果】
【００２０】
本発明のベジェ曲線の処理方法によれば、ベジェ曲線で構成されたグラフィクスオブジェクトについて、基となるグラフィクスオブジェクトを変形させ、類似したグラフィクスオブジェクトを生成することができる。
【００２１】
本発明によれば、グラフィクスオブジェクトを描画する作成者は、基となるグラフィクスオブジェクトを描画するだけで、類似したグラフィクスオブジェクトを生成して取得することができる。また、類似したグラフィクスオブジェクトを生成するシステムを利用することにより、類似したグラフィクスオブジェクトを全て作成者（ユーザ）が描画するよりも、短期間でグラフィクスオブジェクトを作成することができる。また、基となるグラフィクスオブジェクトが既に作成済みの場合には、グラフィクスオブジェクトの描画技術を必要とせずとも、類似したグラフィクスオブジェクトを生成し、取得することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明を実施する場合の一形態を図面を参照して具体的に説明する。
図２は、本発明のベジェ曲線の処理方法を実施可能に構成されたグラフィクスオブジェクト生成システムの一実施例の構成図である。グラフィクスオブジェクトは、ここではいわゆるベクターグラフィクスであり、コンピュータシステムに導入された描画用プログラムの数式演算により作成されるラインやサーフィス等が含まれるが、本発明では特に、ベジェ曲線で構成されるグラフィクスオブジェクトを対象とする。ベジェ曲線は、３つ以上の制御点を設け、各制御点間を連結する線分について、０≦ｔ≦１の範囲に含まれるパラメタｔを用いてｔ：１−ｔの比率の位置で分割する点を求める処理を繰り返すことによりベジェ曲線上の点を取得することで作成できる。本発明のベジェ曲線の処理方法は、このようにして生成されたベジェ曲線から構成される１つのグラフィクスオブジェクトを、基のグラフィクスオブジェクト（変形前のグラフィクスオブジェクト）とし、これに類似した新規のグラフィクスオブジェクト（変形後のグラフィクスオブジェクト）を生成する方法である。
【００２３】
図２に示すグラフィクスオブジェクト生成システムは、グラフィクスオブジェクトを作成するための演算を行う演算装置２０１と、グラフィクスオブジェクトを作成するために必要なデータを入力する入力装置２０２と、グラフィクスオブジェクトを出力する出力装置２０３と、グラフィクスオブジェクトを記憶するための外部記憶装置２０４とから構成されている。
【００２４】
そして演算装置２０１には、グラフィクスオブジェクトを作成する過程で用いられる種々のデータを一時的に記憶するメモリ２０５と、グラフィクスオブジェクトの中心位置（中心点の座標）を演算するプログラムである中心演算プログラム２１０と、乱数を発生させる乱数発生プログラム２１１がある。また、メモリ２０５上には、変形前のグラフィクスオブジェクトのデータである変形前データ２０６と、変形前データ２０６を演算した結果として得られた変形後のグラフィクスオブジェクトのデータである変形後データ２０７と、変形前データ２０６から変形後データ２０７を生成するための変形パラメタ２０８と、変形過程の一時的なグラフィクスオブジェクトのデータ及び／またはその他の一時的データである変形中データ２０９が配置されている。
【００２５】
例えば、花を描画したグラフィクスオブジェクトを変形させる場合、先ず、基となる花のグラフィクスオブジェクトのデータを入力装置２０２で入力するか、あるいは外部記憶装置２０４に記憶されている花のグラフィクスオブジェクトのデータを読み込み、これを変形前データ２０６とする。この変形前データ２０６から演算装置と本発明によるグラフィクスオブジェクトの変形方法によって変形後データ２０７を生成し、出力装置２０３に出力する。これにより、ユーザは花のグラフィクスオブジェクトを変形させたグラフィクスオブジェクトを取得することができる。
【００２６】
図３は、類似したグラフィクスオブジェクトを生成する時の処理フローである。処理フローは、変形前データをメモリ上に配置するステップ３０１と、変形パラメタをメモリ上に配置するステップ３０２と、変形前データの中心位置を算出するステップ３０３と、乱数を算出するステップ３０４と、変形後データを算出するステップ３０５と、出力装置に出力するステップ３０６で構成される。
【００２７】
変形前データをメモリ上に配置するステップ３０１では、入力装置で作成した変形前データ、または外部記憶装置に記憶している変形前データを、演算装置のメモリ上に配置する。
【００２８】
変形パラメタをメモリ上に配置するステップ３０２では、入力装置で作成した変形パラメタ、または外部記憶装置に記憶している変形パラメタを、演算装置のメモリ上に配置する。
【００２９】
変形前データの中心位置を算出するステップ３０３では、変形前データから、中心演算プログラムを用い、変形前データのグラフィクスオブジェクトの中心位置を算出する。算出した値はメモリ上に変形中データの１つとして配置され、一時的に記憶される。
【００３０】
乱数を算出するステップ３０４では、乱数発生プログラムを用い、変形後データを作成するための乱数を生成する。生成した乱数はメモリ上に配置され、一時的に記憶される。
【００３１】
変形後データを算出するステップ３０５では、変形前データと、ステップ３０３で算出した中心位置、及びステップ３０４で生成した乱数を用い、図4で後述する変形方法に従い、変形後データを生成し、メモリ上に配置する。
【００３２】
出力装置に出力するステップ３０６では、生成した変形後データを、出力装置に出力する。
【００３３】
図４は、グラフィクスオブジェクトの変形過程の概要図である。
まず、変形前データ、すなわち基となるグラフィクスオブジェクトを、ベジェ曲線ａ４０１とベジェ曲線ｂ４０６からなる曲線で構成されるとして定義する。ベジェ曲線ａ４０１は、制御点ａ４０２、制御点ｂ４０３、制御点ｃ４０４、制御点ｄ４０５の４点の制御点をもつ３次ベジェ曲線である。また、ベジェ曲線ｂ４０６は、制御点ｄ４０５、制御点ｅ４０７、制御点ｆ４０８、制御点ａ４０２の４点の制御点をもつ３次ベジェ曲線である。ベジェ曲線ａ４０１とベジェ曲線ｂ４０６は連続しており、ベジェ曲線ａ４０１とベジェ曲線ｂ４０６からなる曲線は閉曲線である。また、変形前データから中心演算プログラムによって得られる値、すなわち基となるグラフィクスオブジェクトの中心位置となる点を中心点４１２とする。例えばこの例では、中心位置は、制御点ａ４０２、制御点ｂ４０３、制御点ｃ４０４、制御点ｄ４０５、制御点ｅ４０７、制御点ｆ４０８から成る多角形の重心を計算することによって求めることができるが、別の方法によって求めてもよい。また、制御点ｇ４０８、中心点４１２、及び制御点ａ４０２による角を角４１３とし、制御点ａ４０２、中心点４１２、及び制御点ｂ４０３による角を角４１４とする。
【００３４】
次に、変形後データ、すなわち基となるグラフィクスオブジェクトを変形した場合の、その変形過程のグラフィクスオブジェクトを、ベジェ曲線ｃ４０９とベジェ曲線ｄ４１０からなる曲線で構成されるとして定義する。ベジェ曲線ｃ４０９は、制御点ｇ４１１、制御点ｂ４０３、制御点ｃ４０４、制御点ｄ４０５の４点の制御点を持つベジェ曲線である。また、ベジェ曲線ｄ４１０は、制御点ｄ４０５、制御点ｅ４０７、制御点ｆ４０８、制御点ｇ４１１の４点の制御点をもつベジェ曲線である。ベジェ曲線ｃ４０９とベジェ曲線ｄ４１０は連続しており、ベジェ曲線ｃ４０９とベジェ曲線ｄ４１０からなる曲線は閉曲線である。ここで制御点ｇ４１１は制御点ａ４０２に変位を与えた後の制御点であり、制御点ａ４０２、中心点４１２、及び制御点ｇ４１１による角を角４１５とする。
【００３５】
なお、この変形過程のグラフィクスオブジェクトは、基のグラフィクスオブジェクトから類似したグラフィクスオブジェクトを生成する際の、制御点ａに変位を与えた時の過程を示したものである。類似したオブジェクトの生成は、基のグラフィクスオブジェクトを構成する全ての制御点に対し、後述する制御点ａに変位を与える方法と同様の方法で変位を与えることにより実現される。
【００３６】
制御点ｇ４１１は制御点ａ４０２に対し、角と距離に変位を与えて算出する。変位の算出にはユーザが指定した変形パラメタαと、乱数発生プログラムによって得られる乱数β及び乱数γが必要である。ここでαは０以上１以下の実数であり、β及びγは−１以上１以下の実数である。
【００３７】
制御点ａ４０２から制御点ｇ４１１への変位は、中心点４１２に対する制御点ｇ４１１の角と距離として算出される。
まず、変位後の制御点ｇの中心点４１２に対する角については、乱数βが負の値の場合は、変位前の制御点とその直前の制御点（図４の例では制御点ａと制御点ｆ）とが中心点となす角を第１の角ｉとする。一方、乱数βが正の値の場合は、変位前の制御点とその直後の制御点（図４の例では制御点ａと制御点ｂ）とが中心点となす角を第１の角ｉとする。続いて、第１の角ｉに対し変数パラメタα及び乱数βを乗算して第２の角ｊを算出する。得られた第２の角ｊは、変位後の制御点と変位前の制御点が中心点に対してなす角である。すなわち、例えば、乱数βが正の値であった場合に、変位前の制御点ａ４０２は直後の制御点として制御点ｂ４０３を持つので、第２の角ｊである角４１５は、第１の角ｉである角４１４と変形パラメタαと乱数βの乗算値として算出する。
【００３８】
次に、変位後の制御点ｇの中心点４１２からの距離については、中心点４１２と制御点ａ４０２との距離に対し変形パラメタαと乱数γ（上記乱数βとは別に発生されたもの）を乗算して与えられる。
【００３９】
以上の角と距離の変位の算出により、制御点ａ４０２に変位を与えた後の制御点である制御点ｇ４１１は、制御点ａ４０２と中心点４１２を結ぶ線分に対し第１の角ｊ（符号４１５）をなす線上にあって、中心点４１２からの距離が、制御点ａ４０２と中心点４１２の距離にα及びγを乗算した値の位置として決定する。
【００４０】
上記及び図４では４点の制御点を持つ３次ベジェ曲線２本によって構成されたグラフィクスオブジェクトの場合について述べているが、これは一例であり、ベジェ曲線の制御点の数（ベジェ曲線の次数）、及びベジェ曲線の本数に関わらず、上記と同様の方法によって変位を与えることで、類似したグラフィクスオブジェクトを生成することができる。
【図面の簡単な説明】
【００４１】
【図１】乱数を利用したグラフィクスオブジェクトの生成システムの構成図である。
【図２】本発明の一実施例を示すシステム構成図である。
【図３】類似したグラフィクスオブジェクトを生成する時の処理フローである。
【図４】グラフィクスオブジェクトの変形過程の概要図である。
【符号の説明】
【００４２】
１０１・・・データ処理部
１０２・・・ネットワーク
１０３・・・クライアントａ
１０４・・・クライアントｂ
２０１・・・演算装置
２０２・・・出力装置
２０３・・・入力装置
２０４・・・外部記憶装置
２０５・・・メモリ
２０６・・・変形前データ
２０７・・・変形後データ
２０８・・・変形パラメタ
２０９・・・変形中データ
２１０・・・中心演算プログラム
２１１・・・乱数発生プログラム
４０１・・・ベジェ曲線ａ
４０２・・・制御点ａ
４０３・・・制御点ｂ
４０４・・・制御点ｃ
４０５・・・制御点ｄ
４０６・・・ベジェ曲線ｂ
４０７・・・制御点ｅ
４０８・・・制御点ｆ
４０９・・・ベジェ曲線ｃ
４１０・・・ベジェ曲線ｄ
４１１・・・制御点ｇ
４１２・・・中心点
４１３・・・第１の角ｉ
４１４・・・第１の角ｉ
４１５・・・第２の角ｊ
【図１】
2008134827.tif 000003
【図２】
2008134827.tif 000004
【図３】
2008134827.tif 000005
【図４】
2008134827.tif 000006