JP2003256859A - 画像編集装置及び画像編集方法、記憶媒体、並びにコンピュータ・プログラム - Google Patents

画像編集装置及び画像編集方法、記憶媒体、並びにコンピュータ・プログラム

Info

Publication number
JP2003256859A
JP2003256859A JP2002000945A JP2002000945A JP2003256859A JP 2003256859 A JP2003256859 A JP 2003256859A JP 2002000945 A JP2002000945 A JP 2002000945A JP 2002000945 A JP2002000945 A JP 2002000945A JP 2003256859 A JP2003256859 A JP 2003256859A
Authority
JP
Japan
Prior art keywords
ink
attribute
area
image editing
user input
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.)
Granted
Application number
JP2002000945A
Other languages
English (en)
Other versions
JP3861690B2 (ja
Inventor
Hiroaki Hida
博章 飛田
Jiyunichi Rekimoto
純一 暦本
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 Corp
Original Assignee
Sony Corp
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 Corp filed Critical Sony Corp
Priority to JP2002000945A priority Critical patent/JP3861690B2/ja
Priority to US10/336,916 priority patent/US6919893B2/en
Publication of JP2003256859A publication Critical patent/JP2003256859A/ja
Application granted granted Critical
Publication of JP3861690B2 publication Critical patent/JP3861690B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

(57)【要約】 【課題】 デジタル空間のキャンバス上で、水彩画又は
油絵などのペインティングを模した擬似的な描画を行な
う。 【解決手段】 マウス及びディスプレイは、デジタル空
間のキャンバス、パレット、筆又はブラシなどの描画イ
ンターフェースとして作用する。マウスのドラッグ操作
などによりユーザ入力さたれストロークを筆やブラシに
よる手書き操作として扱う。デジタル空間のキャンバス
上で、ユーザ入力されたストロークに従って、テクスチ
ャやアニメーションなどのさまざまな属性やアニメーシ
ョンを持ったインクを利用したペインティングを行な
う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機システム上
で2次元的又は3次元的なイメージを作成・編集するた
めの画像編集装置及び画像編集方法、記憶媒体、並びに
コンピュータ・プログラムに係り、特に、マウスなどの
装置によって入力された手書きストロークに従って計算
機システム上で2次元的又は3次元的なイメージを作成
・編集するための画像編集装置及び画像編集方法、記憶
媒体、並びにコンピュータ・プログラムに関する。
【0002】さらに詳しくは、本発明は、マウス操作な
どによりユーザ入力されたストロークを筆やブラシによ
る手書き操作として扱うことにより、デジタル空間のキ
ャンバス上で水彩画又は油絵などのペインティングを模
した擬似的な作画操作を行なうための直感的な描画イン
ターフェースを提供する画像編集装置及び画像編集方
法、記憶媒体、並びにコンピュータ・プログラムに係
り、特に、デジタル空間のキャンバス上でユーザ入力さ
れたストロークに従ってテクスチャやアニメーションな
どのさまざまな属性(attribute)やアクティ
ビティ(activity)を持ったインクを利用した
ペインティングを行なう画像編集装置及び画像編集方
法、記憶媒体、並びにコンピュータ・プログラムに関す
る。
【0003】
【従来の技術】昨今の半導体技術や情報技術の進歩に伴
い、比較的安価で且つ高性能な計算機システムが、職場
や一般家庭内に深く浸透してきている。この種の計算機
システム上では、一般に、オペレーティング・システム
(OS)が提供する実行環境下で、各種のアプリケーシ
ョンを起動することができる。
【0004】計算機システム上で使用されるアプリケー
ションの種類は、ワープロ、表計算、データベース、通
信、グラフィックスなど多岐にわたる。例えば、演算能
力や描画機能が強化された計算機システム上では、2D
や3Dなどのリアリティの高いグラフィックスを比較的
容易に作成し、描画したり、さらに画像変形処理を行っ
たりすることができる。
【0005】水彩画、油絵などを始めとする実世界にお
けるほとんどの作画作業は、所望の絵の具が浸された筆
先をキャンバス上で所定の軌跡を描かせることによって
実現する。これに対し、計算機システム上での作画は、
例えば「筆」の機能を選択したマウス・カーソルをディ
スプレイ・スクリーン上で軌跡を描くことによって線画
が入力される。すなわち、マウス操作によるストローク
を筆やブラシによる手書き操作として扱うことにより、
デジタル空間上のキャンバスに水彩画又は油絵などのペ
インティングを模した擬似的な作画を行なうという直感
的な描画インターフェースを提供することができる。
【0006】実世界上のキャンバスには、筆やブラシに
浸した色がそのままストロークに従って塗り付けられ
る。この場合、キャンバス上で使用することができる色
は、パレット上に垂らした絵の具やインクの色や、ある
いはパレット上で混合・調色された混合色である。ま
た、キャンバス上で描かれる模様は、画家の筆さばきに
より逐次得られるものであって、模様そのものをキャン
バス上にペイントすることはできない。また、絵の表現
がいかにダイナミックであっても、描かれた絵のパター
ンそのものは静的・固定的なものであって、キャンバス
上で時間的・空間的に変化するものではない。
【0007】これに対し、デジタル空間上のキャンバス
上では、コンピュータ上での描画演算により、単純にR
GB色空間上で定義されるインクの色だけでなく、テク
スチャを直接塗りつけることができたり、さらにはアニ
メーションなどのさまざまな属性(attribut
e)やアクティビティ(activity)を持ったイ
ンクを利用したペインティングを行なうことが可能であ
る。
【0008】しかしながら、既存の画像編集システムで
は、3次元コンピュータ・グラフィックスを対象とした
さまざまな表現をサポートするために、GUI(Graphi
calUser Interface)が複雑であり、ポリゴンとその頂
点に対する操作であるため、誰でも簡単に操作できると
は言えない。また、属性は、変数の設定やスクリプトの
記述によって実現されるので、アニメーションや属性を
付けることも、初心者にとって困難である。
【0009】また、既存の画像編集システムでは、描画
オブジェクトの質感はテクスチャ・マッピングやマテリ
アルによって行なわれる一方、水や雲などのアニメーシ
ョンの表現はパーティクル・システムを用いて実現され
ている。これらはすべてオブジェクト表面に対する属性
であるにも拘わらず、別々の種類のデータとして管理さ
れているので、各々を使用するための操作系統が統一化
されておらず、ユーザビリティに欠ける。
【0010】また、既存の画像編集システムでは、変数
の設定やスクリプトの記述を行なった後で、プレビュー
やレンダリングを実行しないと、オブジェクトに対して
実際に設定した動きを確認することができない。
【0011】また、既存の画像編集システムでは、変数
やスクリプトの記述によりアニメーションや属性を表現
するので、インク同士を混ぜ合わせることはできない。
アニメーションの属性の設定と同様に、微妙な調整もさ
まざまなパラメータを操作しなければならない。
【0012】
【発明が解決しようとする課題】本発明の目的は、マウ
スなどの装置によって入力された手書きストロークに従
って計算機システム上で2次元的又は3次元的なイメー
ジを好適に作成・編集することができる、優れた画像編
集装置及び画像編集方法、記憶媒体、並びにコンピュー
タ・プログラムを提供することにある。
【0013】本発明のさらなる目的は、マウス操作など
によりユーザ入力されたストロークを筆やブラシによる
手書き操作として扱うことにより、デジタル空間のキャ
ンバス上で、水彩画又は油絵などのペインティングを模
した擬似的な描画を行なうための直感的な描画インター
フェースを提供することができる、優れた画像編集装置
及び画像編集方法、記憶媒体、並びにコンピュータ・プ
ログラムを提供することにある。
【0014】本発明のさらなる目的は、デジタル空間の
キャンバス上で、ユーザ入力されたストロークに従って
テクスチャやアニメーションなどのさまざまな属性(a
ttribute)やアクティビティ(activit
y)を持ったインクを利用したペインティングを行なう
ことができる、優れた画像編集装置及び画像編集方法、
記憶媒体、並びにコンピュータ・プログラムを提供する
ことにある。
【0015】本発明のさらなる目的は、変数の設定やス
クリプトの記述など専門的な知識を必要とせず、簡単で
且つ直感的なGUI操作によって描画オブジェクトに対
してアニメーションやさまざまな属性を付けることがで
きる、優れた画像編集装置及び画像編集方法、記憶媒
体、並びにコンピュータ・プログラムを提供することに
ある。
【0016】
【課題を解決するための手段及び作用】本発明は、上記
課題を参酌してなされたものであり、その第1の側面
は、表示画面上でユーザから入力された手書きストロー
クに従って描画を行なう画像編集装置又は画像編集方法
であって、使用可能な1以上のインクを配設するインク
・エリアと、描画作業を行なうワーク・エリアとを前記
表示画面上に表示する描画インターフェース部又はステ
ップと、前記表示画面上でユーザの指示座標を入力する
ユーザ入力部又はステップと、ユーザ入力に従って前記
ワーク・エリア上の描画オブジェクトを処理する描画処
理部又はステップと、を備え、前記インク・エリアで
は、RGB色空間上で定義される色インク以外に、設定
された属性パラメータ値に応じて描画処理が時々刻々と
変動するアニメーション作用を持つ属性インクが用意さ
れており、前記描画処理部又はステップは、前記インク
・エリアにおいて前記ユーザ入力部又はステップを介し
て指示されたインクとそれ以後前記ユーザ入力部又はス
テップを介して操作される手書きストロークとを関連付
けるとともに、前記ワーク・エリアにおいてユーザ入力
部又はステップを介して操作された手書きストロークと
描画オブジェクトとを関連付けて、該関連付けられたイ
ンクを用いて描画オブジェクトを描画することにより手
書きストロークが塗られたことを表現する、ことを特徴
とする画像編集装置又は画像編集方法である。
【0017】ここで、前記属性インクは、属性パラメー
タ値により水や雲、雪、炎、煙などの時々刻々と様相が
変化する動的な自然現象を表現する自然現象インクやそ
のたのアクティブな属性を持つインクが含まれる。
【0018】本発明の第1の側面に係る画像編集装置又
は画像編集方法によれば、マウス及びディスプレイなど
の一般的なユーザ・インターフェースは、デジタル空間
のキャンバス、パレット、筆又はブラシなどの道具に対
応する描画インターフェースとして作用する。
【0019】そして、マウスのドラッグ操作などにより
ユーザ入力さたれ手書きストロークを筆やブラシによる
作画操作として扱うことができる。また、デジタル空間
のキャンバス上で、ユーザ入力されたストロークに従っ
て、テクスチャやアニメーションなどのさまざまな属性
やアニメーションを持ったインクを利用したペインティ
ングを行なうことができる。
【0020】本発明に係る描画インターフェース上で
は、RGB色空間上で定義される色インク以外に、テク
スチャやマテリアルなどのオブジェクトの質感を表す質
感インクや、属性パラメータ値に応じて描画処理が時々
刻々と変動するアニメーション作用を持つ自然現象イン
クやその他の属性インクは、すべてインク・エリア上で
統一して取り扱われる。
【0021】したがって、インクを選択してキャンバス
上でペイント又はペーストするという作画作業を円滑に
行なうことができるので、ユーザビリティに優れてい
る。
【0022】また、描画オブジェクトに対してアニメー
ションやその他の属性を与えるためには、デジタル・キ
ャンバスに相当するワーク・エリア上で筆で描くように
手書きストロークを与えるだけでよく、変数の設定やス
クリプトの記述など専門的な知識や特殊な作業を必要と
しない。
【0023】また、属性インクを指定した後、手書きス
トロークを入力するだけで即座にアニメーション作用が
表示されるので、画像編集作業と並行して動きを確認す
ることができる。
【0024】また、前記描画インターフェース部又はス
テップは、さらに複数のインクを用いて混合処理するパ
レット・エリアを表示するようにしてもよい。
【0025】このような場合、前記描画処理部又はステ
ップは、前記インク・エリア又は前記パレット・エリア
において前記ユーザ入力部又はステップを介して指示さ
れたインクとそれ以後前記ユーザ入力部又はステップを
介して操作される手書きストロークとを関連付けるとと
もに、前記パレット・エリアにおいてユーザ入力部又は
ステップを介して操作された手書きストロークと描画オ
ブジェクトとを逐次関連付けて、同じ描画オブジェクト
に関連付けられた2以上のインク同士を混合処理するよ
うにすればよい。
【0026】例えば、各属性インクが持つ属性パラメー
タ値を平均化することによって、2以上の属性インク同
士を混合処理すればよい。
【0027】したがって、インク同士を混ぜるために、
変数やスクリプトの記述などを操作する必要はなく、パ
レット上に属性インクを逐次塗り足していくという直感
的なGUI操作だけでインクの微妙な調整を行なうこと
ができる。
【0028】また、前記描画処理部又はステップは、前
記ワーク・エリア及び/又は前記パレット・エリア内で
描画オブジェクトを微小な描画単位に分割してなるメッ
シュにして、各描画単位毎にインク情報を管理するよう
にしてもよい。
【0029】このような場合、属性インクをオブジェク
トに塗るという描画処理に対して、例えばセルラー・オ
ートマトンを適用することができる。すなわち、隣接す
る各描画単位間で働く引力又は斥力などの相互作用を計
算して該計算結果を基に描画単位が持つ属性パラメータ
値を変更することによって、属性インクのアニメーショ
ン作用を自動生成することができる。
【0030】あるいは、属性インクでオブジェクトを描
画処理するために、パーティクル・システムを適用する
ことができる。すなわち、各描画単位毎に配置されたエ
ミッタから属性インクに対応するパーティクルを放出す
ることによって属性インクのアニメーション作用を計算
することができる。
【0031】パーティクル・システムを適用した場合、
属性インクが持つ属性パラメータ値を基に、エミッタの
放出するパーティクル、放出の方向と広がり角度、放出
速度、パーティクルに対して印加する重力、静電気力
(引力と斥力)、渦巻きの効果、風の効果、乱流の効
果、パーティクルの寿命やフォースに対する特性、サイ
ズ、色と透明度、テクスチャを設定したり、パーティク
ルが活動する場に障害物を設置することができる。
【0032】また、前記インク・エリアには属性インク
の濃淡を調整するテクニカル・インクを用意してもよ
い。このような場合、描画オブジェクトに対して濃くす
るテクニカル・インクが適用されたことに応答して、隣
接する描画単位間で働く引力を強めて(又は斥力を弱め
て)属性パラメータ値を計算する一方、描画オブジェク
トに対して薄く又は淡くするテクニカル・インクが適用
されたことに応答して、隣接する描画単位間で働く引力
を弱めて(又は斥力を強めて)属性パラメータ値を計算
するようにして、属性インクの微妙な調整を実現するこ
とができる。
【0033】また、前記インク・エリアには属性インク
の大まかさ及び細かさを調整するテクニカル・インクを
用意していてもよい。このような場合、描画オブジェク
トに対して大まかにするテクニカル・インクが適用され
たことに応答して、隣接する複数の描画単位をまとめて
1つの描画単位として扱う一方、描画オブジェクトに対
して細かくするテクニカル・インクが適用されたことに
応答して、描画単位をさらに複数の描画単位に細分化す
るようにして、属性インクの微妙な調整を実現すること
ができる。
【0034】また、前記描画処理部又はステップは、前
記ワーク・エリア上に作画された描画オブジェクトに対
して奥行き成分を付与して、2次元的な前記ワーク・エ
リア内で作画された描画内容を3次元空間に拡張するよ
うにしてもよい。
【0035】例えば、前記ワーク・エリア上に作画され
た描画オブジェクトを構成する2次元的な描画単位を3
次元的なVoxelに変換すればよい。このような場
合、属性インクが塗られた個々のVoxelに対して、
セルラー・オートマトンやパーティクル・システムなど
のアニメーション作用を表現するための計算を適用する
ことによって、属性インクによるアニメーション作用を
3次元空間に拡張することができる。
【0036】また、前記描画処理部又はステップは、前
記ユーザ入力部から入力されたストローク、例えばマウ
スを用いたインタラクションに従って描画オブジェクト
に関連付けられている属性インクの属性パラメータ値を
変更すようにしてもよい。このような場合、属性インク
の微妙な調整を、変数の設定やスクリプトの記述など専
門的な操作を必要とせず、簡単なGUI操作により簡単
に実現することができるので、ユーザビリティに優れて
いる。
【0037】また、本発明の第2の側面は、表示画面上
でユーザから入力された手書きストロークに従って描画
を行なう画像編集処理をコンピュータ・システム上で実
行するように記述されたコンピュータ・ソフトウェアを
コンピュータ可読形式で物理的に格納した記憶媒体であ
って、前記コンピュータ・ソフトウェアは、使用可能な
1以上のインクを配設するインク・エリアと、描画作業
を行なうワーク・エリアとを前記表示画面上に表示する
描画インターフェース提示ステップと、前記表示画面上
でユーザの指示座標を入力するユーザ入力ステップと、
ユーザ入力に従って前記ワーク・エリア上の描画オブジ
ェクトを処理する描画処理ステップと、を備え、前記イ
ンク・エリアでは、RGB色空間上で定義される色イン
ク以外に、設定された属性パラメータ値に応じて描画処
理が時々刻々と変動するアニメーション作用を持つ属性
インクが用意されており、前記描画処理ステップでは、
前記インク・エリアにおいて前記ユーザ入力ステップを
介して指示されたインクとそれ以後前記ユーザ入力ステ
ップを介して操作される手書きストロークとを関連付け
るとともに、前記ワーク・エリアにおいてユーザ入力ス
テップを介して操作された手書きストロークと描画オブ
ジェクトとを関連付けて、該関連付けられたインクを用
いて描画オブジェクトを描画することにより手書きスト
ロークが塗られたことを表現する、ことを特徴とする記
憶媒体である。
【0038】本発明の第2の側面に係る記憶媒体は、例
えば、さまざまなプログラム・コードを実行可能な汎用
コンピュータ・システムに対して、コンピュータ・ソフ
トウェアをコンピュータ可読な形式で提供する媒体であ
る。このような媒体は、例えば、DVD(Digital Vers
atile Disc)、CD(Compact Disc)やFD(Flexible
Disk)、MO(Magneto-Optical disc)などの着脱自
在で可搬性の記憶媒体である。あるいは、ネットワーク
(ネットワークは無線、有線の区別を問わない)などの
伝送媒体などを経由してコンピュータ・ソフトウェアを
特定のコンピュータ・システムに提供することも技術的
に可能である。
【0039】本発明の第2の側面に係る記憶媒体は、コ
ンピュータ・システム上で所定のコンピュータ・ソフト
ウェアの機能を実現するための、コンピュータ・ソフト
ウェアと記憶媒体との構造上又は機能上の協働的関係を
定義したものである。換言すれば、本発明の第2の側面
に係る記憶媒体を介して所定のコンピュータ・ソフトウ
ェアをコンピュータ・システムにインストールすること
によって、コンピュータ・システム上では協働的作用が
発揮され、本発明の第1の側面に係る画像編集装置又は
画像編集方法と同様の作用効果を得ることができる。
【0040】また、本発明の第3の側面は、表示画面上
でユーザから入力された手書きストロークに従って描画
を行なう画像編集処理をコンピュータ・システム上で実
行するように記述されたコンピュータ・プログラムであ
って、使用可能な1以上のインクを配設するインク・エ
リアと、描画作業を行なうワーク・エリアとを前記表示
画面上に表示する描画インターフェース提示ステップ
と、前記表示画面上でユーザの指示座標を入力するユー
ザ入力ステップと、ユーザ入力に従って前記ワーク・エ
リア上の描画オブジェクトを処理する描画処理ステップ
と、を備え、前記インク・エリアでは、RGB色空間上
で定義される色インク以外に、設定された属性パラメー
タ値に応じて描画処理が時々刻々と変動するアニメーシ
ョン作用を持つ属性インクが用意されており、前記描画
処理ステップでは、前記インク・エリアにおいて前記ユ
ーザ入力ステップを介して指示されたインクとそれ以後
前記ユーザ入力ステップを介して操作される手書きスト
ロークとを関連付けるとともに、前記ワーク・エリアに
おいてユーザ入力ステップを介して操作された手書きス
トロークと描画オブジェクトとを関連付けて、該関連付
けられたインクを用いて描画オブジェクトを描画するこ
とにより手書きストロークが塗られたことを表現する、
ことを特徴とするコンピュータ・プログラムである。
【0041】本発明の第3の側面に係るコンピュータ・
プログラムは、コンピュータ・システム上で所定の処理
を実現するようにコンピュータ可読形式で記述されたコ
ンピュータ・プログラムを定義したものである。換言す
れば、本発明の第3の側面に係るコンピュータ・プログ
ラムをコンピュータ・システムにインストールすること
によって、コンピュータ・システム上では協働的作用が
発揮され、本発明の第1の側面に係る画像編集装置又は
画像編集方法と同様の作用効果を得ることができる。
【0042】本発明のさらに他の目的、特徴や利点は、
後述する本発明の実施形態や添付する図面に基づくより
詳細な説明によって明らかになるであろう。
【0043】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施形態について詳解する。
【0044】A.システム構成 図1には、本発明の実施に供される画像編集装置100
のハードウェア構成を模式的に示している。以下、同図
を参照しながら、各部について説明する。
【0045】メイン・コントローラであるCPU(Cent
ral Processing Unit)101は、オペレーティング・シ
ステム(OS)の制御下で、各種のアプリケーションを
実行する。オペレーティング・システムは、より好まし
くは、ビットマップ表示機能をサポートし、マウスなど
による座標指示入力をベースとしたGUI(Graphical
User Interface)環境を提供する。
【0046】CPU101は、例えば、デジタル空間上
のキャンバスに水彩画又は油絵などのペインティングを
模した擬似的な描画を行なうための直感的な描画インタ
ーフェースを提供する画像編集アプリケーションなどを
実行することができる。この画像編集アプリケーション
によれば、マウスとディスプレイという一般的なユーザ
・インターフェースを用いて描画インターフェースを提
供し、テクスチャやアニメーションなどのさまざまな属
性(attribute)やアクティビティ(acti
vity)を持ったインクを利用したペインティングを
行なうことができる(後述)。
【0047】図示の通り、CPU101は、バス108
によって他の機器類(後述)と相互接続されている。
【0048】主メモリ102は、CPU101において
実行されるプログラム・コードを格納したり、描画デー
タなどの実行中の作業データを一時保管するために使用
される記憶装置であり、例えばDRAM(Dynamic RA
M)のような半導体メモリが使用される。
【0049】また、ROM(Read Only Memory)103
は、データを恒久的に格納する半導体メモリであり、例
えば、起動時の自己診断テスト(POST:Power On S
elfTest)や、ハードウェア入出力用のプログラム・コ
ード(BIOS:Basic Input/Output System)などが
書き込まれている。
【0050】ディスプレイ・コントローラ104は、C
PU101が発行する描画命令を実際に処理するための
専用コントローラである。ディスプレイ・コントローラ
103において処理された描画データは、例えばフレー
ム・バッファ(図示しない)に一旦書き込まれた後、デ
ィスプレイ111によって画面出力される。本実施形態
では、ディスプレイ・コントローラ104は、デジタル
空間のキャンバス上でのペインティング操作をより快適
に実行するためには、ビットマップ表示機能をサポート
していることが好ましい。
【0051】ディスプレイ111の表示画面は、一般
に、ユーザからの入力内容やその処理結果、あるいはエ
ラーその他のシステム・メッセージをユーザに視覚的に
フィードバックする役割を持つ。また、本実施形態にお
いては、ディスプレイ111の表示画面は、デジタル空
間のキャンバス並びにパレットを表示するとともに、キ
ャンバス上でのペインティングの作業場を与えるが、こ
の点については後に詳解する。
【0052】入力機器インターフェース105は、キー
ボード112やマウス113などのユーザ入力機器を対
話装置100に接続するための装置である。
【0053】キーボード112やマウス113は、デー
タやコマンドなどのユーザ入力をシステムに取り込む役
割を持つ。キーボード112上でキー入力が行なわれた
り、マウス113によりクリックあるいはドラッグ/ド
ロップなどの座標指示入力が行なわれると、所定の割り
込みレベルを使用した割り込み要求が発生して、CPU
101は、割り込みレベルに対応した割り込みハンドラ
を実行する。割り込みハンドラは、ユーザ入力を、画像
編集アプリケーションなど該当する起動アプリケーショ
ンへのメッセージにする。勿論、デジタイザ/タブレッ
ト及び入力ペン(図示しない)のように、マウス113
以外の座標指示装置を本画像編集装置100に適用する
こともできる。
【0054】本実施形態では、マウス113のドラッグ
操作などによりユーザ入力さたれストロークを筆やブラ
シによる手書き操作として扱うことができる。そして、
このストロークに従って、デジタル空間のキャンバス上
で、水彩画又は油絵などのペインティングを模した擬似
的な描画処理を行ない、処理結果をディスプレイ111
の表示画面上に表示出力する。この場合、マウス113
及びディスプレイ111は、デジタル空間のキャンバ
ス、パレット、筆又はブラシなどの描画インターフェー
スとして作用する。
【0055】ネットワーク・インターフェース106
は、Ethernetなどの所定の通信プロトコルに従
って、システム100をLAN(Local Area Network)
などの局所的ネットワーク、さらにはインターネットの
ような広域ネットワークに接続することができる。
【0056】ネットワーク上では、複数のホスト端末
(図示しない)がトランスペアレントな状態で接続さ
れ、分散コンピューティング環境が構築されている。ネ
ットワーク上では、ソフトウェア・プログラムやデータ
・コンテンツなどの配信サービスを行うことができる。
例えば、デジタル空間上のキャンバスに水彩画又は油絵
などのペインティングを模した擬似的な作画作業を行な
うための直感的な描画インターフェースを提供する画像
編集アプリケーションなどを、ネットワーク経由でダウ
ンロードすることができる。また、この画像編集アプリ
ケーションを用いて制作された描画情報を、ネットワー
ク経由で他のホスト装置に配信・配布することができ
る。
【0057】また、ネットワーク経由でトランスペアレ
ントな状態で接続された2台以上のホスト端末は、互い
の協働的動作により描画インターフェースを提供して、
デジタル空間のキャンバス上でのペインティングをサポ
ートすることができる。例えば、1台のホスト端末はキ
ャンバスを提供し、他のホスト端末はインクを選択又は
調色するためのパレットを提供することができる(後
述)。
【0058】外部機器インターフェース107は、ハー
ド・ディスク・ドライブ(HDD)114やメディア・ド
ライブ115などの外部装置を本画像編集装置100に
接続するための装置である。
【0059】HDD114は、記憶担体としての磁気デ
ィスクを固定的に搭載した外部記憶装置であり(周
知)、記憶容量やデータ転送速度などの点で他の外部記
憶装置よりも優れている。ソフトウェア・プログラムを
実行可能な状態でHDD114上に置くことをプログラ
ムのシステムへの「インストール」と呼ぶ。通常、HD
D114には、CPU101が実行すべきオペレーティ
ング・システムのプログラム・コードや、アプリケーショ
ン・プログラム、デバイス・ドライバなどが不揮発的に格
納されている。例えば、デジタル空間上のキャンバスに
水彩画又は油絵などのペインティングを模した擬似的な
作画作業を行なうための直感的な描画インターフェース
を提供する画像編集アプリケーションなどを、HDD1
14上にインストールすることができる。また、この画
像編集アプリケーションを用いて制作された描画情報を
HDD114上に蓄積しておいてもよい。
【0060】メディア・ドライブ115は、CD(Compa
ct Disc)やMO(Magneto-Opticaldisc)、DVD(Di
gital Versatile Disc)などの可搬型メディアを装填し
て、そのデータ記録面にアクセスするための装置であ
る。
【0061】可搬型メディアは、主として、ソフトウェ
ア・プログラムやデータ・ファイルなどをコンピュータ可
読形式のデータとしてバックアップすることや、これら
をシステム間で移動(すなわち販売・流通・配布を含む)
する目的で使用される。例えば、デジタル空間上のキャ
ンバスに水彩画又は油絵などのペインティングを模した
擬似的な作画作業を行なうための直感的な描画インター
フェースを提供する画像編集アプリケーションなどを、
これら可搬型メディアを利用して複数の機器間で物理的
に流通・配布することができる。また、この画像編集ア
プリケーションを用いて制作された描画情報を、恒久的
に保存(アーカイブ)したり、他の装置に移動するため
に、可搬型メディアを利用する。
【0062】なお、図1に示すような画像編集装置10
0の一例は、米IBM社のパーソナル・コンピュータ"P
C/AT(Personal Computer/Advanced Technology)"
の互換機又は後継機である。勿論、他のアーキテクチャ
を備えたコンピュータを、本実施形態に係る画像編集装
置100として適用することも可能である。
【0063】B.描画インターフェース 本実施形態に係る画像編集装置100は、例えば所定の
アプリケーションを起動することにより、デジタル空間
上のキャンバスに水彩画又は油絵などのペインティング
を模した擬似的な作画作業を行なうための直感的な描画
インターフェースを提供することができる。
【0064】この描画インターフェースは、例えば、マ
ウス113及びディスプレイ111の組み合わせによっ
て構成され、デジタル空間のキャンバス、パレット、筆
又はブラシなどを備えている。また、デジタル空間のキ
ャンバス上では、単純にRGB色空間上で定義されるイ
ンクの色だけでなく、テクスチャやアニメーションなど
のさまざまな属性(attribute)やアクティビ
ティ(activity)を持ったインクを利用するこ
とができる。
【0065】図2には、ディスプレイ111の表示画面
上での描画インターフェース10の構成例を示してい
る。但し、ビットマップ表示並びにGUI環境が提供さ
れているものとする。
【0066】同図に示すように、描画インターフェース
10は、使用する絵の具やインクの色を指定するための
GUIであるインク・エリア11と、複数のインクの色
を混合・調色したり濃淡を調整したり、使用する筆の太
さの変更などを行なうためのGUIであるパレット・エ
リア12と、作画する場所すなわち筆で絵の具を塗るキ
ャンバスに相当するワーク・エリア13とで構成され
る。
【0067】インク・エリア11では、RGB色空間で
定義される色を表す色インクやテクスチャ以外に、自然
現象(あるいは時々刻々と様相が変化する動的な現象)
を対象とした自然現象インク(アクティブ・インク)
や、事物の質感を表す質感インクなどを、色のメニュー
に持っている。ユーザは、インク・エリア11上で所望
の色をクリックすることによりインクを指定することが
できる。
【0068】自然現象インク又はアクティブ・インク
は、自然現象のような時々刻々と様相が変化する動的な
現象を表現するためのインクであり、例えば、水や雲、
雪、炎、煙などの自然現象を対象とする。
【0069】アクティブ・インクの自然現象を表した動
き(アニメーション)は、例えば、「セルラー・オート
マトン(Cellular Automata)」や、
「パーティクル・システム(Particle Sys
tem)」などの手法を用いて生成することができる。
これらの手法を用いたアニメーション作用は、描画オブ
ジェクトを無数の微小な描画単位(セル)からなるメッ
シュに分割して、描画単位毎に描画情報の管理並びにア
ニメーションの計算を行なうことによって実現する(後
述)。
【0070】また、質感インクは、服やゴム、金属、ガ
ラス、地形、模様などの質感を表すインクである。各質
感インクは、属性を指定する1以上のパラメータを備え
ており、単純に水インクでも複数の水インクが存在す
る。
【0071】以下では、自然現象インク(アクティブ・
インク)と質感インクを合わせて「属性インク」と呼ぶ
ことにする。
【0072】また、これら以外に、「テクニカル・イン
ク」がインク領域11に用意されている。テクニカル・
インクとは、上記の属性インクが持つ属性パラメータ値
が及ぼすアニメーション作用を変更するためのインクの
ことであり、属性インクの濃淡を調整したり、描画単位
の大まかさや細かさを調整することができる。
【0073】また、テクニカル・インクの他の例とし
て、オブジェクトの整形を行なう「ゴム・インク」を用
意しておいてもよい。例えば、描画オブジェクトの変形
したい部分にゴム・インクを塗ることにより、任意の部
分まで伸ばしたり縮めたりすることができる。一般に、
3次元オブジェクトの変形操作は、モデルを構成するポ
リゴンの頂点に対して操作しなければならない。本実施
形態に係る描画インターフェース10によれば、そうし
た操作はシステムの内部処理に任せてしまい、ユーザは
変形するための属性インクを選択して、該当箇所に塗っ
て好きな部分までドラッグするという直感的なマウス操
作により3次元オブジェクトの変形を行なうことができ
る。
【0074】このようなテクニカル・インクを、パレッ
ト・エリア12内で属性インクと混合して、ワーク・エ
リア13上での作画に利用することができる。
【0075】パレット・エリア12では、インク・エリ
ア11内で指定した複数のインクの色を混合・調色した
り、その濃淡を調整したり、使用する筆の太さの変更な
どを行なうことができる。
【0076】ワーク・エリア13は、筆で絵の具を塗る
デジタル空間上のキャンバスすなわち「デジタル・キャ
ンバス」に相当する。ワーク・エリア13内で例えばマ
ウス113をドラッグ操作することにより、そのストロ
ークが手書き操作された、すなわち指定されたインクで
塗られた領域となる。デジタル・キャンバス上では、単
純に2次元平面に対してインクを適用する以外に、3次
元オブジェクトを読み込んでインクを塗ることができ
る。なお、図2に示す例では、ワーク・エリア13内で
はマウス113による手書き操作を判り易くするために
グリッドを表示しているが、これは本発明の必須の構成
要素ではない。
【0077】ユーザは、基本的にはマウス113を用い
たGUI操作によりインク・エリア11内で色インクや
属性インクを選択するとともに、パレット・エリア12
内で色インクや属性インクの混合を行なう。そして、ワ
ーク・エリア13を用いて、色インクや属性インクを用
いて描画オブジェクトを塗るという作画作業を行なう。
【0078】パレット・エリア12やワーク・エリア1
3内では、インクを塗る対象は、描画オブジェクトを微
小な描画単位(セル)に分割してなるメッシュであり、
自然現象インクなどのアクティブ・インクが塗られた領
域には、描画単位毎にセルラー・オートマトンやパーテ
ィクル・システムを適用して、アニメーション作用の計
算が行なわれる。
【0079】アプリケーション起動時には、パレット・
エリア12やワーク・エリア13内のメッシュ情報の初
期化がなされる。そして、システムの内部処理としてフ
レーム毎にアニメーション作用の計算とそれを反映させ
たシーンの描画を行なうことにより、ディスプレイ11
1の表示画面上には自然現象を表した色や模様が活動的
なアニメーションとして表示される。すなわち、パレッ
ト・エリア12やワーク・エリア13に手書きストロー
クを入力するだけで即座にアニメーション作用が表示さ
れるので、プレビューしなくても、作画作業と並行して
動きを確認することができる。但し、属性インクによる
アニメーション作用の詳細については、後述に譲る。
【0080】図3には、描画インターフェース10上で
のユーザ操作例として、ワーク・エリア16上で自然現
象インクとしての雲インクでペイントしている様子を示
している。
【0081】まず、インク・エリア11で雲インクを指
定してから、マウス113などの座標指示装置を用いて
ワーク・エリア16に対してドラッグ操作を印加して、
ストロークを描く(図3(a))。これに応答して、そ
の手書きストロークに沿って、(あらかじめ指定されて
いる線種や太さに応じて)雲インクの描画領域が生成さ
れる。例えば、最初の一筆でそのストロークに沿った雲
のアニメーションが生成され(図3(b))、次の一筆
でさらにその手書きストロークに沿った雲のアニメーシ
ョンが生成される(図3(c),(d))。
【0082】次いで、雲インクで囲み込んだ領域を作っ
ておいて、さらにその領域内を塗りつぶすようなドラッ
グ操作を印加すると(図3(e))、雲のアニメーショ
ンによって領域が塗りつぶされて、大きな雲のアニメー
ションができる(図3(f))。
【0083】勿論、「消しゴム」のようなツールを指定
することにより(図3(g))、ドラッグ操作して雲イ
ンクで描かれた領域を消し去ることができる(図3
(h))。
【0084】なお、図2に示す例では、描画インターフ
ェース10は、インク・エリア11、パレット・エリア
12、並びにワーク・エリア13を統合した単一のウィ
ンドウとして構成されているが、本発明の要旨はこのよ
うな構成に限定されるものではない。例えば、図4に示
すように、各エリア11〜13が分割してそれぞれ独立
したウィンドウとして表示して、デスクトップ画面上に
散在していてもよい。このような場合、ユーザは、各エ
リア11〜13のウィンドウをドラッグにより好きな場
所に移動して、描画インターフェース11を自分がペイ
ント作業し易い配置に変更することができる。
【0085】また、図5には、描画インターフェース1
0のさらに他の変形例を示している。ネットワーク(例
えば、IEEE 802.11のような無線通信ネット
ワークや、Bluetoothのような近距離無線デー
タ通信)経由でトランスペアレントな状態で接続された
2台以上のホスト端末が、互いの協働的動作により描画
インターフェースを提供して、デジタル空間のキャンバ
ス上でのペインティングをサポートすることができる。
【0086】図5に示す例では、比較的大画面を持つ1
台のホスト端末が、2人以上のユーザが同時にストロー
ク入力操作を行なうことができる程度の広いワーク・エ
リア11を提供している。また、他のホスト端末は、P
DA(personal Digital Assistant)のような各ユーザ
が個々に操作する小型(パームトップ)の情報処理端末
で構成されており、インクを選択又は調色するためのイ
ンク・エリア11並びにパレット・エリア12を提供す
る。そして、これら各ホスト端末は、有線又は無線のロ
ーカル・エリア・ネットワークで相互接続されている。
【0087】この場合、各ホスト端末のディスプレイ
は、デジタイザ/タブレット一体型で、ペン入力機能を
装備していることが好ましい。すなわち、各ユーザは、
自分のホスト端末上でペン操作により、インクの色を選
択して、次いで、大画面のワーク・エリア13上で同じ
ペンを持ったままストロークの入力すなわちペインティ
ングを行なうことができる。
【0088】また、他のユーザは同様に自分のホスト端
末上でペン操作により、インクの色を選択して、次い
で、大画面のワーク・エリア13上で同じペンを持った
ままストロークの入力を行なうことができる。このよう
な場合、ユーザがPDA上のインク・エリア又はパレッ
ト・エリアで指定した属性インクの情報は、ネットワー
ク経由でワーク・エリアを提供するホスト端末に転送さ
れるので、上述したような手書きストロークに沿ったア
ニメーション作用を実現することができる。言い換えれ
ば、図5に示した形態の描画インターフェースによれ
ば、複数のユーザによるコラボレーションが可能であ
る。
【0089】ここで、本実施形態に係る描画インターフ
ェース11が持つ特徴について、以下にまとめておく。
【0090】(1)パレット上での属性インク同士の混
合 本実施形態では、コンピュータの演算機能及び自在な描
画機能を利用して、自然現象を動的に表現する自然現象
インクや、服やゴム、金属、ガラス、地形、模様などの
質感を表す質感インクなどの属性インクをデジタル・キ
ャンバス上でペイントすることができる。
【0091】さらに、これら属性インク同士をパレット
12上で混合して、デジタル・キャンバス上でペイント
することができる。例えば、水インクと炎インクを混ぜ
ることができる。自然界すなわち実世界上では水と炎の
混合は成立し得ないが、仮想世界においては、互いの属
性パラメータ値を基に、起こり得る現象を仮想的に創り
出すことができる。
【0092】また、インクを薄めてから、混ぜることも
できる。これにより、少しだけ水っぽい感じを表出する
ことができる。
【0093】また、RGB空間で定義される通常の色イ
ンクと属性インクとを混ぜることもできる。これによっ
て、緑色の炎や赤い雲などをパレット・エリア12上で
作り、デジタル・キャンバス上に塗布することができ
る。
【0094】属性インクの混合という作用は、例えば、
混合すべき各属性インクが持つ属性パラメータ値の平均
値(あるいは加重平均値)をとることによって、動的に
実現することができる。
【0095】あるいは、各々の属性インクが表す自然現
象から想起される現象(例えば、炎に水をかけたらどの
ようになるか)を基に、属性インク同士の組み合わせを
あらかじめ定義してルールベースを構築しておき、パレ
ット・エリア12上で属性インクの混合が指示されたと
きにはルールベースから取り出した属性インクを使用す
るようにしてもよい。
【0096】図6には、パレット・エリア12上で雲イ
ンクに水インクを混ぜる様子を表している。雲インクの
ような自然現象インクは、パレット・エリア12上で塗
られるとアニメーション作用が活性化される。これら自
然現象インクが塗布された表示領域は、「セル(cel
l)」などの微小な矩形(又は多角形)の描画単位に分
割された「メッシュ(mesh)」として管理されてい
る。
【0097】そして、雲インクの表示領域内で、水イン
クが指定された状態でマウスのドラッグ操作が印加され
ると、そのドラッグされたストロークによって横切られ
たセル(描画単位)において、属性インク同士の混合処
理が実行される。属性インクの混合は、各属性インクの
属性パラメータ値を平均化処理すること、あるいは、各
属性インクが表す自然現象から規定されたルールに従っ
て描画処理される。
【0098】(2)オブジェクトやシーンに対するイン
クの塗布 例えば、ワーク・エリア13に既存のオブジェクトやシ
ーンを読み込んで、それに対して属性インクを適用する
ことができる。図7には、描画インターフェース10上
でワーク・エリア13にオブジェクトやシーンを読み込
んだ様子を示している。
【0099】オブジェクトやシーンには、微小な描画単
位(セル)からなるメッシュがあらかじめ作成されてい
る。あるいは、メッシュがない場合には、ワーク・エリ
ア13に読み込んだ時点でメッシュを動的に生成しても
よい。そして、インク・エリア11又はパレット・エリ
ア12で使用する属性インクを指定してから、オブジェ
クト又はシーン上をドラッグ操作することにより、その
ドラッグされたストロークによって横切られた描画単位
(セル)において、属性インクによるペイントが行われ
る。該当する描画単位内では、例えば、セルラー・オー
トマトンや、パーティクル・システムなどの手法を用い
て属性インクのアニメーションが生成される(後述)。
【0100】また、ワーク・エリア13にオブジェクト
が存在しない場合には、ワーク・エリア13内に3次元
シーン上の仮想的なキャンバスを設定して、手書きスト
ロークに従ってこのキャンバス上に属性インクを塗り付
けるようにしてもよい。
【0101】なお、本出願人に既に譲渡されている特願
2000−209731号明細書には、仮想的に設定さ
れたキャンバス上に手書きにより描画されたイメージを
基に3次元的なイメージを作成する画像編集システムに
ついて開示されている。この画像編集システムによれ
ば、まず、地平線のみの3次元空間がディスプレイ・ス
クリーン上に現れ、該空間に対してストローク線を引く
と、該ストローク線を底辺とする壁がキャンバスとして
設定される。スクリーンを介してユーザが描いた絵はキ
ャンバス上にマッピングされるので、結果として3次元
的な絵を描いたことになる。キャンバス設定と絵を描く
操作を重ねることで、所望のシーンを構築することがで
きる。また、キャンバス回転や視点移動により所望の3
次元シーンが得られる。
【0102】図8には、ユーザが描いたストローク線に
従って3Dキャンバスが生成される様子、生成された3
Dキャンバス上にさらに絵を描く様子、並びにキャンバ
ス回転により所望の3Dシーンを生成する様子を示して
いる。
【0103】(3)描画効果(Effect)の追加 ワーク・エリア13内では、手書きストロークにより属
性インクで塗られた描画オブジェクトに対してエフェク
トを追加することができる。
【0104】既に述べたように、インク・エリア11上
で属性インクを指定し、あるいはパレット・エリア12
上で混合された属性インクを指定してから、ワーク・エ
リア13内でドラッグ操作などによる手書きストローク
を入力することにより、属性インクで塗り付けられた描
画オブジェクトが生成される。属性インクは、例えば自
然現象インク又はアクティブ・インクのように、設定さ
れた属性パラメータ値に応じて描画処理が時々刻々と変
動するというアニメーション作用を有している。手書き
ストロークからなる描画領域には、例えば、雲や水、炎
などのアニメーションが与えられる。
【0105】属性インクのアニメーション作用を規定す
る属性パラメータ値には、デフォルト値が与えられる。
これに対し、マウス113を用いたインタラクションに
よって、デフォルト値を意図に反映させることができ
る。マウス・インタラクションによる属性パラメータ値
の変更手続きについては、後に詳解する。
【0106】また、コピー・アンド・ペーストのような
一般的な文書編集処理に用意されている機能も、ワーク
・エリア13内でのGUI操作で行うことができる。例
えば、ワーク・エリア13内に表示されているある描画
オブジェクトを範囲指定した後、他の場所にドラッグ・
アンド・ドロップすることにより、オブジェクトが複製
される。描画オブジェクトが属性インクでペイント若し
くはペーストされているような場合には、元のオブジェ
クトが持つ属性パラメータ値を継承する。例えば、炎イ
ンクで描かれた描画オブジェクトを、幾つも生成するこ
とができる。
【0107】C.属性インクを用いた手書きストローク
によるペインティング この項では、描画インターフェース10を用いて、属性
インクを用いた手書きストロークによるペインティング
を実現するための処理手順について詳解する。本実施形
態に係る手書きストロークに基づく描画処理は、以下の
3段階のフェーズに分けられる。
【0108】(1)ユーザがインクを選んで塗る。 (2)塗った部分を無数の描画単位(セル)に分割して
メッシュを生成し、各描画単位毎にインク情報を格納し
ていく。 (3)メッシュ情報により計算を行ない、描画する。
【0109】C−1.描画インターフェースを用いた作
画処理 図9には、描画インターフェース10上での属性インク
を用いた手書きストロークによるペインティングを実現
するための、画像編集処理全体の概略的な流れをフロー
チャートの形式で示している。この処理は、実際には、
CPU101が所定のプログラム・コードを実行すると
いう形態で実現される。
【0110】画像編集アプリケーションを起動すると、
まず描画インターフェース10の初期化を行なう(ステ
ップS1)。初期化処理については後述する。
【0111】次いで、現在の動作モードをチェックする
(ステップS2)。ここで、描画モードであれば、別途
定義されている描画ルーチンを実行する(ステップS
3)。描画ルーチンでは、描画インターフェース10上
で属性インクの指定並びに手書きストロークに従った描
画オブジェクトの生成が行なわれる。描画オブジェクト
は、無数の微小な描画単位に分割してなるメッシュによ
って管理されるが、その処理の詳細については後述に譲
る。
【0112】他方、描画モードでなければ、コントロー
ル・モードかどうかをチェックする(ステップS4)。
描画モードであれば、別途定義されているコントロール
・ルーチンを実行する(ステップS5)。コントロール
・ルーチンでは、描画オブジェクトにペイント又はペー
ストされている属性インクの属性パラメータ値のコント
ロールが行われる。属性パラメータ値の変更は、マウス
・インタラクションなどを利用して行なわれるが、その
詳細については後述に譲る。
【0113】次いで、別途定義されているシーンの計算
ルーチンを実行する(ステップS6)。シーンの計算
は、描画オブジェクトを構成するメッシュ情報の各描画
単位(セル)毎に行なわれるが、その処理の詳細につい
ては後述に譲る。
【0114】次いで、別途定義されているシーンの描画
ルーチンを実行する(ステップS7)。シーンの描画
は、描画オブジェクトを構成するメッシュ情報の各描画
単位(セル)毎の計算結果に従って行なわれるが、その
処理のルーチンの詳細については後述に譲る。
【0115】ステップS8では、システムが終了条件に
到達したかどうかを判別する。
【0116】終了条件に到達していなければ、ステップ
S2に戻って、上述した描画ルーチン、コントロール・
ルーチン、シーンの計算、シーンの描画を繰り返し実行
する。フレーム毎にシーンの計算を繰り返し行なって、
炎や水、雲、煙などのアクティブ・インクがペイント又
はペーストされた描画オブジェクトの描画を逐次更新し
ていくことによって、時々刻々と変動するアニメーショ
ンを生成することができる。
【0117】他方、終了条件に到達したならば、本処理
ルーチン全体を終了する。本処理の終了条件の何である
かは本発明の要旨には直接関連しないので、ここでは説
明しない。
【0118】なお、描画モードやコントロール・モード
などのモード設定、モード切り替えは、例えばマウスの
ボタン操作によって行なうようにする。例えば、マウス
の左ボタンを押すと描画モードになり、ドラッグした軌
跡は手書きストロークとして入力される。また、マウス
の右ボタンを押すとコントロール・モードになり、マウ
ス・インタラクション(前述)が行なわれると、ドラッ
グした軌跡は属性インクの属性パラメータ値として入力
される。
【0119】C−2.初期化処理 図10には、図9に示したフローチャート中のステップ
S1における初期化処理の手順をより詳細に示してい
る。
【0120】まず、ディスプレイ111の表示画面上
に、インク・エリア11、パレット・エリア12、及び
描画インターフェース10(図2を参照のこと)のウィ
ンドウ・フレーム(図2又は図3を参照のこと)を用意
する(ステップS11)。
【0121】このうち、パレット・エリア12は、複数
のインクを混合・調色したり濃淡を調整したりする作業
領域であり、マウス操作からなる手書きストロークに従
って属性インクをペイントする必要があることから(図
6を参照のこと)、パレット・エリア12内にはあらか
じめ属性インクを描画するためのメッシュを作成してお
く(ステップS12)。
【0122】次いで、インク・エリア11で用意する色
インクや属性インクが使用するテクスチャなどの描画デ
ータを、HDD114などの外部記憶装置から読み込む
(ステップS13)。頻繁に使用するテクスチャは、あ
らかじめキャッシュしておいてもよい。
【0123】次いで、各インクの計算に使用する変数の
初期化、並びにデータの作成を行なう(ステップS1
4)。例えば、属性インクで使用する色の変化配列など
をこのステップで用意しておく。
【0124】C−3.描画ルーチン 図11には、図9に示したフローチャート中のステップ
S3に該当する描画ルーチンにおける処理手順を詳細に
示している。
【0125】まず、ユーザは、パレット・エリア12に
付設されているペン選択エリアから所望の線種を持つペ
ンを選択する(ステップS21)。そして、選択された
ペンを用いた「塗る」処理を実行する(ステップS2
2)。塗る処理は別途定義された処理ルーチンであり、
その詳細については後述に譲る。
【0126】ユーザが選択ツールを選択した場合には
(ステップS23)、該選択されたツールを適用した描
画処理を実行する(ステップS24)。
【0127】ここで言うツール選択には、例えば、「コ
ピー・アンド・ペースト」を挙げることができる。この
場合、ワーク・エリア13内に表示されているある描画
オブジェクトを範囲指定した後、他の場所にドラッグ・
アンド・ドロップすることにより、オブジェクトが複製
される。描画オブジェクトが属性インクでペイント若し
くはペーストされているような場合には、元のオブジェ
クトが持つ属性パラメータ値を継承する。例えば、炎イ
ンクで描かれた描画オブジェクトを、幾つも生成するこ
とができる。
【0128】また、キャンバス作成を選択した場合には
(ステップS25)、別途定義されているキャンバス作
成処理を実行する(ステップS26)。
【0129】ステップS26では、ワーク・エリア13
内に3次元シーン上の仮想的なキャンバスを設定して、
手書きストロークに従ってこのキャンバス上に属性イン
クを塗り付けるようにしてもよい。例えば、ユーザが描
いたストローク線に従って生成された3Dキャンバス上
に、属性インクを用いて絵を描くことができる。また、
この3Dキャンバスを視点移動やキャンバス回転によ
り、所望の3Dシーンを生成することができる(図8を
参照のこと)。
【0130】既に述べたように、本実施形態に係る描画
インターフェース10は、ワーク・エリア13並びにパ
レット・エリア12内の描画オブジェクトを、「セル
(cell)」などの微小な矩形(又は多角形)の描画
単位に分割された「メッシュ(mesh)」として管理
するようになっている。
【0131】ユーザがインクを選んで塗ると、塗った部
分(オブジェクトやシーン)を無数の描画単位(セル)
に分割してメッシュを生成して、各描画単位毎にインク
情報を格納していく。そして、メッシュ情報により計算
を行ない、オブジェクトやシーンを描画する。
【0132】オブジェクトやシーンには、微小な描画単
位(セル)からなるメッシュがあらかじめ作成されてい
る。あるいは、メッシュがない場合には、読み込んだ時
点でメッシュを動的に生成してもよい。図12には、ワ
ーク・エリア13内で塗られた部分に対してメッシュを
動的に生成していく様子を図解している。
【0133】インク・エリア11又はパレット・エリア
12で使用する属性インクを指定してから、オブジェク
ト又はシーン上をドラッグ操作することにより、そのド
ラッグされたストロークによって横切られたセル(描画
単位)において、属性インクによるペイントが行われ
る。
【0134】そして、同じ属性インクからなる描画オブ
ジェクトに対してラベリング値とマウス・インタラクシ
ョンによる操作方向のベクトル(U,V情報)が割り当
てられる。
【0135】ラベリング値が与えられた描画オブジェク
トは、さらに、微小な描画単位からなるメッシュを補間
する。また、必要に応じて、メッシュをさらに細分化す
る。また、各描画オブジェクトの描画情報を管理するた
めに、メッシュ情報ブロックが生成される。
【0136】図13には、メッシュ情報ブロックのデー
タ構造を模式的に示している。図示の通り、メッシュ情
報ブロックは、割り当てられたラベリング値と、マウス
・インタラクションすなわち描画オブジェクト内を横切
った手書きストロークを構成する操作方向ベクトル
(U,V情報)のリストと、メッシュを構成する各描画
単位(mesh_data)のリストで構成される。
【0137】また、図14には、描画オブジェクトすな
わちメッシュを構成する描画単位に関する描画情報を管
理するためのデータ・ブロック"mesh_data"の
データ構造を模式的に示している。既に述べたように、
各描画単位(セル)に対して、セルラー・オートマトン
やパーティクル・システムなどの手法を適用することに
よって、属性インクが持つ自然現象を表した動きなどの
アニメーション作用が生成される。同図に示すように、
データ・ブロックmesh_dataは、該当する描画
単位に塗られている属性インクのインク・リストと、こ
の描画単位に対してセルラー・オートマトンやパーティ
クル・システムなどの手法を適用するために使用する変
数(カラー情報(color information)、位置情報(pos
ition information)、テクスチャ情報(texture infor
mation)など)で構成される。
【0138】また、本実施形態では、インク・エリア1
1によりあらかじめ用意されている属性インク、並び
に、パレット・エリア12上で2以上のインクを混合・
調色してなる属性インクを管理するために、各属性イン
ク毎にデータ・ブロックを設けて管理している。
【0139】図15には、mesh_dataに登録さ
れている属性インクの情報を管理するためのデータ・ブ
ロックのデータ構造を模式的に示している。このデータ
・ブロックは、該当するインクを構成する元の各インク
のIDのリスト(InkID)と、テクニカル・インク
を適用して指定されているインクの濃淡を示すカウント
値(Technical_count)を含んでいる。
テクニカル・インクのカウント値は、属性インクの濃淡
を示すカウント値Technical_Ink[0]
と、属性インクの細かさ(すなわち粒度)を示すカウン
ト値Technical_Ink[1]の2種類があ
る。
【0140】C−3−1.塗る処理 図16には、図11に示した描画ルーチンのうち、ステ
ップS22の塗る処理の手順をフローチャートの形式で
より詳細に示している。
【0141】ユーザは、インク・エリア11上で所望の
インクをマウス113でクリックすることによりインク
を選択することができる(ステップS31)。このと
き、選択したインクのIDが一時保持される(ステップ
S32)。
【0142】また、ワーク・エリア13をクリックする
ことにより(ステップS33)、ワーク・エリア13上
での絵を描く処理が実行される(ステップS34)。ワ
ーク・エリア13内での処理ルーチンは別途定義されて
いるが、その詳細については後述に譲る。
【0143】また、パレット・エリア12をクリックす
ることにより(ステップS35)、パレット・エリア1
2内で複数の属性インクを混合・調色したり濃淡を調整
したりするための処理が実行される(ステップS3
6)。パレット・エリア12内での処理ルーチンは別途
定義されているが、その詳細については後述に譲る。
【0144】ステップS37では、システムが終了条件
に到達したかどうかを判別する。
【0145】終了条件に到達していなければ、ステップ
S31に戻って、インク・エリア11、ワーク・エリア1
3、及び、パレット・エリア12などの描画インターフ
ェース10を用いてユーザが絵を描く処理を繰り返し実
行する。
【0146】他方、終了条件に到達したならば、本処理
ルーチン全体を終了する。本処理の終了条件の何である
かは本発明の要旨には直接関連しないので、ここでは説
明しない。
【0147】C−3−2.ワーク・エリア上での処理 図17には、図16に示した塗る処理手順のうち、ステ
ップS34に相当するワーク・エリア13を用いた絵を
描くための処理手順をフローチャートの形式でより詳細
に示している。ワーク・エリア13は、デジタル空間上
のキャンバスを実世界上に表示した一形態である。ユー
ザは、ワーク・エリア13内でマウスをドラッグ操作す
ることによって得られる手書きストロークに従って、指
定されたインクが塗り付けられる。以下、図17を参照
しながら、ワーク・エリア13上での作画処理の手順に
ついて説明する。
【0148】ワーク・エリア13内での作画処理は、ユ
ーザがマウス113の左ボタンを解除するまでの間継続
する(Loop1)。
【0149】ワーク・エリア13内でマウス113がド
ラッグされると(ステップS41)、属性インクが保持
されているかどうか(すなわちインク・エリア11で既
にインクを指定しているかどうか)がチェックされる
(ステップS42)。
【0150】属性インクを保持している場合には、さら
に、マウス113がクリック又はドラッグされた場所が
描画オブジェクト上であるかどうかをチェックする(ス
テップS43)。
【0151】描画オブジェクト上でクリック又はドラッ
グ操作が行なわれた場合には、マウス113による指示
座標をU,V値に変換する(ステップS44)。そし
て、このU,V座標値にメッシュが存在するかどうかを
判別する(ステップS45)。
【0152】メッシュが存在しない場合には、新たにメ
ッシュを生成する(ステップS47)。メッシュの生成
は別途定義された処理ルーチンによって実行されるが、
その詳細については後述に譲る。
【0153】既に述べたように、描画オブジェクトに対
して生成されたメッシュはメッシュ情報ブロック(図1
3を参照のこと)によって管理される。メッシュは、無
数の微小な描画単位(セル)に分割されており、各描画
単位はデータ・ブロックmesh_data(図14を
参照のこと)によって管理されている。ステップS46
では、マウス113でクリック又はドラッグにより通過
した各描画単位のmesh_dataに、今回指定され
ている属性インクをインク・リストに書き込む。mes
h_dataが既にインクIDを持つメッシュに塗った
場合には、インクIDの値がインク・リストに追加され
る。
【0154】マウス113の左ボタンを楷書すると、処
理は上記のLoop1を抜ける。そして、ステップS4
8では、描画オブジェクトのメッシュ情報ブロックにラ
ベリング値とデフォルトのベクトルU,Vを付与して、
本処理ルーチン全体を終了する。ベクトルU,Vは、セ
ルラー・オートマトンやパーティクル・システムを用い
て属性インクのアニメーション処理を行う際に利用され
る。ステップS48により与えられたこれらのデフォル
ト値を、マウス・インタラクション(前述)によって変
更することができる。
【0155】図18には、図17に示したワーク・エリ
ア13内での処理のうち、ステップS47のメッシュを
生成する処理の手順をフローチャートの形式でより詳細
に示している。
【0156】まず、U,Vの値から、マウス113がク
リック又はドラッグされた位置のポリゴン情報を得る
(ステップS51)。但し、ここで言うポリゴンは3角
形を想定する。
【0157】次いで、ポリゴンを構成する3辺で最も長
いものを保持する(ステップS52)。そして、長い辺
を共有する他のポリゴンと結合して4角形を生成して、
これをメッシュを構成する描画単位として、各点の情報
をこの描画単位を管理するmesh_dataに格納す
る(ステップS53)。
【0158】このようにして、描画オブジェクトから微
小な4角形の描画単位に分割したメッシュが生成され
る。次いで、メッシュを構成する各描画単位について、
辺の長さが所定の閾値より大きいかどうかをチェックす
る(ステップS54)。そして、所定の閾値よりも大き
い辺を持つ描画単位に関しては、さらにその細分化処理
を適用する(ステップS55)。
【0159】ステップS55におけるメッシュの細分化
の処理ルーチンは別途定義されている。図19には、こ
のメッシュ細分化処理ルーチンをフローチャートの形式
で示している。
【0160】まず、対象となる辺を所定の閾値で割り、
その値を整数値で保持する(ステップS61)。
【0161】次いで、対象となる辺と対角にある辺をこ
の保持値で分割する(ステップS62)。
【0162】次いで、分割した個数だけ、メッシュに描
画単位を補間するとともに、メッシュ情報ブロックに対
応するmesh_dataを追加する(ステップS6
3)。
【0163】C−3−3.パレット・エリア上での処理 図20には、図16に示した塗る処理手順のうち、ステ
ップS36に相当するパレット・エリア12上での属性
インクを混合するための処理手順をフローチャートの形
式でより詳細に示している。以下、図20を参照しなが
ら、パレット・エリア12上での処理手順について説明
する。
【0164】パレット・エリア12内での作画処理は、
ユーザがマウス113の左ボタンを解除するまでの間継
続する(Loop1)。
【0165】ワーク・エリア13内でマウス113がド
ラッグされると(ステップS71)、属性インクが保持
されているかどうか(すなわちインク・エリア11で既
にインクを指定しているかどうか)がチェックされる
(ステップS72)。
【0166】パレット・エリア12でクリック又はドラ
ッグ操作が行なわれると、マウス113による指示座標
をU,V値に変換する(ステップS73)。そして、パ
レット・エリア12内で生成されたメッシュ中の該当す
る描画単位のmesh_dataにこのインクIDを加
える(ステップS74)。
【0167】メッシュを構成する描画単位のmesh_
dataにインクIDを加える処理は、別途定義されて
いる処理ルーチンによって実行される。図21には、m
esh_dataにインクIDを加える処理をフローチ
ャートの形式で示している。
【0168】まず、付け加えるべきインクが属性インク
かどうかをチェックする(ステップS81)。
【0169】属性インクである場合には、mesh_d
ataのインク・リストを検索して、同じインクIDを
既に保持しているかどうかをチェックする(ステップS
82)。
【0170】そして、同じインクIDを保持していない
場合には、この属性インクをインク・リストに追加する
(ステップS83)。
【0171】他方、付け加えるべきインクが属性インク
ではない場合には、さらに、これがテクニカル・インク
であるかどうかをチェックする(ステップS84)。
【0172】テクニカル・インクは、属性インクが持つ
属性値を変更するためのインクであり、本実施形態では
インクの濃淡を調整したり、メッシュの描画単位を大ま
かにしたり細かくすることができる(前述)。
【0173】付け加えるべきインクがテクニカル・イン
クである場合には、インクの濃淡又は粒度のいずれを指
定するインクであるかをさらにチェックする(ステップ
S85)。
【0174】そして、テクニカル・インクがインクの濃
淡を指定するものである場合には、薄める又は濃くする
インクの処理を実行する(ステップS86)。また、テ
クニカル・インクがインクの粒度を指定するものである
場合には、大まか又は細かくするインクの処理を実行す
る(ステップS87)。
【0175】ステップS86及びステップS87におけ
るテクニカル・インクの処理は、別途定義された処理ル
ーチンにより実行されるが、各処理ルーチンの詳細につ
いては後述に譲る。
【0176】ここで、テクニカル・インクの機能につい
て説明する。テクニカル・インクは、それ自体は、色や
模様、自然現象などのビヘイビア/アニメーションを持
っている訳ではなく、他の属性インクと組み合わせるこ
とにより、属性インクに対して以下のような作用を与え
ることができる。
【0177】(1)薄める、濃くするインクでの調整 すなわち、炎や煙などの自然現象インクについて、その
アニメーションの動作速度を早くしたり遅くしたりする
ことができる。例えば、粒子の放出により自然現象を表
現する場合には、その放出速度や放出周期を変更するこ
とにより、インクの濃淡を表現することができる。
【0178】(2)大まかにする、細かくする 描画オブジェクトを構成するメッシュの粒度を大まかに
したり、細かくする。この結果、テクスチャの質感を大
まかにしたり細かくしたりすることができる。また、セ
ルラー・オートマトンやパーティクル・システムを用い
てアニメーション作用を表現する場合には、メッシュの
粒度により質感を変更することができる。
【0179】例えば、セルラー・オートマトンにおいて
は、隣接する描画単位間で働く引力や斥力などの相互作
用によりアニメーション作用を生成することから、描画
単位を大まかにするか細かくするかで相互作用が変わ
る。また、パーティクル・システムでは各描画単位毎に
粒子のエミッタを配設することから、描画単位を大まか
にするか細かくするかで質感に影響を与える。
【0180】(3)部分的に変化を加える テクニカル・インクを塗った部分だけスピードや振る舞
いが変化するので、塗った部分の属性だけを部分的に変
えることができる。例えば、既に属性インクが塗り付け
られた描画オブジェクトの一部分だけをテクニカル・イ
ンクを用いてマウス113でドラッグすることにより、
メッシュのうちマウス・カーソルが横切った部分の描画
単位に対してだけテクニカル・インクの作用(薄める/
濃くする、あるいは大まかにする/細かくする)が適用
される。
【0181】図22には、図21に示したメッシュにイ
ンクIDを加える処理ルーチンのうち、ステップS86
における属性インクを薄める又は濃くするテクニカル・
インクの処理手順をフローチャートの形式で示してい
る。
【0182】まず、指定されたテクニカル・インクが濃
くするインクであるかどうかをチェックする(ステップ
S91)。
【0183】濃くするインクである場合には、該当する
描画単位(すなわち、マウス113でクリック又はドラ
ッグされた描画単位)のmesh_dataに登録され
ている属性インクについてのインクの濃淡を示すカウン
ト値Technical_count[0]を1だけイ
ンクリメントする(ステップS92)。
【0184】他方、濃くするインクである場合には、該
当する描画単位のmesh_dataに登録されている
属性インクについてのインクの濃淡を示すカウント値T
echnical_count[0]を1だけデクリメ
ントする(ステップS93)。
【0185】図23には、属性インクの濃淡を示すテク
ニカル・インクのカウント値Technical_co
unt[0]による作用の一例を図解している。
【0186】既に述べたように、本実施形態では、各描
画単位(セル)に対して、セルラー・オートマトンやパ
ーティクル・システムなどの手法を適用することによっ
て、属性インクが持つ自然現象を表した動きなどのアニ
メーション作用を生成するようになっている。このう
ち、セルラー・オートマトンは、隣接する描画単位間で
働く引力や斥力などの相互作用によりアニメーション作
用を生成する。
【0187】図23で示す例では、属性インクの濃淡を
示すテクニカル・インクのカウント値Technica
l_count[0]を大きくした、すなわち濃くした
場合には、隣接する描画単位間で働く引力を強くして
(あるいは斥力を弱くして)、属性パラメータ値が近隣
の描画単位から受ける影響を大きくすることにより、
「濃さ」を表現している。逆に、属性インクの濃淡を示
すテクニカル・インクのカウント値Technical
_count[0]を小さくした、すなわち薄くした場
合には、隣接する描画単位間で働く引力を弱くして(あ
るいは斥力を強くして)、属性パラメータ値が近隣の描
画単位から受ける影響を小さくすることにより、「薄
さ」又は「淡さ」を表現している。
【0188】また、図24には、図21に示したメッシ
ュにインクIDを加える処理ルーチンのうち、ステップ
S87における属性インクを大まかにする又は細かくす
るテクニカル・インクの処理手順をフローチャートの形
式で示している。
【0189】まず、指定されたテクニカル・インクが細
かくするインクであるかどうかをチェックする(ステッ
プS101)。
【0190】細かくするインクである場合には、該当す
る描画単位(すなわち、マウス113でクリック又はド
ラッグされた描画単位)のmesh_dataを現在処
理対象のmesh_dataとして保持する(ステップ
S102)。
【0191】次いで、4個分の描画単位のmesh_d
ataを保持するためのメモリ領域を確保してから(ス
テップS103)、保持中の描画単位を4等分して、4
個の描画単位の情報を新たに生成したmesh_dat
aにそれぞれ格納する(ステップS104)。
【0192】そして、4等分された描画単位の各片を現
在処理対象の描画単位の子供として位置付けて、そのm
esh_dataに子供の描画単位(pixel chi
ld[4])としてリストに加えていく(ステップS1
05)。
【0193】他方、指定されたテクニカル・インクが細
かくするインクでない場合には、該当する描画単位(す
なわち、マウス113でクリック又はドラッグされた描
画単位)が既に子供(pixel child[4])
を持っているかどうかをチェックする(ステップS10
6)。
【0194】該当する描画単位が既に子供の描画単位を
持っている場合には、その最下層の子供をリストから外
す(ステップS107)。この結果、4等分された粒度
の細かい描画単位が失われるので、その分だけ描画単位
は大きくなる。また、子供に使用していたmesh_d
ataは不要となるので、メモリ上から解放する(ステ
ップS108)。
【0195】また、ステップS107において子供が存
在しないと判定された場合には、属性インクの大まかさ
又は細かさを示すテクニカル・インクのカウント値Te
chnical_count[1]を1だけインクリメ
ントする(ステップS109)。
【0196】図25には、属性インクの大まかさ又は細
かさを示すテクニカル・インクを描画オブジェクトに適
用した様子を図解している。
【0197】パレット・エリア12内では、初期化処理
時に既にメッシュが生成されている(図10を参照のこ
と)。メッシュは、4角形の微小な描画単位(セル)に
よって構成されている。
【0198】まず、インク・エリア11上で属性インク
の大まかさ又は細かさを調整するためのテクニカル・イ
ンクを指定した後、パレット・エリア12内で属性イン
クが既にペイントされている領域上でマウス113をド
ラッグする。
【0199】ドラッグしたときの軌跡すなわち手書きス
トロークが、例えば図25(a)に示す通りであったと
する。この場合、テクニカル・インクを適用する対象
は、手書きストロークによって横切られた各描画単位で
ある。
【0200】大まかにするテクニカル・インクである場
合には、図24に示した処理手順に従って、手書きスト
ロークによって横切られた各描画単位を大まかにする処
理を行う。
【0201】また、細かくするテクニカル・インクであ
る場合には、図24に示した処理手順に従って、手書き
ストロークによって横切られた各描画単位を大まかにす
る処理を行う。すなわち、各描画単位を4等分して新た
なmesh_dataにその情報を格納する。また、4
等分された描画単位を、元の描画単位のmesh_da
taに子供の描画単位としてリストに加えていく。
【0202】図26には、属性インクの大まかさ又は細
かさを示すテクニカル・インクのカウント値Techn
ical_count[1]による作用の一例を図解し
ている。
【0203】既に述べたように、本実施形態では、各描
画単位(セル)に対して、セルラー・オートマトンやパ
ーティクル・システムなどの手法を適用することによっ
て、属性インクが持つ自然現象を表した動きなどのアニ
メーション作用を生成するようになっている。このう
ち、セルラー・オートマトンは、隣接する描画単位間で
働く引力や斥力などの相互作用によりアニメーション作
用を生成する。
【0204】大まかにするテクニカル・インクを適用し
た場合、図25(b)に示したように、メッシュの描画
単位は大きくなる。図26(a)に示す普通の状態で
は、隣接する描画単位の間でこれに対し、描画単位が大
きくなった場合には、図26(b)に示す例では、1つ
の描画単位に結合した結果として元の描画単位間での引
力又は(斥力)などの相互作用はなくなる。すなわち、
仮想的にメッシュが大きくなったようにして計算を省く
ことで、「大まか」になったことを実現することができ
る。
【0205】他方、細かくするテクニカル・インクを適
用した場合、図25(c)に示したように、メッシュの
描画単位は4等分される。このような場合には、図26
(c)に示すように、元の描画単位の中に子供となる描
画単位を挿入して、これら子供と隣接する各描画単位と
の引力又は(斥力)などの相互作用の計算を補うことに
よって、「細かく」なったことを実現することができ
る。
【0206】C−3−4.アニメーション作用の処理 以上説明してきたように、本実施形態に係る描画インタ
ーフェース10によれば、ディスプレイ画面上のワーク
・エリア13として仮体されたデジタル・キャンバス
に、自然現象を表した動きなどのアニメーション作用を
持つ属性インクをペイント又はペーストすることができ
る。また、ワーク・エリア13上で使用する属性インク
は、パレット・エリア12を用いて混合したり、テクニ
カル・インクと混合して濃淡などを調整してから、ワー
ク・エリア13上でペイントやペーストに使用すること
ができる。
【0207】ワーク・エリア13やパレット・エリア1
2内で使用される属性インクのアニメーション作用は、
例えば、セルラー・オートマトンやパーティクル・シス
テムなどの手法によって実現することができる。ここ
で、これらの各手法について詳解しておく。
【0208】(1)セルラー・オートマトン(Cell
lar Automaton) セルラーは、英語で「細胞状の」を意味し、オートマト
ンは「自動機械」を意味する。
【0209】セルラー・オートマトンにおいては、オブ
ジェクトを無数の微小なセル(細胞)の集まりとしてと
らえて、隣接するセル間で働く引力や斥力などの相互作
用によりアニメーション作用を生成することができる。
セルラー・オートマトンにより描画を行う場合には、こ
の引力や斥力を基に各セルの属性パラメータ値を決定す
ればよい。
【0210】ここでは、説明の簡素化のため、各セルが
白又は黒の2種類の属性パラメータ値しか持たない場合
を例にとって、セルラー・オートマトンのルールについ
て説明する。
【0211】セルラー・オートマトンでは、上の階層の
連続する3個のセルの状態からその下の階層における真
中1つのセルの状態が定まる。但し、白は「死」を、黒
は「生」を意味する。例えば、図27(a)に示す例で
は、すべてのセルが死んでいるので、突然変異で「生ま
れる」というルールを示している。また、図27(b)
では1匹しか生きていないので、「死滅する」というル
ールを示している。また、図27(c)及び図27
(d)では、それぞれ2匹生きているので、真中の状態
で「生き延びる」か「死滅する」かが決定されるという
ルールを示している。また、図27(e)では、3匹と
も生きているので、「食糧不足で死んでしまう」という
ルールを示している。
【0212】例えば、上記のような初期状態(黒、白、
黒、白、白、黒、黒、白、白、黒、白、黒、黒)から始
めると、段階を追って下に下に行く。この結果、図28
に示すように、3段階目では、黒、白、黒、黒、白、
黒、黒、白、黒、黒、白、黒、黒のようになる。
【0213】次いで、セルラー・オートマトンを用いた
アニメーション作用の記述について、図29を参照しな
がら説明する。
【0214】既に述べたように、セルラー・オートマト
ンでは、隣接するセル間で働く相互作用によって、セル
の次の状態すなわち属性パラメータ値を計算する(図2
9(a)を参照のこと)。
【0215】例えば、あるセルは、これを囲む四方八方
のセルから8方向の引力(又は斥力)F1〜F8が印加
されているととらえることができる(図29(a)を参
照のこと)。したがって、真中のセルに対しては、F=
(F1+F2+F3+F4+F5+F6+F7+F8)
/8という力が作用し、このFを基にセルの位置を決定
することにより、セルに「動き」という作用を付与する
ことができる。
【0216】次いで、セルラー・オートマトンを利用し
た塗る作用の表現について、図30を参照しながら説明
する。
【0217】ワーク・エリア13内で、マウス113を
ドラッグするなどして手書きストロークを入力すると、
ストロークの軌跡は塗られたことを意味し、塗られた部
分すなわち描画オブジェクトには複数の微小な描画単位
すなわちセルからなるメッシュが補間される。
【0218】各セルには、U,V情報のデフォルト値が
与えられている(前述)。デフォルト状態のU,V情報
は、マウス・インタラクションで変更することができ
る。このU,V情報を用いて、セルの色や位置の変化
(動き)を計算する。
【0219】(2)パーティクル・システム パーティクル・システムは、エミッタから放出されるパ
ーティクルに対してさまざまな力をかけるという現象を
利用するものであり、各描画単位毎にエミッタを配置す
ることによって、描画オブジェクトに対して動きの表現
を与えることができる。
【0220】図31には、パーティクル・システムの原
理図を示している。同図に示すように、パーティクル・
システムは、パーティクルと、所定周期でパーティクル
を放出するエミッタと、エミッタに対してさまざまな作
用を及ぼすフォースで構成される。
【0221】エミッタは、放出するパーティクルと、放
出の方向と広がり角度、放出速度などをパラメータとし
て持つ。また、フォースとは、パーティクルに印加する
重力、静電気力(引力と斥力)、渦巻きの効果、風の効
果、乱流の効果など、非接触又は間接的な作用を及ぼ
す。また、パーティクルは、寿命やフォースに対する特
性、サイズ、色と透明度、テクスチャなどをパラメータ
として持つ。さらに、パーティクルが活動する場に障害
物を設置することができ、障害物に対するパーティクル
のバウンドなどの現象を動きとして利用することもでき
る。
【0222】次いで、パーティクル・システムを利用し
た塗る作用の表現について、図32を参照しながら説明
する。
【0223】ワーク・エリア13内で、マウス113を
ドラッグするなどして手書きストロークを入力すると、
ストロークの軌跡は塗られたことを意味し、塗られた部
分すなわち描画オブジェクトには複数の微小な描画単位
すなわちセルからなるメッシュが補間される。
【0224】各描画単位毎に(例えばその中心に)、パ
ーティクルのエミッタが配置される。各エミッタは、属
性インクの属性パラメータ値によって求められたパーテ
ィクルを放出する。放出された各パーティクルは放出速
度、放出方向、並びにフォースの影響に応じた軌跡を描
く。
【0225】パーティクル、エミッタ、及びフォースが
持つ属性値には、メッシュを補間した時点ではデフォル
ト値が代入される。その後、マウス・インタラクション
でパラメータを変更することができる。
【0226】C−4.シーンの計算 上述した描画ルーチンでは、メッシュ化された描画オブ
ジェクトを構成する各描画単位毎に塗られた属性インク
による描画情報が計算されて、その計算結果は各描画単
位についてのmesh_dataに格納される。
【0227】図9に示した作画処理の全体処理ルーチン
における、ステップS6では、これら各描画単位毎のm
esh_dataを基に、シーンの計算が行われる。こ
の項では、シーンの計算処理について説明する。
【0228】図33には、シーンの計算処理の手順をフ
ローチャートの形式でより詳細に示している。
【0229】ワーク・エリア13内で入力された手書き
ストロークを基に生成された描画オブジェクトは、無数
の微小な描画単位からなるメッシュで補間されるととも
に、ラベリング値が割り当てられている。描画オブジェ
クトはシーンの計算は、ラベリングされた各描画オブジ
ェクト毎に行われる(Loop1)。
【0230】1つの描画オブジェクトは、適用されたイ
ンクを共有している。Loop2では、インク・リスト
(図15を参照のこと)に登録されている各インク毎
に、テクニカル・インクの値とベクターU,V値を基
に、インク・アルゴリズムを適用して(ステップS11
1)、その計算結果を保持しておく(ステップS11
2)。
【0231】インク・アルゴリズムは、主に、属性イン
クで塗られた描画オブジェクトに対して、その属性パラ
メータ値に基づくアニメーション作用すなわち動きを与
える処理を行う。既に述べたように、属性インクは、自
然現象のような時々刻々と様相が変化する動的な現象を
表現するためのインクであるが、水や雲、雪、炎、煙な
ど対象とする現象毎にその処理手順は異なる。また、同
じ自然現象を対象とする場合であっても、セルラー・オ
ートマトン、又はパーティクル・システムのいずれの手
法を利用するかによってもインク・アルゴリズムは相違
する。インク・アルゴリズムの処理手順の詳細について
は後述に譲る。
【0232】次いで、Loop3及びLoop4で構成
される閉ループでは、ラベリング値が割り当てられた描
画オブジェクトの塗られた部分に対して、インク・リス
トに登録されているすべてのインクについて、ステップ
S111におけるインク・アルゴリズムの計算結果の和
を保持する(ステップS113)。
【0233】ステップS114では、計算結果の平均を
とり、現在の描画オブジェクトの状態とする。この平均
化処理により、2以上の属性インクを混合する処理が実
現される。
【0234】C−4−1.インク・アルゴリズムの計算
例1(炎の場合) 属性インクは、自然現象のような時々刻々と様相が変化
する動的な現象を表現するためのインクであるが、水や
雲、雪、炎、煙など対象とする現象毎にその処理手順は
異なる。また、同じ自然現象を対象とする場合であって
も、セルラー・オートマトン、又はパーティクル・シス
テムのいずれの手法を利用するかによってもインク・ア
ルゴリズムは相違する。
【0235】この項では、炎を表す属性インク、すなわ
ち炎インクを処理するインク・アルゴリズムについて説
明する。
【0236】図34には、炎インクを処理するためのイ
ンク・アルゴリズムをフローチャートの形式でより詳細
に示している。但し、このアルゴリズムは、セルラー・
オートマトンに従うものとする。
【0237】まず、描画オブジェクトを構成する描画単
位についてのmesh_dataを一時変数にコピーす
る(ステップS121)。
【0238】次いで、属性インクの濃淡を表すテクニカ
ル・インクの値TechnicalInk[0]と乱数
から発生確率を計算して(ステップS122)、その計
算結果を保持する(ステップS123)。
【0239】次いで、描画オブジェクトを構成するすべ
ての描画単位に対して、大まかさ又は細かさを表すテク
ニカル・インクの値Technical Ink[1]
に従って色の計算を行う(ステップS124)。Tec
hnical Ink[1]に従った色の計算は、別途
定義された処理ルーチンによって実行されるが、その詳
細については後述に譲る。
【0240】次いで、各描画単位の色を、炎の色を定義
するカラーパレット(図示しない)により計算する(ス
テップS125)。
【0241】そして、描画オブジェクトのメッシュを構
成するすべての描画単位について色を計算し終えると、
その計算結果をmesh_dataに代入する(ステッ
プS126)。
【0242】ステップS122では乱数を使用している
が、例えば発火点をランダムに点滅させることによっ
て、描画オブジェクトに対して炎を表す独特の揺らぎの
効果を与えることができる。
【0243】また、ステップS125ではカラー・パレ
ットを使用しているが、カラーパレットを黒→赤→黄色
→白のグラデーションで構成することによって、ぼかし
て平均化することで発火点の周辺を明るい黄色にして、
その上にいくに従って赤みを増すような効果を与えるこ
とができる。
【0244】図35には、ステップS124における大
まかさ又は細かさを表すテクニカル・インクの値Tec
hnical Ink[1]に従った色の計算を行う処
理手順を、フローチャートの形式でより詳細に示してい
る。
【0245】まず、計算対象となる描画単位のmesh
_dataから、大まかさ又は細かさを表すテクニカル
・インクの値Technical_count[1]を
保持する(ステップS131)。
【0246】次いで、この描画単位と隣接する上下及び
左右(並びに左右斜め方向の上下)で隣接する各描画単
位のmesh_dataを参照して、これらのTech
nical_count[1]が保持値と等しいかどう
かをチェックする(ステップS132)。
【0247】そして、これらのTechnical_c
ount[1]が保持値と等しくない場合には、これら
の色の和を保持する(ステップS133)。
【0248】このようにして隣接する描画単位との間で
Technical_count[1]の比較を終える
と、色の平均を計算する(ステップS134)。
【0249】C−4−2.インク・アルゴリズムの計算
例2(水の場合) この項では、水を表す属性インク、すなわち水インクを
処理するインク・アルゴリズムについて説明する。
【0250】図36には、水インクを処理するためのイ
ンク・アルゴリズムをフローチャートの形式でより詳細
に示している。但し、このアルゴリズムは、セルラー・
オートマトンに従うものとする。
【0251】まず、描画オブジェクトを構成する描画単
位についてのmesh_dataを一時変数にコピーす
る(ステップS141)。
【0252】そして、塗られた部分の各描画単位毎に、
インク・アルゴリズムの処理を行なう(Loop1)。
【0253】まず、現在の描画単位を保持すると(ステ
ップS142)、この描画単位と隣接する上下及び左右
(並びに左右斜め方向の上下)で隣接する各描画単位と
の間で(Loop2)、現在の描画単位との距離を計算
する(ステップS143)。この距離計算は、ベクター
値U,Vを基に行われる。
【0254】次いで、現在の描画単位が持つ大まかさ又
は細かさを表すテクニカル・インクの値Technic
al_count[1]に従って力の計算を行なう(ス
テップS144)。Technical Ink[1]
に従った力の計算は、別途定義された処理ルーチンによ
って実行されるが、その詳細については後述に譲る。
【0255】そして、現在保持している描画単位が隣接
する各描画単位から及ぼされている力の計算を終了する
と、これらの力の平均値を計算して、これを描画単位の
位置に反映させる(ステップS145)。
【0256】このような処理をすべての描画単位に対し
て適用することにより、水インクのシーンを算出するこ
とができる。
【0257】図37には、ステップS144における大
まかさ又は細かさを表すテクニカル・インクの値Tec
hnical Ink[1]に従った力の計算を行う処
理手順を、フローチャートの形式でより詳細に示してい
る。
【0258】まず、計算対象となる描画単位のmesh
_dataから、大まかさ又は細かさを表すテクニカル
・インクの値Technical_count[1]を
保持する(ステップS151)。
【0259】次いで、この描画単位と隣接する上下及び
左右(並びに左右斜め方向の上下)で隣接する各描画単
位のmesh_dataを参照して、これらのTech
nical_count[1]が保持値と等しいかどう
かをチェックする(ステップS152)。
【0260】そして、これらのTechnical_c
ount[1]が保持値と等しくない場合には、計算対
象となる描画単位のTechnical_count
[1]の方が小さいかどうかをさらにチェックする(ス
テップS153)。
【0261】計算対象となる描画単位のTechnic
al_count[1]の方が小さい場合には、描画単
位間の距離を計算する(ステップS154)。
【0262】他方、計算対象となる描画単位のTech
nical_count[1]の方が大きい場合には、
同じサイズの描画単位を一時的に補い(ステップS15
5)、この擬似的な描画単位との間で距離計算を行って
から(ステップS156)、擬似的な描画単位を元の状
態に解放する(ステップS157)。
【0263】このような大まかさ又は細かさを表すテク
ニカル・インクの値Technical Ink[1]
に従った距離計算を描画オブジェクト内のすべての描画
単位に対して実行し終えると、描画単位間の距離から力
を計算することができる(ステップS158)。
【0264】C−4−3.インク・アルゴリズムの計算
例3(パーティクル・システムを適用した場合) 属性インクは、自然現象のような時々刻々と様相が変化
する動的な現象を表現するためのインクであるが、同じ
自然現象を対象とする場合であっても、セルラー・オー
トマトン、又はパーティクル・システムのいずれの手法
を利用するかによってもインク・アルゴリズムは相違す
る。
【0265】図38には、パーティクル・システムを適
用した場合のインク・アルゴリズムをフローチャートの
形式でより詳細に示している。
【0266】この項では、パーティクル・システムを適
用した場合におけるインク・アルゴリズムについて説明
する。
【0267】この場合、塗られた部分すなわち描画オブ
ジェクトの各描画単位に対して、パーティクルの放出を
行なう(Loop1)。
【0268】まず、属性インクの濃淡を表すテクニカル
・インクの値TechnicalInk[0]と乱数を
基に、パーティクルを生成する(ステップS161)。
【0269】次いで、エミッタにおける各パーティクル
の放出速度を設定する(ステップS162)。
【0270】次いで、各パーティクルの色とサイズを設
定する(ステップS163)。
【0271】次いで、重力など、パーティクルに作用す
る外的な力を設定する(ステップS164)。
【0272】そして、各パーティクルの寿命を設定する
(ステップS165)。
【0273】C−5.シーンの描画 上述した描画ルーチンでは、メッシュ化された描画オブ
ジェクトを構成する各描画単位毎に塗られた属性インク
による描画情報が計算されて、その計算結果は各描画単
位についてのmesh_dataに格納される。さら
に、シーンの計算処理では、これら各描画単位毎のme
sh_dataを基に、シーンの計算が行われる。
【0274】図9に示した作画処理の全体処理ルーチン
におけるステップS7では、さらにシーンの計算結果を
基に、シーンの描画を行なう。この項では、シーンの描
画処理について説明する。
【0275】図39には、シーンの描画処理の手順をフ
ローチャートの形式でより詳細に示している。
【0276】まず、あらかじめ存在する描画オブジェク
トをワーク・エリア13上に描画しておく(ステップS
171)。
【0277】そして、塗られた部分すなわち描画オブジ
ェクトの各描画単位に対して、描画処理を行なう(Lo
op1)。
【0278】まず、描画単位の描画情報を格納するme
sh_dataを参照して(図14を参照のこと)、描
画単位の各頂点についての変数red[4],gree
n[4],blue[4],alpha[4]の値に従
って、色を設定する(ステップS172)。
【0279】次いで、描画単位の各頂点についてのベク
ターの値u[4],v[4]、並びに、テクスチャの名
前texture_nameに従って、テクスチャを設
定する(ステップS173)。
【0280】次いで、描画単位の各頂点についての位置
情報x[4],y[4],z[4]に従って、描画単位
の位置を設定する(ステップS174)。
【0281】そして、描画単位の描画処理を行なう(ス
テップS175)。
【0282】このようにして、描画オブジェクトを構成
する各描画単位についての描画処理を終えると、設定さ
れているカメラ位置すなわち視点を基に、3次元的な描
画情報を座標変換して、2次元画像を生成する(ステッ
プS176)。
【0283】そして、得られた2次元画像を、ディスプ
レイ111上のワーク・エリア13に表示する(ステッ
プS177)。
【0284】図40には、パーティクル・システムを適
用して自然現象インクである雲インクを作画する様子を
示している。
【0285】ユーザは、インク・エリア11で雲インク
を指定した後、ワーク・エリア13上で、マウス113
のドラッグ操作を行なって、丸囲みした手書きストロー
クを入力する(図40(a)を参照のこと)。さらに、
丸内でドラッグ操作を引き続き行って、塗りつぶす(図
40(b)を参照のこと)。塗りつぶされた描画オブジ
ェクトは、無数の微小な描画単位からなるメッシュに分
割される。
【0286】次いで、シーンの計算を行なう。この場
合、各描画単位毎にエミッタを設定するとともに、雲イ
ンクが持つ属性パラメータ値を基に、エミッタの放出す
るパーティクル、放出の方向と広がり角度、放出速度、
パーティクルに対して印加する重力、静電気力(引力と
斥力)、渦巻きの効果、風の効果、乱流の効果、パーテ
ィクルの寿命やフォースに対する特性、サイズ、色と透
明度、テクスチャを設定して、各エミッタからパーティ
クルを放出させる(図40(c)を参照のこと)。
【0287】放出されたパーティクルは寿命を持つとと
もに、消滅するまでの間、外的な力の作用に従って空間
をさまよう。そして、全体としては、雲が動いているよ
うなイメージになる(図40(d)を参照のこと)。
【0288】また、図41には、パーティクル・システ
ムを適用して自然現象インクである煙インクを作画する
様子を示している。
【0289】ユーザは、インク・エリア11で雲インク
を指定した後、ワーク・エリア13上で、マウス113
のドラッグ操作を行なって、煙が漂う軌跡を描いた手書
きストロークを入力する(図41(a)を参照のこ
と)。
【0290】次いで、シーンの計算を行なう。この場
合、各描画単位毎にエミッタを設定するとともに、煙イ
ンクが持つ属性パラメータ値を基に、エミッタの放出す
るパーティクル、放出の方向と広がり角度、放出速度、
パーティクルに対して印加する重力、静電気力(引力と
斥力)、渦巻きの効果、風の効果、乱流の効果、パーテ
ィクルの寿命やフォースに対する特性、サイズ、色と透
明度、テクスチャを設定して、各エミッタからパーティ
クルを放出させる(図41(b)を参照のこと)。
【0291】放出されたパーティクルは寿命を持つとと
もに、消滅するまでの間、外的な力の作用に従って空間
をさまよう。そして、全体としては、煙が流れているよ
うなイメージになる(図41(c)を参照のこと)。
【0292】ワーク・エリア13上では、属性インクを
指定した状態でマウス113をドラッグ操作することに
よって、入力された手書きストロークに沿って属性イン
クからなるアニメーションがリアルタイムで生成され
る。図42には、ストローク・データからアニメーショ
ンを生成するための処理手順をフローチャートの形式で
示している。
【0293】まず、リストの先頭を現在の位置とする
(ステップS181)。
【0294】そして、ワーク・エリア13上でドラッグ
された手書きストロークすなわち描画ストロークをスト
ローク方向に沿って連続する微小な描画単位の集合とし
てとらえ、各描画単位毎の描画情報を格納するmesh
_dataのデータ・リストとして描画処理する(Lo
op1)。
【0295】まず、処理対象となる描画単位について、
現在の位置と次の位置との距離を求める(ステップS1
82)。
【0296】次いで、現在の位置をパーティクルの発生
位置とする(ステップS183)。
【0297】そして、差を基にパーティクルの放出速度
を設定し(ステップS184)、各パーティクルの色と
サイズを設定する(ステップS185)。
【0298】また、重力などの外的な力を設定するとと
もに(ステップS186)、各パーティクルの寿命を設
定する(ステップS187)。
【0299】次いで、次の位置を現在の位置として(ス
テップS188)、上述したパーティクルの描画処理を
繰り返し実行する。
【0300】D.3Dキャンバス上での描画 本実施形態に係る描画インターフェース10は、デジタ
ル空間上のキャンバス上での手書きストロークによる属
性インクを用いた作画を実現するものである。このデジ
タル・キャンバス上での描画内容は、ワーク・エリア1
2に仮体されている。
【0301】ワーク・エリア13自体は2次元表示平面
であるが、手書きストロークにより作画された描画オブ
ジェクトをコンピュータ処理により3次元平面上に割り
付けて、座標変換や回転などの3次元的な画像変形処理
を行なうことができる。
【0302】例えば、本実施形態に係る描画インターフ
ェース10を本出願人に既に譲渡されている特願200
0−209731号明細書に開示されている画像編集シ
ステム(先述)に適用することができる。
【0303】図43には、3Dキャンバスを設定するた
めの処理手順をフローチャートの形式で示している。
【0304】まず、地平線のみの3次元空間がディスプ
レイ・スクリーン上に現れる。そして、この空間に対し
てストローク線を引くと(ステップS191)、マウス
113による入力座標が地面のU,V座標に変換される
(ステップS192)。
【0305】このU,V値と地面の縦横の長さから3次
元位置の計算を行ない(ステップS193)、ストロー
クを底辺とする3次元キャンバスを計算する(ステップ
S194)。
【0306】このような3次元キャンバスを用いた場
合、スクリーンを介してユーザが描いた絵はキャンバス
上にマッピングされるので、結果として3次元的な絵を
描いたことになる。キャンバス設定と絵を描く操作を重
ねることで、所望のシーンを構築することができる。ま
た、キャンバス回転や視点移動により所望の3次元シー
ンが得られる。
【0307】図8(先述)には、ユーザが描いたストロ
ーク線に従って3Dキャンバスが生成される様子(図8
(a)〜(b))、生成された3Dキャンバス上に手書
きストロークに沿ってペイントしたりペーストしたりす
る様子(図8(c)〜(e))、並びにキャンバス回転
により所望の3Dシーンを生成する様子(図8(f))
を示している。
【0308】このような3Dキャンバス上に、自然現象
インクなどの属性インクを塗ることができる。このよう
な場合、上述したように、描画オブジェクトをメッシュ
に分割して描画情報を管理するとともに、セルラー・オ
ートマトンやパーティクル・システムなどの手法を適用
して、炎や雲などの時々刻々と描画内容が変動するアニ
メーション作用を3D空間上に付与することができる。
【0309】また、図44に示すように、ワーク・エリ
ア13上で手書きストロークにより作画された2次元的
な描画オブジェクト(図44(a))に対して奥行き成
分を付与して(図44(b))、3次元的な描画オブジ
ェクトに拡張することができる(図44(c))。この
ような場合も、描画オブジェクトに対して座標変換や回
転などの3次元的な画像変形処理を行なうことができ
る。描画オブジェクトを3次元に拡張することにより、
よりリアルな表現が可能になる。
【0310】図45には、ワーク・エリア13上で手書
きストロークにより作画された2次元的な描画オブジェ
クトを3次元的な描画オブジェクトに拡張するための処
理手順をフローチャートの形式で示している。このよう
な場合、描画オブジェクトをメッシュに分割したときの
各描画単位は、"Voxel"と呼ばれる3次元的な描画
単位に変換される。
【0311】まず、ワーク・エリア13すなわちデジタ
ル・キャンバス上に作画されたデータを一時変数にコピ
ーする(ステップS201)。
【0312】次いで、コピーされたデータをラベリング
処理して(ステップS202)、ラベリング結果をリス
トに保持する(ステップS203)。
【0313】次いで、ラベリング・リスト全体に対して
(Loop1)、描画領域の縦軸に沿って(Loop
2)、2次元的な描画単位を3次元的な描画単位である
Voxelに変換する(ステップS204)。
【0314】図46には、ステップS204において実
行される、描画オブジェクトを構成する各描画単位を3
次元的な描画単位であるVoxelに変換するための処
理手順をフローチャートの形式で示している。
【0315】まず、描画領域の横軸に連結成分を探索し
ていく(ステップS211)(図47を参照のこと)。
【0316】次いで、連結成分の中点を計算する(ステ
ップS212)(図48を参照のこと)。
【0317】次いで、中点を軸に、横軸を奥行き成分に
拡張する(ステップS213)。次いで、中点が10
で、最も深い位置を1にして描画単位を補間していく
(ステップS214)(図49を参照のこと)。
【0318】そして、メッシュを基に縦軸との関係から
Voxelを構築する(ステップS215)(図50を
参照のこと)。
【0319】描画オブジェクトを3次元空間上に拡張し
た場合も、描画オブジェクトに対して自然現象インクな
どの属性インクを塗ることができる。このような場合、
Voxelを最小の描画単位として描画情報を管理する
とともに、各Voxelに対してセルラー・オートマト
ンやパーティクル・システムなどの手法を適用すること
によって、炎や雲などの時々刻々と描画内容が変動する
アニメーション作用を3D空間上に拡張することができ
る。
【0320】E.ツールの適用 本実施形態に係る描画インターフェース10において
は、コピー・アンド・ペーストのような一般的な文書編
集処理に用意されている機能も、ワーク・エリア13内
でのGUI操作で行うことができる(前述)。
【0321】例えば、ワーク・エリア13内に表示され
ているある描画オブジェクトを範囲指定した後(図51
(a)を参照のこと)、他の場所にドラッグ・アンド・
ドロップすることにより、オブジェクトが複製される
(図51(b)を参照のこと)。
【0322】描画オブジェクトが属性インクでペイント
若しくはペーストされているような場合には、元のオブ
ジェクトが持つ属性パラメータ値を継承する。例えば、
炎インクで描かれた描画オブジェクトを、幾つも生成す
ることができる。
【0323】図52には、本実施形態に係る描画インタ
ーフェース10において、描画オブジェクトをコピー・
アンド・ペースト操作するための処理手順をフローチャ
ートの形式で示している。
【0324】まず、デジタル・キャンバス(ワーク・エ
リア13)又はパレット・エリア12内の一部を選択
(又は範囲指定)して、コピーする(ステップS22
1)。
【0325】選択された領域の描画情報は、所定のメモ
リ領域(例えば、クリップボード)上に一時的に保持さ
れる(ステップS222)。
【0326】そして、選択した描画オブジェクトをドラ
ッグするとともに、所望の位置でドラッグ操作を解除す
なわちドロップすることにより、ペースト位置を決め
る。この結果、メモリ領域に保持されていた描画情報が
この場所に貼り付けられる(ステップS232)。
【0327】このとき、選択又は範囲指定された描画オ
ブジェクトが属性インクでペイント若しくはペーストさ
れている場合には、元のオブジェクトが持つ属性パラメ
ータ値を継承する。
【0328】F.コントロール・モード 図9に示した作画処理の全体処理ルーチンにおけるステ
ップS5では コントロール・ルーチンが実行される。
このコントロール・ルーチンでは、また、ワーク・エリ
ア13内では、描画オブジェクトにペイント又はペース
トされている属性インクの属性パラメータ値のコントロ
ールが行われる。
【0329】属性パラメータ値の変更は、マウス・イン
タラクションなどの簡単なGUI操作を利用して行なわ
れる。例えば、マウスの右ボタンを押すとコントロール
・モードになり、マウス・インタラクションが行なわれ
ると、ドラッグした軌跡は属性インクの属性パラメータ
値として入力される。例えば、マウス・インタラクショ
ンで取得されたドラッグ方向に従って、アニメーション
の方向を定めることができる(図53を参照のこと)。
【0330】描画モードやコントロール・モードなどの
モード設定、モード切り替えは、例えばマウスのボタン
操作によって行なうようにする。例えば、マウスの左ボ
タンを押すと描画モードになり、ドラッグした軌跡は手
書きストロークとして入力される。また、マウスの右ボ
タンを押すとコントロール・モードになり、マウス・イ
ンタラクション(前述)が行なわれると、ドラッグした
軌跡は属性インクの属性パラメータ値として入力され
る。
【0331】図54には、コントロール・モード下で、
マウス・インタラクションにより属性インクの属性パラ
メータ値を生成するための処理手順をフローチャートの
形式で示している。
【0332】マウス113の右ボタンがクリックされる
と(ステップS231)、右ボタンが再び開放されるま
での間、システムはコントロール・モードとして動作す
る。
【0333】マウス113のドラッグ操作が描画オブジ
ェクト上で行なわれると(ステップS232)、そのマ
ウス位置を逐次リストに保持していく(ステップS23
3)。
【0334】そして、マウス113の右ボタンが解放さ
れて、コントロール・モードから通常の描画モードに復
帰すると、取得されたマウス113のドラッグ情報から
パラメータ値を生成する(ステップS234)
【0335】また、図55には、図54に示したフロー
チャート中のステップS234に相当する、マウス11
3のドラッグ情報からパラメータ値を生成するため処理
手順をフローチャートの形式で示している。
【0336】まず、マウス・インタラクションによっ
て、リストにデータが生成されているかどうかをチェッ
クする(ステップS241)。
【0337】リストが生成されている場合には、リスト
全体に対して、点の差からベクトルを計算して(ステッ
プS242)、差をオブジェクトの各描画単位に対応さ
せて、mesh_data(図14を参照のこと)のベ
クトル値に反映させる(ステップS243)。
【0338】[追補]以上、特定の実施形態を参照しな
がら、本発明について詳解してきた。しかしながら、本
発明の要旨を逸脱しない範囲で当業者が該実施形態の修
正や代用を成し得ることは自明である。すなわち、例示
という形態で本発明を開示してきたのであり、本明細書
の記載内容を限定的に解釈するべきではない。本発明の
要旨を判断するためには、冒頭に記載した特許請求の範
囲の欄を参酌すべきである。
【0339】
【発明の効果】以上詳記したように、本発明によれば、
マウスなどの装置によって入力された手書きストローク
に従って計算機システム上で2次元的又は3次元的なイ
メージを好適に作成・編集することができる、優れた画
像編集装置及び画像編集方法、記憶媒体、並びにコンピ
ュータ・プログラムを提供することができる。
【0340】また、本発明によれば、マウス操作などに
よりユーザ入力されたストロークを筆やブラシによる手
書き操作として扱うことにより、デジタル空間のキャン
バス上に水彩画又は油絵などのペインティングを模した
擬似的な描画を行なうための直感的な描画インターフェ
ースを提供することができる、優れた画像編集装置及び
画像編集方法、記憶媒体、並びにコンピュータ・プログ
ラムを提供することができる。
【0341】また、本発明によれば、ユーザ入力された
ストロークに従って、デジタル空間のキャンバス上で、
テクスチャやアニメーションなどのさまざまな属性(a
ttribute)やアクティビティ(activit
y)を持ったインクを利用したペインティングを行なう
ことができる、優れた画像編集装置及び画像編集方法、
記憶媒体、並びにコンピュータ・プログラムを提供する
ことができる。
【0342】また、本発明によれば、変数の設定やスク
リプトの記述など専門的な知識を必要とせず、簡単で且
つ直感的なGUI操作によって描画オブジェクトに対し
てアニメーションやさまざまな属性を付けることができ
る、優れた画像編集装置及び画像編集方法、記憶媒体、
並びにコンピュータ・プログラムを提供することができ
る。
【0343】本発明によれば、ユーザは、デスクトップ
に用意された描画インターフェースを介して、属性を持
つインクの中から任意のインクを選択し、塗るだけでイ
ンクが持つアニメーションや質感といった属性を描画オ
ブジェクトに付け加えることができる。インクを選び、
塗ることがユーザ操作のすべてであり、変数の設定やス
クリプトの記述をしないで、2次元画像、3次元シーン
や3次元オブジェクトに対してアニメーションや質感を
付けることができる。描画インターフェース上でのユー
ザ操作は、実世界で絵の具を塗るのと同じ操作であり、
誰でも簡単且つ直感的に操作することができる。本発明
において対象とするインク属性は、自然現象(雲、火、
雪、煙、霧、水など)、質感(服、鉄、ガラス、ゴムな
ど)とその他(毛、埃、地面など)などであり、塗るこ
とで付けることが可能で、且つ、空間的な変化や時間や
光源によって変化する現象を含む。
【0344】アニメーションや属性を表現する手法とし
て、セルラー・オートマトンによるメッシュをベースと
した表現手法や、パーティクルを用いた表現手法などを
採用して、塗った部分に対して自動的に計算が行なわれ
る。本発明に係る描画インターフェース上では、表現方
法と塗るインタラクションが直接結び付いている。イン
ク属性を表現するこれらの手法は、写実的な属性の表現
が可能であり、リアルな属性も塗るという操作だけで簡
単に実現することができる。
【0345】また、本発明に係る描画インターフェース
上ではパレットが用意されているので、異なる属性を持
つインクをパレット上で混ぜ合わせることで、新しい
(若しくはカスタマイズされた)インクを作ることがで
きる。混ぜる操作に関しても、変数の設定やスクリプト
の記述などの専門的な知識や特殊な作業は必要としな
い。また、実世界では不可能な、水のインクと火のイン
クを混ぜた仮想的なインクを作ることも可能である。
【0346】さらに、本発明に係る描画インターフェー
ス上では、属性を表すインクの他に、インタラクション
を支援するインク(薄める又は淡くするインクや、濃く
するインク)なども含まれている。アニメーションのス
ピードや質感の細かさなども、これらのインクと属性イ
ンクとをパレット上で組み合わせることで、塗る操作を
基本として調整することができる。
【0347】また、本発明に係る描画インターフェース
上では、塗った部分をダイレクトに計算するので、プレ
ビュー画面の操作やレンダリングを行なわなくても、属
性インクの効果を画面上で確認にすることができる。こ
の結果、ユーザの作業効率が格段に向上する。
【0348】本発明が対象とするインク属性は、従来の
画像編集ツールでは変数の設定やスクリプトの記述など
の専門的な作業を必要としていたが、本発明によれば操
作が簡略化されるので、初心者や子供でも簡単に描画オ
ブジェクトに属性を付けることができる。
【0349】このような簡単操作により、3次元コンピ
ュータ・グラフィックスの初心者であっても、動きを伴
った3次元シーン(建築シミュレーションなど)を構築
することや、子供の教育現場での利用が可能になる。2
次元画像の操作に関しても、雪のインクを使ってクリス
マス・カードを書くことや、動きのある日記を書くこと
が可能となる。また、混ぜることで、さまざまなインク
を生み出すことが可能であり、現在、世の中に存在しな
い属性やアニメーションのインクも生み出すことがで
き、そうしたインクが特殊な効果をもたらすことができ
る。
【0350】また、本発明に係る画像編集装置及び画像
編集方法では、2次元画像はビットマップをベースとし
て構成されるので、他の画像編集システムへの移植が容
易である。
【0351】また、本発明に係る描画インターフェース
の用途は、単に塗ることにとどまらず、インク属性を文
章に反映させることも可能である。例えば、水のインク
を使って文字を書くことで、揺れる文章の表現も可能で
ある。Webコンテンツにエフェクトとして適用するこ
ともできる。
【0352】また、本発明に係る描画インターフェース
によれば、3次元オブジェクトを対象としてオブジェク
トの変形も、インクを塗るという操作を介して行うこと
ができる。たとえば、変形させたい部分に水インクを塗
り、中心をマウスでドラッグすることで、水の動きをベ
ースとした緩やかな変形を行なうことが可能である。本
発明によれば、ユーザは、3次元モデルのポリゴンと頂
点を意識せずにこうした変形操作を行うことができる。
【0353】また、粘土属性を変形に用いる既存の手法
も多く存在するが、それらはすべて粘土として存在して
いるので、部分的に鋭角に形成することは困難である。
これに対し、本発明によれば、変形において、部分的に
インクを塗り、マウスで押したり引張ったりするだけ
で、簡単に変形作業を行なうことができる。
【図面の簡単な説明】
【図1】本発明の実施に供される画像編集装置100の
ハードウェア構成を模式的に示した図である。
【図2】ディスプレイ111の表示画面上での描画イン
ターフェース10の構成例を示した図である。
【図3】ワーク・エリア16上で自然現象インクとして
の雲インクでペイントする様子を示した図である。
【図4】描画インターフェース10の変形例を示した図
である。
【図5】描画インターフェース10の変形例を示した図
である。
【図6】パレット・エリア12上で雲インクに水インク
を混ぜる様子を表した図である。
【図7】描画インターフェース10上でワーク・エリア
13にオブジェクトやシーンを読み込んだ様子を示した
図である。
【図8】ユーザが描いたストローク線に従って生成され
た3Dキャンバス上にさらに絵を描く様子、並びにキャ
ンバス回転により所望の3Dシーンを生成する様子を示
した図である。
【図9】描画インターフェース10上での属性インクを
用いた手書きストロークによるペインティングを実現す
るための処理全体の流れをフローチャートの形式で示し
た図である。
【図10】図9に示したフローチャート中のステップS
1における初期化処理の手順をより詳細に示した図であ
る。
【図11】図9に示したフローチャート中のステップS
3に該当する描画ルーチンに置ける処理手順を詳細に示
した図である。
【図12】ワーク・エリア13内で塗られた部分に対し
てメッシュを動的に生成していく様子を示した図であ
る。
【図13】メッシュ情報ブロックのデータ構造を模式的
に示した図である。
【図14】メッシュを構成する描画単位に関する描画情
報を管理するためのデータ・ブロックmesh_dat
aのデータ構造を模式的に示した図である。
【図15】mesh_dataに登録されている属性イ
ンクの情報を管理するためのデータ・ブロックのデータ
構造を模式的に示した図である。
【図16】図11に示した描画ルーチンのうち、ステッ
プS22の塗る処理の手順をより詳細に示したフローチ
ャートである。
【図17】図16に示した塗る処理手順のうち、ステッ
プS34に相当するワーク・エリア13を用いた絵を描
くための処理手順をより詳細に示したフローチャートで
ある。
【図18】図17に示したワーク・エリア13内での処
理のうち、ステップS47のメッシュを生成する処理の
手順をより詳細に示したフローチャートである。
【図19】図18に示したフローチャートのステップS
55におけるメッシュ細分化処理ルーチンを示したフロ
ーチャートである。
【図20】図16に示した塗る処理手順のうち、ステッ
プS36に相当するパレット・エリア12を用いて属性
インクを混合するための処理手順をより詳細に示したフ
ローチャートである。
【図21】mesh_dataにインクIDを加える処
理を示したフローチャートである。
【図22】属性インクを薄める又は濃くするテクニカル
・インクの処理手順をより詳細に示したフローチャート
である。
【図23】属性インクの濃淡を示すテクニカル・インク
のカウント値Technical_count[0]に
よる作用の一例を示した図である。
【図24】属性インクを大まかにする又は細かくするテ
クニカル・インクの処理手順をより詳細にフローチャー
トである。
【図25】属性インクの大まかさ又は細かさを示すテク
ニカル・インクを描画オブジェクトに適用した様子を示
した図である。
【図26】属性インクの大まかさ又は細かさを示すテク
ニカル・インクのカウント値Technical_co
unt[1]による作用の一例を示した図である。
【図27】セルラー・オートマトンのルールを説明する
ための図である。
【図28】セルラー・オートマトンのルールを説明する
ための図である。
【図29】セルラー・オートマトンによるアニメーショ
ン作用の記述方法を説明するための図である。
【図30】セルラー・オートマトンを利用した塗る作用
を説明するための図である。
【図31】パーティクル・システムの原理を示した図で
ある。
【図32】パーティクル・システムを利用した塗る作用
を説明するための図である。
【図33】シーンの計算処理の手順をより詳細に示した
フローチャートである。
【図34】炎インクを処理するためのインク・アルゴリ
ズムをより詳細に示したフローチャートである。
【図35】図34中のステップS124における大まか
さ又は細かさを表すテクニカル・インクの値Techn
ical Ink[1]に従った色の計算を行う処理手
順をより詳細に示したフローチャートである。
【図36】水インクを処理するためのインク・アルゴリ
ズムをより詳細に示したフローチャートである。
【図37】図36中のステップS144における大まか
さ又は細かさを表すテクニカル・インクの値Techn
ical Ink[1]に従った色の計算を行う処理手
順をより詳細に示したフローチャートである。
【図38】パーティクル・システムを適用した場合のイ
ンク・アルゴリズムをより詳細に示したフローチャート
である。
【図39】 シーンの描画処理の手順をより詳細に示し
たフローチャートである。
【図40】パーティクル・システムを適用して自然現象
インクである雲インクを作画する様子を示した図であ
る。
【図41】パーティクル・システムを適用して自然現象
インクである煙インクを作画する様子を示した図であ
る。
【図42】ストローク・データからアニメーションを生
成するための処理手順を示したフローチャートである。
【図43】3Dキャンバスを設定するための処理手順を
示したフローチャートである。
【図44】ワーク・エリア13上で手書きストロークに
より作画された2次元的な描画オブジェクトに対して奥
行き成分を付与して3次元的な描画オブジェクトに拡張
する様子を示した図である。
【図45】ワーク・エリア13上で手書きストロークに
より作画された2次元的な描画オブジェクトを3次元的
な描画オブジェクトに拡張するための処理手順を示した
フローチャートである。
【図46】描画オブジェクトを構成する各描画単位を3
次元的な描画単位であるVoxelに変換するための処
理手順を示したフローチャートである。
【図47】描画オブジェクトを構成する各描画単位を3
次元的な描画単位であるVoxelに変換する様子を説
明するための図である。
【図48】描画オブジェクトを構成する各描画単位を3
次元的な描画単位であるVoxelに変換する様子を説
明するための図である。
【図49】描画オブジェクトを構成する各描画単位を3
次元的な描画単位であるVoxelに変換する様子を説
明するための図である。
【図50】描画オブジェクトを構成する各描画単位を3
次元的な描画単位であるVoxelに変換する様子を説
明するための図である。
【図51】本実施形態に係る描画インターフェース10
において、描画オブジェクトをコピー・アンド・ペース
ト操作する様子を示した図である。
【図52】本実施形態に係る描画インターフェース10
において、描画オブジェクトをコピー・アンド・ペース
ト操作するための処理手順を示したフローチャートであ
る。
【図53】マウス・インタラクションにより、アニメー
ションの方向を定める様子を示した図である。
【図54】コントロール・モード下で、マウス・インタ
ラクションにより属性インクの属性パラメータ値を生成
するための処理手順を示したフローチャートである。
【図55】マウス113のドラッグ情報からパラメータ
値を生成するため処理手順を示したフローチャートであ
る。
【符号の説明】
10…描画インターフェース 11…インク・エリア 12…パレット・エリア 13…ワーク・エリア 100…画像編集装置 101…CPU, 102…主メモリ,103…ROM 104…ディスプレイ・コントローラ 105…入力機器インターフェース 106…ネットワーク・インターフェース 107…外部機器インターフェース 108…バス 111…ディスプレイ 112…キーボード,113…マウス 114…ハード・ディスク装置 115…メディア・ドライブ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成15年2月14日(2003.2.1
4)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 暦本 純一 東京都品川区東五反田3丁目14番13号 株 式会社ソニーコンピュータサイエンス研究 所内 Fターム(参考) 5B050 BA06 BA07 BA08 CA07 DA09 EA09 EA19 EA24 EA30 FA02 FA05 FA08 FA12 FA13 FA14 FA17 5E501 AA02 AC34 BA05 CA03 CB02 CB09 EA11 FA03 FA04 FA14 FB28 FB43

Claims (28)

    【特許請求の範囲】
  1. 【請求項1】表示画面上でユーザから入力された手書き
    ストロークに従って描画を行なう画像編集装置であっ
    て、 使用可能な1以上のインクを配設するインク・エリア
    と、描画作業を行なうワーク・エリアとを前記表示画面
    上に表示する描画インターフェース部と、 前記表示画面上でユーザの指示座標を入力するユーザ入
    力部と、 ユーザ入力に従って前記ワーク・エリア上の描画オブジ
    ェクトを処理する描画処理部と、を備え、 前記インク・エリアでは、RGB色空間上で定義される
    色インク以外に、設定された属性パラメータ値に応じて
    描画処理が時々刻々と変動するアニメーション作用を持
    つ属性インクが用意されており、 前記描画処理部は、前記インク・エリアにおいて前記ユ
    ーザ入力部を介して指示されたインクとそれ以後前記ユ
    ーザ入力部を介して操作される手書きストロークとを関
    連付けるとともに、前記ワーク・エリアにおいてユーザ
    入力部を介して操作された手書きストロークと描画オブ
    ジェクトとを関連付けて、該関連付けられたインクを用
    いて描画オブジェクトを描画することにより手書きスト
    ロークが塗られたことを表現する、ことを特徴とする画
    像編集装置。
  2. 【請求項2】前記属性インクは、属性パラメータ値によ
    り水や雲、雪、炎、煙などの時々刻々と様相が変化する
    動的な自然現象を表現する自然現象インクを含む、こと
    を特徴とする請求項1に記載の画像編集装置。
  3. 【請求項3】前記描画インターフェース部は、さらに複
    数のインクを用いて混合処理するパレット・エリアを表
    示し、 前記描画処理部は、前記インク・エリア又は前記パレッ
    ト・エリアにおいて前記ユーザ入力部を介して指示され
    たインクとそれ以後前記ユーザ入力部を介して操作され
    る手書きストロークとを関連付けるとともに、前記パレ
    ット・エリアにおいてユーザ入力部を介して操作された
    手書きストロークと描画オブジェクトとを逐次関連付け
    て、同じ描画オブジェクトに関連付けられた2以上のイ
    ンク同士を混合処理する、ことを特徴とする請求項1に
    記載の画像編集装置。
  4. 【請求項4】前記描画処理部は、各属性インクが持つ属
    性パラメータ値を平均化することにより2以上の属性イ
    ンク同士を混合処理する、ことを特徴とする請求項3に
    記載の画像編集装置。
  5. 【請求項5】前記描画処理部は、前記ワーク・エリア及
    び/又は前記パレット・エリア内で描画オブジェクトを
    微小な描画単位に分割してなるメッシュにして、各描画
    単位毎にインク情報を管理する、ことを特徴とする請求
    項1に記載の画像編集装置。
  6. 【請求項6】前記描画処理部は、前記ワーク・エリア及
    び/又は前記パレット・エリア内の描画オブジェクトを
    微小な描画単位に分割してなるメッシュにして、隣接す
    る各描画単位間で働く引力又は斥力などの相互作用を計
    算して該計算結果を基に描画単位が持つ属性パラメータ
    値を変更することによって属性インクのアニメーション
    作用を生成する、ことを特徴とする請求項1に記載の画
    像編集装置。
  7. 【請求項7】前記描画処理部は、前記ワーク・エリア及
    び/又は前記パレット・エリア内の描画オブジェクトを
    微小な描画単位に分割してなるメッシュにして、各描画
    単位毎に配置されたエミッタから属性インクに対応する
    パーティクルを放出することによって属性インクのアニ
    メーション作用を計算する、ことを特徴とする請求項1
    に記載の画像編集装置。
  8. 【請求項8】前記描画処理部は、属性インクが持つ属性
    パラメータ値を基に、エミッタの放出するパーティク
    ル、放出の方向と広がり角度、放出速度、パーティクル
    に対して印加する重力、静電気力(引力と斥力)、渦巻
    きの効果、風の効果、乱流の効果、パーティクルの寿命
    やフォースに対する特性、サイズ、色と透明度、テクス
    チャを設定したり、パーティクルが活動する場に障害物
    を設置する、ことを特徴とする請求項7に記載の画像編
    集装置。
  9. 【請求項9】前記インク・エリアには属性インクの濃淡
    を調整するテクニカル・インクが用意されており、 前記描画処理部は、前記ワーク・エリア及び/又は前記
    パレット・エリア内の描画オブジェクトを微小な描画単
    位に分割してなるメッシュにして、 描画オブジェクトに対して濃くするテクニカル・インク
    が適用されたことに応答して、隣接する描画単位間で働
    く引力を強めて(又は斥力を弱めて)属性パラメータ値
    を計算し、 描画オブジェクトに対して薄く又は淡くするテクニカル
    ・インクが適用されたことに応答して、隣接する描画単
    位間で働く引力を弱めて(又は斥力を強めて)属性パラ
    メータ値を計算する、ことを特徴とする請求項1に記載
    の画像編集装置。
  10. 【請求項10】前記インク・エリアには属性インクの大
    まかさ及び細かさを調整するテクニカル・インクが用意
    されており、 前記描画処理部は、前記ワーク・エリア及び/又は前記
    パレット・エリア内の描画オブジェクトを微小な描画単
    位に分割してなるメッシュにして、 描画オブジェクトに対して大まかにするテクニカル・イ
    ンクが適用されたことに応答して、隣接する複数の描画
    単位をまとめて1つの描画単位として扱い、 描画オブジェクトに対して細かくするテクニカル・イン
    クが適用されたことに応答して、描画単位をさらに複数
    の描画単位に細分化する、ことを特徴とする請求項1に
    記載の画像編集装置。
  11. 【請求項11】前記描画処理部は、前記ワーク・エリア
    上に作画された描画オブジェクトに対して奥行き成分を
    付与して、2次元的な前記ワーク・エリア内で作画され
    た描画内容を3次元空間に拡張する、ことを特徴とする
    請求項1に記載の画像編集装置。
  12. 【請求項12】前記描画処理部は、前記ワーク・エリア
    上に作画された描画オブジェクトを構成する各描画単位
    を3次元的なVoxelに変換するとともに、属性イン
    クが塗られたVoxelに対してアニメーション作用を
    表現するための計算を適用して、アニメーション作用を
    3次元空間に拡張する、ことを特徴とする請求項1に記
    載の画像編集装置。
  13. 【請求項13】前記描画処理部は、前記ユーザ入力部か
    ら入力されたストロークに従って描画オブジェクトに関
    連付けられている属性インクの属性パラメータ値を変更
    する、ことを特徴とする請求項1に記載の画像編集装
    置。
  14. 【請求項14】表示画面上でユーザから入力された手書
    きストロークに従って描画を行なう画像編集方法であっ
    て、 使用可能な1以上のインクを配設するインク・エリア
    と、描画作業を行なうワーク・エリアとを前記表示画面
    上に表示する描画インターフェース提示ステップと、 前記表示画面上でユーザの指示座標を入力するユーザ入
    力ステップと、ユーザ入力に従って前記ワーク・エリア
    上の描画オブジェクトを処理する描画処理ステップと、
    を備え、 前記インク・エリアでは、RGB色空間上で定義される
    色インク以外に、設定された属性パラメータ値に応じて
    描画処理が時々刻々と変動するアニメーション作用を持
    つ属性インクが用意されており、 前記描画処理ステップでは、前記インク・エリアにおい
    て前記ユーザ入力ステップを介して指示されたインクと
    それ以後前記ユーザ入力ステップを介して操作される手
    書きストロークとを関連付けるとともに、前記ワーク・
    エリアにおいてユーザ入力ステップを介して操作された
    手書きストロークと描画オブジェクトとを関連付けて、
    該関連付けられたインクを用いて描画オブジェクトを描
    画することにより手書きストロークが塗られたことを表
    現する、ことを特徴とする画像編集方法。
  15. 【請求項15】前記属性インクは、属性パラメータ値に
    より水や雲、雪、炎、煙などの時々刻々と様相が変化す
    る動的な自然現象を表現する自然現象インクを含む、こ
    とを特徴とする請求項14に記載の画像編集方法。
  16. 【請求項16】前記描画インターフェース提示ステップ
    は、さらに複数のインクを用いて混合処理するパレット
    ・エリアを表示し、 前記描画処理ステップでは、前記インク・エリア又は前
    記パレット・エリアにおいて前記ユーザ入力ステップを
    介して指示されたインクとそれ以後前記ユーザ入力ステ
    ップを介して操作される手書きストロークとを関連付け
    るとともに、前記パレット・エリアにおいてユーザ入力
    ステップを介して操作された手書きストロークと描画オ
    ブジェクトとを逐次関連付けて、同じ描画オブジェクト
    に関連付けられた2以上のインク同士を混合処理する、
    ことを特徴とする請求項14に記載の画像編集方法。
  17. 【請求項17】前記描画処理ステップでは、各属性イン
    クが持つ属性パラメータ値を平均化することにより2以
    上の属性インク同士を混合処理する、ことを特徴とする
    請求項16に記載の画像編集方法。
  18. 【請求項18】前記描画処理ステップは、前記ワーク・
    エリア及び/又は前記パレット・エリア内で描画オブジ
    ェクトを微小な描画単位に分割してなるメッシュにし
    て、各描画単位毎にインク情報を管理する、ことを特徴
    とする請求項14に記載の画像編集方法。
  19. 【請求項19】前記描画処理ステップでは、前記ワーク
    ・エリア及び/又は前記パレット・エリア内の描画オブ
    ジェクトを微小な描画単位に分割してなるメッシュにし
    て、隣接する各描画単位間で働く引力又は斥力などの相
    互作用を計算して該計算結果を基に描画単位が持つ属性
    パラメータ値を変更することによって属性インクのアニ
    メーション作用を生成する、ことを特徴とする請求項1
    4に記載の画像編集方法。
  20. 【請求項20】前記描画処理ステップでは、前記ワーク
    ・エリア及び/又は前記パレット・エリア内の描画オブ
    ジェクトを微小な描画単位に分割してなるメッシュにし
    て、各描画単位毎に配置されたエミッタから属性インク
    に対応するパーティクルを放出することによって属性イ
    ンクのアニメーション作用を計算する、ことを特徴とす
    る請求項14に記載の画像編集方法。
  21. 【請求項21】前記描画処理ステップでは、属性インク
    が持つ属性パラメータ値を基に、エミッタの放出するパ
    ーティクル、放出の方向と広がり角度、放出速度、パー
    ティクルに対して印加する重力、静電気力(引力と斥
    力)、渦巻きの効果、風の効果、乱流の効果、パーティ
    クルの寿命やフォースに対する特性、サイズ、色と透明
    度、テクスチャを設定したり、パーティクルが活動する
    場に障害物を設置する、ことを特徴とする請求項20に
    記載の画像編集方法。
  22. 【請求項22】前記インク・エリアには属性インクの濃
    淡を調整するテクニカル・インクが用意されており、 前記描画処理ステップは、前記ワーク・エリア及び/又
    は前記パレット・エリア内の描画オブジェクトを微小な
    描画単位に分割してなるメッシュにして、 描画オブジェクトに対して濃くするテクニカル・インク
    が適用されたことに応答して、隣接する描画単位間で働
    く引力を強めて(又は斥力を弱めて)属性パラメータ値
    を計算し、 描画オブジェクトに対して薄く又は淡くするテクニカル
    ・インクが適用されたことに応答して、隣接する描画単
    位間で働く引力を弱めて(又は斥力を強めて)属性パラ
    メータ値を計算する、ことを特徴とする請求項14に記
    載の画像編集方法。
  23. 【請求項23】前記インク・エリアには属性インクの大
    まかさ及び細かさを調整するテクニカル・インクが用意
    されており、 前記描画処理ステップでは、前記ワーク・エリア及び/
    又は前記パレット・エリア内の描画オブジェクトを微小
    な描画単位に分割してなるメッシュにして、 描画オブジェクトに対して大まかにするテクニカル・イ
    ンクが適用されたことに応答して、隣接する複数の描画
    単位をまとめて1つの描画単位として扱い、 描画オブジェクトに対して細かくするテクニカル・イン
    クが適用されたことに応答して、描画単位をさらに複数
    の描画単位に細分化する、ことを特徴とする請求項14
    に記載の画像編集方法。
  24. 【請求項24】前記描画処理ステップでは、前記ワーク
    ・エリア上に作画された描画オブジェクトに対して奥行
    き成分を付与して、2次元的な前記ワーク・エリア内で
    作画された描画内容を3次元空間に拡張する、ことを特
    徴とする請求項14に記載の画像編集方法。
  25. 【請求項25】前記描画処理ステップでは、前記ワーク
    ・エリア上に作画された描画オブジェクトを構成する各
    描画単位を3次元的なVoxelに変換するとともに、
    属性インクが塗られたVoxelに対してアニメーショ
    ン作用を表現するための計算を適用して、アニメーショ
    ン作用を3次元空間に拡張する、ことを特徴とする請求
    項14に記載の画像編集方法。
  26. 【請求項26】前記描画処理ステップでは、前記ユーザ
    入力部から入力されたストロークに従って描画オブジェ
    クトに関連付けられている属性インクの属性パラメータ
    値を変更する、ことを特徴とする請求項14に記載の画
    像編集方法。
  27. 【請求項27】表示画面上でユーザから入力された手書
    きストロークに従って描画を行なう画像編集処理をコン
    ピュータ・システム上で実行するように記述されたコン
    ピュータ・ソフトウェアをコンピュータ可読形式で物理
    的に格納した記憶媒体であって、前記コンピュータ・ソ
    フトウェアは、 使用可能な1以上のインクを配設するインク・エリア
    と、描画作業を行なうワーク・エリアとを前記表示画面
    上に表示する描画インターフェース提示ステップと、 前記表示画面上でユーザの指示座標を入力するユーザ入
    力ステップと、 ユーザ入力に従って前記ワーク・エリア上の描画オブジ
    ェクトを処理する描画処理ステップと、を備え、 前記インク・エリアでは、RGB色空間上で定義される
    色インク以外に、設定された属性パラメータ値に応じて
    描画処理が時々刻々と変動するアニメーション作用を持
    つ属性インクが用意されており、 前記描画処理ステップでは、前記インク・エリアにおい
    て前記ユーザ入力ステップを介して指示されたインクと
    それ以後前記ユーザ入力ステップを介して操作される手
    書きストロークとを関連付けるとともに、前記ワーク・
    エリアにおいてユーザ入力ステップを介して操作された
    手書きストロークと描画オブジェクトとを関連付けて、
    該関連付けられたインクを用いて描画オブジェクトを描
    画することにより手書きストロークが塗られたことを表
    現する、ことを特徴とする記憶媒体。
  28. 【請求項28】表示画面上でユーザから入力された手書
    きストロークに従って描画を行なう画像編集処理をコン
    ピュータ・システム上で実行するように記述されたコン
    ピュータ・プログラムであって、 使用可能な1以上のインクを配設するインク・エリア
    と、描画作業を行なうワーク・エリアとを前記表示画面
    上に表示する描画インターフェース提示ステップと、 前記表示画面上でユーザの指示座標を入力するユーザ入
    力ステップと、 ユーザ入力に従って前記ワーク・エリア上の描画オブジ
    ェクトを処理する描画処理ステップと、を備え、 前記インク・エリアでは、RGB色空間上で定義される
    色インク以外に、設定された属性パラメータ値に応じて
    描画処理が時々刻々と変動するアニメーション作用を持
    つ属性インクが用意されており、 前記描画処理ステップでは、前記インク・エリアにおい
    て前記ユーザ入力ステップを介して指示されたインクと
    それ以後前記ユーザ入力ステップを介して操作される手
    書きストロークとを関連付けるとともに、前記ワーク・
    エリアにおいてユーザ入力ステップを介して操作された
    手書きストロークと描画オブジェクトとを関連付けて、
    該関連付けられたインクを用いて描画オブジェクトを描
    画することにより手書きストロークが塗られたことを表
    現する、ことを特徴とするコンピュータ・プログラム。
JP2002000945A 2002-01-07 2002-01-07 画像編集装置及び画像編集方法、記憶媒体、並びにコンピュータ・プログラム Expired - Lifetime JP3861690B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002000945A JP3861690B2 (ja) 2002-01-07 2002-01-07 画像編集装置及び画像編集方法、記憶媒体、並びにコンピュータ・プログラム
US10/336,916 US6919893B2 (en) 2002-01-07 2003-01-06 Image editing apparatus, image editing method, storage medium, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002000945A JP3861690B2 (ja) 2002-01-07 2002-01-07 画像編集装置及び画像編集方法、記憶媒体、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2003256859A true JP2003256859A (ja) 2003-09-12
JP3861690B2 JP3861690B2 (ja) 2006-12-20

Family

ID=27742580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002000945A Expired - Lifetime JP3861690B2 (ja) 2002-01-07 2002-01-07 画像編集装置及び画像編集方法、記憶媒体、並びにコンピュータ・プログラム

Country Status (2)

Country Link
US (1) US6919893B2 (ja)
JP (1) JP3861690B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009104629A (ja) * 2008-12-17 2009-05-14 Copcom Co Ltd オブジェクト処理装置
US7580574B2 (en) 2003-06-12 2009-08-25 Sony Corporation User interface method and apparatus, and computer program
JP2014044596A (ja) * 2012-08-27 2014-03-13 Toppan Printing Co Ltd 画像生成装置、及び画像生成プログラム
JP2016532189A (ja) * 2013-07-18 2016-10-13 アルゴリスミックAllegorithmic オブジェクト上のプロシージャルテクスチャ生成システムおよび方法
KR101772251B1 (ko) 2010-05-04 2017-08-28 유니버셜 시티 스튜디오스 엘엘씨 이미지를 변환하는 방법 및 디바이스
JP2017528815A (ja) * 2014-08-14 2017-09-28 アルゴリスミックAllegorithmic オブジェクト上のプロシージャルテクスチャの測色および幾何学的パラメータ化のシステムおよび方法
CN109960543A (zh) * 2019-03-18 2019-07-02 广州视源电子科技股份有限公司 书写操作的处理方法和装置
WO2022158292A1 (ja) * 2021-01-21 2022-07-28 ソニーグループ株式会社 情報処理装置及び情報処理方法
JP7475625B2 (ja) 2019-08-29 2024-04-30 怜以 佐藤 3次元空間における入力受付および入力表示方法、プログラム、および3次元空間における入力受付および入力表示装置

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060177122A1 (en) * 2005-02-07 2006-08-10 Sony Computer Entertainment Inc. Method and apparatus for particle manipulation using graphics processing
US20080246765A1 (en) 2005-05-06 2008-10-09 Desmond Grenfell Method and apparatus for constraint-based texture generation
US7817150B2 (en) * 2005-09-30 2010-10-19 Rockwell Automation Technologies, Inc. Three-dimensional immersive system for representing an automation control environment
US7602405B2 (en) * 2006-03-17 2009-10-13 Microsoft Corporation Multiple brush components
US8276164B2 (en) * 2007-05-03 2012-09-25 Apple Inc. Data parallel computing on multiple processors
KR100895978B1 (ko) * 2007-12-12 2009-05-07 한국전자통신연구원 디지털 수채 영상 재현 시스템 및 방법
GB2456337A (en) * 2008-01-14 2009-07-15 Antonio Roldao Lopes Viewing and editing an infinite digital image
US8564548B2 (en) * 2008-05-23 2013-10-22 Adapx, Inc. Systems and methods for using a digital palette to produce a digital document
US8296668B1 (en) * 2008-08-15 2012-10-23 Adobe Systems Incorporated Paper texture for watercolor painting effects in a graphics editing program
JP4752921B2 (ja) 2009-01-28 2011-08-17 ソニー株式会社 情報処理装置、アニメーション付加方法、及びプログラム
US8654143B2 (en) 2009-09-30 2014-02-18 Adobe Systems Incorporated System and method for non-uniform loading of digital paint brushes
US20110276891A1 (en) * 2010-05-06 2011-11-10 Marc Ecko Virtual art environment
CN101937571B (zh) * 2010-05-13 2012-08-29 上海尚果信息科技有限公司 二维动漫制作方法
US8386964B2 (en) * 2010-07-21 2013-02-26 Microsoft Corporation Interactive image matting
US8762866B2 (en) * 2011-04-08 2014-06-24 Adobe Systems Incorporated Remote paint mixing controller
US9013485B2 (en) 2011-06-30 2015-04-21 Adobe Systems Incorporated Systems and methods for synthesizing high fidelity stroke data for lower dimension input strokes
JP5771329B2 (ja) * 2011-07-20 2015-08-26 ゼットティーイー コーポレイション 動的壁紙の生成方法及び生成装置
US8811687B2 (en) 2011-08-22 2014-08-19 International Business Machines Corporation Natural media in digital representations
US9104298B1 (en) 2013-05-10 2015-08-11 Trade Only Limited Systems, methods, and devices for integrated product and electronic image fulfillment
US20150058753A1 (en) * 2013-08-22 2015-02-26 Citrix Systems, Inc. Sharing electronic drawings in collaborative environments
US9779484B2 (en) * 2014-08-04 2017-10-03 Adobe Systems Incorporated Dynamic motion path blur techniques
US9723204B2 (en) 2014-08-27 2017-08-01 Adobe Systems Incorporated Dynamic motion path blur kernel
US9955065B2 (en) 2014-08-27 2018-04-24 Adobe Systems Incorporated Dynamic motion path blur user interface
KR101913212B1 (ko) 2014-11-07 2018-12-28 삼성전자주식회사 디스플레이 장치 및 디스플레이 장치의 제어 방법
US20170236318A1 (en) * 2016-02-15 2017-08-17 Microsoft Technology Licensing, Llc Animated Digital Ink
US20170364248A1 (en) * 2016-06-16 2017-12-21 Microsoft Technology Licensing, Llc Segment eraser
US10157408B2 (en) 2016-07-29 2018-12-18 Customer Focus Software Limited Method, systems, and devices for integrated product and electronic image fulfillment from database
US10643491B2 (en) 2017-03-14 2020-05-05 Matthew CHELEL Process, system and method for step-by-step painting of an image on a transparent surface
CN107340959A (zh) * 2017-07-14 2017-11-10 合肥图哇科技有限公司 一种改善应用软件操作方式的交互系统及交互方法
US10248971B2 (en) 2017-09-07 2019-04-02 Customer Focus Software Limited Methods, systems, and devices for dynamically generating a personalized advertisement on a website for manufacturing customizable products
US11531450B1 (en) * 2020-06-19 2022-12-20 Corel Corporation Digital imaging of granular media in graphics applications
CN113535056B (zh) * 2021-06-17 2023-12-05 深圳软牛科技有限公司 基于InkCanvas的选框调整方法和相关设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USH1506H (en) * 1991-12-11 1995-12-05 Xerox Corporation Graphical user interface for editing a palette of colors
US5673401A (en) * 1995-07-31 1997-09-30 Microsoft Corporation Systems and methods for a customizable sprite-based graphical user interface
US6078331A (en) * 1996-09-30 2000-06-20 Silicon Graphics, Inc. Method and system for efficiently drawing subdivision surfaces for 3D graphics
US6362828B1 (en) * 1999-06-24 2002-03-26 Microsoft Corporation Method and system for dynamic texture replication on a distributed memory graphics architecture

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7580574B2 (en) 2003-06-12 2009-08-25 Sony Corporation User interface method and apparatus, and computer program
JP2009104629A (ja) * 2008-12-17 2009-05-14 Copcom Co Ltd オブジェクト処理装置
KR101772251B1 (ko) 2010-05-04 2017-08-28 유니버셜 시티 스튜디오스 엘엘씨 이미지를 변환하는 방법 및 디바이스
JP2014044596A (ja) * 2012-08-27 2014-03-13 Toppan Printing Co Ltd 画像生成装置、及び画像生成プログラム
JP2016532189A (ja) * 2013-07-18 2016-10-13 アルゴリスミックAllegorithmic オブジェクト上のプロシージャルテクスチャ生成システムおよび方法
JP2017528815A (ja) * 2014-08-14 2017-09-28 アルゴリスミックAllegorithmic オブジェクト上のプロシージャルテクスチャの測色および幾何学的パラメータ化のシステムおよび方法
CN109960543A (zh) * 2019-03-18 2019-07-02 广州视源电子科技股份有限公司 书写操作的处理方法和装置
CN109960543B (zh) * 2019-03-18 2022-07-19 广州视源电子科技股份有限公司 书写操作的处理方法和装置
JP7475625B2 (ja) 2019-08-29 2024-04-30 怜以 佐藤 3次元空間における入力受付および入力表示方法、プログラム、および3次元空間における入力受付および入力表示装置
WO2022158292A1 (ja) * 2021-01-21 2022-07-28 ソニーグループ株式会社 情報処理装置及び情報処理方法

Also Published As

Publication number Publication date
JP3861690B2 (ja) 2006-12-20
US20030161014A1 (en) 2003-08-28
US6919893B2 (en) 2005-07-19

Similar Documents

Publication Publication Date Title
JP3861690B2 (ja) 画像編集装置及び画像編集方法、記憶媒体、並びにコンピュータ・プログラム
Goldstone Unity game development essentials
US5261041A (en) Computer controlled animation system based on definitional animated objects and methods of manipulating same
US9508179B2 (en) Flexible 3-D character rigging development architecture
US20190347865A1 (en) Three-dimensional drawing inside virtual reality environment
US8917282B2 (en) Separating water from pigment in procedural painting algorithms
US20060087509A1 (en) Computer modeling and animation of natural phenomena
US9508178B2 (en) Flexible 3-D character rigging blocks with interface obligations
US10559096B2 (en) Digital paint generation based on physical digital paint property interaction
US10685472B1 (en) Animation brushes
US6734855B2 (en) Image editing system and method, image processing system and method, and recording media therefor
Murdock Kelly L. Murdock's Autodesk 3ds Max 2016 Complete Reference Guide
Guo et al. Touch-based haptics for interactive editing on point set surfaces
Sanchez-Riera et al. AVATAR: Blender add-on for fast creation of 3D human models
Bill et al. Computer sculpting of polygonal models using virtual tools
Mullen Bounce, tumble, and splash!: simulating the physical world with Blender 3D
JP7353690B1 (ja) 情報処理装置、方法、プログラム、およびシステム
Thokala Haptic enabled multidimensional canvas
Grier A Tool for Creating Expressive Control Over Fur and Feathers
Dadashov-Khandan Fine Control of 3D Meshes in Tilt Brush through Sculpting
Tang et al. Virtual Writing Interactive Display Based on Unity
Bose Rendering interactive 3D scene as a web-page using Three. js, WebGL, and Blender
Maestri Maya 8 at a Glance
Wei Volumetric cloud generation using a Chinese brush calligraphy style
Pokorný et al. Department of Computer and Communication Systems, Faculty of Applied Informatics, Tomas Bata University in Zlín, Nad Stráněmi 4511, 760 05 Zlín, Czech Republic {pokorny, h_silhavikova}@ utb. cz

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060626

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: 20060905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060918

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

Free format text: PAYMENT UNTIL: 20091006

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101006

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111006

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121006

Year of fee payment: 6