JP2000251088A - 描画システム及び描画方法 - Google Patents

描画システム及び描画方法

Info

Publication number
JP2000251088A
JP2000251088A JP11052054A JP5205499A JP2000251088A JP 2000251088 A JP2000251088 A JP 2000251088A JP 11052054 A JP11052054 A JP 11052054A JP 5205499 A JP5205499 A JP 5205499A JP 2000251088 A JP2000251088 A JP 2000251088A
Authority
JP
Japan
Prior art keywords
predetermined
image
force
particle
effect
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.)
Withdrawn
Application number
JP11052054A
Other languages
English (en)
Inventor
Hirokazu Akisada
浩和 秋定
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP11052054A priority Critical patent/JP2000251088A/ja
Publication of JP2000251088A publication Critical patent/JP2000251088A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】 容易な操作によって躍動感のある線画(画
像)を短時間に描画することのできる描画システムを実
現すること。 【解決手段】 所定の大きさを有し、所定の方向へ所定
の速度で移動する画像の軌跡を表示装置上に表示するこ
とによって描画を行う描画システムであって、画像のう
ち、所定の条件を満たすものについてその移動方向及び
/又は速度を変化させる効果付加手段を所定座標に設定
する配置手段と、効果付加手段により所定の条件を満た
す画像に付加される効果を求め、結果を対象となる画像
に反映させる効果合成手段とを有することを特徴とする
描画システム。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、描画システム及び
方法に関し、特にコンピュータを利用した描画システム
及び方法にするものである。
【0002】
【従来の技術】従来、コンピュータを利用した描画シス
テム、具体的にはコンピュータに接続されたキーボー
ド、マウス、タブレット等の入力デバイスを用い、コン
ピュータに接続されたCRT等の表示装置上に任意のイ
メージを描画することが行われている。このような描画
システムにおいては、入力デバイスのアイコン、例えば
マウスカーソルを種々の筆記具(筆、鉛筆、毛筆、エア
ブラシ等)に見立て、マウスカーソルの画面上での移動
に対応してカーソルが辿った軌跡に対する画素の変更
(色の変更、ぼかし、また画像表示等の処理)を行い、
画面上での種々の描画を実現している。
【0003】また、従来の描画システムにおいては、入
力デバイスによって制御点を指定することにより、図1
1に示すようなB-Spline曲線によって曲線の描画が可能
なものもあった。B-Spline曲線はn+1個の制御点のi
番目の座標をPiとすると次式で表現される。
【0004】
【数1】
【0005】ここで、Nik(t)はB-Spline曲線の基底関
数であり、
【0006】
【数2】
【0007】である。そして、このようなB-Spline曲線
を取り扱うことのできる描画システムを用いることによ
り、ユーザは任意の曲線を描画することができる。
【0008】
【発明が解決しようとする課題】しかしながら、従来の
描画システムには次のような問題があった。すなわち、
カーソルの軌跡を描画する描画システムでは、ユーザの
手の動きが描画結果に直接影響するため、スムーズな曲
線を描くことは不可能であった。
【0009】またB-Spline曲線による曲線描画が可能な
描画システムにおいては、曲線を描画する際にユーザは
入力デバイスを用いて極めて多数の制御点を配置する必
要があった。そのため、B-Spline曲線を用いて複雑な絵
を描くためにはかなりの時間を要した。さらに個々のB-
Spline曲線に対してのみ編集可能であるため全体的にま
とまりのない絵になることが多く、熟練者でない限り躍
動感のある線画(画像)を短時間に描画するのは至難の
技であった。また、画面上に動きを持ったパターンを表
示し、そのパターンを変形することで描画を実行する描
画システムは今まで存在しなかった。
【0010】本発明の目的は、容易な操作によって躍動
感のある線画(画像)を短時間に描画することのできる
描画システムを実現することにある。
【0011】
【課題を解決するための手段】すなわち、本発明の要旨
は、所定の大きさを有し、所定の方向へ所定の速度で移
動する画像の軌跡を表示装置上に表示することによって
描画を行う描画システムであって、画像のうち、所定の
条件を満たすものについてその移動方向及び/又は速度
を変化させる効果付加手段を所定座標に設定する配置手
段と、効果付加手段により所定の条件を満たす画像に付
加される効果を求め、結果を対象となる画像に反映させ
る効果合成手段とを有することを特徴とする描画システ
ムに存する。
【0012】また、本発明の別の要旨は、装置が実行可
能なプログラムを格納した記憶媒体であって、プログラ
ムを実行した装置を、所定の大きさを有し、所定の方向
へ所定の速度で移動する画像の軌跡を表示装置上に表示
することによって描画を行う描画システムであって、画
像のうち、所定の条件を満たすものについてその移動方
向及び/又は速度を変化させる効果付加手段を所定座標
に設定する配置手段と、効果付加手段により所定の条件
を満たす画像に付加される効果を求め、結果を対象とな
る画像に反映させる効果合成手段とを有する描画システ
ムとして機能させることを特徴とする記憶媒体に存す
る。
【0013】
【発明の実施の形態】以下、図面を参照して本発明を更
に詳細に説明する。 [実施形態1]本発明の特徴を明確にするため、まずパ
ーティクル発生アルゴリズム(パーティクルシステム)
について説明する。パーティクルとは2次元座標、速
度、および加速度で表現される質量を有する点の表現方
法の一種であり、主に流体解析や3次元コンピュータグ
ラフィックスにおける粒子表現の際用いられる。
【0014】ニュートン力学法則によれば、力Fは質量
mと加速度aを用いて次式で求められる。 F=m・a
【0015】本実施形態では、パーティクルはすべて同
じ質量1を持つものとする。すると、 F=a となり、力は加速度と等しくなる。
【0016】また、ある力が働いている場合のパーティ
クルの位置および速度を更新するためには、方程式は時
間刻み値を持った方程式で表現される必要がある。これ
を実現する最も簡単かつ十分な方法がオイラーアルゴリ
ズムであり、方程式はオイラーアルゴリズムを用いて次
のように表現される。
【0017】
【数3】
【0018】ここでΔtを除くすべての記号は2次元ベ
クトルである。これらの式は、ある時間刻み(タイムス
テップ)におけるパーティクルの位置(X)、速度
(V)、および力(加速度、A)を表していて、次のよ
うに説明できる。パーティクルの新しい位置(X)は古
い位置に古い速度とΔt(タイムステップの長さ)の積
を加えたものである。パーティクルの新しい速度(V)
は古い速度に古い加速度(A)とΔtの積を加えたもの
である。次のタイムステップにおける新しい加速度
(A)は、パーティクルに働きかけるすべての力(フォ
ース)の総計である。
【0019】次に、本実施形態で用いるパーティクルシ
ステムについて説明する。パーティクルシステムとは、
パーティクルの発生源であり、パーティクルはパーティ
クルシステムによって定められた条件に従って発生及び
消滅する。
【0020】本実施形態におけるパーティクルシステム
が共通に持つ変数は以下のものである。 force パーティクルに働きかけるすべての力の総計を示す 2次元ベクトル。 posX,posY デバイス独立座標系(図1(a)参照)におけるパー ティクルの2次元座標。 oldX,oldY 1ループ前のパーティクルの2次元座標。 velX,velY パーティクルの速度。 startX,startY パーティクル位置の初期値。 startVelX,startVelY パーティクル速度の初期値。 generation パーティクルの不可視/可視の状態を示すフラグであ り、生成時に0(不可視)か1(可視)のどちらかがランダムに与えられる。 age パーティクルの年齢。 maxAge パーティクルの寿命。 R,G,B パーティクルの色を示すRGB値。 size パーティクルの大きさ。 nParticles パーティクル数。
【0021】ここで、本実施形態で使用するパーティク
ルシステムの例を2種類示すが、パーティクルシステム
の形態は任意であり、以下に説明する2種類に限定され
るものではない。また、ここで述べるパーティクルシス
テムの名前は、本実施形態独自のもので一般的なもので
はない。
【0022】(P1)ポリゴン・パーティクルシステム 図2(a)に、ポリゴン・パーティクルシステムを示
す。あるセグメント(2つの座標で表現される線分)上
のランダム位置にstartX,startYが設定される。また、
startVelX,startVelYはこのセグメントに対して垂直か
つ同方向(セグメントの始端から終端方向に向かって右
側)になるように設定される。このパーティクルシステ
ム独自の変数は、次のものである。 pos1x,pos1y セグメント始端座標。 pos2x,pos2y セグメント終端座標。 ポリゴン・パーティクルシステムにおいて、パーティク
ルは、図2(a)に矢印で示されるように移動する。
【0023】(P2)パルサー・パーティクルシステム 図2(b)に、パルサー・パーティクルシステムを示
す。ある円弧上のランダム位置に初期位置startX,star
tYが設定される。また、startVelX,startVelYは、円弧
の中心から初期位置へ向かう方向になるように設定され
る。このパーティクルシステム独自の変数は、次のもの
である。 ctrX,ctrY 円弧の中心。 radius 円弧の半径。 minPhi,maxPhi 円弧の最小角度(円弧開始角度)と最大角度(円弧終 了角度)を示す。
【0024】次に、本実施形態におけるフォース(パー
ティクルに働きかける力を表す因子)について説明す
る。フォースとはパーティクルに影響を及ぼす因子であ
り、以下のような共通変数を持つ。 posfX,posfY フォースの位置。 range フォースの影響範囲(パーティクル影響がおよぶフォ ース位置からの距離)。 実際には、パーティクル位置(posX,posY)とフォース
の位置(posfX,posfY)がrange以下となるとそのパー
ティクルはフォースの性質に応じた影響を受けることに
なる。パルサー・パーティクルシステムにおいて、パー
ティクルは、図2(b)に矢印で示されるように移動す
る。
【0025】次に本実施形態で用いるフォースの例を挙
げる。なお、以下で用いるフォース名は上記パーティク
ルシステム名同様、本実施形態独自のものである。
【0026】(F1)吸収フォース 図3(a)に、吸収フォースを示す。吸収フォースは、
パーティクルの移動方向をフォース位置へ向かわせる
(或いはフォース位置から離れる方向へ向かわせる)力
を持つフォースである。
【0027】本実施形態においては、以下に示す式によ
り、パーティクルの変数forceを更新する(フォースの
影響の加算)。 force.x = force.x + weight・(posfX-posX) force.y = force.y + weight・(posfY-posY)
【0028】ただし、ここでforce.xとforce.yは2次元
ベクトルforceのxとyの値を示し、またweightは重み
係数で十分小さい値であるとする。このweightの値が
正数(負数)のときパーティクルはフォースに近づく
(遠ざかる)。このフォースによりパーティクルは加速
する。
【0029】(F2)反発フォース 図3(b)に、反発フォースを示す。反発フォースはパ
ーティクルの移動方向をランダムに変更する力を持つフ
ォースである。このフォースは以下の方程式によりパー
ティクルの速度ベクトルをその大きさは一定のまま方向
だけを変更する(フォースの影響加算)。 angle = random()・2・π v = sqrt(velx・velx + vely・vely) velX = v・cos(angel) velY = v・sin(angel) ただし、ここでangle,vは一時変数、random()は0.
0〜1.0の間の乱数を発生する関数、またsqrt(x)は
xの平方根を求める関数である。
【0030】図4は、本実施形態に係る描画システムの
構成を示すブロック図である。図において、102はパ
ーティクルシステム初期値の入力を行うためのデータ入
力装置であり、たとえばキーボードが用いられる。10
3はシミュレーションの開始・終了の切り替え等を指示
するコマンド入力装置であり、例えばマウスが用いられ
る。104はパーティクルシステムデータ等を格納する
ファイル装置であり、不揮発性のメモリが用いられる。
【0031】105は各種変数の更新やパーティクルシ
ステムで必要な演算等を行う演算装置である。107は
装置の起動中にパーティクルシステムデータ等の各種デ
ータを格納するメモリ装置である。108はレンダリン
グ画像のピクセル値を格納するビデオメモリ装置であ
る。109はユーザへの指示、入力データ、およびビデ
オメモリ装置108のデータ等を表示するための表示装
置であり、例えば、CRTモニタが用いられる。
【0032】101は制御装置であり、データ入力装置
102、コマンド入力装置103、ファイル装置10
4、演算装置105、メモリ装置107、ビデオメモリ
装置108、および表示装置109を制御するものであ
る。
【0033】次に、本実施形態におけるパーティクルシ
ステム描画処理について説明する。図5は、本実施形態
における描画処理を説明したフローチャートである。描
画処理は、オペレータが、コマンド入力装置103であ
るマウスを用い、描画作業の開始指示を与えることによ
りスタートする。
【0034】まず最初に、パーティクルシステムの初期
データのロードを行う。すなわち、制御装置101は、
以下のように前述のポリゴンパーティクルシステムとパ
ルサーパーティクルシステムに関連するデータを1つず
つ含むファイル装置104内のファイルよりデータをロ
ードし、メモリ装置107に格納する(ステップS
1)。
【0035】#パーティクルシステム数 2 #ポリゴンパーティクルシステムID:1 #セグメント始端座標と終端座標:(0.0,0.0)
(−2.0,2.0) #発生数 寿命、速度、色(RGB各8ビット) 20,500.0,0.01,(255,0,0) #パルサーパーティクルシステムID:2 #円弧の中心座標、円弧の半径、円弧開始角度(°)、
円弧終了角度(°):(3.0,2.0),1.0,4
5.0,135.0 #発生数 寿命、速度、色(RGB各8ビット):100,
300.0,0.01,(255,255,0)
【0036】次いで、ステップS1でロードされたデー
タに基づき、パーティクルシステムの内部データの初期
化を行う。本実施形態において、パーティクルシステム
のデータはパーティクルデータ配列P[k](k=1,
…,nParticleSystems)として取り扱う。
【0037】P[k]の各要素は ・パーティクルシステムID ・パーティクル数nParticles ・パーティクル特有のデータ組 ・nParticles個のデータ組。各データ組は(index,for
ce,posX,posY,velX,velY,startX,startY,startV
elX,startVelY,generation,age,maxAge,R,G,B,si
ze)からなる4種のデータを合わせ持つものとする。た
だし、データ組中の"index"は各データ組のインデック
スを示すものとする。
【0038】そして、制御装置101は、メモリ装置1
07におけるポリゴンパーティクルシステムデータに基
づき、ポリゴンパーティクルシステムP1及びパルサー
パーティクルシステムP2の要素を以下のように初期化
する(ステップS2)。 ・ポリゴンパーティクルシステムのパーティクルデータ配列P[1] ID ポリゴンパーティクルシステムのID 1が設定される。 nParticles パーティクル発生数20が設定される。 次に、ポリゴンパーティクルシステムに特有な以下の値が設定される。 pos1x,pos1y 始端座標(0.0,0.0)が設定される。 pos2x,pos2y 終端座標(-2.0,2.0)が設定される。
【0039】そして、以下のようなデータ組がnParticl
es=20個分、設定される。 index 1〜20の間の整数が順番に設定される。 force ベクトル(0.0,0.0)で初期化される。 startX,startY 始端座標(0.0,0.0)と終端座標(-2.0,2.0)で結ばれ る線分上の点がランダムに計算され設定される。 startVelX,startVelY ベクトル(-2.0 2.0)(=(終端座標)−(始端 座標))に垂直な正規ベクトルが計算され設定 される。 posX,posY startX,startYの値が代入される。 velX,velY startVelX,startVelYの値が代入される。 generation ランダムに0か1が代入される。 age 0.0が設定される。 maxAge 500.0が設定される。 R,G,B 色(255,0,0)が設定される。 speed スピード値0.01が設定される。
【0040】次に、制御装置101は、メモリ装置10
7におけるパルサーパーティクルシステム関連のデータ
に基づき、パルサーパーティクルシステムの初期化を以
下のように行う。
【0041】 ・パルサーパーティクルシステムのパーティクルデータ配列P[2] ID パルサーパーティクルシステムのID 2が設定され る。 nParticles パーティクル発生数100が設定される。 次に、パルサーパーティクルシステムに特有な以下の値が設定される。 ctrX,ctrY 円弧中心座標(3.0,2.0)が設定される。 radius 円弧半径0.5が設定される。 minPhi,maxPhi 円弧開始角度45.0°と終了角度135.0° が代入される。 oldX,oldY 以下のstartX,startYの初期値で初期化される。
【0042】そして、以下のようなデータ組がnParticl
es=100個分、設定される。 index 1〜100の間の整数が順番に設定される。 startX,startY 中心(3.0,2.0)、半径1.0の円周上にあって、 円弧開始角度45.0°と終了角度135.0° に含まれる点がランダムに計算され設定される。 startVelX,startVelY 中心(3.0, 2.0)と各(startX,startY)を結ぶ ベクトルの正規化ベクトルに速度0.01を乗 算したベクトルが設定される。 posX,posY startX,startYの値が代入される。 velX,velY startVelX,startVelYの値が代入される。 generation ランダムに0か1が代入される。 age 0.0が設定される。 maxAge 300.0が設定される。 R,G,B 色(255,0,0)が設定される。 speed スピード値0.01が設定される。 以上で設定されたデータはメモリ装置107に格納され
る。
【0043】内部データの初期化が終了すると、各種変
数の初期化を行う(ステップS3)。まず、パーティク
ルシステム総数を示す変数nParticelSystemsにパーティ
クルシステム総数2を設定する。
【0044】また、追加フォースのIDを示す変数addF
orceID、移動対象フォースのインデックスを示す変数mo
veForceIndex、また、フォース総数を示す変数nForces
をすべて0で初期化する。初期化が終了すると、パーテ
ィクルシステムの描画を開始する。図6に、フォースが
存在しない時の2種類のパーティクルシステムの描画状
態を示す。
【0045】以下、フォース処理及びパーティクル描画
処理のループを実行する。制御装置101は、コマンド
入力装置103であるマウスを介してユーザからパーテ
ィクル描画処理終了の指示があるかどうかを判断し(ス
テップS4)、もし指示がある場合はパーティクル描画
処理を終了する。終了指示がなければ制御装置101
は、コマンド入力装置103であるマウスにおいてマウ
スクリックがあったかどうかを判断し(ステップS
5)、マウスクリックがあった場合はその場所(座標)
に応じて以下のように分岐する。 フォースボタン領域 → ステップS9へ進む。 フォースアイコン領域 → ステップS10へ進む。 描画領域 → ステップS6へ進む。
【0046】ただし、ここでフォースボタン領域とは、
図6に示すように、表示装置109の画面右下にある領
域であり、例えば同じ縦横サイズ(画素数)の吸収フォ
ースボタンイメージと反発ボタンイメージが領域内に表
示される。一方、フォースアイコン領域とは、図7に示
すように、描画領域に設定されたフォースの位置に表示
されるフォースアイコンの内部領域をそれぞれ意味す
る。フォースボタンやフォースアイコンに用いられるイ
メージデータは、あらかじめファイル装置104に格納
されているものとする。また、描画領域とは、フォース
ボタン領域及びフォースアイコン領域を除いた領域を意
味する。
【0047】マウスクリックが描画領域で発生すると、
addForceIDが1以上であるかどうかを判断する(ステッ
プS6)。判断の結果addForceIDが1以上ならステップ
S7へ進み、0である場合、ステップS15へ進む。
【0048】ステップS6で変数addForceIDが1以上だ
った場合には、フォースの追加処理が行われる(ステッ
プS7)。本実施形態では以下のようなフォース配列F
[i](i=1,…,nForces)を用いて、フォース追
加処理を行う。
【0049】フォース配列F[i]の各要素は以下のよ
うな3種類のデータを格納するデータの組であるとす
る。 ID フォース識別子。 posfX,posfY フォースの位置。 range フォース影響範囲(パーティクルに影響がおよぶ フォース位置からの距離)。
【0050】ここでは、addForceIDが1(2)ならばフ
ォース配列F[i]のnForces+1番目のデータ組にお
けるIDに1(2)を、posfX,posfYにステップS5で
のマウスクリック座標を、またrangeには暗黙値である
1.0を設定する。設定が終了したら、フォースの総数
を示す変数nForcesを1インクリメントし、またaddForc
eIDに0を代入してリセットする(ステップS8)。
【0051】一方、ステップS5においてフォースボタ
ン領域でマウスクリックがあった場合には、制御装置1
01の命令により、押されたボタン(クリックされた座
標を含むボタンイメージの種別)に応じてフォース追加
変数addForceIDを以下のように設定する(ステップS
9)。 吸収フォースボタンの場合:addForceIDに1を設定。 反発フォースボタンの場合:addForceIDに2を設定。
【0052】また、ステップS5においてフォースアイ
コン領域でマウスクリックがあった場合には、ステップ
S10でフォースアイコンの移動指示有無を示す変数mo
veForceIndexにマウスクリックがあったフォースのフォ
ース配列F[i]の中のフォースのIDを設定し、ステッ
プS15へ進む。本実施形態において、フォースの移動
はフォースアイコンをマウスカーソルでドラッグするこ
とによって指示されるため、マウスのクリックを検出し
た後、マウスボタンが放された位置を検出することによ
ってフォースの移動処理が完成する。
【0053】ステップS5でマウスクリックの検出がな
されなかった場合には、制御装置101の命令により、
演算装置105が変数moveForceIndexが1以上、すなわ
ち移動を指示されているフォースがあるか否かを判断し
(ステップS11)、もしmoveForceIndexが1以上なら
ばステップS12に進み、0ならばステップS15へ進
む。
【0054】制御装置101は、コマンド入力装置10
3であるマウスのマウスボタンが放された(マウスリリ
ース)かどうかを判断し(ステップS12)、もし放さ
れた場合は制御装置101の命令により演算装置105
は、まずフォース配列F[i]のmoveForceIndex番目の
要素におけるposfX,posfYにおけるフォースアイコン領
域を背景色(又は背景パターン)で再描画する。次にこ
のposfX,posfYをステップS12におけるマウスリリー
ス位置で更新し、(ステップS13)変数moveForceInd
exに0に代入してリセットする(ステップS14)。ス
テップS12でマウスリリースが検出されていない場合
(移動中の場合)は、ステップS15へ進む。例えば、
図8における2つのフォースアイコンは図7の2つのフ
ォースアイコンを移動した状態を示している。
【0055】そして、描画関連処理(ステップS15)
において、表示装置上の表示内容を更新し、再びステッ
プS4に戻る。以後、終了指示があるまでステップS4
〜S15の処理を繰り返す。
【0056】次に、描画関連処理(ステップS15)に
ついて図10を参照して更に詳細に説明する。図10
は、描画関連処理の流れを示したフローチャートであ
る。
【0057】以下、処理の流れにしたがって説明する。
先ず、描画関連処理がスタートすると、パーティクルシ
ステムIDを示す変数kを1で初期化する(ステップS
31)。次に、制御装置101の命令により演算装置1
05は、kがパーティクルシステム総数を表すnParticl
eSystemsを超えたかどうかを判断し(ステップS3
2)、もし超えたならば描画関連処理を終了し、また超
えていない場合はステップS33へ進む。
【0058】ステップS33では、パーティクルデータ
配列P[k]におけるindex番目のデータ組を示す一時
変数mを1で初期化する。そして、ステップS34にお
いて、一時変数mが対応するパーティクルデータ配列P
[k]のパーティクル数を示すnParticlesを超えたかど
うかを判断し、もし超えているならばステップS35で
次のパーティクル配列P[k]の処理を行うため変数k
を1インクリメントし、ステップステップS32へ戻
る。一方、一時変数mがnParticles以下であればステッ
プS36へ進む。
【0059】ステップS36では、存在するnForces個
すべてのフォースの影響を加算する。すなわち、制御装
置101の命令により演算装置105は、フォース配列
F[i]に含まれるnForces個のフォースのそれぞれに
対し、フォースの種類に応じて以下のように方法を選択
しパーティクルデータ配列P[k]内の変数に影響を反
映させる。
【0060】・吸収フォースの場合:「(F1)吸収フ
ォース」の欄で説明した式によってパーティクルデータ
配列P[k]内変数を更新 ・反発フォースの場合:「(F2)反発フォース」の欄
で説明した式によってパーティクルデータ配列P[k]
内変数を更新
【0061】次いで、パーティクル座標の更新処理を行
う(ステップS37)。すなわち、パーティクルデータ
配列P[k]におけるm番目のデータ組における内部変
数を以下のように更新する。 posX ← posX + velX * deltaT posY ← posY + velY * deltaT velX ← velX + force.x * deltaT velY ← velY + force.y * deltaT age ← age + deltaT
【0062】ただし、ここでdeltaTは上述の時間刻み値
を示しており、適当な小さい値が設定されているものと
する。
【0063】なお、本実施形態において、ポリゴンパー
ティクルシステムとパルサーパーティクルシステムはそ
の内部変数の初期化方法は異なるが、パーティクル座標
の更新方法は共通である。
【0064】ステップS37で座標の更新が行われる
と、パーティクルシステムの種類に応じた処理を行うた
め、パーティクルシステムIDを判定する(ステップS
38)。
【0065】すなわち、制御装置101の命令により演
算装置105は、パーティクルデータ配列P[k]にお
けるIDが1(ポリゴンパーティクルシステム)の場合
はステップS39へ、また2(パルサーパーティクルシ
ステム)の場合はステップS42へ進む。
【0066】以下ステップS39〜S41がポリゴンパ
ーティクルシステム用処理、ステップS42〜S44が
パルサーパーティクル用処理を示している。
【0067】まず、ポリゴンパーティクルシステム用処
理について説明する。ステップS39ではパーティクル
の寿命のチェックを行う。すなわち、制御装置101の
命令により演算装置105はパーティクルデータ配列P
[k]のm番目のデータ組について、変数ageが変数max
Ageを超えているならばステップS40において、寿命
を超えたパーティクルの再初期化を行う。
【0068】すなわち、制御装置101の寿命により演
算装置105は、パーティクルデータ配列P[k]のm
番目のデータ組における変数群を以下のように最初期化
する。 posX ← startX posY ← startY velX ← startVelX velY ← startVelY age ← 0 generation ← (0か1がランダムに設定される)
【0069】一方、ステップS39で変数ageが変数max
Ageを超えていなければステップS41へ進む。ステッ
プS41ではビデオメモリ装置108へのパーティクル
の描画を行う。
【0070】すなわち、制御装置101の命令により演
算装置105は、まずデバイス独立座標系(図1(a)
参照)における座標(posX,posY)(P[k]のindex
番目のデータ組内)からビデオメモリ装置108の座標
系(デバイス依存座標系:図1(b)参照)における座
標(posX',posY')への変換式を次式で行う。 posX' ← w/2 + posX * w /(xr - xl) posY' ← h/2 + posY * h /(yt - yb)
【0071】ただし、ここでxr,xl,yt,ybはデバ
イス独立座標系で表現されたパーティクルシステムのビ
ューポート(図1(a)参照)を、wとhはビデオメモ
リ装置108(デバイス依存座標系:図1(b)参照)
における横縦の画素数を示すものとする。
【0072】そして、求めた(posX',posY')で示され
るビデオメモリ装置108における位置に、変数sizeで
与えられた一辺の長さを有する正方形を、generationが
1の場合は色(R,G,B)で、また0の場合は背景色で描
画する。
【0073】一方、パルサーパーティクルシステムにお
いてもポリゴンパーティクルシステムと同様、まずパー
ティクルの寿命のチェックを行う(ステップS42)。
【0074】パーティクルデータ配列P[k]のm番目
のデータ組において、変数ageが変数maxAgeを超えてい
る場合、ステップS43でパーティクルの再初期化を行
う。
【0075】すなわち、制御装置101の命令により演
算装置105は、パーティクルデータ配列P[k]のm
番目のデータ組における変数群を以下のように再初期化
する。 posX ← startX posY ← startY oldX ← startX oldY ← startY velX ← startVelX velY ← startVelY age ← 0 generation ← (0か1がランダムに設定される)
【0076】一方、ステップS42で変数ageが変数max
Ageを超えていなければステップS44へ進む。ステッ
プS44ではビデオメモリ装置108へのパーティクル
の描画を行う。ここではビデオメモリ装置108へ2つ
のパーティクル座標を結ぶ直線の描画を行う。すなわ
ち、制御装置101の命令により演算装置105は、ま
ずデバイス独立座標系における座標(posX,posY)およ
び(oldX,oldY)(P[k]のindex番目のデータ組
内)からビデオメモリ装置108の座標系(デバイス依
存座標系)における座標(posX',posY'),(oldX',o
ldY')への変換を次式で行う。 posX' ← w/2 + posX * w /(xr - xl) posY' ← h/2 + posY * h /(yt - yb) oldX' ← w/2 + oldX * w /(xr - xl) oldY' ← h/2 + oldY * h /(yt - yb)
【0077】ただし、ここでxr,xl,yt,ybはデバ
イス独立座標系で表現されたパーティクルシステムのビ
ューポート(図1(a)参照)を、wとhはビデオメモ
リ装置108(デバイス依存座標系:図1(b)参照)
における横縦の画素数を示すものとする。
【0078】そして、求めた(posX',posY')と(old
X',oldY')を結ぶ線分を、変数sizeで与えられた太さ
で、generationが1の場合は色(R,G,B)で、また0の
場合は背景色で描画する。描画後、(oldX,oldY)を
(posX,posY)の値で更新する。すなわち、 oldX ← posX oldY ← posY
【0079】ステップS41及びS44でパーティクル
の描画が終了すると、フォースアイコンとフォースボタ
ンの描画を行う(ステップS45)。
【0080】すなわち、制御装置101の命令により演
算装置105は、フォース配列F[i](i=1,…,
nForces)の各要素のIDに応じたフォースアイコン用
イメージ(1ならば吸収フォースアイコン用イメージ、
2ならば反発フォースアイコン用イメージ)をビデオメ
モリ装置108の位置(posfX',posfY')に表示する。
ただし、 posfX' ← w/2 + posfX * w /(xr - xl) posfY' ← h/2 + posfY * h /(yt - yb) である。また、吸収フォースボタン用イメージと反発フ
ォースボタン用イメージをビデオメモリ装置108の右
下部分の固定位置に描画する。
【0081】ビデオメモリ装置108への描画の結果は
そのまま表示装置109に反映される。これにより、ロ
ードしたパーティクルシステムのnForcces個のフォース
による変化の様子が確認できる(図6〜図9参照)。
【0082】そして、ステップS46でmを1インクリ
メントし、ステップS34へもどり、全てのパーティク
ルに対する処理が終了するまでS46までの処理を繰り
返す。
【0083】以上のようにして、表示装置上に動的なパ
ターンの描画がなされる。図7と図8は吸収フォースと
反発フォースが一つずつ追加されたパーティクルシステ
ムの変化状態を、また、図9は吸収フォースと反発フォ
ースが3つずつ追加されたパーティクルシステムの変化
の状態を示している。
【0084】
【他の実施形態】上述の実施形態では描画処理の初期化
部分で2種類のパーティクルシステムを各1つずつしか
ロードしなかったが、パーティクル描画処理の最初に各
パーティクルシステムの種類で初期値を変えたものを複
数ロードしてもよい。
【0085】また、たとえばパーティクルシステム追加
ボタンを画面に追加して、パーティクル描画処理の途中
に新たなパーティクルシステムを追加できるようにする
こともできる。
【0086】また、上述の実施形態では、フォースに関
しては描画処理中の編集は位置の移動のみであったが、
フォースアイコンの内部にたとえば“移動エリア”、
“パラメータ増加エリア”、“パラメータ減少エリア”
の3つの部分エリアを設け、マウスクリックの場所に応
じて以下のように処理を切り替えてもよい。 移動エリア :フォースの移動。 パラメータ増加エリア:フォースの重み係数weight
(実施形態1の「(F1)吸収フォース」欄参照)を増
加させる。 パラメータ減少エリア:フォースの重み係数weight
(実施形態1の「(F1)吸収フォース」欄参照)を減
少させる。
【0087】なお、本発明は、複数の機器(例えばホス
トコンピュータ,インタフェイス機器,リーダ,プリン
タなど)から構成されるシステムに適用しても、一つの
機器からなる装置(例えば、複写機,ファクシミリ装置
など)に適用してもよい。
【0088】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPU
やMPU)が記憶媒体に格納されたプログラムコードを
読出し実行することによっても、達成されることは言う
までもない。
【0089】この場合、記憶媒体から読出されたプログ
ラムコード自体が前述した実施形態の機能を実現するこ
とになり、そのプログラムコードを記憶した記憶媒体は
本発明を構成することになる。
【0090】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピディスク,ハードディス
ク,光ディスク,光磁気ディスク,CD−ROM,CD
−R,磁気テープ,不揮発性のメモリカード,ROMな
どを用いることができる。
【0091】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれることは言うまでもない。
【0092】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。
【0093】
【発明の効果】以上に説明したように本発明では、パー
ティクルアルゴリズム(粒子計算アルゴリズム)によっ
て計算した動きを持つフローパターンを、フォース(パ
ーティクルに働きかける力のアイコン)を用いて制御・
変形することを特徴とする。
【0094】これにより、複数の曲線(あるいは点の軌
跡)を少ないアイコンにより、一括して、かつ、スムー
ズに変形できるため、従来のスプライン曲線のように取
り扱いが困難な手法を習得しなくても、短時間で躍動感
のある線画を描画することが可能となる。
【0095】また、あたかもろくろの上で回っている粘
度に手で形をつけるような従来のペイントソフトでは味
わえない新しい感覚で、描画をすることができるという
付加的な利点もある。
【図面の簡単な説明】
【図1】本発明の実施形態におけるパーティクルのビュ
ーポート(デバイス独立座標系)とビデオメモリ装置の
座標系(デバイス依存座標系)の対応を示した図であ
る。
【図2】本発明の実施形態における2つのパーティクル
システムについて説明する図である。
【図3】本発明の実施形態における2つのフォースにつ
いて説明する図である。
【図4】本発明の実施形態に係る画像描画システムの構
成例を示した図である。
【図5】本発明の実施形態におけるパーティクル描画処
理を説明するフローチャートである。
【図6】本発明の実施形態における、フォースが無い場
合のパーティクルシステムの描画状態を示した図であ
る。
【図7】本発明の実施形態における、フォースが2個の
場合のパーティクルシステムの描画状態を示した図であ
る。
【図8】図8のフォースを移動した場合の描画状態を示
した図である。
【図9】本発明の実施形態における、フォースが6個の
場合のパーティクルシステムの描画状態を示した図であ
る。
【図10】図5における描画関連処理を説明するフロー
チャートである。
【図11】B-Spline曲線について示した図である。

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 所定の大きさを有し、所定の方向へ所定
    の速度で移動する画像の軌跡を表示装置上に表示するこ
    とによって描画を行う描画システムであって、 前記画像のうち、所定の条件を満たすものについてその
    移動方向及び/又は速度を変化させる効果付加手段を所
    定座標に設定する配置手段と、 前記効果付加手段により前記所定の条件を満たす画像に
    付加される効果を求め、結果を対象となる前記画像に反
    映させる効果合成手段とを有することを特徴とする描画
    システム。
  2. 【請求項2】 前記所定の条件が前記画像と前記効果付
    加手段との距離であることを特徴とする請求項1記載の
    描画システム。
  3. 【請求項3】 前記距離に応じて前記変化の大きさが変
    化することを特徴とする請求項2記載の描画システム。
  4. 【請求項4】 前記効果付加手段が、前記所定の条件を
    満たす画像の移動方向を前記所定座標に向かうように、
    又は前記所定座標から遠ざかるように変化させることを
    特徴とする請求項1記載の描画システム。
  5. 【請求項5】 前記効果付加手段が、前記所定の条件を
    満たす画像の移動方向を不規則に変化させることを特徴
    とする請求項1記載の描画システム。
  6. 【請求項6】 所定座標に設けられ、前記画像を所定の
    直線上の不規則な点から、前記所定の直線と直交する1
    方向に発生させる第1の画像発生源を有することを特徴
    とする請求項1記載の描画システム。
  7. 【請求項7】 所定座標に設けられ、前記画像を所定の
    円弧上の不規則な点から、前記所定の円弧の中心から前
    記不規則な点へ向かう方向に発生させる第2の画像発生
    源を有することを特徴とする請求項1記載の描画システ
    ム。
  8. 【請求項8】 所定の大きさを有し、所定の方向へ所定
    の速度で移動する画像の軌跡を表示装置上に表示するこ
    とによって描画を行う描画方法であって、 前記画像のうち、所定の条件を満たすものについてその
    移動方向及び/又は速度を変化させる効果付加手段を所
    定座標に設定する配置ステップと、 前記効果付加手段により前記所定の条件を満たす画像に
    付加される効果を求め、結果を対象となる前記画像に反
    映させる効果合成ステップとを有することを特徴とする
    描画方法。
  9. 【請求項9】 前記所定の条件が前記画像と前記効果付
    加手段との距離であることを特徴とする請求項8記載の
    描画方法。
  10. 【請求項10】 前記距離に応じて前記変化の大きさが
    変化することを特徴とする請求項9記載の描画方法。
  11. 【請求項11】 前記効果付加手段が、前記所定の条件
    を満たす画像の移動方向を前記所定座標に向かうよう
    に、又は前記所定座標から遠ざかるように変化させるこ
    とを特徴とする請求項8記載の描画方法。
  12. 【請求項12】 前記効果付加手段が、前記所定の条件
    を満たす画像の移動方向を不規則に変化させることを特
    徴とする請求項8記載の描画方法。
  13. 【請求項13】 所定座標に設けられ、前記画像を所定
    の直線上の不規則な点から、前記所定の直線と直交する
    1方向に発生させる第1の画像発生源を有することを特
    徴とする請求項8記載の描画方法。
  14. 【請求項14】 所定座標に設けられ、前記画像を所定
    の円弧上の不規則な点から、前記所定の円弧の中心から
    前記不規則な点へ向かう方向に発生させる第2の画像発
    生源を有することを特徴とする請求項8記載の描画方
    法。
  15. 【請求項15】 装置が実行可能なプログラムを格納し
    た記憶媒体であって、前記プログラムを実行した装置
    を、所定の大きさを有し、所定の方向へ所定の速度で移
    動する画像の軌跡を表示装置上に表示することによって
    描画を行う描画システムであって、 前記画像のうち、所定の条件を満たすものについてその
    移動方向及び/又は速度を変化させる効果付加手段を所
    定座標に設定する配置手段と、 前記効果付加手段により前記所定の条件を満たす画像に
    付加される効果を求め、結果を対象となる前記画像に反
    映させる効果合成手段とを有する描画システムとして機
    能させることを特徴とする記憶媒体。
JP11052054A 1999-02-26 1999-02-26 描画システム及び描画方法 Withdrawn JP2000251088A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11052054A JP2000251088A (ja) 1999-02-26 1999-02-26 描画システム及び描画方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11052054A JP2000251088A (ja) 1999-02-26 1999-02-26 描画システム及び描画方法

Publications (1)

Publication Number Publication Date
JP2000251088A true JP2000251088A (ja) 2000-09-14

Family

ID=12904106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11052054A Withdrawn JP2000251088A (ja) 1999-02-26 1999-02-26 描画システム及び描画方法

Country Status (1)

Country Link
JP (1) JP2000251088A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002216152A (ja) * 2001-01-12 2002-08-02 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP2002216154A (ja) * 2001-01-12 2002-08-02 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP2011141893A (ja) * 2011-03-31 2011-07-21 Namco Bandai Games Inc 画像生成システム、プログラム及び情報記憶媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002216152A (ja) * 2001-01-12 2002-08-02 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP2002216154A (ja) * 2001-01-12 2002-08-02 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP4721382B2 (ja) * 2001-01-12 2011-07-13 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
JP4743733B2 (ja) * 2001-01-12 2011-08-10 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
JP2011141893A (ja) * 2011-03-31 2011-07-21 Namco Bandai Games Inc 画像生成システム、プログラム及び情報記憶媒体

Similar Documents

Publication Publication Date Title
US9619106B2 (en) Methods and apparatus for simultaneous user inputs for three-dimensional animation
US9645664B2 (en) Natural media painting using proximity-based tablet stylus gestures
US8854342B2 (en) Systems and methods for particle-based digital airbrushing
JPH05266167A (ja) 図形対象の移動を制御する方法
US20130229390A1 (en) Methods and Apparatus for Deformation of Virtual Brush Marks via Texture Projection
JPH0668758B2 (ja) カーソル制御方法及び3次元図形表示装置
US10559096B2 (en) Digital paint generation based on physical digital paint property interaction
US20080252661A1 (en) Interface for Computer Controllers
JP3186241B2 (ja) 図形編集装置
US5442378A (en) Animation image constructing apparatus
JP2004139411A (ja) 毛筆描画装置、毛筆描画プログラムおよび毛筆描画方法
US6734855B2 (en) Image editing system and method, image processing system and method, and recording media therefor
KR930000998B1 (ko) 컴퓨터 그래픽스의 문자 그리고/또는 도형처리 방법 및 그의 장치
JP2000251088A (ja) 描画システム及び描画方法
JP3647116B2 (ja) ウィンドウ階層表示方法及びそのシステム
JPH1166351A (ja) 3次元仮想空間内部におけるオブジェクト動作制御方法および装置とオブジェクト動作制御プログラムを記録した記録媒体
JP2001209816A5 (ja)
Lin et al. Haptic interaction for creative processes with simulated media
Appel et al. Aspects of display technology
JPH07105395A (ja) 情報処理装置
US20230091166A1 (en) Digital imaging of granular media in graphics applications
JP2897441B2 (ja) イメージ処理方法及び装置
KR100583238B1 (ko) 3차원 모델링 아이콘 제어 장치 및 그 방법
JPH10334280A (ja) 画像処理装置及び方法並びにプログラム記憶媒体
JP3591051B2 (ja) 描画装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060509