JPH08202850A - 紙の繊維構造データ作成方法、紙の繊維構造データ作成装置、紙の繊維構造データ、にじみ描画方法及びにじみ描画装置 - Google Patents

紙の繊維構造データ作成方法、紙の繊維構造データ作成装置、紙の繊維構造データ、にじみ描画方法及びにじみ描画装置

Info

Publication number
JPH08202850A
JPH08202850A JP7011050A JP1105095A JPH08202850A JP H08202850 A JPH08202850 A JP H08202850A JP 7011050 A JP7011050 A JP 7011050A JP 1105095 A JP1105095 A JP 1105095A JP H08202850 A JPH08202850 A JP H08202850A
Authority
JP
Japan
Prior art keywords
data
pixel
ink
fiber
fibers
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
JP7011050A
Other languages
English (en)
Inventor
Seiren Kaku
清蓮 郭
Toshiyasu Kunii
利▲やす▼ 國井
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 JP7011050A priority Critical patent/JPH08202850A/ja
Priority to GB9601532A priority patent/GB2297673B/en
Priority to US08/592,190 priority patent/US5784301A/en
Priority to KR1019960002191A priority patent/KR960030042A/ko
Priority to CN96101494A priority patent/CN1104703C/zh
Priority to TW085102076A priority patent/TW297877B/zh
Publication of JPH08202850A publication Critical patent/JPH08202850A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour

Abstract

(57)【要約】 【目的】 にじみを有する図形をコンピュータを用いて
描画する際に必要な紙の繊維構造をモデル化した紙の繊
維構造データを提供するとともに、この紙の繊維構造デ
ータに基づいて、実際に紙にインクで図形を描画したと
きのように、にじみを有する図形を描画するにじみ描画
方法及びにじみ描画装置を提供する。 【構成】 紙の繊維の構造をモデル化して、図形内の各
画素に対応するように紙の繊維構造のデータが設定され
た紙の繊維構造データを作成する。そして、紙に繊維の
間隙におけるインクの流れをモデル化して、紙の繊維構
造データに基づいて、にじみを有する図形を表す画像デ
ータを作成する。そして、この画像データに基づいて、
にじみを有する図形の画像を表示装置に表示する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、紙の繊維構造データ作
成方法、紙の繊維構造データ作成装置、紙の繊維構造デ
ータ、にじみ描画方法及びにじみ描画装置に関し、紙の
繊維構造をモデル化した紙の繊維構造データを作成し、
この紙の繊維構造データを用いてにじみを有する図形を
表示装置に表示するにじみ描画方法等に関する。
【0002】
【従来の技術】コンピュータを用いて画像を描画するコ
ンピュータグラフィックスは、画像の最小単位である画
素毎に、例えば、カラー表示では3原色のデータ、モノ
クロ表示では輝度等を示すデータを画像データとして設
定し、このように画素毎に設定された画像データに基づ
いて、図形(図形には文字又は記号等も含むものとす
る。)をディスプレイ等の表示装置に表示するものであ
る。
【0003】このようなコンピュータグラフィックスに
よる図形の描画で最も簡単な方法は、線で囲まれた領域
を作成し、この線で囲まれた領域内を均一に描画する方
法である。
【0004】しかし、このような方法では画像の表現に
限りがあるため、より豊かな表現ができるように、さま
ざまな描画方法が提案されている。
【0005】このような描画方法としては、例えば、座
標データの入力装置としてマウス等のポインティングデ
バイスを用いて、入力された座標データに基づいて、す
なわちポインティングデバイスの動きに合わせて描画す
ることにより、筆による描画を表現する方法がある。ま
た、例えば、ポインティングデバイスの動きに合わせて
描画するとともに、描画を続けるにしたがって色が薄く
なるように描画することによって、筆による描画を表現
するとともに、筆が含んでいるインクの量の変化に伴う
色の変化を表現する方法もある。さらに、例えば、指定
した位置から外側へ行くほど色が薄くなるように描画す
るとともに、描画を続けるにしたがってだんだんと色が
濃くなっていくように描画することにより、エアブラシ
による描画を表現する方法もある。
【0006】ところで、実際にインク、墨、水彩絵具等
(以下、単にインクという。)を含んだ筆で紙に図形を
描いた場合には、筆にインクが十分に含まれているとき
や、筆をゆっくりと動かしたとき等には、筆が通過した
部分に描画されるだけでなく、描画された部分の周囲に
インクが拡散して、いわゆるにじみが生じる。
【0007】このようなにじみは、毛筆で文字を描くと
きや、水彩画、特に水墨画を描くとき等において、表現
力の観点から非常に重要な要素であり、例えば、水墨画
を描く際には、にじみによって墨の微妙な濃淡が描きだ
され、これによって遠近感や立体感が表現される。
【0008】
【発明が解決しようとする課題】ところで、このような
にじみは、紙によって生じ方が異なっている。すなわ
ち、紙は複数の繊維から構成されるが、これら繊維の構
造は紙によって異なっており、にじみの生じ方は、この
繊維の構造に依存している。ところが、従来のコンピュ
ータグラフィックスでは、このような紙の繊維構造につ
いて、考慮していないため、紙の繊維構造に依存するに
じみを表現することはできなかった。
【0009】したがって、従来のコンピュータグラフィ
ックスでは、紙にインクで描いた図形、特に、にじみが
重要な要素となる毛筆で描かれた文字や水墨画等を、実
際にインクを含ませた筆で紙に描いたようには表現する
ことができなかった。
【0010】そこで本発明は、このような従来の実情に
鑑みて提案されたものであり、紙にインクで描いた図形
と同様な図形をコンピュータを用いて描画する際に必要
とされる、紙の繊維構造をモデル化した紙の繊維構造デ
ータ、並びにこのような紙の繊維構造データを作成する
紙の繊維構造データ作成方法及び紙の繊維構造データ作
成装置を提供するとともに、この紙の繊維構造データに
基づいて、実際のにじみ現象によるにじみと同様なにじ
みを描画することができるにじみ描画方法及び描画装置
を提供することを目的とする。
【0011】
【課題を解決するための手段】上述の目的を達成するた
めに本発明に係る第1の紙の繊維構造データ作成方法
は、紙を構成する繊維の1つを表す繊維データを作成
し、複数の上記繊維データを、複数の画素から成る領域
に配置して、繊維の分布を表す繊維分布データを作成
し、上記繊維分布データに基づいて、画素を通る繊維の
数Mを各画素毎に求め、上記各画素毎の繊維の数Mを紙
の繊維構造データとして、紙の繊維構造データを作成す
ることを特徴とする。
【0012】また、本発明に係る第2の紙の繊維構造デ
ータ作成方法は、上記第1の紙の繊維構造データ作成方
法において、前記繊維データが、繊維の形状、繊維の位
置及び繊維の方向を示すデータから成ることを特徴とす
る。
【0013】また、本発明に係る3第の紙の繊維構造デ
ータ作成方法は、上記第2の紙の繊維構造データ作成方
法において、前記繊維の形状を示すデータが、余弦関数
の一部で表現されることを特徴とする。
【0014】また、本発明に係る第4の紙の繊維構造デ
ータ作成方法は、上記第2又は3の紙の繊維構造データ
作成方法において、前記繊維データを作成する際に、入
力装置から繊維の長さを示す繊維長パラメータを入力
し、上記繊維長パラメータに基づいて、前記繊維の形状
を示すデータを作成することを特徴とする。
【0015】また、本発明に係る第5の紙の繊維構造デ
ータ作成方法は、上記第1、2、3又は4の紙の繊維構
造データ作成方法において、前記複数の画素から成る領
域に複数の点をランダムに配置し、上記複数の点の位置
を、リラクション処理により、均一化し、上記均一化さ
れた各点をそれぞれ中心とする複数の小領域を作成し、
上記複数の小領域に同じ数の繊維データをそれぞれラン
ダムに配置して、前記繊維分布データを作成することを
特徴とする。
【0016】また、本発明に係る第6の紙の繊維構造デ
ータ作成方法は、上記第5の紙の繊維構造データ作成方
法において、前記繊維分布データを作成する際に、入力
装置から繊維の密度を示す繊維密度パラメータを入力
し、上記繊維密度パラメータに基づいて、前記複数の小
領域に配置する繊維データの数を設定することを特徴と
する。
【0017】また、本発明に係る第7の紙の繊維構造デ
ータ作成方法は、上記第1、2、3、4、5又は6の紙
の繊維構造データ作成方法において、前記繊維分布デー
タに基づいて、画素Pを通るとともに、画素Pに隣接す
る8つの画素P1、P2、P3、P4、P5、P6、P
7、P8をそれぞれ通る繊維の数M1、M2、M3、M
4、M5、M6、M7、M8を各画素毎に求め、前記繊
維の数Mと、上記繊維の数Mi(i=1、2、3、4、
5、6、7、8)とを前記紙の繊維構造データとして、
紙の繊維構造データを作成することを特徴とする。
【0018】また、本発明に係る第8の紙の繊維構造デ
ータ作成方法は、上記第7の紙の繊維構造データ作成方
法において、前記繊維の数M1乃至M8に基づいて、繊
維の間隙に形成される毛細管であって、前記画素Pから
画素P1乃至P8の各方向に形成される毛細管の数S
1、S2、S3、S4、S5、S6、S7、S8を各画
素毎に求め、前記繊維の数Mと、上記繊維の数Miと、
上記毛細管の数Si(i=1、2、3、4、5、6、
7、8)とを前記紙の繊維構造データとして、紙の繊維
構造データを作成することを特徴とする。
【0019】また、本発明に係る第9の紙の繊維構造デ
ータ作成方法は、上記第8の紙の繊維構造データ作成方
法において、前記毛細管の数Siを、前記繊維の数Mi
が2以上のとき、1とし、繊維の数Miが2未満のと
き、0とすることを特徴とする。
【0020】また、本発明に係る第10の紙の繊維構造
データ作成方法は、上記第8の紙の繊維構造データ作成
方法において、前記画素Pから画素Pi(i=1、2、
3、4、5、6、7、8)方向のMi本の繊維につい
て、互いに隣接する繊維が成す交差角をランダムに設定
し、前記毛細管の数Siを、上記設定された交差角の少
なくとも一つが所定の角度未満のとき、1とし、設定さ
れた交差角の全てが所定の角度の以上のとき、0とする
ことを特徴とする。
【0021】また、本発明に係る第11の紙の繊維構造
データ作成方法は、上記第1、2、3、4、5、6、
7、8、9又は10の紙の繊維構造データ作成方法にお
いて、前記繊維の数Mに基づいて、画素Pにおける光の
透過度を示す光透過度Iを求め、上記光透過度Iを前記
紙の繊維構造データに付加して、紙の繊維構造データを
作成することを特徴とする。
【0022】また、本発明に係る第1の紙の繊維構造デ
ータ作成装置は、紙を構成する繊維のうちの1つを表す
繊維データを作成する繊維データ作成手段と、上記繊維
データ作成手段で作成された複数の繊維データを、複数
の画素からなる領域に配置して、繊維の分布を表す繊維
分布データを作成する繊維分布データ作成手段と、上記
繊維分布データ作成手段で作成された繊維分布データに
基づいて、画素を通る繊維の数Mを各画素毎に算出する
繊維数算出手段とを有し、上記繊維数算出手段で算出さ
れた各画素毎の繊維の数Mを紙の繊維構造データとし
て、紙の繊維構造データを作成することを特徴とする。
【0023】また、本発明に係る第2の紙の繊維構造デ
ータ作成装置は、上記第1の紙の繊維構造データ作成装
置において、前記繊維データ作成手段で作成される繊維
データが、繊維の形状を示すデータと、繊維の位置を示
すデータと、繊維の方向を示すデータとから成ることを
特徴とする。
【0024】また、本発明に係る第3の紙の繊維構造デ
ータ作成装置は、上記第2の紙の繊維構造データ作成装
置において、前記繊維データ作成手段で作成される繊維
デ前記繊維の形状を示すデータが、余弦関数の一部で表
現されることを特徴とする。
【0025】また、本発明に係る第4の紙の繊維構造デ
ータ作成装置は、上記第2又は3の紙の繊維構造データ
作成装置において、繊維の長さを示す繊維長パラメータ
を入力する繊維長パラメータ入力手段を有し、前記繊維
データ作成手段は、上記繊維長パラメータ入力手段によ
り入力された繊維長パラメータに基づいて、前記繊維の
形状を示すデータを作成することを特徴とする。
【0026】また、本発明に係る第5の紙の繊維構造デ
ータ作成装置は、上記第1、2、3又は4の紙の繊維構
造データ作成装置において、前記複数の画素から成る領
域に複数の点をランダムに配置する点配置手段と、上記
点配置手段で配置された複数の点の位置を、リラクショ
ン処理により、均一化する均一化手段と、上記均一化手
段で均一化された各点をそれぞれ中心とする複数の小領
域を作成する小領域作成手段と、上記小領域作成手段で
作成された各小領域に同じ数の繊維データをそれぞれラ
ンダムに配置するランダム配置手段とを有し、上記ラン
ダム配置手段で配置された繊維データを前記繊維分布デ
ータとすることを特徴とする。
【0027】また、本発明に係る第6の紙の繊維構造デ
ータ作成装置は、上記第5の紙の繊維構造データ作成装
置において、繊維の密度を示す繊維密度パラメータを入
力する繊維密度パラメータ入力手段を有し、前記ランダ
ム配置手段は、上記繊維密度パラメータ入力手段により
入力された繊維密度パラメータに基づいて、前記複数の
小領域に配置する繊維データの数を設定することを特徴
とする。
【0028】また、本発明に係る第7の紙の繊維構造デ
ータ作成装置は、上記第1、2、3、4、5又は6の紙
の繊維構造データ作成装置において、前記繊維分布デー
タ作成手段で作成された繊維分布データに基づいて、画
素Pを通るとともに、画素Pに隣接する8つの画素P
1、P2、P3、P4、P5、P6、P7、P8をそれ
ぞれ通る繊維の数M1、M2、M3、M4、M5、M
6、M7、M8を各画素毎に算出する隣接繊維数算出手
段を有し、前記繊維数算出手段で算出された繊維の数M
と、上記隣接繊維数算出手段で算出された繊維の数Mi
(i=1、2、3、4、5、6、7、8)とを前記紙の
繊維構造データとして、紙の繊維構造データを作成する
ことを特徴とする。
【0029】また、本発明に係る第8の紙の繊維構造デ
ータ作成装置は、上記第7の紙の繊維構造データ作成装
置において、前記隣接繊維数算出手段で算出された繊維
の数M1乃至M8に基づいて、繊維の間隙に形成される
毛細管であって、前記画素Pから画素P1乃至P8の各
方向に形成される毛細管の数S1、S2、S3、S4、
S5、S6、S7、S8を各画素毎に算出する毛細管数
算出手段を有し、前記繊維数算出手段で算出された繊維
の数Mと、前記隣接繊維数算出手段で算出された繊維の
数Miと、上記毛細管数算出手段で算出された毛細管の
数Si(i=1、2、3、4、5、6、7、8)とを前
記紙の繊維構造データとして、紙の繊維構造データを作
成することを特徴とする。
【0030】また、本発明に係る第9の紙の繊維構造デ
ータ作成装置は、上記第8の紙の繊維構造データ作成装
置において、前記毛細管算出手段は、前記毛細管の数S
iを、前記隣接繊維数算出手段で算出された繊維の数M
iが2以上のとき、1とし、繊維の数Miが2未満のと
き、0とすることを特徴とする。
【0031】また、本発明に係る第10の紙の繊維構造
データ作成装置は、上記第8の紙の繊維構造データ作成
装置において、前記毛細管算出手段は、前記画素Pから
画素Pi(i=1、2、3、4、5、6、7、8)方向
のMi本の繊維について、互いに隣接する繊維が成す交
差角をランダムに設定する交差角設定手段と、前記毛細
管の数Siを、上記交差角設定手段で設定された交差角
の少なくとも1つが所定の角度未満のとき、1とし、設
定された交差角の全てが所定の角度以上のとき、0とす
る毛細管数設定手段とを有することを特徴とする。
【0032】また、本発明に係る第11の紙の繊維構造
データ作成装置は、上記第1、2、3、4、5、6、
7、8、9又は10の紙の繊維構造データ作成装置にお
いて、前記繊維の数Mに基づいて、前記画素Pにおける
光の透過度を示す光透過度Iを求める光透過度算出手段
を有し、上記光透過度算出手段で算出された光透過度I
を前記紙の繊維構造データに付加して、紙の繊維構造デ
ータを作成することを特徴とする。
【0033】また、本発明に係る第1の紙の繊維構造デ
ータは、複数の画素から成る領域に配設された紙を構成
する繊維を表す繊維データに基づく、各画素毎の、画素
を通る繊維の数Mから成ることを特徴とする。
【0034】また、本発明に係る第2の紙の繊維構造デ
ータは、上記第1の紙の繊維構造データにおいて、前記
各画素毎の繊維の数Mと、各画素毎の、画素Pを通ると
ともに、画素Pに隣接する8つの画素P1、P2、P
3、P4、P5、P6、P7、P8をそれぞれ通る繊維
の数M1、M2、M3、M4、M5、M6、M7、M8
とから成ることを特徴とする。
【0035】また、本発明に係る第3の紙の繊維構造デ
ータは、上記第2の紙の繊維構造データにおいて、前記
各画素毎の繊維の数Mと、前記各画素毎の繊維の数M1
乃至M8と、各画素毎の、繊維の間隙に形成される毛細
管であって、前記画素Pから画素P1乃至P8の各方向
に形成される毛細管の数S1、S2、S3、S4、S
5、S6、S7、S8とから成ることを特徴とする。
【0036】また、本発明に係る第4の紙の繊維構造デ
ータは、上記第3の紙の繊維構造データにおいて、前記
毛細管の数Si(i=1、2、3、4、5、6、7、
8)が、前記繊維の数Miが2以上のとき1であり、繊
維の数Miが2未満のとき0であることを特徴とする。
【0037】また、本発明に係る第5の紙の繊維構造デ
ータは、上記第1、2、3又は4の紙の繊維構造データ
において、前記繊維の数Mに基づいて算出される、各画
素毎の光透過度Iを有することを特徴とする。
【0038】また、本発明に係る第1のにじみ描画方法
は、画素毎の画像データに基づいた画像を表示装置に表
示するにじみ描画方法であって、にじみのもととなる図
形の輪郭上の画素Pを検出する第1の工程と、上記第1
の工程で検出された画素Pに対する請求項8、9、10
又は11記載の紙の繊維構造データ作成方法により作成
された毛細管の数Si(i=1、2、3、4、5、6、
7、8)に基づいて、画素Pに毛細管によって連結され
た画素を検出する第2の工程と、上記第2の工程で検出
された画素にインクの存在を示すデータを画像データと
して設定する第3の工程とを有し、上記第3の工程で画
像データが設定された画素を第2の工程における第1の
工程で検出された画素Pとして、第2の工程と第3の工
程を繰り返すことを特徴とする。
【0039】また、本発明に係る第2のにじみ描画方法
は、上記第1のにじみ描画方法において、前記第2の工
程において、前記画素Pの毛細管の数Siが1以上のと
き、当該毛細管の数Siに対応する画素Piを画素Pに
連結された画素とすることを特徴とする。
【0040】また、本発明に係る第3のにじみ描画方法
は、上記第1のにじみ描画方法において、前記第2の工
程において、前記画素Pの毛細管の数Siが1以上であ
るとともに、当該毛細管の数Siに対応する画素Piの
毛細管の数Sj(j=1、2、3、4、5、6、7、
8)が1以上であるとき、画素Piを画素Pに連結され
た画素とすることを特徴とする。
【0041】また、本発明に係る第4のにじみ描画方法
は、上記第1、2又は3のにじみ描画方法において、前
記第3の工程において、前記画像データが既に設定され
ている画素に対しては、新たな画像データを設定しない
ことを特徴とする。
【0042】また、本発明に係る第5のにじみ描画方法
は、上記第1、2、3又は4のにじみ描画方法におい
て、前記第1の工程で検出された画素Pにインク初期量
0 を画像データとして予め設定し、前記第3の工程に
おいて、上記インク初期量U0が0以下のときには、前
記第2の工程で検出された画素に画像データを設定しな
いことを特徴とする。
【0043】また、本発明に係る第6のにじみ描画方法
は、上記第5のにじみ描画方法において、前記第3の工
程において、前記第2の工程で検出された画素における
インク吸収量Uを算出し、上記インク吸収量Uを画像デ
ータとして設定することを特徴とする。
【0044】また、本発明に係る第7のにじみ描画方法
は、上記第6のにじみ描画方法において、前記インク吸
収量Uを、下記(1)式に基づいて求めることを特徴と
する。
【0045】
【数5】
【0046】ここで、nは請求項8、9、10又は11
記載の紙の繊維構造データ作成方法により求められる繊
維の数Mであり、qはインクの表面張力に基づいた定数
であり、θiはi番目の繊維の方向を表すランダムに設
定される定数であり、αは任意に設定される比例定数で
ある。
【0047】また、本発明に係る第8のにじみ描画方法
は、上記第6又は7のにじみ描画方法において、前記第
3の工程において、前記インク吸収量Uを、前記第2の
工程で検出された全ての画素について合計し、上記合計
の値が、前記インク初期量U0 に達したら、前記第2及
び第3の工程の繰り返しを停止することを特徴とする。
【0048】また、本発明に係る第9のにじみ描画方法
は、上記第6又は7のにじみ描画方法において、前記第
3の工程において、前記インク初期量U0 から前記イン
ク吸収量Uを、前記第2の工程で検出された画素におい
て順次減じて、インク残量Urestを順次求め、上記イン
ク残量Urestを、新たなインク初期量U0 として、前記
第1の工程で検出された画素Pに設定し、上記新たなイ
ンク初期量U0 が0以下となったとき、前記第2及び第
3の工程の繰り返しを停止することを特徴とする。
【0049】また、本発明に係る第10のにじみ描画方
法は、上記第5、6、7、8又は9のにじみ描画方法に
おいて、前記第3の工程において、前記インク初期量U
0 が、前記第1の工程で検出された画素であって、隣接
する画素間で異なる場合、インク初期量U0 が多い方の
画素のインク初期量U0 を減らし、インク初期量U0
少ない方の画素のインク初期量U0 を増やすことを特徴
とする。
【0050】また、本発明に係る第11のにじみ描画方
法は、上記第6、7、8、9又は10のにじみ描画方法
において、前記図形の輪郭上の画素にインク初期濃度V
0 を画像データとして予め設定し、前記第3の工程にお
いて、前記インクの存在を示すデータが設定された画素
毎に、当該画素におけるインク濃度Vを算出し、前記イ
ンク吸収量Uと上記インク濃度Vに基づいて、当該画素
の輝度を示す輝度データを求め、上記輝度データを画像
データとして設定することを特徴とする。
【0051】また、本発明に係る第11のにじみ描画方
法は、上記第10のにじみ描画方法において、前記第3
の工程において、前記インク濃度Vを、下記(2)式で
示す偏微分方程式に基づいて求めることを特徴とする。
【0052】
【数6】
【0053】ここで、n(x,r,t)はインク粒子の
密度を表す関数、v(r)はインク粒子の拡散速度を表
す関数、D0 は毛細管の壁面方向へのインク粒子の拡散
を表す拡散係数、rは毛細管内における径方向の位置、
xは毛細管内における流動方向の位置、tは時間であ
る。
【0054】また、本発明に係る第12のにじみ描画方
法は、上記第11のにじみ描画方法において、前記第3
の工程において、前記インク濃度Vを、下記(3)式に
よって求めることを特徴とする。
【0055】 V=V0 ×V(x,t) ・・・(3) ここで、V0 は前記インク初期濃度V0 である。また、
V(x,t)は、前記第2の工程で検出された画素の数
xと時間tの関数であり、前記(2)式に基づいて求め
られる。
【0056】また、本発明に係る第1のにじみ描画装置
は、画素毎の画像データに基づいた画像を表示装置に表
示するにじみ描画装置であって、にじみのもととなる図
形の輪郭上の画素Pを検出する輪郭上画素検出手段と、
上記輪郭上画素検出手で検出された画素Pに対する上記
第8、9、10又は11の紙の繊維構造データ作成装置
により作成された毛細管の数Si(i=1、2、3、
4、5、6、7、8)に基づいて、画素Pに毛細管によ
って連結された画素を検出する連結画素検出手段と、上
記連結画素検出手段で検出された画素にインクの存在を
示すデータを画像データとして設定する画像データ設定
手段とを備え、上記画像データ設定手段で画像データが
設定された画素を、上記輪郭上画素検出手段で検出され
た画素Pとして上記連結画素検出手段に供給し、上記連
結画素検出手段と画像データ設定手段の動作を繰り返す
ことを特徴とする。
【0057】また、本発明に係る第2のにじみ描画装置
は、上記第1のにじみ描画装置において、前記連結画素
検出手段は、前記画素Pの毛細管の数Siが1以上のと
き、当該毛細管の数Siに対応する画素Piを画素Pに
連結された画素とすることを特徴とする。
【0058】また、本発明に係る第3のにじみ描画装置
は、上記第1のにじみ描画装置において、前記連結画素
検出手段は、前記画素Pの毛細管の数Siが1以上であ
るとともに、当該毛細管の数Siに対応する画素Piの
毛細管の数Sj(j=1、2、3、4、5、6、7、
8)が1以上であるとき、画素Piを画素Pに連結され
た画素とすることを特徴とする。
【0059】また、本発明に係る第4のにじみ描画装置
は、上記第1、2又は3のにじみ描画装置において、前
記画像データ設定手段は、前記画像データが既に設定さ
れている画素に対しては、新たな画像データを設定しな
いことを特徴とする。
【0060】また、本発明に係る第5のにじみ描画装置
は、上記第1、2、3又は4のにじみ描画装置におい
て、前記輪郭上画素検出手段で検出された画素Pにイン
ク初期量U0 を画像データとして予め設定するインク初
期量設定手段を備え、前記画像データ設定手段は、上記
画素Pのインク初期量U0 が0以下のときには、前記連
結画素検出手段で検出された画素に画像データを設定し
ないことを特徴とする。
【0061】また、本発明に係る第6のにじみ描画装置
は、上記第5のにじみ描画装置において、前記画像デー
タ設定手段は、前記連結画素検出手段で検出された画素
におけるインク吸収量Uを算出し、上記インク吸収量U
を画像データとして設定することを特徴とする。
【0062】また、本発明に係る第7のにじみ描画装置
は、上記第6のにじみ描画装置において、前記画像デー
タ設定手段は、前記インク吸収量Uを、下記(4)式に
基づいて求めることを特徴とする。
【0063】
【数7】
【0064】ここで、nは上記第8、9、10又は11
記載の紙の繊維構造データ作成装置により求められる繊
維の数Mであり、qはインクの表面張力に基づいた定数
であり、θiはi番目の繊維の方向を表すランダムに設
定される定数であり、αは任意に設定される比例定数で
ある。
【0065】また、本発明に係る第8のにじみ描画装置
は、上記第6又は7のにじみ描画装置において、前記画
像データ設定手段で算出されたインク吸収量Uを前記連
結画像検出手段で検出された全ての画素について合計
し、上記合計の値が、前記インク初期量設定手段で設定
されたインク初期量U0 に達したら、上記連結画像検出
手段及び画像データ設定手段の繰り返し動作を停止する
制御手段を備えることを特徴とする。
【0066】また、本発明に係る第9のにじみ描画装置
は、上記第6又は7のにじみ描画装置において、前記イ
ンク初期量設定手段で設定されたインク初期量U0 から
前記画像データ設定手段で算出された前記インク吸収量
Uを、前記連結画像検出手段で検出された画素において
順次減じてインク残量Urestを順次求め、上記インク残
量Urestを、新たなインク初期量U0 として前記輪郭上
画素検出手段で検出された画素Pに設定するとともに、
上記新たなインク初期量U0 が0以下となったとき、上
記連結画像検出手段及び画像データ設定手段の繰り返し
動作を停止する制御手段を備えることを特徴とする。
【0067】また、本発明に係る第10のにじみ描画装
置は、上記第9のにじみ描画装置において、前記制御手
段は、前記インク初期量U0 が、前記輪郭上画素検出手
段で検出された画素であって、隣接する画素間で異なる
場合、インク初期量U0 が多い方の画素のインク初期量
0 を減らし、インク初期量U0 が少ない方の画素のイ
ンク初期量U0 を増やす制御を行うことを特徴とする。
【0068】また、本発明に係る第11のにじみ描画装
置は、上記第5、6、7、8、9又は10のにじみ描画
装置において、前記図形の輪郭上の画素にインク初期濃
度V0 を画像データとして予め設定するインク初期濃度
設定手段を備え、前記画像データ設定手段は、前記イン
クの存在を示すデータが設定された画素毎に、当該画素
におけるインク濃度Vを算出し、前記インク吸収量Uと
上記インク濃度Vに基づいて、当該画素の輝度を示す輝
度データを求め、上記輝度データを画像データとして設
定することを特徴とする。
【0069】また、本発明に係る第12のにじみ描画装
置は、上記第11のにじみ描画装置において、前記画像
データ設定手段は、前記インク濃度Vを、下記(5)式
で示す偏微分方程式に基づいて求めることを特徴とす
る。
【0070】
【数8】
【0071】ここで、n(x,r,t)はインク粒子の
密度を表す関数、v(r)はインク粒子の拡散速度を表
す関数、D0 は毛細管の壁面方向へのインク粒子の拡散
を表す拡散係数、rは毛細管内における径方向の位置、
xは毛細管内における流動方向の位置、tは時間であ
る。
【0072】また、本発明に係る第13のにじみ描画装
置は、上記第12のにじみ描画装置において、前記画像
データ設定手段は、前記インク濃度Vを、下記(6)式
によって求めることを特徴とする。
【0073】 V=V0 ×V(x,t) ・・・(6) ここで、V0 は前記インク初期濃度V0 である。また、
V(x,t)は、前記連結画素検出手段で検出された画
素の数xと時間tの関数であり、前記(5)式に基づい
て求められる。
【0074】
【作用】本発明では、繊維データ作成手段により、紙を
構成する繊維のうちの1つを表す繊維データを作成し、
繊維分布データ作成手段により、繊維データ作成手段で
作成された複数の繊維データを、複数の画素からなる領
域に配置して、繊維の分布を表す繊維分布データを作成
し、繊維数算出手段により、繊維分布データ作成手段で
作成された繊維分布データに基づいて、画素を通る繊維
の数Mを各画素毎に算出する。そして、繊維数算出手段
で算出された各画素毎の繊維の数Mを紙の繊維構造デー
タとして、紙の繊維構造データを作成する。
【0075】そして、このような紙の繊維構造データを
用いることにより、紙にインクで図形を描いたときに、
紙に吸収されるインクの量や濃度を考慮することが可能
となる。
【0076】また、本発明では、輪郭上画素検出手段に
より、にじみのもととなる図形の輪郭上の画素Pを検出
し、連結画素検出手段により、輪郭上画素検出手で検出
された画素Pに対する紙の繊維構造データの毛細管の数
Si(i=1、2、3、4、5、6、7、8)に基づい
て、画素Pに毛細管によって連結された画素を検出し、
画像データ設定手段により、連結画素検出手段で検出さ
れた画素にインクの存在を示すデータを画像データとし
て設定する。そして、画像データ設定手段で画像データ
が設定された画素を、輪郭上画素検出手段で検出された
画素Pとして連結画素検出手段に供給し、連結画素検出
手段と画像データ設定手段の動作を繰り返すことにより
にじみを描画する。
【0077】
【実施例】
(1)画像表示システムの全体構成 以下、本発明に係る紙の繊維構造データ作成方法、紙の
繊維構造データ作成装置、紙の繊維構造データ、にじみ
描画方法及びにじみ描画装置の実施例について、図面を
参照しながら説明する。この実施例は、画素毎の画像デ
ータに基づいて各画素を表示することにより、画素の集
合から成る画像を表示装置に表示する画像表示システム
に、本発明を適用したものである。
【0078】本発明を適用した画像表示システムは、例
えば、図1に示すように、中央演算処理装置(以下、C
PUという。)によってデータの処理を行うデータ処理
装置10と、データが入力され、上記入力されたデータ
を上記データ処理装置10に供給するための入力装置1
と、図形(図形には文字や記号等も含むものとする。)
のイメージデータを生成し、上記データ処理装置10に
イメージデータを供給するための画像読取装置2と、上
記データ処理装置10でデータの処理を行う際に必要な
ソフトウェアやデータ及び上記データ処理装置10によ
って作成されたデータ等を一時的に記憶するための内部
記憶装置(以下、メモリという。)3と、上記データ処
理装置10でデータの処理を行う際に必要なソフトウェ
アやデータ及び上記データ処理装置10によって作成さ
れたデータ等を記録するための外部記憶装置4と、上記
データ処理装置10で処理されたデータ等に基づいた画
像を表示する表示装置5とを備える。
【0079】さらに、データ処理装置10は、上記入力
装置1から供給されたデータや、上記画像読取装置2か
ら供給されたイメージデータ等に基づいて、にじみや掠
を有する文字又は記号の画像データを作成するために必
要なフォントを作成するフォント作成処理部20と、上
記入力装置1から供給されたデータ等に基づいて、紙の
繊維構造をモデル化した紙の繊維構造データを作成する
紙の繊維構造データ作成処理部30と、上記入力装置1
から供給されたデータや、上記フォント作成処理部20
で作成されたフォントや、上記紙の繊維構造データ作成
処理部30で作成された紙の繊維構造データ等に基づい
て、掠を有する図形の画像データを作成する掠描画処理
部40と、上記入力装置1から供給されたデータや、上
記掠描画処理部40で作成された画像データ等に基づい
て、にじみを有する図形の画像データを作成するにじみ
描画処理部50とを備える。
【0080】そして、入力装置1は、例えばマウス等の
ポインティングデバイスやキーボード等から成り、ユー
ザが、座標データ、パラメータ又はコマンド等のデータ
を入力するためのものであり、これらの入力されたデー
タはデータ処理装置10に供給される。なお、このよう
な入力装置1は、当然のことながら1つに限られるもの
ではなく、複数の入力装置を組み合わせて用いてもよ
い。
【0081】そして、これら入力されたデータに基づい
て、データ処理装置10は、フォント作成処理部20に
て、にじみや掠を有する文字又は記号の画像データを作
成するために必要なフォントを作成したり、紙の繊維構
造データ作成処理部30にて、紙の繊維構造をモデル化
した紙の繊維構造データを作成したり、掠描画処理部4
0にて、掠を有する図形の画像データを作成したり、に
じみ描画処理部50にて、にじみを有する図形の画像デ
ータを作成したりする。
【0082】また、このとき、データ処理装置10は、
必要に応じて、外部記憶装置4からデータの処理に必要
なソフトウェアやデータ等を読み出したり、データの処
理によって作成されたデータ等を外部記憶装置4に書き
込んだり、メモリ3からデータの処理に必要なソフトウ
ェアやデータを読み出したり、データの処理によって作
成されたデータ等をメモリ3に一時的に書き込んだりす
る。
【0083】すなわち、メモリ3は、データ処理装置1
0がデータの処理を行う際に必要とされるソフトウェア
やデータ、又はデータ処理装置10によるデータの処理
によって作成されるデータ等を、一時的に記憶するため
のものであり、これらのソフトウェアやデータ等が、必
要に応じて、メモリ3からデータ処理装置10に供給さ
れたり、データ処理装置10からメモリ3へ転送され
る。そして、外部記憶装置4は、データ処理装置10が
データの処理を行う際に必要なソフトウェアやデータ、
又はデータ処理装置10によるデータの処理によって作
成されたデータ等を、保存するためのものであり、これ
らのソフトウェアやデータ等が、必要に応じて、外部記
憶装置4からデータ処理装置10に読み込まれたり、デ
ータ処理装置10から外部記憶装置4に書き込まれる。
ここで、外部記憶装置4に用いられる記録媒体として
は、書き込まれたソフトウェアやデータ等を保存できる
ものであれば特に限定されるものではなく、例えば、ハ
ードディスク、フレキシブルディスク、光磁気ディス
ク、光ディスク、磁気テープ等が挙げられる。なお、こ
のような記録媒体は、当然のことながら1つに限られる
ものではなく、複数の記録媒体を組み合わせて用いても
よい。
【0084】ここで、データの処理に必要なソフトウェ
アとしては、例えば、にじみや掠を有する文字又は記号
の画像データを作成するために必要なフォントを作成す
るソフトウェアや、紙の繊維構造をモデル化した紙の繊
維構造データを作成するソフトウェアや、掠を有する図
形の画像データを作成するソフトウェアや、にじみを有
する図形の画像データを作成するソフトウェア等が挙げ
られる。
【0085】また、データの処理を行う際に必要なデー
タとしては、例えば、既存のフォントや、各種パラメー
タ等が挙げられ、データ処理によって作成されるデータ
としては、例えば、フォント作成処理部20、紙の繊維
構造データ作成処理部30、掠描画処理部40又はにじ
み描画処理部50にて、一時的に作成される各種データ
や、フォント作成処理部20によるフォント作成処理に
よって作成されるフォントのデータ、紙の繊維構造デー
タ作成処理部30による紙の繊維構造データ作成処理に
よって作成される紙の繊維構造データ、掠描画処理部4
0による掠描画処理によって作成される画像データ、又
はにじみ描画処理部50によるにじみ描画処理によって
作成される画像データ等が挙げられる。
【0086】そして、データ処理装置10で処理された
データに基づいた画像が、表示装置5に表示される。す
なわち、表示装置5は、例えば、フォント作成処理部2
0で作成されたフォントに基づいた文字又は記号や、紙
の繊維構造データ作成処理部30で作成された紙の繊維
構造データに基づいた画像や、掠描画処理部40で作成
された画像データに基づいた画像や、にじみ描画処理部
50で作成された画像データに基づいた画像を表示す
る。ここで、表示装置5としては、データ処理装置10
で処理されたデータ等を表示することができるものであ
れば特に限定されるものではなく、具体的には、ディス
プレイ、プリンター、プロッタ等が挙げられる。なお、
このような表示装置5は、当然のことながら1つに限ら
れるものではなく、複数の表示装置5を組み合わせて用
いてもよい。
【0087】また、画像読取装置2は、図形の形状を読
み込み、図形の形状をイメージデータに変換して、この
イメージデータをデータ処理装置10へ供給するための
ものであり、例えば、フォント作成処理部20にてフォ
ントを作成する際に用いられる。すなわち、例えば手書
きの文字を参照しながらフォントを作成したい場合など
に、紙に文字を書き、この文字のイメージデータを画像
読取装置2によって読み込んでデータ処理装置10へ供
給し、このイメージデータに基づいた画像を表示する。
そして、ユーザはこの画像を参照しながら、入力装置
1、例えばマウスを用いて座標データを入力して、フォ
ント作成処理部20にてこの入力された座標データを用
いてフォントを作成する。
【0088】ただし、画像読取装置2は、外部から図形
の形状を読み込んで、データ処理装置10に供給するも
のであり、データの処理を行う際に、外部から図形の形
状を読み込む必要がない場合には不要である。ここで、
画像読取装置2としては、図形の形状をイメージデータ
に変換できるものであれば特に限定されるものではな
く、具体的には、イメージスキャナ、ビデオカメラ等が
挙げられる。なお、このような画像読取装置2は、当然
のことながら1つに限られるものではなく、複数の読取
装置を組み合わせて用いてもよい。
【0089】(2)フォント作成処理部 つぎに、フォント作成処理部20の一具体例について、
図2乃至図12を参照しながら説明する。ただし、以下
の説明において、ストロークとは文字又は記号の1つの
画を示す。すなわち、例えば、図2に示すような「十」
という文字MJは、図3に示すような第1のストローク
SR1と、図4に示すような第2のストロークSR2と
から構成される。
【0090】(2−1)フォント まず、フォント作成処理部20によって作成されるフォ
ントについて説明する。
【0091】例えば、筆を用いて紙にインクで文字又は
記号を描く場合には、筆の動かし方によって、文字又は
記号のまわりににじみが生じたり、文字又は記号に掠が
生じたりする。したがって、筆を用いて紙にインクで描
かれたように文字又は記号をより現実的に表現した画像
データを作成するためには、筆がどのように動かされて
文字又は記号が書かれたかを考慮する必要がある。
【0092】このような考察に基づいてフォント作成処
理部20にて作成されるフォントは、ストロークの方向
に関するデータを有して成るフォントであり、1以上の
ストロークのデータから構成され、各ストロークのデー
タが、例えば、図5に示すように、ストロークSRの始
点PSから終点PEに至る一方の輪郭RN1上の位置を
順次示す複数の座標点から成る第1の輪郭データと、ス
トロークSRの始点PSから終点PEに至る他方の輪郭
RN2上の位置を順次示す複数の座標点から成る第2の
輪郭データとから成る。さらに、第1の輪郭データは、
始点PSを示す座標点(xs ,ys )と、第1の輪郭R
N1上のn個の座標点(x11,y11)、(x12
12)、・・・、(x1n,y1n)と、終点PEを示す座
標点(xe ,ye )とをこの順に並べて成るものであ
る。また、第2の輪郭データは、始点PSを示す座標点
(xs ,ys )と、第2の輪郭RN2上のm個の座標点
(x21,y21)、(x22,y22)、・・・、(x2m,y
2m)と、終点PEを示す座標点(xe ,ye )とをこの
順に並べて成るものである。ただし、n、mの値は0以
上の整数であり、nの値とmの値は同じでも、異なって
いてもよい。
【0093】このような第1の輪郭データ及び第2の輪
郭データにおいて、始点PSを示す座標点(xs
s )は、例えば、ストロークのデータを作成する際
に、始点を示す座標点が指定された場合は、指定された
座標点が始点を示す座標点(xs ,ys )として設定さ
れ、特に指定されなかった場合は、最初に入力された座
標点が始点を示す座標点(xs ,ys )として設定され
る。また、終点を示す座標点(xe ,ye )、例えば、
ストロークのデータを作成する際に、終点を示す座標点
が指定された場合は、指定された座標点が終点を示す座
標点(xe ,ye )として設定され、特に指定されなか
った場合は、最後に入力された座標点が終点を示す座標
点(xe ,ye )として設定される。
【0094】このようなストロークのデータでは、スト
ロークの始点を示す座標点(xs ,ys )と終点を示す
座標点(xe ,ye )が設定されているので、ストロー
クの方向が分かる。したがって、このようなストローク
のデータから成るフォントによって表される文字又は記
号を描く際の筆の動きを知ることができ、後述するよう
に、このようなフォントに基づいて、文字又は記号の画
像データを作成することにより、文字又は記号の掠やに
じみを筆によって描かれたように現実的に表現すること
ができる。
【0095】ところで、筆を用いて紙にインクで文字又
は記号を描く場合に、筆順、すなわちストロークの順序
が変わると、ストロークが重なるときの順番が変わるた
め、にじみや掠が変化する。したがって、筆を用いて紙
にインクで描かれたように文字又は記号を、より現実的
に表現した画像データを作成するためには、ストローク
の順序を考慮する必要がある。
【0096】したがって、フォント作成処理部20にて
作成されるフォントは、各ストロークの順序が分かるよ
うに、各ストロークのデータが筆順に従って並べられ
る。ここで、各ストロークのデータの順序は、ストロー
クのデータを作成する際に順序が指定された場合は、指
定された順序とされ、特に指定されなかった場合は、入
力された順序とされる。ただし、このようなストローク
のデータの順序の設定は、このように各ストロークのデ
ータを筆順に従って並べることにより設定するものでな
くてもよく、例えば、各ストロークのデータに順番を示
す順序データを作成することにより、各ストロークのデ
ータを設定したりしてもよいことは言うまでもない。
【0097】以上のようなフォントについて、図2に示
した「十」という文字MJを例にして、具体的に説明す
る。
【0098】「十」という文字MJは、上述したよう
に、図3に示すような第1のストロークSR1と、図4
に示すような第2のストロークSR2とから構成されて
いる。したがって、「十」という文字MLのフォント
は、第1のストロークSR1のデータと、第2のストロ
ークSR2のデータから成る。
【0099】そして、第1のストロークSR1のデータ
は、例えば、図6に示すように、第1のストロークSR
1の始点PS1を示す座標点(xs1,ys1)と、第1の
輪郭RN11上の例えば4個の座標点(x11,y11)、
(x12,y12)、(x13,y13)、(x14,y14)と、
第1のストロークSR1の終点PE1を示す座標点(x
e1,ye1)とをこの順に並べて成る第1の輪郭データ
と、上述の始点PS1を示す座標点(xs2,ys2)と、
第2の輪郭RN12上の例えば4個の座標点(x21,y
21)、(x22,y22)、(x23,y23)、(x24
24)と、上述の終点PE1を示す座標点(xe1
e1)とをこの順に並べて成る第2の輪郭データとから
成る。
【0100】同様に、第2のストロークSR2のデータ
は、例えば、図7に示すように、第2のストロークSR
2の始点PS2を示す座標点(xs2,ys2)と、第1の
輪郭RN21上の例えば4個の座標点(x31,y31)、
(x32,y32)、(x33,y33)、(x34,y34)と、
第2のストロークSR2の終点PE2を示す座標点(x
e2,ye2)とをこの順に並べて成る第1の輪郭データ
と、上述の始点PS2を示す座標点(xs2,ys2)と、
第2の輪郭RN22上の例えば3個の座標点(x41,y
41)、(x42,y42)、(x43,y43)と、上述の終点
を示す座標点(xe2,ye2)とをこの順に並べて成る第
2の輪郭データとから成る。
【0101】そして、このような「十」という文字MJ
のストロークSR1、SR2の順序は、第1のストロー
クSR1、第2のストロークSR2の順なので、第1の
ストロークSR1のデータと第2のストロークSR2の
データは、第1のストロークSR1のデータ、第2のス
トロークSR2のデータの順に並べられる。
【0102】このように、「十」という文字MJのフォ
ントは、例えば、第1の輪郭データを構成する座標点
(xs1,ys1)、(x11,y11)、(x12,y12)、
(x13,y13)、(x14,y14)、(xe1,ye1)と、
第2の輪郭データを構成する座標点(xs1,ys1)(x
21,y21)、(x22,y22)、(x23,y23)、
(x24,y24)、(xe1,ye1)とから成る第1のスト
ロークSR1のデータと、第1の輪郭データを構成する
座標点(xs2,ys2)、(x31,y31)、(x32
32)、(x33,y33)(xe2,ye2)と、第2の輪郭
データを構成する座標点(xs2,ys2)、(x41
41)、(x42,y42)、(x43,y43)、(x44,y
44)、(xe2,ye2)とから成る第2のストロークSR
2のデータとが、第1のストロークSR1のデータと第
2のストロークSR2のデータの順に並べられて構成さ
れる。
【0103】なお、上述のフォントでは、ストロークの
データとして、始点を示す座標点と終点を示す座標点の
両方を設定したが、ストロークの方向を知るためには、
これらのうち少なくと一方の座標点があればよい。した
がって、ストロークのデータには、ストロークの始点を
示す座標点だけ、あるいはストロークの終点を示す座標
点だけを設定するようにしてもよい。
【0104】また、上述のフォントでは、始点を示す座
標点と終点を示す座標点を含む第1の輪郭データと、始
点を示す座標点と終点を示す座標点を含む第2の輪郭デ
ータとからストロークのデータを構成したが、例えば、
始点を示す座標点と終点を示す座標点を除く第1の輪郭
上の座標点から成る第1の輪郭データと、始点を示す座
標点と終点を示す座標点を除く第2の輪郭上の座標点だ
けから成る第2の輪郭データと、始点を示す座標点と、
終点を示す座標点とからストロークのデータを構成して
もよい。
【0105】また、上述のフォントでは、ストロークの
データは、座標点だけから成るものとしたが、例えば、
各ストロークのデータは、このような座標点の他に、従
来のアウトラインフォントのようにベクトルデータ等を
含んでいてもよいことは言うまでもない。
【0106】(2−2)フォント作成処理部の構成 つぎに、上述のようなフォントを作成するフォント作成
処理部20の具体的な構成について説明する。
【0107】フォント作成処理部20は、例えば、図8
に示すように、上記入力装置1によって入力された複数
の座標点等に基づいて、ストロークのデータを作成する
ストロークデータ作成部21と、上記ストロークデータ
作成部21で作成された複数のストロークのデータの順
序を設定するストローク順序設定部22と、上記画像読
取装置2から文字又は記号のイメージデータを読み込ん
で上記メモリ3に書き込むイメージデータ読込部23
と、上記メモリ3からイメージデータを読み出して、上
記表示装置5に供給するイメージデータ供給部24と、
上記外部記憶装置4から既存のフォントを読み込んで上
記メモリ3に書き込むフォント読込部25と、上記メモ
リ3からフォントを読み出して、上記表示装置5に供給
するフォント供給部26とを備える。
【0108】そして、ストロークデータ作成部21は、
入力装置1により入力されたストロークの輪郭上の複数
の座標点に基づいて、上述したようなストロークのデー
タ、すなわち、ストロークSRの始点を示す座標点(x
s ,ys )と、第1の輪郭RN1上のn個の座標点(x
11,y11)、(x12,y12)、・・・、(x1n,y1n
と、ストロークSRの終点を示す座標点(xe ,ye
とから成る第1の輪郭データと、ストロークSRの始点
を示す座標点(xs ,ys )と、第2の輪郭RN2上の
m個の座標点(x21,y21)、(x22,y22)、・・
・、(x2m,y2m)と、ストロークSRの終点を示す座
標点(xe,ye)とから成る第2の輪郭データとによ
って構成されるストロークのデータを作成する。ただ
し、1つの文字又は記号は1以上のストロークから構成
されるので、ストロークデータ作成部21は、1つのフ
ォントに対して1以上のストロークのデータを作成す
る。
【0109】ここで、ストロークデータ作成部21は、
入力装置1から始点を示す座標点を指定するデータが入
力された場合は、この指定された座標点を始点を示す座
標点としてストロークのデータを作成し、入力装置1か
ら始点を示す座標点を指定するデータが入力されなかっ
た場合は、最初に入力された座標点を始点を示す座標点
としてストロークのデータを作成する。同様に、ストロ
ークデータ作成部21は、入力装置1から終点を示す座
標点を指定するデータが入力された場合は、この指定さ
れた座標点を終点を示す座標点としてストロークのデー
タを作成し、入力装置1から終点を示す座標点を指定す
るデータが入力されなかった場合は、最後に入力された
座標点を終点を示す座標点としてストロークのデータを
作成する。
【0110】このようなストロークデータ作成部21
は、入力装置1によるストロークの輪郭上の座標点の入
力を容易にするために、座標点に関する表示を行う表示
処理部211と、座標点の編集を行うための編集処理部
212とを備える。
【0111】表示処理部211は、入力装置1で入力さ
れた座標点の位置関係が分かるように、すなわちストロ
ークのデータによって表される形状が分かるように、入
力装置1で入力された座標点に対応する点を表示装置5
に表示するとともに、入力装置1で入力された座標点の
順序が分かるように、入力装置1で入力された座標点の
順序に従って、各座標点を結ぶ線を表示装置5に表示す
る。
【0112】具体的には、表示処理部211は、例え
ば、図9に示すように、入力装置1で入力された座標点
に対応する点XY1、XY2、XY3、XY4、XY
5、XY6、XY7、XY8、XY9、XY10、XY
11、XY12、XY13を表示装置5に表示させると
ともに、これらの座標点を結ぶ直線XY1−2、XY2
−3、XY3−4、XY4−5、XY5−6、XY6−
7、XY7−8、XY9−10、XY10−11、XY
11−12、XY12−13、XY13−1を表示装置
5に表示させる。このように表示処理部211で、入力
装置1で入力された座標点と、これらの座標点を結ぶ直
線とを表示装置5に表示することにより、ユーザは、入
力された各座標点の順序を容易に知ることができる。
【0113】あるいは、表示処理部211は、例えば、
図10に示すように、入力装置1で入力された各座標点
に対応する点XY1、XY2、XY3、XY4、XY
5、XY6、XY7、XY8、XY9、XY10、XY
11、XY12、XY13を表示装置5に表示させると
ともに、これらの座標点を結ぶ滑らかな曲線XY1−
2、XY2−3、XY3−4、XY4−5、XY5−
6、XY6−7、XY7−8、XY9−10、XY10
−11、XY11−12、XY12−13、XY13−
1を表示装置5に表示させる。すなわち、表示処理部2
11は、スプライン曲線やベジェ曲線等で表される曲線
で各座標点を結ぶ従来のアウトラインフォントで用いら
れる手法を用いて、入力装置1で入力された各座標点を
結ぶ滑らかな曲線を表示する。これにより、ユーザは、
後述するようにストロークのデータを補完したときのス
トロークの形状を知ることができる。
【0114】また、表示処理部211は、入力された座
標点に対応する点や、入力された各座標点を順次結ぶ線
を、表示装置5に表示させるときは、ストロークの始点
を示す座標点と、ストロークの終点を示す座標点と、そ
れ以外の座標点とを、視覚的に容易に区別できるように
表示する。具体的には、例えば、ストロークの始点を示
す座標点(xs ,ys )に対応する点と、ストロークの
終点を示す座標点(xe ,ye )に対応する点と、それ
以外の座標点(x11,y11)、(x12,y12)、・・
・、(x1n,y1n)、(x21,y21)、(x22
22)、・・・、(x2m,y2m)に対応する点とを、そ
れぞれ表示色や輝度等変えて表示する。
【0115】なお、上述の説明では、表示処理部211
は、1つのストロークのデータについてだけ表示装置5
に点や線を表示させたが、表示処理部211は、複数の
ストロークのデータについて同時に表示装置5に点や線
を表示させることもできる。すなわち、表示処理部21
1は、入力装置1から入力された指示に基づいて、1つ
のストロークのデータについてだけ表示装置5に表示さ
せたり、複数のストロークのデータについて同時に表示
装置5に表示させたりする。
【0116】また、編集処理部212は、入力装置1か
らの指示に基づいて、ストロークのデータに座標点を追
加したり、ストロークのデータの座標点を1つづつ移動
したり、ストロークのデータの座標点を複数まとめて移
動したり、ストロークのデータから座標点を1つづつ削
除したり、ストロークのデータから座標点を複数まとめ
て削除したりする。ただし、表示処理部211によっ
て、複数のストロークのデータについて同時に点や線が
表示装置5に表示されている場合、編集処理部212
は、入力装置1からの指示に基づいて、これら複数のス
トロークのデータの中から1つストロークのデータを選
択し、この選択されたストロークのデータに対して処理
を行う。
【0117】つぎに、ストローク順序設定部22は、こ
のようなストロークデータ作成部21で作成された1以
上のストロークのデータを、各ストロークのデータの順
序に従って並べることにより、各ストロークのデータの
順序を設定する。
【0118】ここで、ストローク順序設定部22は、入
力装置1からストロークのデータの順序を指定するデー
タが入力された場合は、指定された順序にストロークの
データを並び替えて各ストロークのデータの順序を設定
し、入力装置1からストロークのデータの順序を指定す
るデータが入力されなかった場合は、ストロークデータ
作成部21で作成された順序にストロークのデータを並
べて各ストロークのデータの順序を設定する。
【0119】なお、ストローク順序設定部22は、この
ように各ストロークのデータを順序に従って並べること
により、各ストロークの順序を設定するものでなくても
よく、例えば、各ストロークのデータの順序を示す順序
データを作成することにより、各ストロークの順序を設
定するようにしてもよいことは言うまでもない。
【0120】かくして、このようにストロークデータ作
成部21で1以上のストロークのデータを作成し、スト
ローク順序設定部22で各ストロークのデータの順序を
設定することにより、1以上のストロークのデータから
成るとともに、各ストロークのデータの順序が設定され
たフォントが作成される。
【0121】ところで、入力装置1でストロークの輪郭
上の座標点を入力する際に、所望するフォントに対応す
る文字又は記号が表示装置5が表示されていると、非常
に容易に座標点を入力することができる。すなわち、表
示装置5に表示された文字又は記号を参照しながら、表
示された文字又は記号の輪郭上の点を指定することによ
り、座標点を入力するようにすれば、非常に容易に座標
点を入力することができる。
【0122】イメージデータ読込部23、イメージデー
タ供給部24、フォント読込部25及びフォント供給部
26は、このように所望するフォントに対応する文字又
は記号を表示装置5に表示しながら、座標点を入力でき
るようにするためのものである。
【0123】すなわち、イメージデータ読込部23は、
画像読取装置2から供給される、所望するフォントに対
応する文字又は記号のイメージデータを読み込んで、メ
モリ3に書き込む。そして、イメージデータ供給部24
は、このイメージデータをメモリ3から読み出して、表
示装置5に供給する。これにより、所望するフォントに
対応する文字又は記号が、表示装置5に表示されるの
で、ユーザは、この表示装置5に表示された文字又は記
号を参照しながら、座標点を入力することができる。
【0124】一方、フォント読込部25は、外部記憶装
置4から供給される、所望するフォントに対応する文字
又は記号のフォントを読み込んで、メモリ3に書き込
む。そして、フォント供給部26は、このフォントをメ
モリ3から読み出して、表示装置5に供給する。これに
より、所望するフォントに対応する文字又は記号が、表
示装置5に表示されるので、ユーザは、この表示装置5
に表示された文字又は記号を参照しながら、座標点を入
力することができる。ここで、外部記憶装置4に予め記
録されているフォントは、フォントに基づいた文字又は
記号の画像を表示装置5に表示できるものであれば、ど
のようなフォントでもよく、例えば、従来のビットマッ
プフォントやアウトラインフォント、あるいはこのフォ
ント作成処理部20で既に作成されたフォント等が挙げ
られる。
【0125】つぎに、このようなフォント作成処理部2
0の具体的な動作について、図11に示すフローチャー
トを用いて説明する。
【0126】先ず、ステップST2−1−1において、
フォント作成処理部20は、紙等に書かれた文字又は記
号を参照してフォントを作成するかを判断する。そし
て、参照するとき(YESのとき)はステップST2−
1−2へ進み、参照しないとき(NOのとき)はステッ
プST2−1−3へ進む。
【0127】ステップST2−1−2において、フォン
ト作成処理部20は、紙等に書かれた文字又は記号を表
示装置5に表示させた後、ステップ2−1−5へ進む。
具体的には、紙等に書かれた文字又は記号を表示装置5
に表示させるときは、先ず、画像読取装置2は、紙等に
書かれた文字又は記号の形状をイメージデータに変換
し、イメージデータ読込部23へ供給する。次に、イメ
ージデータ読込部23は、画像読取装置2から供給され
たイメージデータをメモリ3に書き込み、イメージデー
タ供給部24は、メモリ3からこのイメージデータを読
み出して表示装置5へ供給する。そして、表示装置5
は、イメージデータ供給部24から供給されたイメージ
データに基づいた画像を表示する。
【0128】一方、ステップST2−1−3において
は、フォント作成処理部20は、外部記憶装置4に既に
保存されているフォントを参照してフォントを作成する
かを判断する。そして、参照するとき(YESのとき)
はステップST2−1−4へ進み、参照しないとき(N
Oのとき)はステップST2−1−5へ進む。
【0129】ステップST2−1−4において、フォン
ト作成処理部20は、外部記憶装置4に既に保存されて
いるフォントに基づく文字又は記号を表示装置5に表示
させた後、ステップ2−1−5へ進む。具体的には、外
部記憶装置4に既に保存されているフォントに基づく文
字又は記号を表示装置5に表示させるときは、先ず、フ
ォント読込部25は、外部記憶装置4からフォントを読
み込だしてメモリ3に書き込む。次に、フォント供給部
26は、メモリ3からこのフォントを読み出して表示装
置5へ供給する。そして、表示装置5は、フォント供給
部26から供給されたフォントに基づいた画像を表示す
る。
【0130】ステップST2−1−5において、フォン
ト作成部20のストロークデータ作成部21は、後述す
るようにユーザによって入力装置1から入力された座標
点を読み込む。ここで、ストロークデータ作成部21が
読み込む座標点は、例えば、上述の図5に示したよう
に、ストロークSRの輪郭上の複数の座標点(xs ,y
s )、(x11,y11)、(x12,y12)、・・・、(x
1n,y1n)、(x21,y21)、(x22,y22)、・・
・、(x2m,y2m)、(xe ,ye )である。このと
き、ステップST2−1−2において紙等に書かれてい
た文字又は記号が表示装置5に表示されている場合、あ
るいは、ステップST2−1−4において、既存のフォ
ントに基づく文字又は記号が表示装置5に表示されてい
る場合、ユーザは、表示装置5に表示されている文字又
は記号を参照しながら、ストロークのデータを入力装置
1から入力する。また、表示処理部211は、入力され
た座標点をユーザが視覚的に容易に判断できるように、
入力された座標点に対応する点や、入力された各座標点
を順次結ぶ線等を、表示装置5に表示させる。
【0131】次に、ステップST2−1−6において、
ストロークデータ作成部21は、ST2−1−5で読み
込んだ座標点に基づいて、例えば、第1の輪郭上の座標
点(xs ,ys )、(x11,y11)、(x12,y12)、
・・・、(x1n,y1n)、(xe ,ye )から成る第1
の輪郭データと、第2の輪郭上の座標点(xs
s)、(x21,y21)、(x22,y22)、・・・、
(x2m,y2m)、(xe ,ye)から成る第2の輪郭上
のデータとから成るストロークのデータを作成する。こ
こで、第1の輪郭データ及び第2の輪郭データのうち先
頭の座標点(xs ,ys)は始点を示しており、第1の
輪郭データ及び第2の輪郭データのうち最後の座標点
(xe ,ye )は終点を示している。また、このとき、
ストロークデータ作成部21は、このようなストローク
のデータに対応する点や線を表示装置に表示させる。
【0132】次に、ステップST2−1−7において、
ストロークデータ作成部21は、入力装置1から入力さ
れた指示に基づいて、所望するフォントの全てのストロ
ークについて、ストロークのデータの作成が終了したか
を判断する。そして、まだ未作成のストロークのデータ
があるとき(YESのとき)はステップST2−1−5
へ戻り、全てのストロークのデータの作成が終了したと
き(NOのとき)はステップST2−1−8へ進む。
【0133】ここで、ステップST2−1−5に戻り、
新たなストロークのデータを作成する際に、ストローク
データ作成部21は、ユーザの設定に応じて、既に作成
されたストロークのデータの座標点に対応する点や、こ
れらの座標点を結んだ線等を、表示装置5に表示する。
すなわち、ユーザは、例えば、既に作成されたストロー
クと新たに作成するストロークの配置のバランスを見た
い場合等は、既に作成されたストロークのデータの座標
点に対応する点や、これらの座標点を結んだ線等を、表
示処理部211に表示させればよい。あるいは、ユーザ
は、例えば、既に作成されたストロークの座標点に対応
する点や、これらの座標点を結んだ線等を表示装置5に
表示させると、煩雑で新たに作成するストロークの輪郭
上の座標点を入力しにくい場合等は、既に作成されたス
トロークの座標点に対応する点や、これらの座標点を結
んだ線等を表示させないようにすればよい。
【0134】そして、ステップST2−1−8におい
て、ストローク順序設定部22は、ステップST2−1
−6でストロークデータ作成部21によって作成された
1以上のストロークのデータの順序を設定する。ここ
で、ストローク順序設定部22は、入力装置1からスト
ロークのデータの順序を指定するデータが入力された場
合は、指定された順序にストロークのデータを並び替え
て各ストロークのデータの順序を設定し、入力装置1か
らストロークのデータの順序を指定するデータが入力さ
れなかった場合は、ストロークデータ作成部21で作成
された順序にストロークのデータを並べて各ストローク
のデータの順序を設定する。
【0135】以上の動作により、フォント作成処理部2
0は、各ストロークのデータの順序が設定された、1以
上のストロークのデータから成る「十」のフォントを作
成する。
【0136】ところで、上述のST2−1−5において
ストロークの輪郭上の座標点を入力するとき、ユーザ
は、例えば、図12に示すフローチャートに従って、以
下のように座標点の入力を行う。
【0137】先ず、ステップST2−2−1おいて、ユ
ーザは、入力装置1を用いて、ストロークデータ作成部
21に、座標点の入力を開始するコマンドを入力し、ス
トロークの輪郭上の座標点の入力を開始する。次に、ス
テップST2−2−2において、ユーザは、入力装置1
を用いて、ストロークデータ作成部21に、ストローク
の始点を示す座標点(xs ,ys )を入力する。次に、
ステップST2−2−3において、ユーザは、入力装置
1を用いて、ストロークデータ作成部21に、第1の輪
郭上の座標点(x11,y11)、(x12,y12)、・・
・、(x1n,y1n)を順次入力する。次に、ステップS
T2−2−4において、ユーザは、入力装置1を用い
て、ストロークデータ作成部21に、ストロークの終点
を示す座標点(xe ,ye )を入力する。次にステップ
ST2−2−5において、ユーザは、入力装置1を用い
て、ストロークデータ作成部21に、第2の輪郭上の座
標点(x2m,y2m)、・・・、(x22,y22)、
(x21,y21)を順次入力する。そして、ステップST
2−2−6において、ユーザは、入力装置1を用いて、
ストロークデータ作成部21に、座標点の入力が終了し
たことを示すコマンドを入力し、ストロークの輪郭上の
座標点の入力を終了する。
【0138】ここで、ステップST2−2−2乃至ST
2−2−5において、ユーザは、座標点を入力するとき
に、表示処理部211を用いて、入力した座標点に対応
する点や入力した各座標点を順次結ぶ線を表示装置5に
表示させながら、ストロークの輪郭上の座標点を入力す
るとともに、必要に応じて、編集処理部212を用い
て、座標点を追加したり、移動したり、削除したりし
て、座標点を編集しながら、ストロークの輪郭上の座標
点を入力する。
【0139】(3)紙の繊維構造データ作成処理部 つぎに、紙の繊維構造データ作成処理部30の一具体例
について、図13乃至図28を参照しながら説明する。
ただし、以下の説明では、画像を表示する領域に直交座
標系を設定し、この直交座標系上の整数値座標(x,
y)毎に、画像の最小単位である画素が配されているも
のとする。そして、紙の繊維構造データの作成の対象と
なる領域は、この直交座標系上の複数の画素から成る領
域である。
【0140】(3−1)紙の繊維構造データ まず、紙の繊維構造データ作成処理部30によって作成
される紙の繊維構造データについて説明する。
【0141】紙は、複数の繊維から構成され、この複数
の繊維が網状に分布して成るものである。そして、紙に
インクで描かれた図形は、上記繊維の間に留まったイン
クの集合によって形成される。このとき、繊維の間に留
まるインクの量、すなわちインクの吸収量は、繊維の構
造に依存する。したがって、紙にインクで描かれた図形
を、より現実的に表現した画像データを作成するために
は、紙の繊維の構造をモデル化したデータが必要であ
る。
【0142】また、紙にインクによって図形を描く際
は、繊維の間をインクが流れるため、にじみが生じる。
そして、どの程度にじみが生じるかは、インクが流れる
繊維の間隙(以下、この間隙を「毛細管」という。)の
状態に依存する。したがって、紙にインクを用いて描か
れた図形をより現実的に表現した画像データを作成する
ためには、紙の毛細管をモデル化したデータが必要であ
る。
【0143】このような考察に基づいて、上記紙の繊維
構造データ作成処理部30にて作成される紙の繊維構造
データは、対象となる領域が複数の画素から構成され、
この複数の画素から成る領域に配設された、紙を構成す
る複数の繊維を表す繊維データに基づいたものである。
すなわち、画素Pに対応する紙の繊維構造データは、例
えば、図13に示すように、画素Pを通る繊維の数M
と、画素Pを通るとともに、画素Pに隣接する8つの画
素P1 、P2 、P3 、P4 、P5 、P6 、P7 、P8
(以下、これらの画素をPi と表現する。ここでi=
1、2、3、4、5、6、7、8である。)をそれぞれ
通る繊維の数M1 、M2 、M3 、M4 、M5 、M6 、M
7 、M8 (以下、これらの繊維の数をMi と表現する。
ここでiは上記画素Pi のiに対応する値であり、i=
1、2、3、4、5、6、7、8である。)と、繊維の
間隙に形成される毛細管であって、上記画素P1 乃至P
8 の各方向に形成される毛細管の数S1 、S2 、S3
4 、S5 、S6 、S7 、S8 (以下、これらの毛細管
の数をSi と表現する。ここでiは上記画素Pi のiに
対応する値であり、i=1、2、3、4、5、6、7、
8である。)とから成るものであり、これら繊維の数
M、繊維の数Mi 、及び毛細管の数Si は、0以上の整
数で表される。そして、これら繊維の数M、繊維の数M
i 、及び毛細管の数Si が、紙の繊維構造データの対象
となる領域の全ての画素について設定されて、紙の繊維
構造データが構成される。
【0144】ここで、画素Pの繊維の数Mi は、画素P
と画素Pi を直接結ぶように、画素Pと画素Pi を通る
繊維の数である。したがって、画素Pの繊維の数Mi
うち、例えば、画素P6 、画素P5 、画素P、画素P1
及び画素P2 をこの順に通る繊維を表しているのは、繊
維の数M5 と繊維の数M1 の値だけであり、繊維の数M
6 や繊維の数M2 の値は関係ない。
【0145】このように紙の微細構造をモデル化した紙
の繊維構造データでは、繊維の数Mが設定されているの
で、当該画素におけるインクの吸収量を算出することが
でき、繊維の数Mi が設定されているので、当該画素か
ら各方向に形成される毛細管の数Si を算出することが
でき、毛細管の数Si が設定されているので、当該画素
から隣接する画素へ流れるインクの量及び方向を算出す
ることができる。したがって、このような紙の繊維構造
データを用いることにより、紙にインクを用いて描かれ
た図形の画像データを作成する際に、インクのにじみや
吸収を考慮することが可能となり、より現実的に表現さ
れた図形の画像データを作成できる。
【0146】ところで、毛細管は繊維の間隙に形成され
るインクの流路であり、毛細管の数Si は、画素Pi
向を向いた繊維の数Mi に依存する値である。しかし、
毛細管の数が多い場合は各毛細管の幅が狭くなり、毛細
管の数が少ない場合は各毛細管の幅が広くなるため、毛
細管の数が変わっても、毛細管を流れるインク量の合計
はあまり変わらないと考えられる。したがって、毛細管
の数Si は、データを簡略化するために、繊維の数Mi
が2以上のときSi を1とし、上記繊維の数Mi が2未
満のときSiを0としてもよい。
【0147】このような紙の繊維構造データは、具体的
には、画素P及び画素Pi に対して、例えば、図14に
示すように、5本の繊維FI1 、FI2 、FI3 、FI
4 、FI5 が配されている場合、画素Pに対応する紙の
繊維構造データのそれぞれの値は、繊維の数Mが5、繊
維の数M1 が1、繊維の数M2 が1、繊維の数M3
2、繊維の数M4 が1、繊維の数M5 が2、繊維の数M
6 が0、繊維の数M7 が3、繊維の数M8 が0、毛細管
の数S1 が0、毛細管の数S2 が1、毛細管の数S3
1、毛細管の数S4 が0、毛細管の数S5 が1、毛細管
の数S6 が0、毛細管の数S7 が1、毛細管の数S8
0となる。
【0148】また、紙の繊維構造データは、紙の繊維構
造データによってモデル化された紙を画像に表示するた
めのデータとして、各画素毎に設定された、各画素にお
ける光の透過度を表す光透過度Iを含んでいてもよい。
この光透過度Iは、上記繊維の数Mに依存する値であ
り、繊維の数Mが多いほど当該画素の光の透過度は少な
くなり、繊維の数Mが少ないほど当該画素の光の透過度
は大きくなる。そして、このような光の透過度を表す光
透過度Iに基づいて、紙の繊維構造データの対象となっ
ている複数の画素について、各画素の輝度を設定して、
表示装置5に表示することにより、紙の繊維構造データ
によってモデル化された紙の画像を表示することがで
き、モデル化した紙の繊維構造データの様子を目で見て
確認することができる。
【0149】(3−2)紙の繊維構造データ作成処理部
の構成 つぎに、上述のような紙の繊維構造データを作成する紙
の繊維構造データ作成処理部30の具体的な構成につい
て説明する。
【0150】紙の繊維構造データ作成処理部30は、例
えば、図15に示すように、紙を構成する繊維のうちの
1つを表す繊維データを作成する繊維データ作成部31
と、上記繊維データ作成部31で作成された複数の繊維
データを、複数の画素から成る領域に配置して、繊維の
分布を表す繊維分布データを作成する繊維分布データ作
成部32と、上記繊維分布データ作成部32で作成され
た繊維分布データに基づいて、画素Pを通る繊維の数M
を各画素毎に算出する繊維数算出部33と、上記繊維分
布データ作成部32で作成された繊維分布データに基づ
いて、画素Pを通るとともに、上記画素Pに隣接する8
つの画素Pi をそれぞれ通る繊維の数Mi を各画素毎に
算出する隣接繊維数算出部34と、上記隣接繊維数算出
部34で算出された繊維の数Mi に基づいて、上記画素
Pから画素Pi の方向に形成される毛細管の数Si を各
画素毎に算出する毛細管数算出部35とを備える。
【0151】そして、紙の繊維構造データ作成処理部3
0は、上記繊維数算出部33で算出された繊維の数M
と、上記隣接繊維数算出部34で算出された繊維の数M
i と、上記毛細管数算出部35で算出された毛細管の数
i とを紙の繊維構造データとして、紙の繊維構造デー
タを作成する。
【0152】そして、以上のように紙の繊維構造データ
作成処理部30で作成された紙の繊維構造データは、メ
モリ3に書き込まれたり、外部記憶装置4に書き込まれ
て保存される。そして、例えば、掠描画処理部40で掠
を有する図形等を描画する際や、にじみ描画処理部50
でにじみを有する図形等を描画する際に、必要に応じて
メモリ3や外部記憶装置4から読み出されて、紙にイン
クを用いて描画した図形を表現した画像データ等を作成
するために用いられる。
【0153】ところで、繊維データ作成部31で作成さ
れる繊維データは、紙を構成する繊維のうちの1つを表
すデータであり、例えば、繊維の形状を示すデータ、繊
維の位置を示すデータ、及び繊維の方向を示すデータか
ら成る。
【0154】ここで、繊維の形状を示すデータは、例え
ば、図16に示すように、下記式(3−1)のような余
弦関数の一部とする。
【0155】 y=a×cos(x−b) (ただし、0≦x≦cとする。) ・・・(3−1) ここで、a、b、cは定数であり、aは繊維の曲がりの
程度を表し、aが小さいほど曲がりが小さい繊維を、a
が大きいほど曲がりが大きい繊維を表しており、cは繊
維の長さを表している。そして、これらのa、b、cは
それぞれ、予め定められた一定の値に固定しても、予め
定められた所定の範囲内にて、繊維データ毎にランダム
に値を設定しても、ユーザが自由に値を設定できるよう
に、入力装置1によって入力された一定の値を設定する
ようにしても、ユーザーが自由に範囲を設定できるよう
に、入力装置1によって入力された一定の範囲内にて、
繊維データ毎にランダムに値を設定しするようにしても
よい。
【0156】そして、式(3−1)のように、繊維の形
状を余弦関数の一部として表現することによって、実際
の紙の繊維の形状に近い形状を表現できる。ただし、繊
維の形状の表現は、これに限られるものではなく、例え
ば、正弦関数の一部や、二次曲線や三次曲線等のn次曲
線の一部等で表現してもよい。
【0157】また、繊維の位置を示すデータは、例え
ば、繊維の端部の位置を示す座標値(x1 ,y1 )と
し、繊維の方向を示すデータは、例えば、繊維が配され
る方向を示す角度θとする。ここで、座標値(x1 ,y
1 )及び角度θは、上記繊維データ作成部31でランダ
ムに設定される値である。
【0158】そして、繊維データは、例えば、式(3−
1)の(x,y)を、例えば図17に示すように、繊維
の位置を示すデータである座標値(x1 ,y1 )を用い
て、下記式(3−2)及び式(3−3)に従って変換す
るとともに、例えば図18に示すように、繊維の方向を
示すデータである角度θを用いて、下記式(3−4)及
び式(3−5)に従って回転変換することにより得られ
る。
【0159】 x=x+x1 ・・・(3−2) y=y+y1 ・・・(3−3) x=x×cos(θ)+y×sin(θ) ・・・(3−4) y=−x×sin(θ)+y×cos(θ) ・・・(3−5) このように繊維データ作成部31で作成された複数の繊
維データは、繊維分布データ作成部32で、紙の繊維構
造データを作成する領域に配置され、繊維分布データを
構成する。
【0160】ところで、紙の繊維の分布は、微少な領域
に注目すると偏りをもって分布しているが、領域全体と
しては均一に分布しているため、繊維分布データを作成
する際は、均一な分布と偏りのある分布の両方を考慮す
る必要がある。
【0161】したがって、繊維分布データ作成部32
は、このような紙の繊維の均一な分布と偏りのある分布
の両方を考慮するために、図19に示すように、紙の繊
維構造データの対象となる複数の画素から成る領域に、
複数の点をランダムに配置する点配置部321と、上記
点配置部321で配置された複数の点を、リラクション
処理により均一化する均一化部322と、上記均一化部
322で均一化された各点をそれぞれ中心とする複数の
小領域を作成する小領域作成部323と、上記小領域作
成部323で作成された各小領域に同じ数の繊維データ
をそれぞれランダムに配置するランダム配置部324と
を備える。
【0162】そして、このような繊維分布データ作成部
32で繊維分布データを作成する際は、先ず、点配置部
321によって、紙の繊維構造データの対象となる複数
の画素から成る領域に、複数の点をランダムに配置す
る。次に、点配置部321で配置された複数の点を、均
一化部322によって、リラクション処理により均一化
する。次に、小領域作成部323によって、均一化部3
22で均一化された各点をそれぞれ中心とする複数の小
領域を作成する。次に、ランダム配置部324によっ
て、小領域作成部323で作成された各小領域に同じ数
の繊維データをそれぞれランダムに配置して、繊維分布
データを作成する。
【0163】つぎに、このような繊維分布データ作成部
32の具体的な動作について、図20に示すフローチャ
ートを用いて説明する。
【0164】先ず、ステップST3−1において、点配
置部321は、例えば図21に示すように、紙の繊維構
造データの対象となる複数の画素から成る領域RIに、
n個の点TNをランダムに配置する。ここでnは2以上
の整数であり、nの値は予め定められた値とするように
しても、ユーザが自由に値に設定できるように、入力装
置1によって入力された値とするようにしてもよい。
【0165】次に、ステップST3−2において、点配
置部321は、紙の繊維構造データの対象となる複数の
画素から成る領域RI内に作成される小領域の半径R0
を算出する。ここで半径R0 の値は予め定められた値と
するようにしても、ユーザが自由に値に設定できるよう
に、入力装置1によって入力された値とするようにして
も、ステップST3−1で配置された点の数nに基づい
て算出した値としてもよい。ここで、ステップST3−
1で配置された点の数nに基づいて半径R0 の値を算出
する場合は、例えば、紙の繊維構造データの対象となる
複数の画素から成る領域RIの横方向の長さをX、縦方
向の長さをYとして、下記式(3−6)に従って算出す
る。
【0166】 R0 =2.0×(X×Y/n)1/2 ・・・(3−6) 次に、ステップST3−3において、均一化部322
は、リラクション処理を行って、ステップST3−1で
配置されたn個の点TNを、それぞれの点の位置が均一
化するように、それぞれの点の位置を移動する。
【0167】ここで、リラクション処理の一例につい
て、現在の位置が(X,Y)の点TNa に対してリラク
ション処理を行う場合を例にして説明する。
【0168】先ず、ステップST3−3−1において、
均一化部322は、ステップST3−1でランダムに配
置された点の中TNから、(X,Y)を中心とする半径
0の円の中に含まれるm個の点TNj (j=1、2、
3、・・・、m)を検出する。ここで、半径R0はステ
ップST3−2で算出された値であり、m<nであり、
点TNa は点TNj に含まれないものとする。
【0169】次に、ステップST3−3−2において、
均一化部322は、点TNa から点TNj へ向かうj個
のベクトル(Xj −X,Yj −Y)を求める。
【0170】次に、ステップST3−3−3において、
均一化部322は、点TNa から点TNj へ向かうj個
のベクトル(Xj −X,Yj −Y)の合計(Xf ,Y
f )を求める。ここで、(Xf ,Yf )は下記式(3−
7)で表される。
【0171】 (Xf ,Yf )=(X1 −X,Y1 −Y)+(X2 −X,Y2 −Y)+・・・+ (Xm −X,Ym −Y) ・・・(3−7) 次に、ステップST3−3−4において、均一化部32
2は、点TNa の位置(X,Y)を、下記式(3−8)
及び式(3−9)に示すように、(X’,Y’)に変換
する。ただし、dは予め設定された比例定数である。
【0172】 X’=X+d×Xf ・・・(3−8) Y’=Y+d×Yf ・・・(3−9) 以上のステップST3−3−1からST3−3−4によ
り、点TNa についてのリラクション処理が行われる。
したがって、ステップST3−3−1からST3−3−
4を、n個の点TNについて順次行うことにより、n個
の点TNについてのリラクション処理が行われ、例えば
図22に示すように、紙の繊維構造データの対象となる
複数の画素から成る領域RIに配置されたn個の点TN
の位置が均一化される。
【0173】ただし、リラクション処理は、複数の点の
位置を均一化することができるものであれば、上述した
ような処理に限られるものではなく、公知のリラクショ
ン処理がいずれも使用可能である。
【0174】そして、ステップST3−3が終了した
ら、次に、ステップST3−4において、均一化部32
2は、リラクション処理を繰り返すか判断する。ここ
で、リラクション処理の繰り返しの回数は、所望する紙
を構成する繊維の分布の状態によって変えればよく、紙
を構成する繊維の分布が、領域全体として偏りが大きい
紙の場合は、リラクション処理の繰り返しの回数を少な
くし、領域全体として偏りが小さい紙の場合は、リラク
ション処理の繰り返しの回数を多くすればよい。そし
て、リラクション処理の繰り返しの回数は、予め定めら
れた回数だけ繰り返すものとしても、ユーザが自由に繰
り返しの回数を設定できるように、繰り返しの回数を入
力装置1によって入力するようにしてもよい。そして、
リラクション処理を繰り返すとき(YES)のときはス
テップST3−3へ戻り、リラクション処理を終了する
とき(NOのとき)はステップST3−5へ進む。
【0175】次に、ステップST3−5において、小領
域作成部323は、例えば図23に示すように、均一化
されたn個の点TNをそれぞれ中心とするn個の円状の
小領域MRを作成する。ここで、小領域MRの半径R0
の値は、ステップST3−2で求めた値とする。
【0176】次に、ステップST3−6において、ラン
ダム配置部324は、例えば図24に示すように、小領
域作成部323で作成された各小領域MRに同じ数の繊
維FIが配されるように、繊維データをそれぞれの小領
域MRにランダムに配置する。
【0177】以上のステップST3−1からST3−6
により、繊維データ作成部31で作成された複数の繊維
データが、紙の繊維構造データを作成する領域に、均一
な分布と偏りのある分布の両方を備えた状態で配置され
る。
【0178】このように繊維データを作成すれば、微少
な領域における偏りのある繊維データの分布と、領域全
体における均一な繊維データの分布の両方を兼ね備えた
繊維分布データを作成することができる。すなわち、均
一化部322で各点の位置を均一化する際に、ある程度
の偏りが残る程度に均一化することにより、微小な領域
においては偏りをもつように繊維データを分布させるこ
とができ、小領域作成部323で作成された各小領域に
それぞれ同じ数の繊維データを設定することによって、
領域全体としては均一になるように繊維データを分布さ
せることができる。
【0179】そして、繊維数算出部33では、このよう
に作成された繊維分布データに基づいて、画素Pに対応
する繊維の数を求める。すなわち、画素Pについて、画
素Pを通る繊維の数Mを、繊維分布データ作成部32で
作成された繊維分布データに基づいて求める。そして、
この繊維の数Mを各画素毎に求めて紙の繊維構造データ
とする。具体的には、例えば、画素Pに対して、図25
の示すように繊維FI1 、FI2 、FI3 、FI4 が配
されている場合、画素Pの繊維の数Mは4となる。一
方、隣接繊維数算出部34では、繊維分布データに基づ
いて、画素Pに対応する繊維の方向別の数を求める。す
なわち、画素Pについて、画素Pを通るとともに、画素
Pに隣接する8つの画素Pi をそれぞれ通る繊維の数M
i を、上記繊維分布データ作成部32で作成された繊維
分布データに基づいて求める。
【0180】ここで、繊維が、画素Pを通るとともに、
画素Pに隣接する8つの画素Pi のうち2つ以上の画素
を通る場合は、画素Pから出た繊維が最初に通る画素P
i の方向に繊維が配されているものとして、この繊維に
ついては、画素Pから出た繊維が最初に通る画素Pi
対応する繊維の数Mi に1を加算するものとする。具体
的には例えば、繊維が、画素P6 、画素P5 、画素P、
画素P1 、画素P2 をこの順に通る場合に、この繊維に
ついては、繊維の数M5と繊維の数M1にそれぞれ1を
加算し、繊維の数M6 や繊維の数M2 に加算しないもの
とする。
【0181】そして、これら繊維の数Mi を各画素毎に
求めて紙の繊維構造データとする。具体的には、例え
ば、画素P及び画素Pi に対して、上述した図14に示
すように5本の繊維FI1 、FI2 、FI3 、FI4
FI5 が配されている場合、画素Pの繊維の数Mが5、
繊維の数M1 が1、繊維の数M2 が1、繊維の数M3
2、繊維の数M4 が1、繊維の数M5 が2、繊維の数M
6 が0、繊維の数M7 が3、繊維の数M8 が0となる。
【0182】そして、毛細管数算出部35では、画素P
に対応する毛細管の方向別の数を求める。すなわち、画
素Pについて、画素Pに隣接する8つの画素Pi の各方
向に形成される毛細管の数Si を、隣接繊維数算出部3
4で算出された繊維の数Miに基づいて求める。そし
て、これら毛細管の数Si を各画素毎に求めて紙の繊維
構造データとする。
【0183】ところで、毛細管の数Si は、繊維の間隙
に形成されるインクの流路が毛細管なので、繊維の数M
i に依存する値である。しかし、毛細管の数が多い場合
は各毛細管の幅が狭くなり、毛細管の数が少ない場合は
各毛細管の幅が広くなるため、毛細管の数が変わって
も、毛細管を流れるインク量の合計はあまり変わらない
と考えられる。したがって、毛細管の数Si は、データ
を簡略化して、毛細管の有無だけが分かるデータとして
しまってもよい。具体的には例えば、Mi 本の繊維によ
って毛細管が形成された場合には、毛細管の数Si を1
とし、Mi 本の繊維によっては毛細管が形成されない場
合には、毛細管の数Si を0としてもよい。
【0184】ここで、Mi 本の繊維によって毛細管が形
成されたか否かは、例えば、繊維の数Mi が2以上のと
き毛細管が形成され、繊維の数Mi が2未満のとき毛細
管が形成されないものとする。すなわち、繊維の数Mi
が2以上のとき毛細管の数Si を1とし、上記繊維の数
i が2未満のとき毛細管の数Si を0とする。具体的
には、例えば、画素P及び画素Pi に対して、上述した
図14に示すように5本の繊維FI1 、FI2 、FI
3 、FI4 、FI5 が配されている場合、画素Pの毛細
管の数S1 が0、毛細管の数S2 が0、毛細管の数S3
が1、毛細管の数S4 が0、毛細管の数S5 が1、毛細
管の数S6 が0、毛細管の数S7 が1、毛細管の数S8
が0となる。
【0185】また、より正確に紙の構造をモデル化する
ために、毛細管の数Si を設定する際に、Mi 本の繊維
の交差角を考慮してもよい。なぜなら、互いに隣接する
繊維の交差角が大きい場合には、繊維の間隙が大きなっ
て繊維の間隙が毛細管として機能しなくなり、インクが
繊維の間隙を流れなくなってしまうからである。
【0186】このように、Mi 本の繊維の交差角を考慮
して、毛細管の数Si を設定する場合は、毛細管算出部
35を、例えば、図26に示すように、互いに隣接する
繊維が成す交差角をランダムに設定する交差角設定部3
51と、毛細管の数Si を設定する毛細管数設定部35
2とで構成する。そして、交差角設定部351で、画素
Pについて、画素Pに隣接した画素Pi 方向のMi 本の
繊維について、互いに隣接する繊維が成す交差角をラン
ダムに設定した後、毛細管数設定部352で、交差角設
定部351で設定された交差角の少なくとも一つが所定
の角度の範囲であるとき、毛細管の数Siを1とし、上
記設定された交差角の全てが所定の角度の範囲外である
とき、毛細管の数Si を0とする。具体的には、例え
ば、画素Pの繊維の数M1が5とすると、図27に示す
ように、交差角設定部351で、5本の繊維FI1、F
2、FI3、FI4、FI5 について、互いに隣接する
繊維が成す交差角Δθ1 、Δθ2 、Δθ3 、Δθ4 をラ
ンダムに設定する。そして、毛細管数設定部352で、
交差角設定部351で設定された交差角Δθ1 、Δ
θ2、Δθ3 、Δθ4 の少なくとも一つが所定の角度の
範囲(例えば45度以下)であるとき、画素Pの毛細管
の数S1を1とし、設定された交差角の全てが所定の角
度の範囲外であるとき、毛細管の数S1を0とする。
【0187】なお、紙の繊維構造データとして光透過度
Iも設定する場合は、紙の繊維構造データ作成処理部3
0は、上述した図15に示すように、繊維数算出部33
で算出された繊維数Mに基づいて、繊維が配された画素
における光の透過度を示す光透過度Iを各画素毎に求め
る光透過度算出部36を備える。
【0188】そして、この光透過度算出部36で、各画
素毎に、繊維の数Mに基づいて光透過度Iを算出し、こ
の算出した光透過度Iを紙の繊維構造データとする。こ
こで、光透過度Iは、各画素の繊維の数Mに基づいて、
繊維の数Mが多いほど当該画素での光の透過度が少なく
なり、繊維の数Mが少ないほど当該画素の光の透過度が
大きくなるように算出される。
【0189】つぎに、このような光透過度算出部36の
具体的な動作について、図28に示すフローチャートを
用いて説明する。ただし、以下の説明において、光透過
度Iは、値が大きいほど光の透過度が少なく、値が小さ
いほど光の透過度が多いものとしている。
【0190】先ず、ステップST3−11において、光
透過度算出部36は、初期値として、光透過度Iの値を
(d×e)とする。
【0191】次に、ステップST3−12において、光
透過度算出部36は、処理回数フラグfの値を0とす
る。ここで、d及びeは予め定められた定数であり、0
<d<1である。
【0192】次に、ステップST3−13において、光
透過度算出部36は、処理回数を設定するために、処理
回数フラグfの値に1を加算する。
【0193】次に、ステップST3−14において、光
透過度算出部36は、画素Pに対応する繊維の数Mだけ
処理を繰り返すために、fとMの値を比較して、f≦M
ならばステップST3−15に進み、f>Mならば処理
を終了する。
【0194】次に、ステップST3−15において、光
透過度算出部36は、1本の繊維による光の透過度の変
化として、光透過度Iの値を(d×e+(1−d)×
I)として、画素Pに対応する繊維の数Mだけ処理を繰
り返すために、ステップST3−13へ戻る。
【0195】そして、このようにして設定された光透過
度Iに基づいて、各画素の輝度を設定して表示装置5に
表示することにより、紙の繊維構造データによってモデ
ル化された紙の画像を表示することができ、モデル化し
た紙の繊維構造データの様子を目で見て確認することが
できる。
【0196】(4)掠描画処理部 つぎに、掠描画処理部40の一具体例について、図29
乃至図87を参照しながら説明する。
【0197】始点から終点に向かって筆を動かして図形
を描く際に、筆が含んでいるインクの量が少ないとき、
運筆速度が速いとき、筆圧が弱いとき等に、例えば、図
29に示すように、掠により図形ZK内にインクが存在
していない領域(以下、「掠領域」という。)KSが生
じる。この掠描画処理部40では、主に、このような掠
を有する図形を表示するための画像データを作成する。
そして、このような画像データが表示装置1に供給され
て、表示装置1の表示画面に掠を有する図形が描画され
る。
【0198】ここで、掠描画処理部40にて処理される
図形は、例えば、図30に示すように、始点psと終点
peを含む複数の点paを結ぶ第1の輪郭rn1と、始
点psと終点peを含む複数の点pbを結ぶ第2の輪郭
rn2とで囲まれた図形ZKであり、具体的には、例え
ば、上述のフォント作成処理部20で作成されたフォン
トのストロークのデータが示す図形である。
【0199】そして、この掠描画処理部40における基
本的な処理は、このような図形内の画素のうち、掠が生
じていない部分の領域(以下、「描画領域」という。)
内にある画素に、インク有りの状態を示すインク有デー
タを画像データとして設定するとともに、掠領域KS内
にある画素に、インク無しの状態を示すインク無データ
を画像データとして設定することにより、掠を有する図
形ZKを表示するための画像データを作成するものであ
る。
【0200】(4−1)掠描画処理で使用するデータ まず、掠描画処理部40による掠描画処理で使用する主
なデータである全輪郭データ、掠領域データ、掠パラメ
ータ、形状データ、画像データ及び筆データについて説
明する。
【0201】(4−1−1)全輪郭データ 全輪郭データは、図形の輪郭と描画方向を示すデータで
あり、例えば、図31に示すように、図形の始点と終点
を結ぶ一方の輪郭、及びその描画方向を示す第1の輪郭
データと、図形の始点と終点を結ぶ他方の輪郭、及びそ
の描画方向を示す第2の輪郭データを有して成る。
【0202】ここで、第1の輪郭データは、図31に示
すように、図形の第1の輪郭上のm(mは1以上の整
数)個の座標点Ai (i=1、2、3、・・・、m)
が、図形の描画方向の順に並べられて成る。ここで最初
の座標点A1 は図形の始点を示し、最後の座標点Am
図形の終点を示している。同様に、第2の輪郭データ
は、図38に示すように、図形の第2の輪郭上のn(n
は1以上の整数)個の座標点Bj (j=1、2、3、・
・・、n)が、図形の描画方向の順に並べられて成る。
ここで最初の座標点B1 は図形の始点を示し、最後の座
標点Bn は図形の終点を示している。したがって、座標
点A1 と座標点B1 は同じ点を示し、座標点Am と座標
点Bn は同じ点を示している。
【0203】このような全輪郭データは、後述するよう
に補完されて、図形の輪郭がより滑らかになるように、
第1の輪郭データ及び第2の輪郭データに座標点が追加
される。したがって、最初に設定される第1の輪郭デー
タ及び第2の輪郭データは、図形のだいたいの輪郭が分
かる程度に設定されていればよい。また、第1の輪郭デ
ータの座標点の数mと第2の輪郭データの座標点の数n
は、後述するように補完されて、それぞれの数が同じと
なるように第1の輪郭データ又は第2の輪郭データに座
標点が追加される。したがって、最初に設定される第1
の輪郭データと第2の輪郭データの数は同じである必要
はない。
【0204】このような全輪郭データは、具体的には、
例えば、上述のフォント作成処理部20で作成されたフ
ォントのストロークのデータである。すなわち、掠描画
処理部40では、例えば、フォント作成処理部20で作
成されたフォントのストロークのデータに対して、掠描
画処理を行う。
【0205】なお、全輪郭データは、描画対象の図形が
複数存在する場合、例えば、複数の画から成りそれぞれ
の画が描画対象の図形である文字又は記号の場合は、そ
れぞれの画に対応するように複数の全輪郭データが設定
される。また、それぞれの全輪郭データは、各図形の描
画順序が分かるように、例えば各図形の描画順序に従っ
てそれぞれの全輪郭データが並ぶようにして、設定され
る。このような複数の全輪郭データは、具体的には、例
えば、フォント作成処理部20で作成された複数のスト
ロークのデータから成るフォントである。すなわち、フ
ォント作成処理部20で作成された複数のストロークの
データから成るフォントは、全輪郭データに相当する各
ストロークのデータが筆順に従って並べられて、各スト
ロークのデータの順序が設定されている。そして、掠描
画処理部40では、例えば、フォント作成処理部20で
作成されたフォントに対して、掠描画処理を行う。
【0206】(4−1−2)掠領域データ 掠領域データは、掠領域の位置を示すデータであり、図
形内を通り、図形の始点から終点に至る第1の輪郭又は
第2の輪郭に沿ったm本の軌跡(以下、この軌跡を「描
画軌跡」という。)上の長さを示すデータを有して成
る。そして、このようなm本の軌跡上の長さによって、
掠領域の図形内における位置を示している。
【0207】ここで、例えば、図32に示すように、描
画軌跡BKは、始点psから終点peに至る、図形ZK
の幅方向における相互の間隔が等しいm本の線であり、
これら描画軌跡BKのうち、両はじに位置する線は、図
形ZKの第1の輪郭rn1と第2の輪郭rn2に相当し
ている。なお、図32では、分かり易くするために、描
画軌跡BKの数mを少なくして図示しているが、実際は
掠をより精密に表現するために、描画軌跡BKの数mは
もっと多いものである。
【0208】そして、掠領域データは、これらm本の描
画軌跡BK上のそれぞれにおける始点psから掠領域K
Sが始まる掠開始点KPSまでの長さを示すm個の掠開
始長データと、これらm本の描画軌跡BK上のそれぞれ
における始点psから掠領域KSが終わる掠終了点KP
Eまでの長さを示すm個の掠終了長データとを有し、こ
れらにより掠領域KSの図形ZK内の位置を示してい
る。
【0209】ただし、描画軌跡BK上に掠領域KSが存
在しない場合は、当該描画軌跡に対応する掠開始長デー
タ及び掠終了長データは、掠開始長データと掠終了長デ
ータの値を同じ値とする。具体的には、例えば、当該描
画軌跡に対応する掠開始長データ及び掠終了長データの
値を両方とも0にしたり、両方とも1にしたりする。
【0210】ここで、掠開始長データは、例えば、始点
psから終点peに至る図形ZKの長さ(以下、「図形
長」という。)、例えば第1の輪郭の長さと第2の輪郭
の長さの平均値を1として正規化した、始点psから掠
開始点KPSまでの長さを示す0から1の範囲の値とす
る。また、掠終了長データも同様に、例えば、図形長を
1として正規化した、始点psから掠終了点KPEまで
の長さを示す0から1の範囲の値とする。これにより、
掠開始長データ及び掠終了長データを簡略化することが
できる。ただし、これら掠開始長データ及び掠終了長デ
ータは、始点psから掠開始点KPSまでの実際の長
さ、及び始点psから掠終了点KPEまでの実際の長さ
としてもよいことは言うまでもない。
【0211】このような掠領域データでは、掠開始長デ
ータと掠終了長データだけで、すなわち2つの一次元配
列されたデータだけで、掠領域の図形内の位置を示すこ
とができる。換言すると、このような掠領域データで
は、簡単なデータで掠領域の位置を示すことができる。
しかも、図形長に基づいて掠開始長データ及び掠終了長
データを正規化した場合は、掠領域の位置を示すデータ
を更に簡単なものとすることができる。
【0212】なお、上記掠領域データは、1つの掠領域
に対応するように設定されるデータであり、図形内に掠
領域が複数存在する場合は、各掠領域に対応して複数の
掠領域データが設定される。
【0213】以上のような掠領域データの具体的な例を
図33に示す。図33に示す掠領域データは、2カ所の
掠領域KSが存在している図形に対して、例えば、8本
の描画軌跡BK1、BK2、BK3、BK4、BK5、
BK6、BK7、BK8を設け、図形長を1として正規
化したデータである。ただし、図33に示す掠領域デー
タは、説明のためにデータを簡略化しており、実際に
は、掠領域KSをより精密に示すために、描画軌跡の
数、すなわち掠開始長データ及び掠終了長データの数は
もっと多く設定され、それぞれの掠開始長データ及び掠
終了長データの有効桁数ももっと多く設定される。
【0214】この図33に示す掠領域データが示す掠領
域KSは、図34に示すように、描画軌跡BK2上の掠
開始点KP1と掠終了点KP2と、描画軌跡BK3上の
掠開始点KP3と掠終了点KP4と、描画軌跡BK4上
の掠開始点KP5と掠終了点KP6と、描画軌跡BK5
上の掠開始点KP7と掠終了点KP8と、描画軌跡BK
6上の掠開始点KP9と掠終了点KP10とで囲まれた
第1の掠領域KS1と、描画軌跡BK4上の掠開始点K
P11と掠終了点KP12と、描画軌跡BK5上の掠開
始点KP13と掠終了点KP14と、描画軌跡BK6上
の掠開始点KP15と掠終了点KP16と、描画軌跡B
K7上の掠開始点KP17と掠終了点KP18と、描画
軌跡BK8上の掠開始点KP19と掠終了点KP20と
で囲まれた第2の掠領域KS2とである。
【0215】ここで、図形長を1としたとき、各描画軌
跡BK2、BK3、BK4、BK5、BK6上におけ
る、始点から各掠開始点KP1、KP3、KP5、KP
7、KP9までの長さはそれぞれ0.12、0.31、
0.25、0.14、0.20であり、始点から各掠終
了点KP1、KP3、KP5、KP7、KP9までのの
長さはそれぞれ0.51、0.60、0.69、0.4
2、0.55である。また、各描画軌跡BK4、BK
5、BK6、BK7、BK8上における、始点から各掠
開始点KP11、KP13、KP15、KP17、KP
19までの長さはそれぞれ0.71、0.84、0.8
2、0.78、0.73であり、始点から各掠終了点K
P12、KP14、KP16、KP18、KP20まで
の長さはそれぞれ0.92、0.93、0.91、0.
95、0.94である。
【0216】(4−1−3)掠パラメータ 掠パラメータは、掠領域データを作成するためのパラメ
ータであり、例えば、図35に示すように、掠領域デー
タの掠開始長データを設定する際に用いられる、図形の
長さ方向における掠の始まる位置を示すパラメータc1
と、掠領域データの掠終了長データを設定する際に用い
られる、図形の長さ方向における掠の終わる位置を示す
パラメータc2 と、図形の幅方向における掠の上端の位
置を示すパラメータc3 と、図形の幅方向における掠の
下端の位置を示すパラメータc4と、図形の長さ方向に
おける掠の始まる位置のばらつきの程度を示すパラメー
タc5 と、図形の長さ方向における掠の終わる位置のば
らつきの程度を示すパラメータc6 と、図形の幅方向に
おける掠の密度を示すパラメータc7 とを有して成る。
そして、これらのパラメータc1 乃至c7 は、以下に説
明するように、掠領域KSの図形内の位置を特定するも
のである。
【0217】このようなパラメータc1 乃至c7 には、
例えば、図36に示すように、掠領域KSの図形ZK内
の位置を特定するように、値が設定される。
【0218】すなわち、パラメータc1 には、図形長を
1として正規化された、始点psから掠の始まる位置ま
での長さを示す0から1の値が設定され、パラメータc
2 には、図形長を1として正規化された、始点psから
掠の終わる位置までの長さを示す0から1の値が設定さ
れる。ここで、パラメータc1 、c2 の関係は、当然の
ことながら、c1 ≦c2 である。
【0219】ただし、パラメータc1 、c2 は、掠の始
まる位置或いは終わる位置が分かるものであれば、この
ような設定の仕方に限定されるものではなく、例えば、
パラメータc1 を各描画軌跡BK上の掠開始位置KPS
の平均の位置を示すようにして、パラメータc2 を各描
画軌跡BK上の掠終了位置KPEの平均の位置を示すよ
うにしてもよい。また、上記パラメータc1 、c2 では
図形長を1として正規化したが、正規化せずに実際の長
さを用いてもよいことは言うまでもない。
【0220】また、パラメータc3 、c4 には、描画軌
跡BKの数mによって正規化された、掠の上端、下端に
それぞれ対応する描画軌跡BKの番号に対応した0から
1の値が設定される。すなわち、m本の描画軌跡BKの
うち、(c3 ×m)番目の描画軌跡が掠領域KSの上端
部に対応し、(c4 ×m)番目の描画軌跡BKが掠領域
KSの下端部に対応する。そして、このパラメータc
3 、c4 によって、図形ZKの幅方向における掠の範囲
が定められる。
【0221】このようなパラメータc3 、c4 の値は、
掠領域KSの幅が広い場合には|c3 −c4 |が大きく
なるように設定され、掠領域KSの幅が狭い場合には|
3−c4 |が小さくなるように設定される。また、掠
領域KSが図形ZKの幅方向おいて、どちらかに偏って
いる場合は、パラメータc3 、c4 の値はともに0に近
い値が設定されるか、ともに1に近い値が設定される。
【0222】ただし、パラメータc3 、c4 は、図形Z
Kの幅方向における掠の上下端の位置が分かるものであ
れば、このような設定の仕方に限定されるものではな
く、例えば、パラメータc3 を図形ZKの一方の輪郭か
ら掠領域の上端までの長さ、パラメータc4 を図形ZK
の他方の輪郭から掠領域の下端までの長さとしてもよ
い。また、上記パラメータc3 、c4 では描画軌跡BK
の数mによって正規化したが、正規化せずに実際の描画
軌跡BKの番号を用いてもよいことは言うまでもない。
【0223】また、パラメータc5 には、図形長を1と
して正規化された、掠の始まる位置のばらつきの程度を
示す0から0.5×(c2 −c1 )の範囲の値が設定さ
れ、パラメータc6 には、図形長を1として正規化され
た、掠の終わる位置のばらつきを示す0から0.5×
(c2 −c1 )の範囲の値が設定される。
【0224】ただし、パラメータc5 、c6 は、掠の始
まる位置のばらつき或いは終わる位置のばらつきが分か
ればよく、このような設定の仕方に限定されるものでは
ない。また、上記パラメータc5 、c6 では図形長を1
として正規化したが、正規化せずに実際の長さを用いて
もよいことは言うまでもない。
【0225】また、パラメータc7 は、パラメータc
3 、c4 で定められた範囲内に掠が存在しない場合を
0、この範囲内の全てが掠の場合を1として正規化され
た、掠の密度を示す0から1の値が設定される。例え
ば、パラメータc7 が0.4のとき、パラメータc3
4 で定められた範囲内を通る描画軌跡BKの数がk本
であって、これらの描画軌跡BKのうち(0.4×k)
本の描画軌跡上が掠れている部分、すなわちインクが存
在しない部分に相当し、((1−0.4)×k)本の描
画軌跡上が掠れていない部分、すなわちインクが存在す
る部分に相当する。
【0226】ただし、パラメータc7 は、図形の幅方向
における掠の密度が分かるものであれた、このような設
定の仕方に限定されるものではなく、例えば、掠れてい
る部分に相当する描画軌跡BKの実際の本数としてもよ
い。
【0227】ところで、実際に紙に筆で図形を描いたと
き生じる掠れでは、例えば、図37に示すように、掠れ
方が激しい掠の場合、すなわち掠れている部分に存在す
るインクが少ない掠(以下、このような掠を「片状掠」
と呼ぶ。)の場合、掠の始まる位置や終わる位置のばら
つきが小さくなる傾向にあり、図38に示すように、掠
れ方が弱い掠の場合、すなわち掠れている部分に存在す
るインクが多い掠(以下、このような掠を「線状掠」と
呼ぶ。)の場合、掠の始まる位置や終わる位置のばらつ
きが大きくなる傾向にある。
【0228】そこで、片状掠を表現する場合は、パラメ
ータc7 には大きな値(0.8〜1.0程度の値)を設
定し、パラメータc5 、c6 には小さな値(1/10〜
1/12程度の値)を設定する。また、線状掠を表現す
る場合は、パラメータc7 には小さな値(0.4〜0.
7程度の値)を設定し、パラメータc5 、c6 には大き
な値(1/6〜1/8程度の値)を設定する。
【0229】なお、このような掠パラメータは掠領域毎
に設定されるものであり、掠領域が複数ある場合は、各
掠領域に対応するように掠パラメータは複数設定され
る。そして、このように各掠領域毎に設定された掠パラ
メータに基づいて、各掠領域に対応するように掠領域デ
ータが作成される。
【0230】(4−1−4)形状データ 形状データは、図形の形状を示すデータであり、例え
ば、図39に示すように、長さデータと、幅データと、
曲率データと、曲点データとを有して成る。ただし、こ
れらのデータの値は、第1の輪郭データの座標点の数と
第2の輪郭データの座標点の数とが同じ数となるように
補完された全輪郭データに基づいて、算出される。
【0231】ここで、長さデータは、図形の始点から終
点に至る長さを示すデータであり、図39に示すよう
に、長さLから成る。この長さLは、上述した図形長に
相当するものであり、第1の輪郭データに基づいて求め
られる第1の輪郭の長さと、第2の輪郭データに基づい
て求められる第2の輪郭の長さとの平均値が設定され
る。具体的には、第1の輪郭の長さは、例えば、第1の
輪郭データの隣接する座標点Ai と座標点Ai+1 間の距
離を順次算出して累積した値であり、第2の輪郭の長さ
は、例えば、第2の輪郭データの隣接する座標点Bj
座標点Bj+1 間の距離を順次算出して累積した値であ
る。すなわち、座標点Ai のX座標をXAi、Y座標をY
Aiとし、座標点Ai+1 のX座標をXAi+1、Y座標をY
Ai+1とし、座標点Bi のX座標をXBi、Y座標をYBi
し、座標点Bi+1 のX座標をXBi+1、Y座標をYBi+1
すると、長さLは下記式(4−1)により求められる。
【0232】
【数9】
【0233】幅データは、図形の幅を示すデータであ
り、図39に示すように、第1又は第2の輪郭データの
座標点毎に設定される、座標点Ai と座標点Bi の間の
距離を示すw個の幅Wi (i=1、2、3、・・・、
w)から成る。ここで、wは第1又は第2の輪郭データ
の座標点の数である。
【0234】曲率データは、図形の曲がりを示すデータ
であり、図39に示すように、第1又は第2の輪郭デー
タの座標点毎に設定されるw個の曲率ri (i=1、
2、3、・・・、w)から成る。具体的には、曲率ri
は、図40に示すように、座標点Ai-1 と座標点Bi-1
の中点の座標点Ci-1 、座標点Ai と座標点Bi の中点
の座標点Ci 、及び座標点Ai+1 と座標点Bi+1 の中点
の座標点Ci+1 について、座標点Ci-1 と座標点Ci
結ぶ線と、座標点Ci と座標点Ci+1 を結ぶ線との成す
角度θi を算出し、この角度θi を座標点Ai 又は座標
点Bi に対応する曲率ri とする。ここで、曲率ri
取りうる範囲は、0°〜180°となり、この角度が小
さいほど曲がりが大きい状態を示し、角度が大きいほど
曲がりが小さい状態を示すこととなる。ただし、曲率r
i のうち、始点A1 (B1 )に対応する曲率r1 、及び
終点Aw (Bw )に対応する曲率rw は、曲がっていな
い状態を示すように、予め180°に設定する。
【0235】曲点データは、曲率ri が所定の角度以上
の曲がり点を示すデータであり、図39に示すように、
曲がり点位置r_pと、曲がり点数r_nとから成る。
ここで、曲がり点位置r_pは、所定値(例えば、11
5°)以上の曲率ri の番号iを示し、曲がり点数r_
nは、このような曲率ri の数である。ただし、曲率デ
ータには、曲がり点位置r_pだけを設定して、曲がり
点数r_nは、設定された曲がり点位置r_pの数から
求めるようにしてもよい。
【0236】(4−1−5)画像データ 画像データは、上述したように表示装置5に画像を表示
するために各画素毎に設定されるデータであり、ある画
素に対応する画像データは、図41に示すように、当該
画素におけるインクの状態を示すインクデータと、当該
画素の輝度を示すデータである輝度データと有して成
る。また、インクデータは、当該画素におけるインクの
有無を示すインク有無データと、当該画素におけるイン
クの濃度を示すインク濃度データと、当該画素における
インクの量を示すインク量データとを有して成る。
【0237】(4−1−6)筆データ 筆データは、図形を描画する筆をモデル化したデータで
あり、図42に示すように、上述のm本の描画軌跡に対
応するように設定されるインク量IQk (k=1、2、
3、・・・、m)及びインク濃度IDk (k=1、2、
3、・・・、m)とを有して成る。そして、このインク
量IQk 及びインク濃度IDk に基づいて、上述の画像
データのインク量データ及びインク濃度データが、後述
するように設定される。
【0238】(4−2)掠描画処理部の構成 つぎに、掠描画処理部40の具体的な構成について説明
する。
【0239】この掠描画処理部40は、例えば、図43
に示すように、筆データを設定する筆データ設定部41
と、上記入力装置1、外部記憶装置4又はメモリ3等か
ら、上述のフォント作成処理部20で作成されたフォン
ト等の全輪郭データを読み込むデータ読込部42と、上
記データ読込部42から供給される全輪郭データ等に基
づいて掠パラメータを設定する掠パラメータ設定部43
と、上記掠パラメータ設定部43で設定された掠パラメ
ータに基づいて、掠領域データを作成する掠領域データ
作成部44と、上記データ読込部42から供給される全
輪郭データ、上記筆データ設定部41で設定された筆デ
ータ、及び上記掠領域データ作成部44で作成された掠
領域データに基づいて、図形内の画素にインクデータを
設定するインクデータ設定部45と、上記インクデータ
設定部45でインクデータが設定された画素に輝度デー
タを設定する輝度データ設定部46とを備える。
【0240】そして、上記輝度データ設定部46で設定
された輝度データを、表示装置5に供給して、この輝度
データに基づいた画像を表示装置5に表示することによ
り、表示装置5に掠を有する図形が表示される。
【0241】(4−2−1)筆データ設定部 筆データ設定部41は、例えば、図44に示すように、
予め作成された複数の筆データから筆データを選択する
筆データ選択部411と、入力装置1等から入力された
データに基づいて筆データを作成する筆データ作成部4
12とを備え、筆データ選択部411で選択された筆デ
ータ、又は筆データ作成部412で作成された筆データ
をインクデータ設定部45に供給する。
【0242】筆データ選択部411は、例えば、メモリ
3や外部記憶装置4等から予め作成された複数の筆デー
タを読み込み、ユーザの操作に応じた入力装置1からの
信号により、これら複数の筆データの中から1つの筆デ
ータを選択する。具体的には、各筆データを用いた場合
の描画例を表示装置5に表示し、これら表示装置5に表
示された複数の描画例から、ユーザがマウス等の入力装
置1によって、所望する描画例を選択することにより筆
データを選択すると、筆データ選択部411は、ユーザ
の操作に応じた入力装置1からの信号に基づいて筆デー
タを選択する。そして、筆データ選択部411は、この
選択された筆データをインクデータ設定部45へ供給す
る。この結果、所望する描画に必要な筆データを、ユー
ザーが容易に選択することができる。
【0243】筆データ作成部412は、例えば、入力装
置1から入力されたデータに基づいて筆データを作成す
る。具体的には、例えば、図45に示すように、筆デー
タ作成部412は、入力装置1から入力された、筆上の
いくつかの点に対応するインク量に基づいて、筆上の各
点におけるインク量を算出する。また、例えば、図46
に示すように、筆データ作成部412は、入力装置1か
ら入力された、筆上のいくつかの点に対応するインク濃
度に基づいて、筆上の各点におけるインク濃度を算出す
る。このように、筆に含まれるインクの量や濃度のおよ
その分布だけを入力して、これに基づいて筆データ入力
部で筆データを新たに作成することにより、入力装置1
からのデータの入力を簡略化することができる。
【0244】あるいは、さらに簡略化して、例えば、図
47に示すように、筆データ作成部412は、入力装置
1から入力された筆に含まれるインク全体の量に基づい
て、筆上の各点におけるインク量を算出してもよい。ま
た、例えば、図48に示すように、筆データ作成部41
2は、入力装置1から入力された筆に含まれるインク全
体の濃度に基づいて、筆上の各点におけるインク濃度を
算出してもよい。
【0245】(4−2−2)データ読込部 データ読込部42は、例えば、図49に示すように、入
力装置1、メモリ3又は外部記憶装置4等から1以上の
全輪郭データを読み込む輪郭データ複数読込部421
と、上記輪郭データ複数読込部421から供給された1
以上の全輪郭データから、所定のルールに従って、掠描
画の対象とする全輪郭データを選択する輪郭データ選択
部422と、輪郭データ複数読込部421から供給され
た1以上の全輪郭データに対して、データを補完する輪
郭データ補完部423とを備える。
【0246】輪郭データ複数読込部421は、入力装置
1、メモリ3又は外部記憶装置4等から、1以上の全輪
郭データを読み込む。具体的には、例えば、1以上の画
から成る掠を有する文字又は記号を表す1以上の全輪郭
データ、すなわち、上述のフォント作成部20で作成し
たフォントを読み込む。
【0247】輪郭データ選択部422は、輪郭データ複
数読込部421に読み込まれた1以上の全輪郭データが
文字又は記号を表している場合、すなわち、それぞれの
全輪郭データが文字又は記号を構成するそれぞれの画に
対応している場合に、これらの全輪郭データの中から、
所定のルールに従って、掠描画の対象とする全輪郭デー
タを選択する。そして、この輪郭データ選択部422で
選択された全輪郭データが示す図形を掠描画の対象と
し、選択されなかった全輪郭データが示す図形は掠描画
の対象としないようにする。そして、輪郭データ選択部
422は、どの全輪郭データを掠描画の対象とするかに
ついての情報を掠パラメータ設定部43及びインクデー
タ設定部45へ供給する。
【0248】これは、実際に紙に毛筆で文字を書いた場
合、文字を構成する画の全てに掠が生じるとは限らず、
通常は1つの文字に掠を有する画と掠を有しない画が存
在するからである。そして、このような1つの文字にお
ける掠を有する画と掠を有しない画の関係には、後述す
るように統計的に一定のルールが存在している。そし
て、輪郭データ選択部422は、このような所定のルー
ルに従って、掠描画の対象とする全輪郭データを選択す
る。
【0249】具体的には、所定のルールを、例えば、全
ての全輪郭データの数に対する選択された全輪郭データ
の数の割合が所定の割合(例えば1/3)以下となるよ
うにする。すなわち、例えば、輪郭データ選択部422
は、先ず、輪郭データ選択部422に供給された全ての
全輪郭データから、全輪郭データが示す画の長さが最も
長い全輪郭データを選択し、次に、既に選択された最も
長い全輪郭データの前後の全輪郭データを除く全輪郭デ
ータの中から、全輪郭データが示す画の長さがより長い
全輪郭データを選択する。そして、輪郭データ選択部4
22は、上述の動作を、選択した全輪郭データが全ての
全輪郭データの1/3となるまで繰り返す。また、所定
のルールは、例えば、先ず、輪郭データ選択部422に
供給された1以上の全輪郭データから、全ての全輪郭デ
ータの数に対する選択された全輪郭データの数の割合が
所定の割合(例えば1/3)以下となるように全輪郭デ
ータを選択し、次に、残りの全輪郭データからランダム
に全輪郭データを1つ選択するようにしてもよい。
【0250】このような所定のルールに従って、1以上
の全輪郭データから、掠描画の対象とする全輪郭データ
を選択して、選択された全輪郭データが示す画には掠を
生じさせ、選択されなかった全輪郭データが示す画には
掠を生じさせないようにして文字を描画することによ
り、より美しく文字を描画することができる。
【0251】ただし、輪郭データ複数読込部421に読
み込まれた1以上の全輪郭データが文字又は記号以外の
図形を表している場合は、輪郭データ選択部422は、
輪郭データ複数読込部421に読み込まれた全ての全輪
郭データを掠描画の対象とする全輪郭データとして選択
する。
【0252】一方、上記輪郭データ補完部423は、例
えば、図49に示すように、輪郭データ複数読込部42
1から供給される全輪郭データの第1の輪郭データ及び
第2輪郭データに座標点を追加する輪郭データ追加部4
24と、上記輪郭データ追加部424から供給される全
輪郭データの第1の輪郭データの座標点の数と第2の輪
郭データの数を一致させる輪郭データ調整部425とを
備える。
【0253】そして、輪郭データ補完部423は、全輪
郭データに対して、輪郭データ追加部424により、第
1の輪郭データ及び第2の輪郭データに座標点を追加し
て、座標点間の距離が小さい新たな全輪郭データとした
後、この新たな全輪郭データに、輪郭データ調整部42
5にて座標点を追加して、第1の輪郭データの座標点の
数と第2の輪郭データの座標点の数が等しい新たな全輪
郭データを作成する。
【0254】具体的には、輪郭データ追加部424は、
第1の輪郭データの隣接する座標点Ai と座標点Ai+1
間の距離が所定値よりも大きいとき、隣接する座標点間
の距離が所定値以下となるように隣接する座標点Ai
座標点Ai+1 間に座標点を追加して、新たな第1の輪郭
データを作成する。また、輪郭データ追加部424は、
第2の輪郭データの隣接する座標点Bj と座標点Bj+1
間の距離が所定値よりも大きいとき、隣接する座標点間
の距離が所定値以下となるように隣接する座標点Bj
座標点Bj+1 間に座標点を追加して、新たな第2の輪郭
データを作成する。ここで、上述の所定値は、新たな第
1及び第2の輪郭データが示す第1及び第2の輪郭が滑
らかに見えるようになる程度とする。
【0255】ここで、輪郭データ追加部424は、例え
ば、スプライン曲線やベジェ曲線を用いて、座標点Ai
を順次結んで成る第1の輪郭、及び座標点Bjを順次結
んで成る第2の輪郭が滑らかになるように座標点を追加
する。具体的には、例えば、輪郭データ追加部424
は、始点である座標点A1 における接線の方向を、座標
点A1 から座標点A2 に向かう方向として、各座標点A
i を通るスプライン曲線を定め、このスプライン曲線上
の座標点を第1の輪郭データに追加し、始点である座標
点B1 における接線の方向を、座標点B1 から座標点B
2 に向かう方向として、各座標点Bj を通るスプライン
曲線を定め、このスプライン曲線上の座標点を第2の輪
郭データに追加する。
【0256】このように輪郭データ追加部424で座標
点を追加することにより、第1及び第2の輪郭が滑らか
なものとなり、より美しく図形を描画することができる
ようになる。
【0257】そして、輪郭データ追加部424は、この
ように座標点間の距離が所定値以下となり、第1及び第
2の輪郭が滑らかになった全輪郭データを輪郭データ調
整部425へ供給する。
【0258】輪郭データ調整部425は、輪郭データ追
加部424から供給された全輪郭データについて、第1
の輪郭データの座標点の数と第2の輪郭データの座標点
の数とが異なる場合、第1の輪郭データの座標点の数と
第2の輪郭データの座標点の数とが同じとなるように第
1の輪郭データ又は第2の輪郭データに座標点を追加し
て、新たな第1の輪郭データ又は第2の輪郭データを作
成する。
【0259】具体的には、輪郭データ調整部425は、
例えば、先ず、第1の輪郭データと第2の輪郭データの
うち、座標点の数が少ない方から、座標点間の距離が広
い隣接する2つの座標点を選択する。ただし、座標点間
の距離が全て同じである場合は、ランダムに2つの座標
点を選択する。そして、輪郭データ調整部425は、こ
れら2つの座標点を結ぶ直線、ベジェ曲線又はスプライ
ン曲線等の線上にあって、これら2つの座標点から等距
離の座標点を追加する。かくして、第1又は第2の輪郭
が滑らかになるように座標点を追加できるとともに、各
座標点間の距離のばらつきを少なくすることができる。
【0260】以上のようにして輪郭データ補完部423
は、輪郭データ複数読込部421から供給された全輪郭
データに対して新たな座標点を追加して、新たな全輪郭
データを作成する。そして、輪郭データ補完部423
は、この新たな全輪郭データを、掠パラメータ設定部4
3やインクデータ設定部45へ供給する。
【0261】(4−2−3)掠パラメータ設定部 上記掠パラメータ設定部43は、例えば、図50に示す
ように、メモリ3や外部記憶装置4等から予め作成され
た複数の掠パラメータを読み込み、ユーザの操作に応じ
た入力装置1からの信号により、これら複数の掠パラメ
ータから掠パラメータを選択する掠パラメータ選択部4
31と、入力装置1から入力された、図形を始点から終
点に向かって描画する運筆における運筆速度及び筆圧の
分布に基づいて、掠パラメータを算出する第1の掠パラ
メータ算出部432と、データ読込部42から供給され
る全輪郭データが表す図形の形状に基づいて、掠パラメ
ータを算出する第2の掠パラメータ算出部433と、入
力装置1から入力されたパラメータc1乃至c7から掠
パラメータを作成する掠パラメータ入力部434とを備
える。
【0262】そして、掠パラメータ選択部431は、選
択した掠パラメータを掠領域データ作成部44へ供給
し、第1の掠パラメータ算出部432は、算出した掠パ
ラメータを掠領域データ作成部44へ供給し、第2の掠
パラメータ算出部433は算出した掠パラメータを掠領
域データ作成部44へ供給し、掠パラメータ入力部43
4は、作成した掠パラメータを掠領域データ作成部44
へ供給する。
【0263】そして、掠パラメータ選択部431は、メ
モリ3や外部記憶装置4から供給された、パラメータc
1 乃至c7 の値の組み合わせが異なる、予め作成された
複数の掠パラメータから、ユーザの操作に応じた入力装
置1からの信号により、掠パラメータを選択する。具体
的には、各掠パラメータを用いた場合に生じる掠の例を
表示装置5に表示し、これら表示装置5に表示された複
数の掠から、ユーザーがマウス等の入力装置によって、
所望する掠を選択することにより掠パラメータを選択す
ると、掠パラメータ選択部431は、ユーザの操作に応
じた入力装置1からの信号に基づいて掠パラメータを選
択する。そして、掠パラメータ選択部431は、この選
択された掠パラメータを掠領域データ作成部44へ供給
する。この結果、所望する描画に必要な掠パラメータ
を、ユーザーが容易に選択することができる。
【0264】第1の掠パラメータ算出部432は、後述
するように、入力装置1等から入力された速度分布デー
タと筆圧分布データに基づいて、パラメータc1 乃至c
7 を算出して、これらのパラメータc1 乃至c7 から成
る掠パラメータを、掠領域データ作成部44へ供給す
る。ここで、速度分布データと筆圧分布データは、速度
分布データは、図形を始点から終点に向かって描画する
運筆における運筆速度の分布を示すデータであり、図5
1に示すように、図形内のgカ所のそれぞれの位置にお
ける運筆速度を示すg個の速度vi (i=1、2、3、
・・・、g)から成る。また、筆圧分布データは、図形
を始点から終点に向かって描画する運筆における筆圧の
分布を示すデータであり、図51に示すように、図形内
のgカ所のそれぞれの位置における筆圧を示すg個の筆
圧pi (i=1、2、3、・・・、g)から成る。
【0265】ここで、速度分布データ及び筆圧分布デー
タを入力するための入力装置1には、タブレットを用い
る。すなわち、ユーザは、タブレットで、ペンの移動速
度を速度分布データとして入力し、ペンの筆圧を筆圧分
布データとして入力する。これにより、速度分布データ
及び筆圧分布データを容易に入力することができる。
【0266】第2の掠パラメータ算出部433は、後述
するように、データ読込部42から供給される全輪郭デ
ータが表す図形の形状に基づいて、パラメータc1 乃至
7を算出して、これらのパラメータc1 乃至c7 から
成る掠パラメータを掠領域データ作成部44へ供給す
る。
【0267】掠パラメータ入力部434は、入力装置1
から入力されたパラメータc1乃至c7をそのまま掠パ
ラメータとして掠領域データ作成部44へ供給する。
【0268】なお、掠パラメータ設定部43は、ユーザ
の操作に応じた入力装置1からの信号に基づいて、これ
らの掠パラメータ選択部431、第1の掠パラメータ算
出部432、第2の掠パラメータ算出部433、及び掠
パラメータ入力部434のいずれを用いて掠パラメータ
を設定するかを決定する。ここで、ユーザは、例えば、
掠れ方を見ながら掠パラメータを設定したいときは、掠
パラメータ選択部431を選択し、実際に文字を書いた
ときの運筆速度や筆圧に基づいて掠パラメータを設定し
たいときは、第1の掠パラメータ算出部432を選択
し、一般的な掠が生じるように掠パラメータを設定した
いときは第2の掠パラメータ算出部433を選択し、掠
パラメータを自由に設定したいときは、掠パラメータ入
力部434を選択すればよい。
【0269】(4−2−4)掠領域データ作成部 掠領域データ作成部44は、後述するように、掠パラメ
ータ設定部43から供給される掠パラメータに基づい
て、掠領域データを作成する。そして、掠領域データ作
成部44は、作成した掠領域データをインクデータ設定
部45へ供給する。
【0270】(4−2−5)インクデータ設定部 上記インクデータ設定部45は、図52に示すように、
データ読込部42から供給される全輪郭データに基づい
て画素を検出する第1の画素検出部451と、上記第1
の画素検出部451で検出された画素に画像データを設
定する第1の画像データ設定部452と、上記第1の画
素検出部451で検出された画素に基づいて画素を検出
する第2の画素検出部453と、上記第2の画素検出部
453で検出された画素に画像データを設定する第2の
画像データ設定部454とを備える。
【0271】第1の画素検出部451は、データ読込部
42から供給される全輪郭データに基づいて、第1の輪
郭データの座標点Ai と、第2の輪郭データの座標点B
i とを結ぶ線分li 上の画素を検出する。ここで、検出
される画素は1以上の画素であり、通常は複数の画素が
検出される。また、iの範囲は1からwまでであり、i
が1のとき検出される画素は始点上の画素であり、iが
wのとき検出される画素は終点上の画素である。
【0272】上記第1の画像データ設定部452は、イ
ンク有無データ設定部455と、第1のインク濃度設定
部456と、第1のインク量設定部457とを備え、筆
データ設定部41から供給される筆データと、データ読
込部42から供給される全輪郭データと、掠領域データ
作成部44から供給される掠領域データとに基づいて、
第1の画素検出部451で検出された画素に、インクデ
ータを設定して、このインクデータを第2の画像データ
設定部454及び輝度データ設定部46へ供給する。
【0273】ここで、インク有無データ設定部455
は、全輪郭データと掠領域データに基づいて、第1の画
素検出部451で検出された画素が掠領域KS内にある
かを判断して、この画素が掠領域KS内にあるときに
は、この画素にインク無しの状態を示すようにインク有
無データを設定して、この画素が掠領域KS内にないと
きには、この画素にインク有りの状態を示すようにイン
ク有無データを設定する。ただし、第1の画素検出部4
51で検出された画素が複数ある場合、インク有無デー
タ設定部455は、当然のことながら、各画素毎に掠領
域KS内にあるかを判断してインク有無データを設定す
る。
【0274】ここで、画素を通る描画軌跡に対応する掠
領域データの掠開始長データが示す掠開始長、及び掠終
了長データが示す掠終了長をそれぞれKs、Keとする
とともに、始点から線分li に至るまでの図形の長さを
それぞれLi としたとき、インク有無データ設定部45
5は、例えば、Ks<Li <Keのとき、当該画素は掠
領域KS内にあり、Li ≦Ps又はKe≦Li のとき、
当該画素は掠領域KS外にあると判断する。ただし、こ
の判断は、掠領域データが複数設定されている場合に
は、各掠領域データ毎に行う。すなわち、判断対象の画
素が、いずれかの掠領域データが示す掠領域KS内に存
在する場合、当該画素は掠領域KS内にあると判断し、
判断対象の画素が、全ての掠領域データが示す掠領域K
Sに対して掠領域KS外に存在する場合、当該画素は掠
領域KS外にあると判断する。
【0275】また、第1のインク濃度設定部456は、
第1の画素検出部451で検出された画素を通る描画軌
跡に対応する筆データに基づいて、始点から線分li
至るまでの図形の長さが短い程インクが濃くなるよう
に、この画素にインク濃度データを設定し、このインク
濃度データを第2の画像データ設定部454及び輝度デ
ータ設定部46へ供給する。
【0276】そして、第1のインク量設定部457は、
第1の画素検出部451で検出された画素を通る上述し
た描画軌跡に対応する筆データに基づいて、始点から線
分li に至るまでの図形の長さが短い程インクの量が多
くなるように、この画素にインク量データを設定し、こ
のインク量データを第2の画像データ設定部454及び
輝度データ設定部46へ供給する。
【0277】ただし、画素に対してインク有無データが
インク無しの状態を示すように設定されている場合、第
1のインク濃度設定部456はインク濃度データを0に
設定し、第1のインク量設定部457はインク量データ
を0を設定する。また、第1のインク濃度設定部456
及び第1のインク量設定部457は、第1の画素検出部
451で検出された画素が複数ある場合は、当然のこと
ながら、各画素毎にインク濃度及びインク量を算出し、
インク濃度データ及びインク量データを設定する。
【0278】第2の画素検出部453は、第1の画素検
出部451で検出された線分li 上の画素と、同様に第
1の画素検出部451で検出された線分li と隣接する
線分である線分li+1 上の画素との間に位置する画素を
検出する。ここで、第2の画素検出部453で検出され
る画素は、通常は複数である。ただし、線分li 上の画
素と、線分li と隣接する線分である線分li+1 上の画
素とが隣接している場合には、第2の画素検出部453
で検出される画素の数は0となる。
【0279】第2の画像データ設定部454は、第2の
画素検出部453で検出された画素にインク濃度データ
を設定する第2のインク濃度設定部458と、第2の画
素検出部453で検出された画素にインク量データを設
定する第2のインク量設定部459とを備える。
【0280】そして、第2のインク濃度設定部458
は、第1の画像データ設定部452から供給される線分
i 上の画素に設定されたインク濃度データと、この線
分li上の画素と第2の画素検出部453で検出された
画素との距離と、第1の画像データ設定部452から供
給される線分li+1 上の画素に設定されたインク濃度デ
ータと、この線分li+1 上の画素と第2の画素検出部4
53で検出された画素との距離とに基づいて、第2の画
素検出部453で検出された画素におけるインクの濃度
を算出して、この画素にインク濃度データを設定し、輝
度データ設定部46へインク濃度データを供給する。
【0281】また、第2のインク量設定部459は、第
1の画像データ設定部452から供給される線分li
の画素に設定されたインク量データと、この線分li
の画素と第2の画素検出部453で検出された画素との
距離と、第1の画像データ設定部452から供給される
線分li+1 上の画素に設定されたインク量データと、こ
の線分li+1 上の画素と第2の画素検出部453で検出
された画素との距離とに基づいて、第2の画素検出部4
53で検出された画素におけるインクの量を算出して、
この画素にインク量データを設定し、輝度データ設定部
46へインク濃度データを供給する。
【0282】(4−2−6)輝度データ設定部 上記輝度データ設定部46は、上述した紙の繊維構造デ
ータ作成部で作成された紙の繊維構造データと、第1及
び第2の画像データ設定部で設定された画像データに基
づいて、各画素における輝度を算出し、各画素に輝度デ
ータを設定する。ここで、輝度データ設定部46は、後
述するように、紙の繊維構造データが示す繊維の数M
と、第1の画像データ設定部452及び第2の画像デー
タ設定部454で設定されたインク濃度データ及びイン
ク量データとに基づいて、各画素の輝度データを算出す
る。ただし、第1の画像データ設定部452及び第2の
画像データ設定部454で画像データが設定されなかっ
た画素には、デフォルトのデータ、例えば、真っ白を示
すデータや、真っ黒を示すデータが設定される。
【0283】なお、輝度データ設定部46では、紙の繊
維構造データを構成するデータのうち、繊維の数Mだけ
を用いて輝度を算出するので、ここで参照される紙の繊
維構造データは、少なくとも繊維の数Mを有していれば
よく、毛細管の数等は有していなくてもよい。
【0284】(4−3)掠描画処理 つぎに、掠描画処理部40の具体的なの動作について説
明する。
【0285】この掠描画処理部40は、掠パラメータの
設定に掠パラメータ選択部431又は第1の掠パラメー
タ算出部432を用いる場合、以下の(a)〜(d)の
工程により、掠描画処理を行う。
【0286】(a)筆データ設定部41により、筆デー
タを設定する工程。
【0287】(b)掠パラメータ設定部43により、掠
パラメータ選択部431又は第1の掠パラメータ算出部
432を用いて掠パラメータを設定した後、掠領域デー
タ作成部44により、掠パラメータ設定部43で設定さ
れた掠パラメータに基づいて、掠領域データを作成する
工程。
【0288】(c)データ読込部42により、入力装置
1、メモリ3、外部記憶装置4又はフォント作成処理部
20等から1以上の全輪郭データを読み込み、輪郭デー
タ選択部422により、掠描画の対象となる全輪郭デー
タを選択する工程。
【0289】(d)インクデータ設定部45により、デ
ータ読込部42から供給される全輪郭データと、筆デー
タ設定部41で設定された筆データと、掠領域データ作
成部44で作成された掠領域データに基づいて、図形内
の画素にインクデータを設定した後、輝度データ設定部
46により、インクデータ設定部45でインクデータが
設定された画素に輝度データを設定する工程。
【0290】ここで、(a)(b)(c)の工程のそれ
ぞれの処理順序は、(d)の工程より前であれば、どの
ような処理順序であってもよい。
【0291】また、掠描画処理部40は、掠パラメータ
の設定に第2の掠パラメータ算出部433を用いる場
合、以下の(e)〜(h)の工程により、掠描画処理を
行う。
【0292】(e)筆データ設定部41により、筆デー
タを設定する工程。
【0293】(f)データ読込部42により、入力装置
1、メモリ3、外部記憶装置4又はフォント作成処理部
20等から1以上の全輪郭データを読み込み、輪郭デー
タ選択部422により、掠描画の対象となる全輪郭デー
タを選択する工程。
【0294】(g)掠パラメータ設定部43により、輪
郭データ選択部422により掠描画の対象として選択さ
れた全輪郭データに基づいて、第2の掠パラメータ算出
部433を用いて、掠パラメータを設定した後、掠領域
データ作成部44により、掠パラメータ設定部43で設
定された掠パラメータに基づいて、掠領域データを作成
する工程。
【0295】(h)インクデータ設定部45により、デ
ータ読込部42から供給される全輪郭データと、筆デー
タ設定部41で設定された筆データと、掠領域データ作
成部44で作成された掠領域データに基づいて、図形内
の画素にインクデータを設定した後、輝度データ設定部
46により、インクデータ設定部45でインクデータが
設定された画素に輝度データを設定する工程。
【0296】ここで、(e)の工程は、(h)の工程よ
り前であればどの段階で処理をしてもよい。
【0297】以下、このような掠描画処理のうち、掠パ
ラメータ設定部43による掠パラメータの設定、掠領域
データ作成部44による掠領域データの作成、輪郭デー
タ選択部422による全輪郭データの選択、及びインク
データ設定部45によるインクデータの設定について詳
細に説明する。
【0298】(4−3−1)掠パラメータ設定部による
掠パラメータの設定 まず、掠パラメータ設定部43の具体的な動作につい
て、図53乃至図57に示すフローチャートを用いて説
明する。
【0299】先ず、ステップST4−1−1において、
掠パラメータ設定部43に、掠パラメータ選択部43
1、第1の掠パラメータ算出部432、第2の掠パラメ
ータ算出部433のいずれの部を用いるかの指示が、入
力装置1から入力される。
【0300】次に、ステップST4−1−2、ステップ
ST4−1−3、ステップST4−1−4及びステップ
ST4−1−5において、掠パラメータ設定部43は、
ステップST4−1−1で入力された指示に基づいて、
掠パラメータ選択部431、第1の掠パラメータ算出部
432、第2の掠パラメータ算出部433又は掠パラメ
ータ入力部434のいずれの部を用いるかを判断し、掠
パラメータ選択部431を用いるときは図54に示すス
テップST4−1−21へ、第1の掠パラメータ算出部
432を用いるときは図55に示すステップST4−1
−31へ、第2の掠パラメータ算出部433を用いると
きは図56に示すステップST4−1−41へ、掠パラ
メータ入力部434を用いるときは図57に示すステッ
プST4−1−51へ進む。
【0301】図54に示すステップST4−1−21に
おいて、すなわち、掠パラメータ選択部431を用いて
掠パラメータを設定する場合は、この掠パラメータ選択
部431に、予め作成された複数の掠パラメータのう
ち、どの掠パラメータを用いるかの指示が、入力装置1
から入力される。具体的には、予め作成された複数の掠
パラメータについて、各掠パラメータを用いた場合に生
じる掠の例を表示装置5に表示し、これら表示装置5に
表示された複数の掠から、ユーザーがマウス等の入力装
置1で所望する掠を選択することにより、どの掠パラメ
ータを用いるかの指示が、掠パラメータ選択部431入
力される。かくして、所望する掠を生じさせるために必
要な掠パラメータを、ユーザーが容易に指示することが
できる。
【0302】次に、ステップST4−1−22におい
て、掠パラメータ選択部431は、ステップST4−1
−21で入力された指示に基づいて、予め作成された複
数の掠パラメータから掠パラメータを選択し、これを掠
パラメータとして設定し、処理を終了する。
【0303】図55に示すステップST4−1−31に
おいて、すなわち、第1の掠パラメータ算出部432を
用いて掠パラメータを設定する場合は、この第1の掠パ
ラメータ算出部432に、速度分布データと筆圧分布デ
ータがタブレット等の入力装置1から入力される。ただ
し、入力装置1にタブレットを用いる場合は、入力時に
ペンの揺れ等によって入力データに意図していないばら
つきが生じることがある。そこで、速度分布や筆圧分布
が短い区間で大幅に変化する場合は、入力時のペンの揺
れ等に起因する意図していない速度分布や筆圧分布の変
化であるとして、その前後の速度分布や筆圧分布をもと
にデータを補正する。
【0304】次に、ステップST4−1−32におい
て、第1の掠パラメータ算出部432は、ステップST
4−1−31で入力された速度分布データ及び筆圧分布
データを2値化する。そして、第1の掠パラメータ算出
部432は、ステップST4−1−33へ進む。すなわ
ち、例えば、速度分布データについて、運筆方向におけ
る各点の速度vi (i=1、2、3、・・・、g)を、
予め定められた所定値以上のとき、すなわち運筆速度が
速いとき1とし、所定値未満のとき、すなわち運筆速度
が遅いとき0とするとともに、筆圧分布データについて
も同様に、運筆方向における各点の筆圧pi (i=1、
2、3、・・・、g)を、予め定められた所定値以上の
とき、すなわち筆圧が強いとき1とし、所定値未満のと
き、すなわち筆圧が弱いとき0とする。
【0305】具体的には、第1の掠パラメータ算出部4
32は、例えば、図58に示すように、入力装置1から
2値化する前の速度分布データ及び筆圧分布データが入
力されると、所定値を例えば0.5として、図59に示
すように、2値化した速度分布データ及び筆圧分布デー
タを作成する。ただし、図59及び図60に示す速度分
布データ及び筆圧分布データは、説明のために簡略化し
ており、実際には、2値化する前のデータの有効桁数や
全体のデータ数がもっと多い。
【0306】ステップST4−1−33において、第1
の掠パラメータ算出部432は、ステップST4−1−
32で2値化された速度分布データ及び筆圧分布データ
に基づいて、掠運筆データを作成する。そして、第1の
掠パラメータ算出部432は、ステップST4−1−3
4へ進む。
【0307】具体的には、第1の掠パラメータ算出部4
32は、運筆時の掠の状態を示すデータであり、図形内
のgカ所のそれぞれの位置における掠の状態を示すg個
の掠データti (i=1、2、3、・・・、g)から成
る掠運筆データを作成する。ここで、各点の掠データt
i の値の範囲は0から1であり、掠れ方が激しいほど大
きな値が設定され、掠れ方が弱いほど小さな値が設定さ
れる。
【0308】すなわち、速度vi が0で筆圧pi が0の
場合、速度が遅く筆圧が弱いので、あまり掠は生じない
ものとして、掠データti は小さな値(例えば0.3)
とされ、速度vi が1で筆圧pi が0の場合、速度が速
く筆圧が弱いので、掠は生じるものとして、掠データt
i は最大値(すなわち1)とされる。また、速度vi
0で筆圧pi が1の場合は、速度が遅く筆圧が強いの
で、掠は生じないものとして、掠データti は最小値
(すなわち0)とされ、速度vi が1で筆圧pi が1の
場合、速度が速く筆圧が強いので、ある程度の掠が生じ
るものとして、掠データti は大きな値(例えば0.
5)とされる。
【0309】このような掠運筆データの例として、図5
9に示した速度分布データ及び筆圧分布データに基づい
て作成された掠運筆データを、図60に示す。
【0310】ステップST4−1−34において、第1
の掠パラメータ算出部432は、ステップST4−1−
33で作成された掠運筆データに基づいて、掠パラメー
タを算出し、これを掠パラメータとして設定し、処理を
終了する。
【0311】図56に示すステップST4−1−41に
おいて、すなわち、第2の掠パラメータ算出部433を
用いて掠パラメータを設定する場合は、この第2の掠パ
ラメータ算出部433は、輪郭データ読込部42から供
給される全輪郭データが示す図形の形状を示す形状デー
タを作成する。そして、第2の掠パラメータ算出部43
3は、ステップST4−142へ進む。
【0312】ステップST4−1−42において、第2
の掠パラメータ算出部433は、ステップST4−1−
41で作成された形状データに基づいて、掠パラメータ
を算出し、これを掠パラメータとして設定し、処理を終
了する。
【0313】図57に示すステップST4−1−51に
おいて、すなわち、掠パラメータ入力部434を用いて
掠パラメータを設定する場合は、この掠パラメータ入力
部434に、入力装置1等からパラメータc1 乃至c7
が入力される。
【0314】次に、ステップST4−1−52におい
て、掠パラメータ作成部は、ステップST4−1−51
で入力されたパラメータc1 乃至c7 をそのまま掠パラ
メータとして設定し、処理を終了する。
【0315】なお、このような掠パラメータは、1つの
図形内に掠領域が複数存在するとき、すなわち掠領域デ
ータを複数設定するときは、各掠領域データに対応する
ように、複数設定される。
【0316】(4−3−2)掠領域データ作成部による
掠領域データの作成 つぎに、掠領域データ作成部44の具体的な動作につい
て、図61に示すフローチャートを用いて説明する。
【0317】ステップST4−2−1において、掠領域
データ作成部44は、掠領域データを初期化して、例え
ば、全ての掠開始長データ及び掠終了長データを1にす
る。そして、掠領域データ作成部44は、ステップST
4−2−2へ進む。
【0318】ステップST4−2−2において、掠領域
データ作成部44は、パラメータc7 の値を参照し、c
7 の値が1のとき(YESのとき)はステップST4−
2−3へ進み、c7 の値が1でないとき(NOのとき)
はステップST4−2−4へ進む。
【0319】ステップST4−2−3において、掠領域
データ作成部44は、パラメータc3 、c4 によって定
められる掠の幅方向の範囲内に位置する全ての描画軌跡
に対応する掠開始長データ及び掠終了長データに値を設
定する。すなわち、c7 の値が1の場合は、パラメータ
3 、c4 によって定められる掠の幅方向の範囲内は全
て掠領域となる。そして、掠領域データ作成部44は、
これらの掠開始長データ及び掠終了長データに値を設定
した後、処理を終了する。
【0320】具体的には、掠領域データ作成部44は、
掠開始長データとして、例えば、c1 から(c1 +c
5 )の範囲の値をランダムに設定し、掠終了長データと
して、例えば、c2 から(c2 +c6 )の範囲の値をラ
ンダムに設定する。したがって、パラメータc3 、c4
によって定められる掠の幅方向の範囲内に位置する描画
軌跡に対応する掠開始長データは、c1 から(c1 +c
5 )の範囲でばらついた値となり、掠終了長データは、
2 から(c2 +c6 )の範囲でばらついた値となる。
【0321】ステップST4−2−4において、掠領域
データ作成部44は、パラメータc3 、c4 によって定
められる掠の幅方向の範囲内に位置する描画軌跡のう
ち、何本の描画軌跡が掠領域に対応するかを算出する。
そして、掠領域データ作成部44は、ステップST4−
2−5へ進む。すなわち、c7 の値が1でない場合は、
パラメータc3 、c4 によって定められる掠の幅方向の
範囲内が全て掠領域とはならない。具体的には、掠領域
に対応する描画軌跡の数nは、全描画軌跡の数をmとし
たとき、例えば、n=m×|c3 −c4 |×c7 として
算出する。
【0322】ステップST4−2−5において、掠領域
データ作成部44は、パラメータc3 、c4 によって定
められる掠の幅方向の範囲内に位置する描画軌跡から、
ランダムに描画軌跡を1つ選択し、この描画軌跡に対応
する掠開始長データ及び掠終了長データに値を設定す
る。そして、掠領域データ作成部44は、ステップST
4−2−6へ進む。
【0323】具体的には、掠領域データ作成部44は、
掠開始長データとして、例えば、c1 から(c1 +c
5 )の範囲の値をランダムに設定し、掠終了長データに
は、例えば、c2 から(c2 +c6 )の範囲の値をラン
ダムに設定する。したがって、パラメータc3 、c4
よって定められる掠の幅方向の範囲内に位置する描画軌
跡に対応する掠開始長データは、c1 から(c1 +c
5 )の範囲でばらついた値となり、掠終了長データは、
2 から(c2 +c6 )の範囲でばらついた値となる。
【0324】なお、選択された描画軌跡に対応する掠開
始長データ及び掠終了長データに、既に初期値以外の値
が設定されている場合、すなわち、既にこのステップS
T4−2−5の処理が行われている場合、掠領域データ
設定部44は、この描画軌跡に対応する掠開始長データ
及び掠終了長データの値を更新せずに、次の描画軌跡の
選択を行う。
【0325】ステップST4−2−6において、掠領域
データ作成部44は、ステップST4−2−5の処理回
数、すなわち、初期値以外の値が設定された掠開始長デ
ータ及び掠終了長データの数と、ステップST4−2−
4で算出された掠領域に対応する描画軌跡の数nとを比
較して、ステップST4−2−5の処理回数が、ステッ
プST4−2−4で算出された掠領域に対応する描画軌
跡の数n未満のとき(NOのとき)は、ステップST4
−2−5へ戻って処理を繰り返し、ステップST4−2
−5の処理回数が、ステップST4−2−4で算出され
た掠領域に対応する描画軌跡の数nに達したとき(YE
Sのとき)は、処理を終了する。
【0326】なお、このような掠領域データは、掠領域
が複数存在するとき、すなわち掠パラメータが複数設定
されているときは、各掠パラメータに対応するように、
複数設定される。
【0327】(4−3−3)輪郭データ選択部による全
輪郭データの選択 つぎに、輪郭データ選択部422の具体的な動作につい
て、図62に示すフローチャートを用いて説明する。
【0328】ステップST4−3−1において、輪郭デ
ータ選択部422は、全ての全輪郭データから、全輪郭
データが示す図形の長さが最も長い全輪郭データを選択
する。そして、輪郭データ選択部422は、ステップS
T4−3−2へ進む。
【0329】ステップST4−3−2において、輪郭デ
ータ選択部422は、全ての全輪郭データの数に対する
選択された全輪郭データの数を判断し、選択された全輪
郭データの数が1/3以下であるとき(YESのとき)
はステップST4−3−3へ進み、1/3を越えるとき
(NOのとき)はステップST4−3−4へ進む。
【0330】ステップST4−3−3において、輪郭デ
ータ選択部422は、未だ選択されていない全輪郭デー
タであって、ステップST4−3−1で選択された全輪
郭データの前後の全輪郭データを除く全輪郭データの中
から、全輪郭データが示す図形の長さが最も長い全輪郭
データを1つ選択する。そして、輪郭データ選択部42
2は、ステップST4−3−2へ戻って処理を繰り返
す。
【0331】一方、ステップST4−3−4において、
輪郭データ選択部422は、未だ選択されていない全輪
郭データの中から、ランダムに1つ全輪郭データを選択
して、処理を終了する。
【0332】(4−3−4)インクデータ設定部による
インクデータの設定 つぎに、インクデータ設定部45の具体的な動作につい
て、図63に示すフローチャートを用いて説明する。
【0333】ステップST4−4−1において、第1の
画素検出部451は、処理回数フラグiの値を0にした
後、ステップ4−4−2へ進む。
【0334】ステップST4−4−2において、第1の
画素検出部451は、処理回数フラグiの値に1を加算
した後、ステップ4−4−3へ進む。
【0335】ステップST4−4−3において、第1の
画素検出部451は、第1又は第2の輪郭データの座標
点の数wと処理回数フラグiを比較し、i≦wのとき
(YESのとき)はステップST4−4−4へ進み、i
>wのとき(NOのとき)はステップST4−4−8へ
進む。
【0336】ステップST4−4−4において、第1の
画素検出部451は、第1の輪郭データの座標点Ai
第2の輪郭データの座標点Bi とを結ぶ線分li 上の画
素を検出する。ここでiの値は処理回数フラグiの値で
ある。
【0337】次に、ステップST4−4−5において、
インク有無データ設定部455は、掠領域データを参照
して、ステップST4−4−4で検出された画素が掠領
域内にあるかを判断し、画素が掠領域内にあるときは、
当該画素にインク無しの状態を示すようにインク有無デ
ータを設定し、画素が掠の領域内にないときは、当該画
素にインク有りの状態を示すようにインク有無データを
設定する。
【0338】ここで、掠領域が複数存在する場合、すな
わち掠領域データが複数存在する場合は、インク有無デ
ータ設定部455は、全ての掠れ領域データに基づい
て、ステップST4−4−4で検出された画素が掠領域
内にあるかを判断する。
【0339】次に、ステップST4−4−6において、
第1のインク量設定部457は、筆データを参照して、
ステップST4−4−4で検出された画素に、始点から
線分li に至るまでの図形の長さが短い程インクの量が
多くなるようにインク量データを設定する。ただし、ス
テップST4−4−5において当該画素にインク無しの
状態を示すようにインク有無データが設定されている場
合、第1のインク量設定部457は、当該画素のインク
量データは0する。
【0340】次に、ステップST4−4−7において、
第1のインク濃度設定部456は、筆データを参照し
て、ステップST4−4−4で検出された画素に、始点
から線分li に至るまでの図形の長さが短い程インクが
濃くなるようにインク濃度データを設定する。ただし、
ステップST4−4−5において当該画素にインク無し
の状態を示すようにインク有無データが設定されている
場合は、第1のインク濃度設定部456は、当該画素の
インク濃度データは0とする。そして、ステップST4
−4−7が終了したら、ステップST4−4−2へ戻っ
て処理を繰り返す。
【0341】ただし、上記ステップST4−4−5乃至
ステップST4−5−7において、ステップST4−4
−4で検出された画素が複数ある場合は、各画素毎に、
インク有無データ、インク濃度データ及びインク量デー
タの設定を行う。
【0342】一方、ステップST4−4−8において、
第2の画素検出部453は、ステップST4−4−5乃
至ステップST4−4−7でインクデータが設定された
線分li 上の画素と、ステップST4−4−5乃至ステ
ップST4−4−7でインクデータが設定された線分l
i+1 上の画素とを結ぶ線分l上の画素を検出する。そし
て、第2の画像データ設定部454は、線分li 上の画
素に設定されたインクデータと、線分li+1 上の画素に
設定されたインクデータと、この検出された画素と線分
i 上の画素との間の距離と、この検出された画素と線
分li+1 上の画素との間の距離とに基づいて、この検出
された画素におけるインク濃度及びインク量を算出し、
この検出された画素に、インク濃度データ及びインク量
データを設定する。そして、第2の画像データ設定部4
54は、全ての線分l上の、全ての画素に、インク濃度
データ及びインク量データを設定したら、処理を終了す
る。
【0343】ここで、通常は、線分l上の画素は複数検
出されるので、第2の画像データ設定部454は、これ
ら検出された画素毎に、インク濃度及びインク量を算出
し、インク濃度データ及びインク量データを設定する。
【0344】また、線分li 上の画素や線分li+1 上の
画素が複数存在する場合、第2の画素検出部453は、
線分li 上の画素と線分li+1 上の画素とを結ぶ線分l
を、各画素毎に図形の輪郭に沿うように複数設定して、
これら複数の線分l毎に、線分l上の画素を検出する。
ここで、線分li 上の画素の数と線分li+1 上の画素の
数が異なる場合は、図形の幅方向における線分li 上の
画素の位置と、図形の幅方向における線分li+1 上の画
素の位置とが対応するように、線分lを設定する。
【0345】なお、以上の説明では、掠描画の対象とな
る全輪郭データ、すなわち輪郭データ選択部422で掠
描画の対象として選択された全輪郭データにインクデー
タを設定する場合について説明したが、掠描画の対象で
ない全輪郭データ、すなわち、輪郭データ選択部422
で掠描画の対象として選択されなかった全輪郭データに
インクデータを設定する場合、インクデータ設定部45
は、インク有無データを無視して、又はインク有りデー
タを全て有りとして、単に、インク濃度データ及びイン
ク量データを設定する。
【0346】(4−4)データ値の設定方法 つぎに、上記掠描画処理部40において設定する各種デ
ータの具体的な値について説明する。
【0347】(4−4−1)第1の掠パラメータ算出部
による掠パラメータの設定 まず、第1の掠パラメータ算出部432によって設定さ
れる掠パラメータの具体例について説明する。
【0348】この第1の掠パラメータ算出部432で
は、2組の掠パラメータを設定する。ここで、掠パラメ
ータを2組としたのは、実際に紙に筆で文字を書いた場
合に生じる掠は、多くても1画あたり2カ所程度であ
り、2カ所に掠領域を設定すれば、掠を有する文字を表
現するには十分だからである。ただし、掠パラメータ
は、2組に限定されるものではなく、描画する図形によ
って変えてもよいことは言うまでもない。
【0349】また、以下の説明において、掠運筆データ
の掠データti のうち、例えば図64のAの部分のよう
に、ti の値が連続して1となっている部分のことを
「ti=1.0の領域」と呼ぶ。同様に、例えば図64
のBの部分のように、ti の値が連続して0.5となっ
ている部分のことを「ti =0.5の領域」と呼び、例
えば図64のCの部分のように、ti の値が連続して
0.3となっている部分のことを「ti =0.3の領
域」呼ぶ。
【0350】そして、第1の掠パラメータ算出部432
は、例えば、図65乃至図67に示すフローチャートに
従って動作して、掠運筆データに基づいて掠パラメータ
を設定する。
【0351】ステップST4−5−1において、第1の
掠パラメータ算出部432は、2組の掠パラメータを初
期化して、ステップST4−5−2へ進む。具体的に
は、例えば掠パラメータの各パラメータc1 乃至c7
全て0にする。
【0352】ステップST4−5−2において、第1の
掠パラメータ算出部432は、ti=1.0の領域を抽
出し、ti =1.0の領域が1つ以上存在するとき(Y
ESのとき)はステップST4−5−3へ進み、存在し
ないとき(NOのとき)は図66に示すステップST4
−5−13へ進む。
【0353】ステップST4−5−3において、第1の
掠パラメータ算出部432は、ti=1.0の領域を抽
出し、ti =1.0の領域が2つ以上存在する場合は、
ステップST4−5−4へ進み、1つしか存在しない場
合はステップST4−5−6へ進む。
【0354】ステップST4−5−4において、第1の
掠パラメータ算出部432は、ti=1.0の領域を2
つ選択して、ステップST4−5−5へ進む。ここで、
i=1.0の領域の選択は、ti =1.0の領域の長
さが長いものから、すなわちti =1.0の領域におけ
るti の数が多いものから順に2つ選択する。
【0355】ステップST4−5−5において、第1の
掠パラメータ算出部432は、ステップST4−5−4
で選択された2つのti =1.0の領域にそれぞれ対応
するように、下記式(4−2)に従って2組の掠パラメ
ータを設定し、処理を終了する。
【0356】
【数10】
【0357】ここで、Ti は掠パラメータの設定の対象
となる領域におけるti の値、すなわちti =1.0の
領域では1.0、ti =0.5の領域では0.5、ti
=0.3の領域では0.3を示しており、|Ti |は、
この領域の長さを示している。ここで、領域の長さは、
図形長を1として正規化された値であり、0から1の範
囲の値である(以下の図形の長さについても同様であ
る)。
【0358】また、Ti-1 は、掠パラメータの設定の対
象となる領域の一方に隣接するti=0.5又は0.3
の領域におけるti の値を示し、|Ti-1 |は、この領
域の長さを示す。同様に、Ti+1 は、掠パラメータの設
定の対象となる領域の他方に隣接するti =0.5又は
0.3の領域におけるti の値を示し、|Ti+1 |は、
この領域の長さを示す。
【0359】また、Tisは、図形の始点から、掠パラメ
ータの設定の対象として選択されたti =1.0、0.
5又は0.3の領域の開始点までの図形の長さであり、
ieは、図形の始点から、掠パラメータの設定の対象と
して選択されたti =1.0、0.5又は0.3の領域
の終了点までの図形の長さである。
【0360】また、eは、図形の長さ方向における掠の
始まる位置及び終わる位置のばらつきの初期値を示す係
数であり、1/20程度の値が予め設定される。
【0361】ステップST4−5−6において、第1の
掠パラメータ算出部432は、ti=1.0の領域に対
応するように、式(4−2)に従って1組の掠パラメー
タを設定して、ステップST4−5−7へ進む。
【0362】ステップST4−5−7において、第1の
掠パラメータ算出部432は、ti=0.5の領域を抽
出し、ti =0.5の領域が1つ以上存在するとき(Y
ESのとき)はステップST4−5−8へ進み、存在し
ないとき(NOのとき)はステップST4−5−10へ
進む。
【0363】ステップST4−5−8において、第1の
掠パラメータ算出部432は、ti=0.5の領域を1
つ選択して、ステップST4−5−9へ進む。ここで、
i=0.5の領域の選択は、ti =0.5の領域の長
さが最も長いものから、すなわちti =0.5の領域に
おけるti の数が最も多いものを選択する。
【0364】ステップST4−5−9において、第1の
掠パラメータ算出部432は、ステップST4−5−8
で選択されたti =0.5の領域に対応するように、下
記式(4−3)に従って1組の掠パラメータを設定し、
処理を終了する。
【0365】
【数11】
【0366】ステップST4−5−10において、第1
の掠パラメータ算出部432は、t i =0.3の領域を
抽出し、ti =0.3の領域が1つ以上存在するとき
(YESのとき)はステップST4−5−11へ進み、
存在しないとき(NOのとき)は処理を終了する。
【0367】ステップST4−5−11において、第1
の掠パラメータ算出部432は、ti =0.3の領域を
1つ選択して、ステップST4−5−12へ進む。ここ
で、ti =0.3の領域の選択は、ti =0.3の領域
の長さが最も長いもの、すなわちti =0.3の領域に
おけるti の数が最も多いものを選択する。
【0368】ステップST4−5−12において、第1
の掠パラメータ算出部432は、ステップST4−5−
11で選択されたti =0.3の領域に対応するよう
に、下記式(4−4)に従って1組の掠パラメータを設
定し、処理を終了する。
【0369】
【数12】
【0370】一方、図66に示すステップST4−5−
13において、第1の掠パラメータ算出部432は、t
i =0.5の領域を抽出し、ti =0.5の領域が1つ
以上存在するとき(YESのとき)はステップST4−
5−14へ進み、存在しないとき(NOのとき)は図6
7に示すステップST4−5−21へ進む。
【0371】ステップST4−5−14において、第1
の掠パラメータ算出部432は、ti =0.5の領域を
抽出し、ti =0.5の領域が2つ以上存在するとき
(YESのとき)は、ステップST4−5−15へ進
み、1つしか存在しないとき(NOのとき)はステップ
ST4−5−17へ進む。
【0372】ステップST4−5−15において、第1
の掠パラメータ算出部432は、ti =0.5の領域を
2つ選択して、ステップST4−5−16へ進む。ここ
で、ti =0.5の領域の選択は、ti =0.5の領域
の長さが長いものから、すなわちti =0.5の領域に
おけるti の数が多いものから順次に2つ選択する。
【0373】ステップST4−5−16において、第1
の掠パラメータ算出部432は、ステップST4−5−
15で選択された2つのti =0.5の領域にそれぞれ
対応するように、上記式(4−3)に従って2組の掠パ
ラメータを設定し、処理を終了する。
【0374】ステップST4−5−17において、第1
の掠パラメータ算出部432は、ti =0.5の領域に
対応するように、上記式(4−3)に従って1組の掠パ
ラメータを設定して、ステップST4−5−18へ進
む。
【0375】ステップST4−5−18において、第1
の掠パラメータ算出部432は、ti =0.3の領域を
抽出し、ti =0.3の領域が1つ以上存在するとき
(YESのとき)はステップST4−5−19へ進み、
存在しないとき(NOのとき)は処理を終了する。
【0376】ステップST4−5−19において、第1
の掠パラメータ算出部432は、ti =0.3の領域を
1つ選択して、ステップST4−5−20へ進む。ここ
で、ti =0.3の領域の選択は、ti =0.3の領域
の長さが最も長いもの、すなわちti =0.3の領域に
おけるti の数が最も多いものを選択する。
【0377】ステップST4−5−20において、第1
の掠パラメータ算出部432は、ステップST4−5−
19で選択されたti =0.3の領域に対応するよう
に、上記式(4−4)に従って1組の掠パラメータを設
定し、処理を終了する。
【0378】一方、図67に示すステップST4−5−
21において、第1の掠パラメータ算出部432は、t
i =0.3の領域を抽出し、ti =0.3の領域が1つ
以上存在するとき(YESのとき)はステップST4−
5−22へ進み、存在しないとき(NOのとき)は処理
を終了する。
【0379】ステップST4−5−22において、第1
の掠パラメータ算出部432は、ti =0.3の領域を
抽出し、ti =0.3の領域が2つ以上存在するとき
(YESのとき)は、ステップST4−5−23へ進
み、1つしか存在しないとき(NOのとき)はステップ
ST4−5−25へ進む。
【0380】ステップST4−5−23において、第1
の掠パラメータ算出部432は、ti =0.3の領域を
2つ選択して、ステップST4−5−24へ進む。ここ
で、ti =0.3の領域の選択は、ti =0.3の領域
の長さが長いものから、すなわちti =0.3の領域に
おけるti の数が多いものから順に2つ選択する。
【0381】ステップST4−5−24において、第1
の掠パラメータ算出部432は、ステップST4−5−
23で選択された2つのti =0.3の領域にそれぞれ
対応するように、上記式(4−4)に従って2組の掠パ
ラメータを設定し、処理を終了する。
【0382】ステップST4−5−25において、第1
の掠パラメータ算出部432は、ti =0.3の領域に
対応するように、上記式(4−4)に従って1組の掠パ
ラメータを設定して、処理を終了する。
【0383】(4−4−2)第2の掠パラメータ算出部
による掠パラメータの設定 つぎに、第2の掠パラメータ算出部433で設定される
掠パラメータの具体例について説明する。
【0384】第2の掠パラメータ算出部433で、掠パ
ラメータを設定する際は、形状データに基づいて、例え
ば、表1及び表2に示すように図形を分類する。
【0385】
【表1】
【0386】
【表2】
【0387】表1及び表2において、D1 、D2 、D
3 、D4 、D5 、D6 は、図形を分類するために予め設
定される値である。
【0388】そして、表1及び表2において、曲がり点
の数は、曲点データに基づく値であり、所定の角度以上
で曲がっている部分の数を示している。また、図形の長
さは、長さデータに基づく値であり、Lは図形長を示し
ている。また、図形の曲がりは、曲率データに基づく値
であり、r_avgは、曲率データの平均値を示してい
る。すなわち、r_avgの値が小さいほど図形は大き
く曲がっており、r_avgの値が大きいほど図形は余
り曲がっていないこととなる。また、図形の幅は、幅デ
ータに基づく値であり、W_minは、幅データが示す
図形の幅のうち最も小さい値を示し、W_maxは、幅
データが示す図形の幅のうち最も大きい値を示してい
る。
【0389】また、曲がり点間の長さは、曲点データと
長さデータに基づく値であり、曲がり点間における図形
の長さを示している。ここで、Lは、始点から終点に至
る図形の長さである図形長を示し、Li は、i−1番目
の曲がり点からi番目の曲がり点までの図形の長さを示
している。すなわち、L1 は、始点から最初の曲がり点
までの図形の長さを示しており、L2 は、曲がり点の数
が1のとき、曲がり点から終点までの図形の長さを示
し、曲がり点の数が2以上のとき、最初の曲がり点から
2番目の曲がり点までの図形の長さを示しており、L3
は、曲がり点の数が2のとき、2番目の曲がり点から終
点までの図形の長さを示し、曲がり点の数が3のとき、
2番目の曲がり点から3番目の曲がり点までの図形の長
さを示しており、L4 は、曲がり点の数が3のとき、3
番目の曲がり点から終点までの図形の長さを示し、曲が
り点の数が4以上のとき、3番目の曲がり点から4番目
の曲がり点までの図形の長さを示している。
【0390】そして、曲がり点間の平均幅は、曲点デー
タと幅データに基づく値であり、曲がり点間における図
形の平均の幅を示している。ここで、Wi は、i−1番
目の曲がり点からi番目の曲がり点までの図形の平均の
幅を示している。すなわち、W1 は、始点から最初の曲
がり点までの図形の平均の幅を示しており、W2 は、曲
がり点の数が1のとき、曲がり点から終点までの図形の
平均の幅を示し、曲がり点の数が2以上のとき、最初の
曲がり点から2番目の曲がり点までの図形の平均の幅を
示しており、W3 は、曲がり点の数が2のとき、2番目
の曲がり点から終点までの図形の平均の幅を示し、曲が
り点の数が3のとき、2番目の曲がり点から3番目の曲
がり点までの図形の平均の幅を示しており、W4 は、3
番目の曲がり点から終点までの図形の平均の幅を示して
いる。
【0391】そして、第2の掠パラメータ算出部433
は、表1及び表2に示すように分類されたパターンに従
って、表3及び表4に示すような特徴を掠が有するよう
に掠パラメータを設定する。なお、図68乃至図87
に、表3及び表4に示すような特徴を掠が有するように
掠パラメータを設定したときの掠の例を示す。
【0392】
【表3】
【0393】
【表4】
【0394】表3及び表4において、掠領域の位置は、
掠領域の図形の長さ方向における位置を示している。そ
して、「前半部」は、始点側領域に掠が生じる場合を示
し、「後半部」は、終点側領域に掠が生じる場合を示し
ている。ここで、始点側領域とは、図形を2つの領域に
長さ方向に等分したときの始点側の領域のことであり、
終点側領域とは、図形を2つの領域に長さ方向に等分し
たときの終点側の領域のことである。また、「開始部」
は、開始領域に掠が生じる場合を示し、「中間部」は、
中央領域に掠が生じる場合を示し、「終端部」は、終端
領域に、図形の終点に至るまで掠が生じる場合を示して
いる。ここで、開始領域とは、図形を3つの領域に長さ
方向に等分したときの始点側の領域のことであり、中央
領域とは、図形を3つの領域に長さ方向に等分したとき
の中央の領域のことであり、終端領域とは、図形を3つ
の領域に長さ方向に等分したときの終点側の領域のこと
である。また、「曲がり点近傍」は、曲がり点の前後に
掠が生じる場合を示している。
【0395】また、掠領域の長さは、図形長を1とした
ときの掠領域の平均的な長さを示しており、掠領域の幅
は、図形の幅を1としたときの掠領域の幅を示してい
る。ここで、W1 、W2 、W3 は、曲がり点間の平均幅
であり、表1及び表2に示したものと同じである。
【0396】また、掠れ方は、掠の密度を示しており、
「片状掠」は、上述したように、掠れ方が激しく、掠れ
ている部分にあまりインクが存在しない場合を示し、
「線状掠」は、上述したように、掠れ方が弱く、掠れて
いる部分にかなりインクが存在している場合示し、「線
片状」は、ある程度掠れており、掠れている部分にある
程度インクが存在している場合、すなわち、片状掠と線
状掠の中間程度の掠を示している。
【0397】(4−4−3)第1のインク濃度設定部に
よるインク濃度データの設定 つぎに、第1のインク濃度設定部456で設定されるイ
ンク濃度データの具体例について説明する。
【0398】i番目の線分である線分li 上の画素Pに
インク濃度データIdp を設定する際、第1のインク濃
度設定部456は、画素Pを通る描画軌跡に対応する筆
データのインク濃度IDp に基づいて、例えば下記式
(4−5)によりインク濃度データIdp を算出して設
定する。
【0399】 Idp =IDp −a×i ・・・(4−5) ここで、aは、始点から徐々にインク濃度が薄くなる様
子を表現するための係数であり、予め設定される値であ
る。具体的には、例えば0.2程度の値が設定される。
【0400】ただし、第1のインク濃度設定部456
は、式(4−5)で算出されたIdPの値が所定値以下
の場合は、インク濃度データIdP に0を設定する。こ
れにより、インク濃度が所定値以下となった場合には図
形が描画されなくなり、図形の終端部近傍における掠が
表現される。
【0401】また、第1のインク濃度設定部456は、
図形を描画している最中の筆内のインクの流れを考慮し
て、筆データのインク濃度を順次変化させる。具体的に
は、例えば、k番目の描画軌跡に対応する筆データのイ
ンク濃度をIDk 、k−1番目の描画軌跡に対応する筆
データのインク濃度をIDk-1 、k+1番目の描画軌跡
に対応する筆データのインク濃度をIDk+1 としたと
き、第1のインク濃度設定部456は、線分li 上の画
素Pにインク濃度データdpを設定する前に、例えば下
記式(4−6)に従って、筆データの各インク濃度を更
新させる。
【0402】 IDk=IDk+b×(IDk+1−IDk)+b×(IDk-1−IDk) ・・・(4−6) ここで、bは、予め設定される値であり、筆内のインク
の流れを表現するための係数である。ただし、式(4−
6)において、IDk-1 が存在しないとき、すなわち最
初のインク濃度のときは、例えば、IDk-1 =IDk
して計算し、IDk+1 が存在しないとき、すなわち最後
のインク濃度のときは、例えば、IDk+1 =IDk とし
て計算する。
【0403】(4−4−4)第1のインク量設定部によ
るインク量データの設定 つぎに、第1のインク量設定部457で設定されるイン
ク量データの具体例について説明する。
【0404】i番目の線分である線分li 上の画素Pに
インク量データIqp を設定する際、第1のインク量設
定部457は、画素Pを通る描画軌跡に対応する筆デー
タのインク量IQp に基づいて、例えば下記式(4−
7)によりインク量データIqp を算出して設定する。
【0405】 Iqp =IQp ×exp(c×i) ・・・(4−7) ここで、cは、始点から徐々にインク量が薄くなる様子
を表現するための係数であり、予め設定される値であ
る。具体的には、例えば−0.03程度の値が設定され
る。
【0406】ただし、第1のインク量設定部457は、
式(4−7)で算出されたIqP の値が所定値以下の場
合は、インク量データIqP に0を設定する。これによ
り、インク量が所定値以下となった場合には図形が描画
されなくなり、図形の終端部近傍における掠が表現され
る。
【0407】また、第1のインク量設定部457は、図
形を描画している最中の筆内のインクの流れを考慮し
て、筆データのインク量を順次変化させる。具体的に
は、例えば、k番目の描画軌跡に対応する筆データのイ
ンク量をIQk 、k−1番目の描画軌跡に対応する筆デ
ータのインク量をIQk-1 、k+1番目の描画軌跡に対
応する筆データのインク量をIQk+1 としたとき、第1
のインク量設定部457は、線分li 上の画素Pにイン
ク量データIdp を設定する前に、例えば下記式(4−
8)に従って、筆データの各インク量を更新する。
【0408】 IQk=IQk+d×(IQk+1−IQk)+d×(IQk-1−IQk) ・・・(4−8) ここで、bは、予め設定される値であり、筆内のインク
の流れを表現するための係数である。ただし、式(4−
8)において、IQk-1 が存在しないとき、すなわち最
初のインク量のときは、例えば、IQk-1 =IQk とし
て計算し、IQk+1 が存在しないとき、すなわち最後の
インク量のときは、例えば、IQk+1 =IQk として計
算する。
【0409】(4−4−5)第2のインク濃度設定部に
よるインク濃度データの設定 つぎに、第2のインク濃度設定部458で設定されるイ
ンク濃度データの具体例について説明する。
【0410】第2のインク濃度設定部458は、画素R
に、線分li 上の画素Pのインク濃度データIdp と、
線分li+1 上の画素Qのインク濃度データIdq と、線
分li 上の画素Pと画素Rの間の距離PRと、線分l
i+1 上の画素Qと画素Rの間の距離QRとに基づいて、
インク濃度データIdr を設定する際、画素Pと画素Q
の間の距離をPQとして、例えば下記式(4−9)によ
り、インク濃度データIdr を算出して設定する。
【0411】 Idr =Idp ×(PR/PQ)+Idq ×(QR/PQ) ・・・(4−9) (4−4−6)第2のインク量設定部によるインク量デ
ータの設定 つぎに、第2のインク量設定部459で設定されるイン
ク量データについて説明する。
【0412】第2のインク量設定部459は、画素R
に、線分li 上の画素Pのインク量データIqp と、線
分li+1 上の画素Qのインク量データIqq と、線分l
i 上の画素Pと画素Rの間の距離PRと、線分li+1
の画素Qと画素Rの間の距離QRとに基づいて、インク
量データIqr を設定する際、画素Pと画素Qの間の距
離をPQとして、例えば下記式(4−10)により、イ
ンク量データIqr を算出して設定する。
【0413】 Iqr =Iqp ×(PR/PQ)+Iqq ×(QR/PQ) ・・・(4−10) (4−4−7)輝度データ設定部による輝度データの設
定 つぎに、輝度データ設定部46で設定される輝度データ
の具体例について説明する。
【0414】輝度データ設定部46は、上述の紙の繊維
構造データ作成処理部30で作成された紙の繊維構造デ
ータと、第1及び第2の画像データ設定部454で設定
された画像データに基づいて、画素Pにおける輝度Iを
設定する。すなわち、画素Pのインク濃度データをId
p 、画素Pのインク量データをIqp 、画素Pにおける
紙の繊維構造データの繊維の数をMとしたとき、輝度デ
ータ設定部46は、例えば下記式(4−11)及び式
(4−12)により、各画素における輝度Iを算出して
設定する。ただし、ここで、輝度Iの値の範囲は0から
1であるとして、輝度Iの初期値は1であるとした。
【0415】 M>6のとき、I=1−f×Idp ×Iqp ・・・(4−11) M≦6のとき、I=1 ・・・(4−12) ただし、式(4−11)において、fは予め適当な値に
設定される係数である。また、式(4−12)におい
て、Iの値が1を越える場合は、Iの値は1として設定
する。
【0416】このように輝度Iを設定することにより、
紙の繊維構造の掠に対する影響を考慮することができ、
掠を有する図形をより現実的に表現することができる。
【0417】なお、以上の説明では、インクデータとし
て、インク濃度データとインク量データの両方を設定し
てきたが、データを簡略化するために、インク濃度デー
タだけ、あるいはインク量データだけを用いて処理を行
ってもよい。このとき、画素Pにおける輝度Iは、例え
ば、単に式(4−11)を下記式(4−13)又は式
(4−14)に変更して算出すればよい。
【0418】 M>6のとき、I=1−f×Iqp ・・・(4−13) M>6のとき、I=1−f×Idp ・・・(4−14) (5)にじみ描画処理部 つぎに、にじみ描画処理部50の一具体例について、図
88乃至図111を参照しながら説明する。
【0419】紙にインクを用いて図形を描画すると、図
形のまわりににじみが生じる。このにじみ描画処理部5
0では、モデル化されたにじみの現象に基づいて、にじ
みの元となる図形を示す画像データから、にじみを有す
る図形を表示するための画像データを作成する。そし
て、このようににじみ描画処理部50で作成されたにじ
みを有する図形の画像データが表示装置1に供給され
て、表示装置1の表示画面ににじみを有する図形が描画
される。
【0420】ここで、にじみの現象をモデル化する際に
は、にじみの元となる図形内のインクの量や濃度等の情
報が必要である。したがって、このにじみ描画処理部5
0でにじみを有する図形の画像データを作成する際に、
にじみの元となる図形の画像データは、図形内のインク
の量や濃度のデータを含んでいる。このような画像デー
タとしては、具体的には、例えば、上述の掠描画処理部
40で作成された画像データがある。
【0421】(5−1)にじみ現象のモデル化 実際に紙にインクを用いて描画した際に生じるにじみ
は、紙を構成する繊維の間隙をインクが流れることによ
って拡がっていく(以下、インクが流れる繊維の間隙を
「毛細管」という。)。そして、にじんだ部分の色の濃
さは、紙に吸収されたインク、すなわち紙を構成する繊
維の間隙に留まったインクの量や濃さによって決まる。
したがって、にじみ現象をモデル化するためには、イン
クの流れ方をモデル化するとともに、繊維の間隙に留ま
るインクの量、及び繊維の間隙に留まるインクの濃さを
算出する必要がある。そこで、以下、インクの流れ方を
モデル化、繊維の間隙に留まるインクの量の算出、及び
繊維の間隙に留まるインクの濃さの算出について説明す
る。
【0422】(5−1−1)インクの流れ方のモデル化 まず、インクの流れ方のモデル化について説明する。
【0423】上述したように、にじみは、毛細管の中を
インクが流れることにより拡がっていく。そこで、この
ようなインクの流れ方は、例えば、紙を複数の微小な領
域(以下、この微小な領域を「画素」という。)から成
るものとして、隣接する画素間でのインクの流れは、隣
接する画素間が毛細管によって連結している場合にはイ
ンクが流れ、隣接する画素間が毛細管によって連結して
いない場合にはインクが流れないものとしてモデル化す
ることができる。
【0424】このとき、ある画素にインクが流入してき
たとき、インクは当該画素内の繊維の間隙に留まり吸収
されるが、このインクの吸収のされ方は、例えば、当該
画素で吸収しきれない分のインクが毛細管が連結した次
の画素へ流出していくものとしてモデル化することがで
きる。
【0425】このように紙を複数の画素から成ると考
え、各画素を連結する毛細管を通ってインクが流れると
ともに、インクが流入した画素でインクが吸収されるも
のとして、インクの流れ方をモデル化し、各画素におい
て吸収されたインクの集合によって、にじみが生じるも
のとすることにより、にじみをより現実的に表現するこ
とができる。
【0426】(5−1−2)繊維の間隙に留まるインク
の量 つぎに、繊維の間隙に留まるインクの量について図面を
参照しながら説明する。ただし、以下の説明では、上述
したインクの流れ方のモデルに沿うように、紙は複数の
画素から成るものとして、1つの画素内の繊維の間隙に
留まるインクの量を算出する。
【0427】紙を構成する繊維は二次元(平面)の構造
であるとし、1つの画素内の繊維の間隙に留まるインク
の量は、1つの画素内の繊維の間隙に留まるインクが占
める領域の面積に比例するものとする。
【0428】そこで、例えば、図88に示すように、画
素P内に交差角θの2本の繊維FI1 、FI2 が存在す
るものとして、この画素P内において、これら2本の繊
維FI1 、FI2 の間隙に留まるインクが占める領域の
面積を考える。これら2本の繊維FI1 、FI2 の間隙
に留まるインクは、図88の斜線部分のように、2本の
繊維FI1 、FI2 が交差する部分に留まり、このとき
繊維FI1 、FI2 と接していない部分は、インクの表
面張力によって湾曲した形となる。
【0429】したがって、2本の繊維FI1 、FI2
間隙に留まるインクが占める領域は、例えば、図89の
斜線部分のように、2本の繊維FI1 、FI2 と、2本
の繊維FI1 、FI2 に内接する2つの半径R1 の円と
で囲まれた領域として近似することができる。ここで、
半径R1 は、インクの表面張力に基づいて定まる定数で
ある。
【0430】このように近似すると、2本の繊維FI
1 、FI2 の交差角θが小さくなるに従って、2本の繊
維FI1 、FI2 の間隙に留まるインクが占める領域が
大きくなる。しかし、実際には、2本の繊維FI1 、F
2 の交差角θがある値よりも小さい場合は、画素内の
2本の繊維FI1 、FI2 の間隙に留まるインクが占め
る領域は逆に小さくなっていく。そこで、2本の繊維F
1 、FI2 の交差角θが所定の角度θa 未満のとき
は、θに比例して2本の繊維FI1 、FI2 の間隙に留
まるインクが占める領域は大きくなるものとして近似す
る。
【0431】以上のように、2本の繊維FI1 、FI2
の間隙に留まるインクが占める領域を近似すると、画素
内の2本の繊維FI1 、FI2 の間隙に留まるインクが
占める領域の面積s(θ)は、θの関数として、下記式
(5−1)及び式(5−2)で表される。
【0432】 s(θ)=2×R2 ×{cos(θ/2)/sin(θ/2) +(θ−π)/2} (ただし、θ≧θa のとき) ・・・(5−1) s(θ)=2×R2 ×{cos(θa /2)/sin(θa /2) +(θa −π)/2}/θ (ただし、θ<θa のとき) ・・・(5−2) つぎに、図90に示すように、画素P内にn本の繊維F
1 、FI2 、・・・、FIn-1 、FIn が存在すると
き、この画素P内において、これらn本の繊維FI1
FI2 、・・・、FIn-1 、FIn の間隙に留まるイン
クが占める領域の面積は以下のようになる。ここで、こ
れらn本の繊維FI1 、FI2 、・・・、FIn-1 、F
n について、例えば図90に示すように、繊維FI1
を基準としたとき、それぞれの繊維の角度をθi (i=
1、2、3、・・・、n−1)とし、互いに隣接する繊
維の交差角を、Δθi (i=1、2、・・・、n−1)
とする。このとき、画素P内のn本の繊維FI1 、FI
2 、・・・、FIn-1 、FIn の間隙に留まるインクが
占める領域の面積q(n)は、例えば、上記式(5−
1)及び式(5−2)により求められるs(θ)を用い
ることにより、nの関数として、下記式(5−3)で表
される。
【0433】
【数13】
【0434】したがって、繊維の数nの画素におけるイ
ンクの吸収量Uは、インクの吸収量Uとインクが占める
領域の面積q(n)との比例定数をαとすると、下記式
(5−4)で表すことができる。
【0435】
【数14】
【0436】すなわち、当該画素の繊維の数nと、互い
に隣接する繊維の交差角Δθi が分かれば、当該画素に
おけるインクの吸収量Uを求めることができる。
【0437】(5−1−3)繊維の間隙に留まるインク
の濃さ つぎに、繊維の間隙に留まるインクの濃さについて図面
を参照しながら説明する。ただし、以下の説明では、図
91に示すように、毛細管MOの形状は円筒状の管であ
るとして、インクはこの円筒状の毛細管MOの中を流れ
るものとする。そして、毛細管MO内におけるインクの
流動方向をxで表し、毛細管MOの中心を原点として毛
細管MO内の径方向をrで表し、時間をtで表す。ここ
で、毛細管MOの半径はr0 とする。
【0438】インクは、水等の溶媒中にインク粒子が拡
散して成るものであり、インクの濃さはインク粒子数に
よって定まるものである。そして、このようなインクが
毛細管の中を流れていくときは、流れの先端部ほどイン
ク粒子は少なくる。したがって、インクが毛細管の中を
流れていくときは、流れの先端部ほどインクは薄くなっ
ていく。このように、毛細管の中でばらつきのあるイン
クの濃さを算出するには、毛細管内におけるインク粒子
の拡散について考えればよい。
【0439】毛細管内におけるインク粒子の拡散は、拡
散しているインク粒子について、時刻t、位置(x,
r)におけるインク粒子数をn(x,r,t)で表し、
半径rの位置におけるx方向に流れるインクの速度をv
(r)で表し、インク粒子のr方向の拡散の程度を表す
定数をD0 とすると、下記式(5−5)に示す偏微分方
程式で表すことができる。
【0440】
【数15】
【0441】ここで、インクの速度v(r)は、x方向
の位置には依存せず、r方向の位置だけに依存してお
り、毛細管の中心の方が速く、毛細管の壁面の近傍の方
が遅くなっている。そして、r=0の位置におけるイン
クの速度をvmax とすると、例えば、下記式(5−6)
で表すことができる。
【0442】 v(r)=vmax ×{1−(r/r02 } ・・・(5−6) そして、式(5−5)に示す偏微分方程式を、tの微小
変化量をΔt、xの微小変化量をΔx、rの微小変化量
をΔrとして差分化すると、例えば、下記式(5−7)
に示す差分方程式が得られる。
【0443】 n(x,r,t+Δt)=n(x,r,t) −Δt/Δx×v(r)×n(x,r,t) +Δt/Δx×v(r)×n(x−Δx,r,t) +D0 ×Δt/Δr2 ×n(x,r+Δr,t) +D0 ×Δt/Δr2 ×n(x,r−Δr,t) −2×D0 ×Δt/Δr2 ×n(x,r,t) ・・・(5−7) 式(5−7)において、左辺は、時刻t+Δt、位置
(x,r)におけるインク粒子数を表している。そし
て、右辺第1項は、時刻t、位置(x,r)におけるイ
ンク粒子数を表し、右辺第2項は、時刻t、位置(x,
r)におけるインク粒子数のうち、時刻t+Δtのとき
に位置(x,r)からx方向に流れ出すインク粒子数を
表し、右辺第3項は、時刻t、位置(x−Δx,r)に
おけるインク粒子数のうち、時刻t+Δtのときに位置
(x,r)へ流れ込むインク粒子数を表し、右辺第4項
は、時刻t、位置(x,r+Δr)におけるインク粒子
数のうち、時刻t+Δtのときに位置(x,r)へ拡散
するインク粒子数を表し、右辺第5項は、時刻t、位置
(x,r−Δr)におけるインク粒子数のうち、時刻t
+Δtのときに位置(x,r)へ拡散するインク粒子数
を表し、右辺第6項は、時刻t、位置(x,r)におけ
るインク粒子数のうち、時刻t+Δtのときに位置
(x,r)からr方向に拡散するインク粒子数を表して
いる。
【0444】そして、式(5−7)に対して、初期条件
を設定すれば、時刻t、位置(x,r)におけるインク
粒子数n(x,r,t)を順次求めることができる。こ
こで、n(x,r,t)を順次求める際に、拡散により
毛細管の壁面まで到達したインク粒子に関しては、例え
ば、このようなインク粒子は毛細管の壁面に付着して、
これ以上は拡散しないものと考えて、n(x,r0
t)=0として計算することができる。
【0445】式(5−7)を解くときの初期条件は、例
えば、インクが流れ出すとき(t=0のとき)は、イン
ク粒子はx=0の位置だけに存在し、そのr方向の分布
は均一であるとすることができる。すなわち、n(x,
r,0)=0(ただし、x>0)、n(0,r,0)=
0 (ただし、n0 は定数)となる。
【0446】ところで、時刻tにおけるxの位置のイン
ク粒子数のr方向の合計V(x,t)は、下記式(5−
8)に示すように、時刻tにxの位置を流れるインク粒
子数R(x,t)と、時刻tにxの位置の毛細管の壁面
に付着したインク粒子数Q(x,t)との合計で表すこ
とができる。
【0447】 V(x,t)=R(x,y)+Q(x,t) ・・・(5−8) かくして、時刻tにxの位置を流れるインク粒子数R
(x,t)は、n(x,r,t)に基づいて算出するこ
とができ、下記式(5−9)で表される。
【0448】
【数16】
【0449】一方、時刻tにxの位置の毛細管の壁面に
付着したインク粒子数Q(x,t)は、n(x,r,
t)に基づいて算出することができ、下記式(5−1
0)で表される。
【0450】
【数17】
【0451】以上のような計算により、時刻tにおける
xの位置のインク粒子数のr方向の合計V(x,t)を
求めることができる。そして、時刻tにおけるxの位置
のインクの濃さは、このV(x,t)に比例する。した
がって、時刻tにおけるxの位置のインクの濃さは、V
(x,t)に適当な係数を乗じることにより表すことが
できる。
【0452】(5−2)にじみ描画処理部の構成 つぎに、このようなにじみを有する図形の画像データを
作成するにじみ描画処理部50の具体的な構成について
説明する。
【0453】にじみ描画処理部50は、例えば、図92
に示すように、にじみの元となる図形の輪郭上の画素P
を検出する輪郭上画素検出部51と、上記輪郭上画素検
出部51で検出された画素Pにインク初期量U0 を画像
データとして予め設定するインク初期量設定部52と、
上記図形の輪郭上の画素Pにインク初期濃度V0 を画像
データとして予め設定するインク初期濃度設定部53
と、上記輪郭上画素検出部51で検出された画素Pに対
する上記紙の繊維構造データ作成処理部30によって作
成された紙の繊維構造データの毛細管の数Si (i=
1、2、3、4、5、6、7、8)に基づいて、画素P
に毛細管によって連結された画素を検出する連結画素検
出部54と、上記連結画素検出部54で検出された画素
にインクの存在を示すデータを画像データとして設定す
る画像データ設定部55と、上記連結画素検出部54と
画像データ設定部55の動作の繰り返しを制御する制御
部56とを備える。ここで、にじみの元となる図形と
は、例えば、上述の掠描画処理部40で作成された画像
データが示す図形である。すなわち、このにじみ描画処
理部50は、例えば、掠描画処理部40で作成されメモ
リ3に一旦記憶されている画像データを読み出して、こ
の画像データを元にしてにじみ描画処理を行う。
【0454】具体的には、にじみの元となる図形の画像
データが、例えば、入力装置1、メモリ3、外部記憶装
置4等から読み込まれて、このにじみ描画処理部50の
輪郭上画素検出部51に供給される。
【0455】具体的には、にじみの元となる図形の画像
データが、例えば、入力装置1、メモリ3、外部記憶装
置4等から読み込まれて、このにじみ描画処理部50の
輪郭上画素検出部51に供給される。
【0456】そして、輪郭上画素検出部51は、このに
じみの元となる図形の画像データに基づいて、その図形
の輪郭上の画素Pを検出する。ここで、図形の輪郭上の
画素が複数ある場合は、輪郭上画素検出部51は、これ
らの画素を順次検出する。ところで、にじみの元となる
図形の画像データは、輪郭上の画素が検出できるもので
あればよく、例えば、上述のフォント作成処理部20で
作成されたフォントに基づく、文字や記号のストローク
の輪郭を示す画像データのように、輪郭の情報だけから
成る画像データであってもよい。
【0457】インク初期量設定部52は、輪郭上画素検
出部51で検出された画素Pに対して、インク初期量U
0 を画像データとして設定する。同様に、インク初期濃
度設定部53は、輪郭上画素検出部51で検出された画
素Pに対して、インク初期濃度V0 を画像データとして
設定する。なお、インク初期量U0 やインク初期濃度V
0 の値は、予め定められた所定の値にしたり、外部記憶
装置4に予め記憶されていた値としたり、入力装置1か
ら入力された値とする。また、例えば掠描画処理部40
で作成された画像データのように、にじみの元となる図
形の画像データに、予めインク初期量U0 やインク初期
濃度V0 の情報を含ませておき、この情報に基づいて、
インク初期量設定部52やインク初期濃度設定部53に
よって、インク初期量U0 やインク初期濃度V0 を設定
するようにしてもよい。あるいは、インク初期量設定部
52やインク初期濃度設定部53を用いず、にじみの元
となる図形の画像データに、予めインク初期量U0 やイ
ンク初期濃度V0 を設定しておくようにしてもよい。
【0458】そして、このように輪郭上画素検出部51
で検出され、インク初期量V0 及びインク初期濃度V0
が設定された画素Pは、輪郭上画素検出部51から輪郭
画素検出部へ供給される。
【0459】連結画素検出部54は、輪郭上画素検出部
51で検出された画素Pに毛細管によって連結された画
素を、画素Pに対応する毛細管の数Si (i=1、2、
3、4、5、6、7、8)に基づいて検出する。具体的
には、毛細管の数Si は、紙の繊維構造データ作成処理
部30により作成された紙の繊維構造データに含まれる
データであり、0以上の整数値である。
【0460】ここで、連結画素検出部54は、例えば、
画素Pの毛細管の数Si が1以上のとき、当該毛細管の
数Si に対応する画素Pi を画素Pに連結された画素と
して検出する。具体的には、例えば、図93に示すよう
に、画素Pに隣接する画素P1 、P3 、P5 の各方向に
対応する画素Pの毛細管の数S1 、S3 、S5 が1であ
り、画素Pに隣接する画素P2 、P4 、P6 、P7 、P
8 の各方向に対応する画素Pの毛細管の数S2 、S4
6 、S7 、S8 が0のときは、連結画素検出部54
は、画素P1 、P3 、P5 を、画素Pに毛細管によって
連結された画素として検出する。
【0461】あるいは、連結画素検出部54は、例え
ば、画素Pの毛細管の数Si が1以上であるとともに、
当該毛細管の数Si に対応する画素Pi の毛細管の数S
j (j=1、2、3、4、5、6、7、8)が1以上で
あるとき、画素Piを画素Pに連結された画素として検
出する。具体的には、例えば、図94に示すように、画
素Pに隣接する画素P1 、P3 、P5 の各方向に対応す
る画素Pの毛細管の数S1 、S3 、S5 が1であり、画
素Pに隣接する画素P2 、P4 、P6 、P7 、P8 の各
方向に対応する画素Pの毛細管の数S2 、S4 、S6
7 、S8 が0であり、画素P1 の毛細管の数のうち画
素P方向に対応する毛細管の数S5 が1であり、画素P
3 の毛細管の数のうち画素P方向に対応する毛細管の数
7 が1であり、画素P5 の毛細管の数のうち画素P方
向に対応する毛細管の数S1 が0である場合、連結画素
検出部54は、画素P1 、P3 を画素Pに毛細管によっ
て連結された画素として検出する。
【0462】このように連結画素検出部54で検出され
た、画素Pに毛細管によって連結された画素は、連結画
素検出部54から画像データ設定部55へ供給される。
【0463】そして、画像データ設定部55は、画素P
に毛細管によって連結された画素に対して、インクの存
在を示すデータを画像データとして設定する。ここで、
画像データ設定部55は、画素Pに設定されたインク初
期量U0 が0以下のときには、当該画素Pから拡散する
インクは存在しないものとして、画素Pに毛細管によっ
て連結された画素に対してインクの存在を示すデータの
設定を行わず、画素Pについてのにじみの描画処理を終
了する。
【0464】また、画像データ設定部55は、インクの
存在を示すデータが設定された画素毎に、当該画素にお
けるインク吸収量Uを算出し、このインク吸収量Uも画
像データとして設定する。ここで、インク吸収量Uは、
インクの存在を示すデータの設定を兼ねるものとして、
インク吸収量Uが0以上の場合には、インクが存在して
いるものとしてもよい。ここで、インク吸収量Uは、上
述のにじみ現象のモデル化で説明したように、例えば、
下記式(5−11)に基づいて求めればよい。
【0465】
【数18】
【0466】式(5−11)において、nは当該画素の
繊維の数Mであり、紙の繊維構造データを参照して得ら
れる。そして、Δθi は、互いに隣接する繊維の交差
角、すなわちi番目の繊維と、i番目の繊維と隣接する
(i+1)番目の繊維との交差角であり、画像データ設
定部55にて、(Δθ1 +Δθ2 +・・・+Δθn-1
の値がπ以下となるように、それぞれ0≦Δθi ≦πの
範囲でランダムに設定される。また、Rはインクの表面
張力に基づいた定数であり、予め定められた所定の値と
しても、ユーザが自由に値を設定できるように、入力装
置1によって値を入力するようにしてもよい。また、α
は任意に設定される比例定数であり、インク吸収量が多
い場合はαは大きな値であり、インク吸収量が少ない場
合はαは小さな値である。このαは、予め定められた所
定の値としても、ユーザが自由に値を設定できるよう
に、入力装置1によって値を入力するようにしてもよ
い。また、θa は、繊維の間隙に留まるインクの量の算
出方法を規定する定数であり、具体的には、例えば、π
/4である。
【0467】なお、U(n)は、式(5−11)に基づ
いて、nが0以上の整数の場合について予め算出して、
nの一次元配列として予め設定しておく。そして、画像
データ設定部55は、インク吸収量Uを求めるときに、
この予め設定された一次元配列を参照して、当該画素の
繊維の数Mに対応するインク吸収量Uの値を求める。こ
れにより、インク吸収量Uを設定する度に、式(5−1
1)の計算を行って、インク吸収量Uを算出する必要が
無くなり、大幅に処理時間を短くすることができる。
【0468】また、式(5−11)で算出されるインク
吸収量Uは、画素に吸収されるインク量の最大値、すな
わち最大インク吸収量Umax であり、画素に流入してく
るインクの量がこの最大インク吸収量Umax よりも少な
い場合は、当然のことながら、画像データ設定部55
は、画素に流入してきたインクの量、すなわち最大イン
ク吸収量Umax よりも少ないインクの量を、インク吸収
量Uとして画像データに設定する。
【0469】さらに、画像データ設定部55は、インク
の存在を示すデータが設定された画素毎に、当該画素に
おけるインク濃度Vを算出して、このインク濃度Vも画
像データとして設定する。ここで、インク濃度Vは、上
述のにじみ現象のモデル化に基づいて、時刻t、位置x
におけるインク粒子数V(x,t)を算出して、例え
ば、下記式(5−12)にように求める。
【0470】 V=V0 ×V(x,t) ・・・(5−12) ここで、V0 は、にじみの元となる図形の輪郭上の画素
に設定されたインク初期濃度V0 である。また、xは、
図形の輪郭から当該画素に到達するまでにインクが通っ
た毛細管の長さを表しており、具体的には、連結画素検
出部54で順次検出された、毛細管が連結した一連の画
素の数である。また、tは、図形の輪郭から当該画素に
インクが到達するまでの時間を表しており、具体的に
は、当該画素のインク濃度Vを算出するまでに行われた
連結画素検出部54と画像データ設定部55の動作の繰
り返しの回数である。
【0471】ここで、V(x,t)は、式(5−8)乃
至式(5−10)に基づいて、x及びtが0以上の整数
の場合について予め算出して、xとtの二次元配列とし
て予め設定しておく。そして、画像データ設定部55
は、インク濃度Vを求めるときに、この予め設定された
二次元配列から、連結画素検出部54で順次検出され
た、毛細管が連結した一連の画素の数x、当該画素のイ
ンク濃度Vを算出するまでに行われた連結画素検出部5
4と画像データ設定部55の動作の繰り返しの回数tに
対応するV(x,t)の値を参照して、式(5−12)
に示した計算を行って、インク濃度Vの値を求める。こ
れにより、インク濃度Vを設定する度に、式(5−8)
乃至式(5−10)の計算を行って、V(x,t)を算
出する必要が無くなり、大幅に処理時間を短くすること
ができる。
【0472】そして、画像データ設定部55は、このよ
うに求めたインク吸収量Uとインク濃度Vを乗じて、当
該画素の輝度Iを算出して、この輝度Iも画像データと
して設定する。
【0473】そして、このにじみ描画処理部50では、
このように画像データ設定部55で画像データが設定さ
れた画素を、輪郭上画素検出部51で検出された画素P
として連結画素検出部54に供給し、連結画素検出部5
4と画像データ設定部55の動作を繰り返すことによ
り、にじみが順次拡がっていくのと同じように、にじみ
を表す画像データを順次設定していく。
【0474】ただし、連結画素検出部54と画像データ
設定部55の動作を繰り返す際に、一旦インクが流入し
た画素には、新たにインクが流入することはないものと
して、画像データが既に設定されている画素に対して
は、新たな画像データを設定しないようにする。すなわ
ち、にじみの元となる図形が占める領域に対応する画素
や、既に画像データ設定部55で画像データが設定され
た画素に対しては、画像データ設定部55による画像デ
ータの設定は行わないようにする。
【0475】そして、この連結画素検出部54と画像デ
ータ設定部55の動作の繰り返しは制御部56によって
制御される。
【0476】この制御部56は、にじみによって拡散す
るインクの量が、にじみの元となるインクの量であるイ
ンク初期量U0 に達したときに、にじみが止まるものと
して、連結画素検出部54と画像データ設定部55の動
作の繰り返しを制御する。
【0477】具体的には、制御部56は、例えば、画像
データ設定部55で算出されたインク吸収量Uを、連結
画像検出部54で検出された全ての画素について合計
し、上記合計の値が、インク初期量U0 に達したら、連
結画像検出部54及び画像データ設定部55の繰り返し
動作を停止するように制御する。
【0478】あるいは、制御部56は、インク初期量設
定部52で設定されたインク初期量U0 から画像データ
設定部55で算出されたインク吸収量Uを、連結画像検
出部54で検出された画素において順次減じてインク残
量Urestを順次求め、このインク残量Urestを、新たな
インク初期量U0 として輪郭上画素検出部51で検出さ
れた画素Pに設定するとともに、新たなインク初期量U
0 が0以下となったとき、連結画像検出部54及び画像
データ設定部55の繰り返し動作を停止するように制御
する。
【0479】また、制御部56は、にじみの元となる図
形の輪郭上でのインクの流れを考慮するために、インク
初期量U0 が、輪郭上画素検出部51で検出された画素
であって、隣接する画素間で異なる場合、例えば、イン
ク初期量U0 が多い方の画素のインク初期量U0 を減ら
し、インク初期量U0 が少ない方の画素のインク初期量
0 を増やした上で、連結画像検出部及び画像データ設
定部55の繰り返し動作の制御を行う。ただし、インク
は時間の経過に従って徐々に流れるので、制御部56
で、インク初期インク初期量U0 が多い方の画素のイン
ク初期量U0 を減らしたり、インク初期量U0 が少ない
方の画素のインク初期量U0 を増やしたりする際には、
例えば、連結画像検出部及び画像データ設定部55の繰
り返し動作毎に徐々に行うようにする。
【0480】そして、画像データ設定部55は、以上の
ようにして各画素に設定した画像データのうち輝度Iを
表示装置5に供給する。そして、表示装置5は、この輝
度Iに基づいた画像を表示装置に表示する。かくして、
このにじみ描画処理部50では、にじみを有する図形を
現実的に描画することができる。
【0481】なお、上述の実施例では、画像データ設定
部によるインク濃度V及び輝度Iの設定は、連結画像検
出部及び画像データ設定部55の繰り返し動作毎に行う
ものとしたが、にじみが生じた結果の図形だけを表示装
置5に表示する場合には、にじみによるインクの拡散が
終了したときのインク濃度V及び輝度Iが分かればよい
ので、連結画素検出部54と画像データ設定部55の動
作の繰り返しの最後にだけインク濃度V及び輝度Iの設
定を行うようにしてもよい。
【0482】また、画像データ設定部55から表示装置
5への画像データの供給は、にじみが生じた結果の図形
だけを表示装置5に表示するときは、連結画素検出部5
4と画像データ設定部55の動作の繰り返しが終了した
後、すなわち、にじみ描画処理部50での画像データの
作成が終了した後に行う。しかし、にじみの元となる図
形からにじみが拡がっていく様子を表示装置5に順次表
示するときは、連結画素検出部54と画像データ設定部
55の動作を繰り返す毎に、すなわち画像データ設定部
55で画像データを設定する毎に、画像データ設定部5
5は、表示装置5への画像データの供給を行う。すなわ
ち、連結画素検出部54と画像データ設定部55の動作
を繰り返す毎に、画像データ設定部55は、輝度Iを表
示装置5に供給して、この輝度Iに基づく図形を表示装
置5に順次表示する。かくして、にじみの元となる図形
からにじみが拡がっていく様子を表示装置5に順次表示
することができる。
【0483】(5−3)にじみ描画処理 つぎに、にじみ描画処理部50の具体的な動作について
説明する。ただし、以下の説明では、初めににじみ描画
処理に関する言葉とにじみ描画処理で使用するデータに
ついて説明し、その後にフローチャートを用いて、にじ
み描画処理部50の動作について説明する。
【0484】(5−3−1)にじみ描画処理に関する言
葉 以下の説明では、にじみの元となる図形の輪郭に対応す
る画素を「輪郭画素」と呼ぶ。そして、この輪郭画素か
ら、毛細管によって連結された画素を伝わって、インク
が拡散することによってにじみが生じる。また、輪郭画
素のうち、インク拡散の下流にある画素A1 に対するに
じみの元となる輪郭画素、すなわち画素A1 からインク
の流れを遡ったときに到達する輪郭画素を「画素A1
対するにじみ元輪郭画素」と呼ぶ。
【0485】そして、にじみ描画処理を行う際に、ある
画素A1 と毛細管によって連結された下流の画素が2つ
以上検出された場合、画素A1 を「分岐点画素」と呼
ぶ。具体的には、例えば、図95に示すように、画素A
1 に対して、下流の2つの画素B1 及び画素C1 が、毛
細管によって連結された画素として検出された場合は、
画素A1 を分岐点画素と呼ぶ。
【0486】また、画素A1 にインクが流入してきた場
合、この画素A1 からインクの流れを遡り、画素A1
向かう方向以外の方向に対してインクが流れている分岐
点画素を「画素A1 に対するインク流分岐点画素」と呼
び、画素A1 から、画素A1に対するインク分岐点画素
に至る、毛細管によって連結された一連の画素を「画素
1 からインク流分岐点画素までの一群の画素」と呼
ぶ。ただし、画素A1 からインクの流れを遡ったときに
画素A1 に対するインク流分岐点画素が存在しない場合
は、画素A1 から、画素A1 に対するにじみ元輪郭画素
に至る、毛細管によって連結された一連の画素を「画素
1 からインク流分岐点画素までの一群の画素」と呼
ぶ。
【0487】したがって、例えば、図96に示すよう
に、毛細管によって連結された一連の画素A1 、A2
3 と、毛細管によって連結された一連の画素C1 、C
2 、C3 、C4 、C5 が存在し、画素A3 と画素C3
毛細管によって連結されていて、毛細管によって連結さ
れた一連の画素C1 、C2 、C3 、C4 、C5 の中をイ
ンクが流れている場合、画素C3 が画素A1 に対するイ
ンク流分岐点画素であり、画素A1 、A2 、A3 が画素
1 からインク流分岐点画素までの一群の画素である。
【0488】また、例えば、図97に示すように、毛細
管によって連結された一連の画素A1 、A2 、A3 と、
毛細管によって連結された一連の画素C1 、C2 、C
3 、C4 、C5 と、毛細管によって連結された一連の画
素D1 、D2 、D3 、D4 、D5 が存在し、画素A3
画素C3 が毛細管によって連結され、画素C5 と画素D
3 が毛細管によって連結されていて、画素C1 、C2
中のインクの流れが止まっており、毛細管によって連結
された一連の画素D1 、D2 、D3 、D4 、Dの中を
インクが流れている場合、画素D が画素A1 に対す
るインク流分岐点画素であり、画素A1 、A2 、A3
3 、C4 、C5 が画素A1 からインク流分岐点画素ま
での一群の画素である。
【0489】また、例えば、図98に示すように、毛細
管によって連結された一連の画素A1 、A2 、A3 と、
毛細管によって連結された一連の画素C1 、C2 、C
3 、C4 、C5 と、にじみ元輪郭画素Dが存在し、画素
3 と画素C3 が毛細管によって連結され、画素C5
にじみ元輪郭画素Dと毛細管によって連結されていて、
画素C1 、C2 の中のインクの流れがとまっている場
合、画素A1 、A2 、A3、C3 、C4 、C5 が、画素
1 からインク流分岐点画素までの一群の画素となる。
【0490】(5−3−2)にじみ描画処理で使用する
データ 以下の説明では、にじみを描画する領域は、図99に示
すように、複数の画素Pから成る平面状の領域とする。
そして、ここで使用する紙の繊維構造データは、これら
各画素に対応するように、少なくとも、図100に示す
ように、繊維の数Mと、毛細管の数S1 、S2 、S3
4 、S5 、S6 、S7 、S8 とを備える。
【0491】そして、にじみ描画処理部50によるにじ
み描画処理では、処理回数が記録される処理回数フラグ
と、にじみの元となる図形の輪郭上の各画素(輪郭画
素)に対応するように設定される輪郭データと、ある時
点におけるにじみ拡散の最前部に位置する各画素に対応
するように設定されるカレントデータと、カレントデー
タにデータを書き込んだ時点の次の時点におけるにじみ
拡散の最前部に位置する各画素に対応するように設定さ
れるネクストデータと、にじみを描画する領域を構成す
る各画素に対応するように設定されるにじみ画像データ
と、にじみを描画する領域を構成する各画素に対応する
ように設定される輝度データとを用いる。
【0492】ここで、輪郭データは、例えば、図101
に示すように、輪郭画素座標値と、当該輪郭画素の画素
のインク初期量U0 と、当該輪郭画素のインク初期濃度
0とを備えて成り、それぞれの輪郭データには輪郭デ
ータ番号が付けられる。
【0493】また、カレントデータは、例えば、図10
2に示すように、ある時点におけるにじみ拡散の最前部
に位置する画素Aの座標値(以下、現先頭座標値とい
う。)と、画素Aと隣接する画素であって画素Aへのイ
ンク流入元の画素の座標値(以下、現流入元座標値とい
う。)と、画素Aに対するにじみ元輪郭画素に対応する
輪郭データの輪郭データ番号と、画素Aにおけるインク
の状態を示すステイタスとを備えて成り、それぞれのカ
レントデータにはカレントデータ番号が付けられる。こ
のカレントデータは、ある時点におけるにじみ拡散の最
前部に位置する画素に関するデータであるので、にじみ
の拡散に従って順次書き換えられていく。
【0494】また、ネクストデータは、図103に示す
ように、カレントデータにデータを書き込んだ時点の次
の時点におけるにじみ拡散の最前部に位置する画素Bの
座標値(以下、次先頭座標値という。)と、画素Bと隣
接する画素であって画素Bへのインク流入元の画素の座
標値(以下、次流入元座標値という。)と、画素Bに対
するにじみ元輪郭画素に対応する輪郭データの輪郭デー
タ番号と、画素Bにおけるインクの状態を示すステイタ
スとを備えて成り、それぞれのネクストデータにはネク
ストデータ番号が付けられる。このネクストデータは、
カレントデータにデータを書き込んだ時点の次の時点に
おけるにじみ拡散の最前部に位置する画素に関するデー
タであるので、にじみの拡散に従って順次書き換えられ
ていく。
【0495】そして、にじみ画像データは、紙の繊維構
造データと同様に、にじみを描画する領域を構成する各
画素に対応しており、ある画素Pに対応するにじみ画像
データは、例えば、図104に示すように、画素Pにお
けるインクの状態を示すステイタスと、にじみ拡散開始
から、画素Pへインクが流入してくるまでに要した処理
回数を示すステップ数と、にじみ拡散開始から、画素P
へ流れ込んだインクの流れが停止するまでに要した処理
回数を示すインク流停止ステップ数と、画素Pと隣接す
る画素であって画素Pへのインク流入元の画素の座標値
(以下、流入元座標値という。)と、画素Pに対するに
じみ元輪郭画素に対応する輪郭データの輪郭データ番号
と、画素Pに吸収されたインクの量を示すインク吸収量
Uと、画素Pにおけるインクの濃さを示すインク濃度V
とを備えて成る。
【0496】ここで、カレントデータ、ネクストデータ
及びにじみ画像データのステイタスには、初期値として
インクが存在していない状態を示す「無」が設定され、
画素Pがにじみの元となる図形に対応するときは「元」
が設定され、画素Pにインクが流入してきて、画素P内
をインクが流れているときは「流」が設定され、画素P
に流れ込んだインクの流れが止まったときは「留」が設
定される。
【0497】また、輝度データは、紙の繊維構造データ
と同様に、にじみを描画する領域を構成する各画素に対
応しており、ある画素Pに対応する輝度画像データは、
例えば、図105に示すように、画素Pにおける輝度を
備えて成る。
【0498】(5−3−3)にじみ描画処理部の動作 つぎに、にじみ描画処理部50の具体的な動作につい
て、図106乃至図110に示すフローチャートを用い
て説明する。
【0499】先ず、ステップST5−1において、にじ
み描画処理部50ににじみの元となる画像の画像デー
タ、例えば掠描画処理部40で作成された画像データ
が、例えばメモリ3や外部記憶装置4から読み込まれ
る。そして、輪郭上画素検出部51は、にじみの元とな
る図形の画像データに基づいて、にじみの元となる図形
上の全ての画素に対応するにじみ画像データのステイタ
スを「元」に設定し、ステップST5−2へ進む。
【0500】ステップST5−2において、輪郭上画素
検出部51は、以下のステップST5−3からステップ
ST5−5の処理を未だ行っていない輪郭画素が存在す
るかを判断する。そして、存在するとき(YESのと
き)はステップST5−3へ進み、存在しないとき(N
Oのとき)はステップST5−6へ進む。
【0501】そして、ステップST5−3において、輪
郭上画素検出部51は、このステップST5−3からス
テップST5−5の処理を未だ行っていない輪郭画素を
1つ検出し、この輪郭画素に対応する輪郭データを作成
する。ここで、輪郭上画素検出部51は、輪郭データに
輪郭データ番号を付けるとともに、輪郭画素の座標値を
輪郭座標値として輪郭データを作成する。
【0502】次に、ステップST5−4において、イン
ク初期量設定部52は、ステップST5−3で作成した
輪郭データにインク初期量U0 を設定する。
【0503】次に、ステップST5−5において、イン
ク初期濃度設定部53は、ステップST5−3で作成し
た輪郭データにインク初期濃度V0 を設定する。そし
て、ステップST5−5の後、ステップST5−2へ戻
って処理を繰り返す。
【0504】以上のステップST5−2からステップS
T5−5の繰り返しによって、各輪郭画素に対応した輪
郭データが、各輪郭データに固有の輪郭データ番号が付
与された上で作成される。なお、このような輪郭データ
は、にじみの元となる図形の画像データに予め設定して
おき、にじみ描画処理部50ではステップST5−2か
らステップST5−5を行わずに、予め設定された輪郭
データを単に読み込んで使用するようにしてもよい。
【0505】一方、ステップST5−6において、制御
部56は、処理回数フラグfの値を0にする。
【0506】そして、ステップST5−7において、連
結画素検出部54は、以下のステップST5−8からス
テップST5−10の処理を未だ行っていない輪郭デー
タが存在するかを判断する。そして、存在するとき(Y
ESのとき)はステップST5−8へ進み、存在しない
とき(NOのとき)は図107に示すステップST5−
11へ進む。
【0507】ステップST5−8において、連結画素検
出部54は、ステップST5−9からステップST5−
10の処理を未だ行っていない輪郭データを1つ検出し
(以下、このステップST5−8で検出された輪郭デー
タを、「処理対象輪郭データ」と呼び、処理対象輪郭デ
ータに対応する画素を「処理対象輪郭画素」と呼
ぶ。)、ステップST5−9へ進む。
【0508】ステップST5−9において、連結画素検
出部54は、紙の繊維構造データを参照して、処理対象
輪郭画素と毛細管によって連結された画素を検出する。
ここで、検出の対象となる画素は、処理対象輪郭画素に
隣接する画素であり、検出される画素の数は0〜8個で
ある。ただし、にじみデータのステイタスが「元」の画
素、すなわちにじみの元となる図形の輪郭上の画素及び
輪郭よりも内側の画素は、検出の対象外とする。したが
って、検出の対象となる画素の数が8個となるのは、輪
郭画素が1つだけのときであり、通常、検出の対象とな
る画素の数は0〜7個である。
【0509】ステップST5−10において、連結画素
検出部54は、ステップST5−9で検出された画素に
対応するカレントデータを作成する。具体的には、連結
画素検出部54は、カレントデータを、ステイタスを
「流」、ステップST5−9で検出された画素の座標値
を先頭座標値、処理対象輪郭データの輪郭画素座標値を
流入元座標値、処理対象輪郭データに付けられた輪郭デ
ータ番号を輪郭データ番号として、カレントデータ番号
を付けた上で作成する。ここで、ステップST5−9で
検出される画素の数は0〜8個なので、ステップST5
−10で作成されるカレントデータの数は、1個に限ら
れるものではなく、0〜8個である。ただし、ステップ
ST5−9で検出される画素の数が8個となる可能性が
あるのは、輪郭画素が1つだけのときであり、通常、こ
のステップST5−10で作成されるカレントデータの
数は0〜7個である。そして、ステップST5−10の
後、ステップST5−7へ戻って処理を繰り返す。
【0510】以上のステップST5−7からステップS
T5−10の繰り返しによって、最初のカレントデータ
が各カレントデータに固有のカレントデータ番号が付与
された上で作成される。
【0511】一方、図107に示すステップST5−1
1において、制御部56は、処理回数フラグfの値に1
を加算する。
【0512】そして、ステップST5−12において、
画像データ設定部55は、以下のステップST5−13
からステップST5−27のいずれの処理も未だ行って
いないカレントデータが存在するかを判断する。そし
て、存在するとき(YESのとき)はステップST5−
13へ進み、存在しないとき(NOのとき)は図108
に示すステップST5−24へ進む。
【0513】ステップST5−13において、画像デー
タ設定部55は、ステップST5−14からステップS
T5−27のいずれの処理も未だ行っていないカレント
データを1つ検出し(以下、このステップST5−13
で検出されたカレントデータを、「処理対象カレントデ
ータ」と呼び、処理対象カレントデータに対応する画素
を「処理対象カレント画素」と呼ぶ。)、ステップST
5−14へ進む。
【0514】ステップST5−14において、画像デー
タ設定部55は、処理対象カレント画素の最大インク吸
収量Umax を算出し、ステップST5−15へ進む。
【0515】ステップST5−15において、画像デー
タ設定部55は、ステップST5−14で算出した最大
インク吸収量Umax と、処理対象カレント画素に対応す
るにじみ画像データに設定されているインク吸収量U
と、処理対象カレントデータの輪郭データ番号に対応す
る輪郭データのインク初期量U0 に基づいて、当該画素
で吸収可能なインク量を越えるインクが流入してくる場
合と、当該画素で吸収可能なインク量以下のインクが流
入してくる場合とで場合分けする。すなわち、画像デー
タ設定部55は、(Umax −U)<U0 のときステップ
ST5−16へ進み、(Umax −U)≧U0 のときステ
ップST5−22へ進む。ここで、処理対象カレント画
素に対応するにじみ画像データに未だインク吸収量Uが
設定されていない場合、インク吸収量Uの値は0とす
る。
【0516】ステップST5−16において、画像デー
タ設定部55は、処理対象カレントデータのステイタス
を参照して、処理対象カレントデータのステイタスが
「流」の場合はステップST5−17へ進み、処理対象
カレントデータのステイタスが「留」の場合はステップ
ST5−19へ進む。
【0517】そして、ステップST5−17において、
画像データ設定部55は、処理対象カレント画素に対応
するにじみ画像データを設定する。具体的には、画像デ
ータ設定部55は、ステイタスを「流」、処理回数フラ
グfの値をステップ数、処理対象カレントデータの流入
元座標値を流入元座標値、処理対象カレントデータの輪
郭データ番号を輪郭データ番号、ステップST5−14
で算出した最大インク吸収量Umax からにじみ画像デー
タの現在のインク吸収量Uを減じた値(Umax−U)を
新たなインク吸収量Uとして、にじみ画像データを設定
する。
【0518】次に、ステップST5−18において、制
御部56は、ステップST5−14で算出した最大イン
ク吸収量Umax からにじみ画像データの現在のインク吸
収量Uを減じた値(Umax −U)を、処理対象カレント
データの輪郭データ番号に対応する輪郭データの現在の
インク初期量U0 から減じた値(U0 −Umax +U)
を、処理対象カレントデータの輪郭データ番号に対応す
る輪郭データの新たなインク初期量U0 とする。そし
て、ステップST5−18の後、ステップST5−12
へ戻って処理を繰り返す。
【0519】一方、ステップST5−19において、画
像データ設定部55は、処理対象カレント画素に対応す
るにじみ画像データを設定する。ここで、画像データ設
定部55は、ステイタスを「留」とし、処理回数フラグ
fの値をステップ数とし、処理対象カレントデータの流
入元座標値を流入元座標値とし、処理対象カレントデー
タの輪郭データ番号を輪郭データ番号とし、処理対象カ
レントデータの輪郭データ番号に対応する輪郭データの
インク初期量U0 ににじみ画像データの現在のインク吸
収量Uを加算じた値(U0 +U)を新たなインク吸収量
Uとして、にじみ画像データを設定する。
【0520】次に、ステップST5−20において、制
御部56は、ステップST5−18と同様に、ステップ
ST5−14で算出した最大インク吸収量Umax からに
じみ画像データの現在のインク吸収量Uを減じた値(U
max −U)を、処理対象カレントデータの輪郭データ番
号に対応する輪郭データの現在のインク初期量U0 から
減じた値(U0 −Umax +U)を、処理対象カレントデ
ータの輪郭データ番号に対応する輪郭データの新たなイ
ンク初期量U0 とする。
【0521】次に、ステップST5−21において、画
像データ設定部55は、処理対象カレント画素からイン
ク流分岐点画素までの一群の画素に対応する全てのにじ
み画像データについて、ステイタスを「留」にし、現在
の処理回数フラグfの値をインク停止ステップ数として
設定する。そして、ステップST5−21の後、ステッ
プST5−12へ戻って処理を繰り返す。
【0522】一方、ステップST5−22において、画
像データ設定部55は、処理対象カレント画素に対応す
るにじみ画像データを設定する。ここで、画像データ設
定部55は、ステイタスを「流」とし、処理回数フラグ
fの値をステップ数とし、処理対象カレントデータの流
入元座標値を流入元座標値とし、処理対象カレントデー
タの輪郭データ番号を輪郭データ番号とし、処理対象カ
レントデータの輪郭データ番号に対応する輪郭データの
インク初期量U0 ににじみ画像データの現在のインク吸
収量Uを加算した値(U0 +U)を新たなインク吸収量
Uとして、にじみ画像データを設定する。
【0523】次に、ステップST5−23において、制
御部56は、処理対象カレントデータの輪郭データ番号
に対応する輪郭データのインク初期量U0 の値を0とす
る。そして、ステップST5−23の後、ステップST
5−12へ戻って処理を繰り返す。
【0524】以上のステップST5−12からステップ
ST5−23の繰り返しによって、にじみによってイン
クが流入してきた画素に対して、にじみ画像データが設
定される。
【0525】そして、図108に示すステップST5−
24において、制御部56は、輪郭データのインク初期
量U0 の値を参照し、インク初期量U0 の値を越える輪
郭データがまだあるとき(NOのとき)はステップST
5−25へ進み、全ての輪郭データのインク初期量U0
の値が0以下のとき(YESのとき)は図110に示す
ステップST5−38へ進む。
【0526】ステップST5−25において、制御部5
6は、輪郭画素内のインクの流れを考慮して、輪郭デー
タのインク初期量U0 の値のばらつきを少なくする。す
なわち、制御部56は、輪郭データのインク初期量U0
の値が、隣接する輪郭画素間で異なる場合、インク初期
量U0 が多い方の輪郭データのインク初期量U0 の値を
減らし、インク初期量U0 が少ない方の輪郭データのイ
ンク初期量U0 の値を増やす。ここで、インク初期量U
0 を減らす際に、インク初期量U0 の最小値は0とす
る。
【0527】次に、ステップST5−26において、連
結画素検出部54は、以下のステップST5−27から
ステップST5−33のいずれの処理も未だ行っていな
いカレントデータが存在するかを判断する。そして、存
在するとき(YESのとき)はステップST5−27へ
進み、存在しないとき(NOのとき)は図109に示す
ステップST5−34へ進む。
【0528】ステップST5−27において、連結画素
検出部54は、ステップST5−28からステップST
5−33のいずれの処理も未だ行っていないカレントデ
ータを1つ検出し、ステップST5−28へ進む。
【0529】ステップST5−28において、連結画素
検出部54は、ステップST5−27で検出されたカレ
ントデータに対応する画素に設定されたにじみ画像デー
タを参照して、当該にじみ画像データのインク吸収量U
と、当該画素における最大インク吸収量Umax を比較す
る。そして、まだインクが吸収できる場合、すなわちU
<Umax の場合はステップST5−29へ進み、これ以
上インクを吸収できない場合、すなわちU=Umax の場
合はステップST5−30へ進む。
【0530】ステップST5−29において、連結画素
検出部54は、ステップST5−27で検出されたカレ
ントデータに対応する画素が、未だにじみ拡散の最前部
であるとして、ネクストデータを作成する。具体的に
は、連結画素検出部54は、ネクストデータを、ステイ
タスを「流」、ステップST5−27で検出されたカレ
ントデータの現先頭座標値をネクストデータの次先頭座
標値、ステップST5−27で検出されたカレントデー
タの現流入元座標値をネクストデータの次流入元座標値
として、ネクストデータ番号を付けた上で作成する。そ
して、ステップST5−29の後、ステップST5−2
6へ戻って処理を繰り返す。
【0531】一方、ステップST5−30において、連
結画素検出部54は、紙の繊維構造データを参照して、
ステップST5−27で検出されたカレントデータに対
応する画素と毛細管によって連結された画素を検出し、
ステップST5−31へ進む。ここで、検出の対象とな
る画素は、ステップST5−27で検出されたカレント
データに対応する画素に隣接する画素のうち、当該画素
へのインク流入元となった画素を除く7つの画素であ
り、このステップST5−30で検出される画素の数は
0〜7個である。ただし、にじみ画像データのステイタ
スが「元」の画素、すなわちにじみの元となる図形の輪
郭上の画素及び輪郭よりも内側の画素と、既ににじみ画
像データのステイタスが「流」又は「留」になっている
画素、すなわち既にインクが流入してきている画素は、
検出の対象外とする。
【0532】ステップST5−31において、連結画素
検出部54は、ステップST5−30で画素が検出され
たかを判断する。そして、検出されたとき(YESのと
き)はステップST5−32へ進み、検出されなかった
とき(NOのとき)はステップST5−33へ進む。
【0533】ステップST5−32において、連結画素
検出部54は、インクの流れが継続しているものとし
て、ステップST5−30で検出された画素に対応する
ネクストデータを作成する。具体的には、連結画素検出
部54は、ネクストデータを、ステイタスを「流」、ス
テップST5−30で検出された画素の座標値を次先頭
座標値、ステップST5−27で検出されたカレントデ
ータの現先頭座標値を次流入元座標値、ステップST5
−27で検出されたカレントデータの輪郭データ番号を
輪郭データ番号として、ネクストデータ番号を付けた上
で作成する。ここで、ステップST5−30で検出され
る画素の数は0〜7個なので、このステップST5−3
2で作成されるネクストデータの数は、1個に限られる
ものではなく、0〜7個である。そして、ステップST
5−32の後、ステップST5−26へ戻って処理を繰
り返す。
【0534】一方、ステップST5−33において、連
結画素検出部54は、インクの流れが止まったものとし
て、ネクストデータを作成する。具体的には、連結画素
検出部54は、ネクストデータを、ステイタスを
「留」、ステップST5−27で検出されたカレントデ
ータの現先頭座標値を次先頭座標値、ステップST5−
27で検出されたカレントデータの現流入元座標値を次
流入元座標値、ステップST5−27で検出されたカレ
ントデータの輪郭データ番号を輪郭データ番号として、
ネクストデータ番号を付けた上で作成する。そして、ス
テップST5−33の後、ステップST5−26へ戻っ
て処理を繰り返す。
【0535】以上のステップST5−26からステップ
ST5−33の繰り返しによって、カレントデータにデ
ータを書き込んだ時点の次の時点におけるにじみ拡散の
最前部に位置する画素に関するデータであるネクストデ
ータが、各ネクストデータに固有のネクストデータ番号
が付与された上で作成される。
【0536】そして、図109に示すステップST5−
34において、連結画素検出部54は、ネクストデータ
が存在するかを判断する。ここで、ネクストデータが存
在する場合はにじみ拡散が継続しているときであり、ネ
クストデータが存在しない場合はにじみ拡散が終了した
ときである。そして、ネクストデータが存在するとき
(YESのとき)はステップST5−35へ進み、存在
しないとき(NOのとき)は図110に示すステップS
T5−38へ進む。
【0537】そして、ステップST5−35からステッ
プST5−37において、連結画素検出部54は、ネク
ストデータをカレントデータにコピーして、にじみ拡散
の最前部を更新する。すなわち、ステップST5−35
において、連結画素検出部54は、現在のカレントデー
タを全て消去し、次にステップST5−36において、
連結画素検出部54は、現在の全てのネクストデータを
カレントデータにそのままコピーし、次にステップST
5−37において、連結画素検出部54は、現在のネク
ストデータを全て消去する。そして、ステップST5−
37の後、図107に示すステップST5−11へ進
み、にじみ画像データの設定を繰り返す。
【0538】一方、ステップST5−38においては、
画像データ設定部55は、にじみ拡散が終了したものと
してにじみ画像データを設定する。すなわち、画像デー
タ設定部55は、ステイタスが「流」になっているにじ
み画像データについて、ステイタスを「留」にして、イ
ンク流停止ステップ数を、現在の処理回数フラグfの値
とする。
【0539】次に、ステップST5−39において、画
像データ設定部55は、インクが流入した画素、すなわ
ちにじみ画像データのステイタスが「留」の画素につい
て、当該画素のにじみ画像データのステップ数とインク
流停止ステップ数に基づいて、当該画素のインク濃度V
を算出して、にじみ画像データのインク濃度Vに設定す
る。具体的には、例えば、上述した式(5−8)乃至式
(5−10)に基づいて、予めインク濃度V(x,t)
をx及びtが0以上の整数の場合について算出し、xと
tの二次元配列として設定しておき、画像データ設定部
55は、この二次元配列として設定されたインク濃度V
(x,t)を参照してインク濃度Vを求める。すなわ
ち、画像データ設定部55は、例えば、ステップ数を
x、インク流停止ステップ数をtとして、二次元配列と
して設定されたインク濃度V(x,t)を参照して、各
画素におけるインク濃度を求める。
【0540】そして、ステップST5−40において、
画像データ設定部55は、各画素毎に設定されたにじみ
画像データに基づいて、各画素毎に輝度の値を算出して
輝度データを設定する。ここで、インクが流入してきた
画素、すなわちにじみ画像データのステイタスが「留」
の画素に対応する輝度の値は、画素におけるインク吸収
量Uとインク濃度を乗じた値として算出される。ただ
し、輝度の値を算出する際に、輝度の値を正規化するた
めに、必要に応じて適当な係数を乗じてもよい。また、
にじみの元となる図形上の画素、すなわちにじみ画像デ
ータのステイタスが「元」の画素に対応する輝度の値
は、輝度の値の範囲のうち最も大きい値とし、インクが
全く流入しなかった画素、すなわちにじみ画像データの
ステイタスが「無」の画素に対応する輝度の値を、輝度
の値の範囲のうち最も小さい値とする。ここで、輝度の
値は大きいほどインクの量及び濃度が大きいものとした
が、逆に、輝度の値は小さいほどインクの量及び濃度が
大きいものとして処理を行ってもよいことは言うまでも
ない。
【0541】そして、ステップST5−41において、
にじみ描画処理部50は、ステップST5−40で各画
素毎に設定された輝度データを表示装置5に供給する。
そして、表示装置5は、この輝度データに基づいて、に
じみが表現された図形を表示装置5に表示する。
【0542】ところで、上述のにじみ描画処理では、一
度ある画素からインクが流入してきた画素に対して、新
たに別の画素からインクが流入することはないものとし
て、にじみ画像データを設定した。すなわち、ステップ
ST5−30において、毛細管によって連結された画素
を検出する際に、既にインクが流れ込んできた画素、す
なわちにじみ画像データのステイタスが「流」又は
「留」になっている画素は、検出の対象外とした。
【0543】しかし、実際には、一度ある画素からイン
クが流入してきた画素に対しても、毛細管が連結してい
る別の画素からインク粒子が拡散してくることも考えら
れる。
【0544】そこで、インクが流入してきた画素Pと毛
細管が連結している画素が、画素Pに対するインク流入
元となる画素以外にも存在するが、画素Pと毛細管が連
結している全ての画素に既にインクが流入している場
合、すなわち画素Pでのインクの流れと、画素Pと毛細
管が連結している画素でのインクの流れとが、ぶつかり
あった場合には、画素Pと、画素Pと毛細管が連結して
いる画素との間でのインク粒子が拡散するものとして、
このインク粒子の拡散を考慮して、にじみ画像データを
設定するようにしてもよい。
【0545】このようにインクの流れがぶつかりあった
ときに、インク粒子の拡散を考慮してにじみ画像データ
を設定する方法について、図111に示す場合を例にし
て、具体的に説明する。
【0546】図111に示した例は、毛細管によって連
結された一連の画素A1 、A2 、A3 、A42、A52と、
毛細管によって連結された一連の画素B1 、B2 、B
3 、B42、B52と、毛細管によって連結された一連の画
素A41、A51、A61、B51、B41が存在し、画素A3
画素A41が毛細管によって連結され、画素B3 と画素B
41が毛細管によって連結されている場合に、第1のイン
クの流れとして、画素A1 、A2 、A3 、A42、A52
順にインクが流れてくるとともに、このインクの流れが
画素A3 で分岐して画素A41、A51、A61へと流れてお
り、第2のインクの流れとして、画素B1 、B2 、B
3 、B42、B52の順にインクが流れてくるとともに、こ
のインクの流れが画素B3 で分岐して画素B41、B51
と流れてきた場合である。
【0547】このとき、画素A61へ流入してきたインク
の流れと、画素B51へ流入してきたインクの流れとがぶ
つかるが、このとき、画素A61に対するインク流分岐点
画素、ここでは画素A3 におけるインクの流れの圧力
と、画素B51に対するインク流分岐点画素、ここでは画
素B3 におけるインクの流れの圧力とを比較して、これ
らの圧力が同じ場合にはインク粒子の拡散は生じず、こ
れらの圧力が異なる場合にはこれらの画素間でインク粒
子の拡散が継続しているものとして、各画素に対応する
にじみ画像データを設定してやればよい。
【0548】ここで、各画素におけるインクの流れの圧
力は、にじみ拡散の初めほど大きく、にじみ拡散が進む
に従って小さくなっていくので、画素A3 と画素B3
おけるインクの流れの圧力の比較は、画素A3 に対応す
るにじみ画素データに設定されたステップ数と、画素B
3 に対応するにじみ画素データに設定されたステップ数
とを比較すればよい。
【0549】そして、画素A3 に対応するにじみ画像デ
ータに設定されたステップ数と、画素B3 に対応するに
じみ画像データに設定されたステップ数とが同じ場合
は、画素A41、A51、A61、B51、B41において、イン
ク粒子の拡散は生じないので、これらの画素A41
51、A61、B51、B41については、上述したフローチ
ャートに従って、にじみ画像データを設定する。
【0550】一方、画素A3 に対応するにじみ画像デー
タに設定されたステップ数が、画素B3 に対応するにじ
み画像データに設定されたステップ数よりも小さい場合
は、画素A41、A51、A61、B51、B41において、画素
41から画素B41に向かって、第1のインクの流れが停
止するまでインク粒子が拡散する。そこで、これらの画
素A41、A51、A61、B51、B41のにじみ画像データの
インク流停止ステップ数には、これらの画素に対するイ
ンク流分岐点画素である画素A3 のインク流停止ステッ
プ数と同じ値を設定する。
【0551】あるいは、画素B3 に対応するにじみ画像
データに設定されたステップ数が、画素A3 に対応する
にじみ画像データに設定されたステップ数よりも小さい
場合は、画素A41、A51、A61、B51、B41において、
画素B41から画素A41に向かって、第2のインクの流れ
が停止するまで、インク粒子が拡散する。そこで、これ
らの画素A41、A51、A61、B51、B41のにじみ画像デ
ータのインク流停止ステップ数には、これらの画素に対
するインク流分岐点画素である画素A3 のインク流停止
ステップ数と同じ値を設定する。
【0552】かくして、インクの流れがぶつかりあった
ときのインク粒子の拡散を考慮した上で、にじみ画像デ
ータを設定することができる。
【0553】なお、上述の説明では、2つの方向からき
たインクの流れがぶつかったときを例にして説明した
が、3つ以上の方向からきたインクの流れがぶつかった
ときも、インクの流れがぶつかった画素に対するインク
流分岐点画素に設定されたにじみ画像データのステップ
数を比較して、同様ににじみ画像データのインク流停止
ステップ数を設定すればよい。
【0554】(6)図形の表示例 つぎに、以上のような画像表示システムで実際に掠とに
じみを有する図形を表示させた例として、10個のスト
ロークYU1、YU2、YU3、YU4、YU5、YU
6、YU7、YU8、YU9、YU10から成る「夢」
の文字を表示させた例を図112に示す。
【0555】図112に示す例では、先ず、紙の繊維構
造データ作成処理部30で、紙の繊維構造データを作成
するとともに、フォント作成処理部20で、「夢」のフ
ォントを作成した。ここで、「夢」のフォントは、10
個のストロークYU1乃至YU10に対応する10個の
ストロークのデータから成る。
【0556】次に、紙の繊維構造データ作成処理部30
で作成された紙の繊維構造データと、フォント作成処理
部20で作成された「夢」のフォントとを掠描画処理部
40に読み込み、掠描画処理部40で、これらの紙の繊
維構造データと「夢」のフォントに基づいて、「夢」の
各ストロークYU1乃至YU10に対して掠描画処理を
行い、各ストロークYU1乃至YU10を描画した時点
における各ストロークYU1乃至YU10内のインクの
量及び濃度を設定した。
【0557】ここで、各ストロークYU1乃至YU10
を書くときの筆の状態を示すデータである筆データのイ
ンク濃度及びインク量は、筆上の全ての点において同一
とした。そして、各ストロークYU1乃至YU10に対
応する筆データのインク量及びインク濃度は、表5に示
すように設定した。
【0558】
【表5】
【0559】また、各ストロークYU1乃至YU10に
対応する掠パラメータは、表6に示すように設定した。
【0560】
【表6】
【0561】次に、紙の繊維構造データ作成処理部30
で作成された紙の繊維構造データと、掠描画処理部40
で設定された各ストロークYU1乃至YU10内インク
の量及び濃度とをにじみ描画処理部50に読み込み、に
じみ描画処理部50で、「夢」の各ストロークYU1乃
至YU10に対してにじみ描画処理を行い、各ストロー
クYU1乃至YU10のまわりににじみを生じさせて、
図112に示すような、掠とにじみを有する「夢」の文
字を描画した。
【0562】このように、本発明を適用した画像表示シ
ステムでは、図112に示すように、実際に毛筆で書い
たように、掠やにじみを表現することができる。
【0563】ところで、図形を拡大して表示装置に表示
したとき等に、例えば、図113に示すように、図形の
輪郭が滑らかでなくなってしまうことがある。そこで、
コンピュータグラフィックスでは、図形の輪郭を滑らか
にして表示装置に表示するために、図形を表示する際に
図形の輪郭を滑らかにするアンチエイリアス処理が行わ
れる。
【0564】上述のにじみ描画処理は、このようなアン
チエイリアス処理としても有効である。すなわち、図形
の輪郭の近傍ににじみ描画処理を施すことにより、例え
ば、図114に示すように、図形の輪郭を滑らかにする
ことができる。しかも、このにじみ描画処理を用いたア
ンチエイリアス処理では、単に図形の輪郭を滑らかにす
る従来のアンチエイリアス処理よりも、実際に毛筆で図
形を描いたときのように、図形の輪郭を表示装置に表示
することができる。なぜなら、実際に毛筆で図形を描い
たとき、通常は、図形の輪郭は完全に滑らかになってい
るのではなく、若干のにじみが生じた状態となっている
からである。
【0565】
【発明の効果】以上の説明から明らかなように、本発明
では、繊維データ作成手段で、繊維データを作成し、繊
維分布データ作成手段で、複数の繊維データを複数の画
素からなる領域に配置して繊維分布データを作成し、繊
維数算出手段で、繊維分布データに基づいて画素を通る
繊維の数Mを各画素毎に算出することにより、紙の繊維
構造データを作成することができる。
【0566】そして、この紙の繊維構造データを用いる
ことにより、紙を構成する繊維の間隙に留まるインク
や、紙を構成する繊維の間隙を流れるインクについて考
慮することができ、実際に紙にインクで図形を描画した
ときのように、にじみを有する図形を描画することがで
きる。
【図面の簡単な説明】
【図1】 画像表示システムの一構成例を示すブロック
図である。
【図2】 文字の一例を示す図である。
【図3】 図2に示す文字の第1のストロークを示す図
である。
【図4】 図2に示す文字の第2のストロークを示す図
である。
【図5】 ストロークのデータを説明するための図であ
る。
【図6】 図3に示すストロークのデータの一例を示す
図である。
【図7】 図4に示すストロークのデータの一例を示す
図である。
【図8】 フォント作成処理部の一構成例を示すブロッ
ク図である。
【図9】 入力された座標点に対応する点と、これらの
座標点を結ぶ直線の一例を示す図である。
【図10】 入力された座標点に対応する点と、これら
の座標点を結ぶ曲線の一例を示す図である。
【図11】 フォント作成処理部の動作を説明するため
のフローチャートである。
【図12】 ストロークのデータとして座標点を入力す
る際のフローチャートである。
【図13】 紙の繊維構造データの一例を示す図であ
る。
【図14】 画素P及び画素Pi上に配された繊維の一
例を示す模式図である。
【図15】 紙の繊維構造データ作成部の一構成例を示
すブロック図である。
【図16】 繊維の形状を示すデータの一例を示す図で
ある。
【図17】 繊維の位置を示すデータの一例を示す図で
ある。
【図18】 繊維の方向を示すデータの一例を示す図で
ある。
【図19】 繊維分布データ作成部の一構成例を示すブ
ロック図である。
【図20】 繊維分布データ作成部の動作を説明するた
めのフローチャートである。
【図21】 点配置部によってランダムに配置された複
数の点の一例を示す模式図である。
【図22】 均一化部によって位置を均一化された複数
の点の一例を示す模式図である。
【図23】 小領域作成部によって作成された複数の小
領域の一例を示す模式図である。
【図24】 ランダム配置部によってランダムに配置さ
れた繊維データの一例を示す模式図である。
【図25】 画素P上に配された繊維の一例を示す模式
図である。
【図26】 毛細管算出部の一構成例を示すブロック図
である。
【図27】 Mi本の繊維について、互いに隣接する繊
維が成す交差角をランダムに設定した状態を示す模式図
である。
【図28】 光透過度算出部の動作を説明するためのフ
ローチャートである。
【図29】 掠を有する図形の一例を示す図である。
【図30】 掠描画処理部にて処理される図形の一例を
示す図である。
【図31】 全輪郭データのデータ構造の一例を示す図
である。
【図32】 描画軌跡の一例を示す図である。
【図33】 掠領域データの一例を示す図である。
【図34】 図32の掠領域データが示す掠領域の一例
を示す図である。
【図35】 掠パラメータのデータ構造の一例を示す図
である。
【図36】 掠パラメータと掠領域の関係を示す図であ
る。
【図37】 片状掠の一例を示す図である。
【図38】 線状掠の一例を示す図である。
【図39】 形状データのデータ構造の一例を示す図で
ある。
【図40】 曲率riを説明するための図である。
【図41】 画像データのデータ構造の一例を示す図で
ある。
【図42】 筆データのデータ構造の一例を示す図であ
る。
【図43】 掠描画処理部の一構成例を示すブロック図
である。
【図44】 筆データ設定部の一構成例を示すブロック
図である。
【図45】 筆上のいくつかの点に対応するインク量を
入力した状態の一例を示示す図である。
【図46】 筆上のいくつかの点に対応するインク濃度
を入力した状態の一例をす図である。
【図47】 筆に含まれるインク全体の量を入力した状
態の一例を示す図である。
【図48】 筆に含まれるインク全体の量を入力した状
態の一例を示す図である。
【図49】 データ読込部の一構成例を示すブロック図
である。
【図50】 掠パラメータ設定部の一構成例を示すブロ
ック図である。
【図51】 速度分布データのデータ構造の一例を示す
図である。
【図52】 インクデータ設定部の一構成例を示すブロ
ック図である。
【図53】 掠パラメータ設定部の動作を説明するため
のフローチャートである。
【図54】 図53に示すフローチャートの続きを示す
フローチャートである。
【図55】 図53に示すフローチャートの続きを示す
フローチャートである。
【図56】 図53に示すフローチャートの続きを示す
フローチャートである。
【図57】 図53に示すフローチャートの続きを示す
フローチャートである。
【図58】 2値化する前の速度分布データ及び筆圧分
布データの一例を示す図である。
【図59】 2値化した後の速度分布データ及び筆圧分
布データの一例を示す図である。
【図60】 掠運筆データの一例を示す図である。
【図61】 掠領域データ作成部の動作を説明するため
のフローチャートである。
【図62】 輪郭データ選択部の動作を説明するための
フローチャートである。
【図63】 インクデータ設定部の動作を説明するため
のフローチャートである。
【図64】 ti=1.0、0.5又は0、3の領域の
一例を示す図である。
【図65】 第1の掠パラメータ算出部の動作を説明す
るためのフローチャートである。
【図66】 図65に示すフローチャートの続きを示す
フローチャートである。
【図67】 図66に示すフローチャートの続きを示す
フローチャートである。
【図68】 パターン1のときの掠の一例を示す図であ
る。
【図69】 パターン2のときの掠の一例を示す図であ
る。
【図70】 パターン3のときの掠の一例を示す図であ
る。
【図71】 パターン4のときの掠の一例を示す図であ
る。
【図72】 パターン5のときの掠の一例を示す図であ
る。
【図73】 パターン6のときの掠の一例を示す図であ
る。
【図74】 パターン7のときの掠の一例を示す図であ
る。
【図75】 パターン8のときの掠の一例を示す図であ
る。
【図76】 パターン9のときの掠の一例を示す図であ
る。
【図77】 パターン10のときの掠の一例を示す図で
ある。
【図78】 パターン11のときの掠の一例を示す図で
ある。
【図79】 パターン12のときの掠の一例を示す図で
ある。
【図80】 パターン13のときの掠の一例を示す図で
ある。
【図81】 パターン14のときの掠の一例を示す図で
ある。
【図82】 パターン15のときの掠の一例を示す図で
ある。
【図83】 パターン16のときの掠の一例を示す図で
ある。
【図84】 パターン17のときの掠の一例を示す図で
ある。
【図85】 パターン18のときの掠の一例を示す図で
ある。
【図86】 パターン19のときの掠の一例を示す図で
ある。
【図87】 パターン20のときの掠の一例を示す図で
ある。
【図88】 画素内の2本の繊維の間隙に留まったイン
クの一例を示す模式図である。
【図89】 画素内の2本の繊維の間隙に留まったイン
クが占める領域の一例を示す模式図である。
【図90】 画素内のn本の繊維の間隙に留まったイン
クの一例を示す模式図である。
【図91】 毛細管の一例を示す模式図である。
【図92】 にじみ描画処理部の一構成例を示すブロッ
ク図である。
【図93】 毛細管によって連結された画素を説明する
ために、画素と毛細管の数の一例を示す模式図である。
【図94】 毛細管によって連結された画素を説明する
ために、画素と毛細管の数の他の例を示す模式図であ
る。
【図95】 分岐点画素の一例を示す模式図である。
【図96】 画素A1からインク流分岐点画素までの一
群の画素の一例を示す模式図である。
【図97】 画素A1からインク流分岐点画素までの一
群の画素の他の例を示す模式図である。
【図98】 画素A1からインク流分岐点画素までの一
群の画素の他の例を示す模式図である。
【図99】 にじみを描画する領域の一例を示す模式図
である。
【図100】 紙の繊維構造データの一例を示す模式図
である。
【図101】 輪郭データのデータ構造の一例を示す図
である。
【図102】 カレントデータのデータ構造の一例を示
す図である。
【図103】 ネクストデータのデータ構造の一例を示
す図である。
【図104】 にじみ画像データのデータ構造の一例を
示す図である。
【図105】 輝度データのデータ構造の一例を示す図
である。
【図106】 にじみ描画処理部の動作を説明するため
のフローチャートである。
【図107】 図106に示すフローチャートの続きの
フローチャートである。
【図108】 図106乃至図107に示すフローチャ
ートの続きのフローチャートである。
【図109】 図106乃至図108に示すフローチャ
ートの続きのフローチャートである。
【図110】 図106乃至図109に示すフローチャ
ートの続きのフローチャートである。
【図111】 インクの流れがぶつかりあったときに、
インク粒子の拡散を考慮してにじみ画像データを設定す
る方法を説明するための模式図である。
【図112】 掠とにじみを有する文字の表示例を示す
図である。
【図113】 アンチエイリアス処理前の図形の輪郭の
一例を示す図である。
【図114】 にじみ描画処理によるアンチエイリアス
処理後の図形の輪郭の一例を示す図である。
【符号の説明】
1 入力装置 2 画像読取装置 3 メモリ 4 外部記憶装置 5 表示装置 10 データ処理装置 20 フォント作成処理部 30 紙の繊維構造データ作成処理部 40 掠描画処理部 50 にじみ描画処理部

Claims (53)

    【特許請求の範囲】
  1. 【請求項1】 紙を構成する繊維の1つを表す繊維デー
    タを作成し、 複数の上記繊維データを、複数の画素から成る領域に配
    置して、繊維の分布を表す繊維分布データを作成し、 上記繊維分布データに基づいて、画素を通る繊維の数M
    を各画素毎に求め、 上記各画素毎の繊維の数Mを紙の繊維構造データとし
    て、紙の繊維構造データを作成することを特徴とする紙
    の繊維構造データ作成方法。
  2. 【請求項2】 前記繊維データが、 繊維の形状、繊維の位置及び繊維の方向を示すデータか
    ら成ることを特徴とする請求項1記載の紙の繊維構造デ
    ータ作成方法。
  3. 【請求項3】 前記繊維の形状を示すデータが、 余弦関数の一部で表現されることを特徴とする請求項2
    記載の紙の繊維構造データ作成方法。
  4. 【請求項4】 前記繊維データを作成する際に、 入力装置から繊維の長さを示す繊維長パラメータを入力
    し、 上記繊維長パラメータに基づいて、前記繊維の形状を示
    すデータを作成することを特徴とする請求項2又は3記
    載の紙の繊維構造データ作成方法。
  5. 【請求項5】 前記複数の画素から成る領域に複数の点
    をランダムに配置し、 上記複数の点の位置を、リラクション処理により、均一
    化し、 上記均一化された各点をそれぞれ中心とする複数の小領
    域を作成し、 上記複数の小領域に同じ数の繊維データをそれぞれラン
    ダムに配置して、前記繊維分布データを作成することを
    特徴とする請求項1乃至4のいずれか1項に記載の紙の
    繊維構造データ作成方法。
  6. 【請求項6】 前記繊維分布データを作成する際に、 入力装置から繊維の密度を示す繊維密度パラメータを入
    力し、 上記繊維密度パラメータに基づいて、前記複数の小領域
    に配置する繊維データの数を設定することを特徴とする
    請求項5記載の紙の繊維構造データ作成方法。
  7. 【請求項7】 前記繊維分布データに基づいて、画素P
    を通るとともに、上記画素Pに隣接する8つの画素P
    1、P2、P3、P4、P5、P6、P7、P8をそれ
    ぞれ通る繊維の数M1、M2、M3、M4、M5、M
    6、M7、M8を各画素毎に求め、 前記繊維の数Mと、上記繊維の数Mi(i=1、2、
    3、4、5、6、7、8)とを前記紙の繊維構造データ
    として、紙の繊維構造データを作成することを特徴とす
    る請求項1乃至6のいずれか1項に記載の紙の繊維構造
    データ作成方法。
  8. 【請求項8】 前記繊維の数M1乃至M8に基づいて、
    繊維の間隙に形成される毛細管であって、前記画素Pか
    ら画素P1乃至P8の各方向に形成される毛細管の数S
    1、S2、S3、S4、S5、S6、S7、S8を各画
    素毎に求め、 前記繊維の数Mと、上記繊維の数Miと、上記毛細管の
    数Si(i=1、2、3、4、5、6、7、8)とを前
    記紙の繊維構造データとして、紙の繊維構造データを作
    成することを特徴とする請求項7記載の紙の繊維構造デ
    ータ作成方法。
  9. 【請求項9】 前記毛細管の数Siを、 前記繊維の数Miが2以上のとき、1とし、繊維の数M
    iが2未満のとき、0とすることを特徴とする請求項8
    記載の紙の繊維構造データ作成方法。
  10. 【請求項10】 前記画素Pから画素Pi(i=1、
    2、3、4、5、6、7、8)方向のMi本の繊維につ
    いて、互いに隣接する繊維が成す交差角をランダムに設
    定し、 前記毛細管の数Siを、上記設定された交差角の少なく
    とも一つが所定の角度未満のとき、1とし、設定された
    交差角の全てが所定の角度の以上のとき、0とすること
    を特徴とする請求項8記載の紙の繊維構造データ作成方
    法。
  11. 【請求項11】 前記繊維の数Mに基づいて、画素Pに
    おける光の透過度を示す光透過度Iを求め、 上記光透過度Iを前記紙の繊維構造データに付加して、
    紙の繊維構造データを作成することを特徴とする請求項
    1乃至10のいずれか1項に記載の紙の繊維構造データ
    作成方法。
  12. 【請求項12】 紙を構成する繊維のうちの1つを表す
    繊維データを作成する繊維データ作成手段と、 上記繊維データ作成手段で作成された複数の繊維データ
    を、複数の画素からなる領域に配置して、繊維の分布を
    表す繊維分布データを作成する繊維分布データ作成手段
    と、 上記繊維分布データ作成手段で作成された繊維分布デー
    タに基づいて、画素を通る繊維の数Mを各画素毎に算出
    する繊維数算出手段とを有し、 上記繊維数算出手段で算出された各画素毎の繊維の数M
    を紙の繊維構造データとして、紙の繊維構造データを作
    成することを特徴とする紙の繊維構造データ作成装置。
  13. 【請求項13】 前記繊維データ作成手段で作成される
    繊維データが、 繊維の形状を示すデータと、 繊維の位置を示すデータと、 繊維の方向を示すデータとから成ることを特徴とする請
    求項12記載の紙の繊維構造データ作成装置。
  14. 【請求項14】 前記繊維の形状を示すデータが、 余弦関数の一部で表現されることを特徴とする請求項1
    3記載の紙の繊維構造データ作成装置。
  15. 【請求項15】 繊維の長さを示す繊維長パラメータを
    入力する繊維長パラメータ入力手段を有し、 前記繊維データ作成手段は、上記繊維長パラメータ入力
    手段により入力された繊維長パラメータに基づいて、前
    記繊維の形状を示すデータを作成することを特徴とする
    請求項13又は14記載の紙の繊維構造データ作成装
    置。
  16. 【請求項16】 前記繊維分布データ作成手段は、 前記複数の画素から成る領域に複数の点をランダムに配
    置する点配置手段と、 上記点配置手段で配置された複数の点の位置を、リラク
    ション処理により、均一化する均一化手段と、 上記均一化手段で均一化された各点をそれぞれ中心とす
    る複数の小領域を作成する小領域作成手段と、 上記小領域作成手段で作成された各小領域に同じ数の繊
    維データをそれぞれランダムに配置するランダム配置手
    段とを有し、 上記ランダム配置手段で配置された繊維データを前記繊
    維分布データとすることを特徴とする請求項12乃至1
    5のいずれか1項に記載の紙の繊維構造データ作成装
    置。
  17. 【請求項17】 繊維の密度を示す繊維密度パラメータ
    を入力する繊維密度パラメータ入力手段を有し、 前記ランダム配置手段は、上記繊維密度パラメータ入力
    手段により入力された繊維密度パラメータに基づいて、
    前記複数の小領域に配置する繊維データの数を設定する
    ことを特徴とする請求項16記載の紙の繊維構造データ
    作成装置。
  18. 【請求項18】 前記繊維分布データ作成手段で作成さ
    れた繊維分布データに基づいて、画素Pを通るととも
    に、画素Pに隣接する8つの画素P1、P2、P3、P
    4、P5、P6、P7、P8をそれぞれ通る繊維の数M
    1、M2、M3、M4、M5、M6、M7、M8を各画
    素毎に算出する隣接繊維数算出手段を有し、 前記繊維数算出手段で算出された繊維の数Mと、上記隣
    接繊維数算出手段で算出された繊維の数Mi(i=1、
    2、3、4、5、6、7、8)とを前記紙の繊維構造デ
    ータとして、紙の繊維構造データを作成することを特徴
    とする請求項12乃至17のいずれか1項に記載の紙の
    繊維構造データ作成装置。
  19. 【請求項19】 前記隣接繊維数算出手段で算出された
    繊維の数M1乃至M8に基づいて、繊維の間隙に形成さ
    れる毛細管であって、前記画素Pから画素P1乃至P8
    の各方向に形成される毛細管の数S1、S2、S3、S
    4、S5、S6、S7、S8を各画素毎に算出する毛細
    管数算出手段を有し、 前記繊維数算出手段で算出された繊維の数Mと、前記隣
    接繊維数算出手段で算出された繊維の数Miと、上記毛
    細管数算出手段で算出された毛細管の数Si(i=1、
    2、3、4、5、6、7、8)とを前記紙の繊維構造デ
    ータとして、紙の繊維構造データを作成することを特徴
    とする請求項18記載の紙の繊維構造データ作成装置。
  20. 【請求項20】 前記毛細管算出手段は、 前記毛細管の数Siを、前記隣接繊維数算出手段で算出
    された繊維の数Miが2以上のとき、1とし、繊維の数
    Miが2未満のとき、0とすることを特徴とする請求項
    19記載の紙の繊維構造データ作成装置。
  21. 【請求項21】 前記毛細管算出手段は、 前記画素Pから画素Pi(i=1、2、3、4、5、
    6、7、8)方向のMi本の繊維について、互いに隣接
    する繊維が成す交差角をランダムに設定する交差角設定
    手段と、 前記毛細管の数Siを、上記交差角設定手段で設定され
    た交差角の少なくとも1つが所定の角度未満のとき、1
    とし、設定された交差角の全てが所定の角度以上のと
    き、0とする毛細管数設定手段とを有することを特徴と
    する請求項19記載の紙の繊維構造データ作成装置。
  22. 【請求項22】 前記繊維の数Mに基づいて、前記画素
    Pにおける光の透過度を示す光透過度Iを求める光透過
    度算出手段を有し、 上記光透過度算出手段で算出された光透過度Iを前記紙
    の繊維構造データに付加して、紙の繊維構造データを作
    成することを特徴とする請求項12乃至21のいずれか
    1項に記載の紙の繊維構造データ作成装置。
  23. 【請求項23】 複数の画素から成る領域に配設された
    紙を構成する繊維を表す繊維データに基づく、各画素毎
    の、画素を通る繊維の数Mから成ることを特徴とする紙
    の繊維構造データ。
  24. 【請求項24】 前記各画素毎の繊維の数Mと、 各画素毎の、画素Pを通るとともに、画素Pに隣接する
    8つの画素P1、P2、P3、P4、P5、P6、P
    7、P8をそれぞれ通る繊維の数M1、M2、M3、M
    4、M5、M6、M7、M8とから成ることを特徴とす
    る請求項23記載の紙の繊維構造データ。
  25. 【請求項25】 前記各画素毎の繊維の数Mと、 前記各画素毎の繊維の数M1乃至M8と、 各画素毎の、繊維の間隙に形成される毛細管であって、
    前記画素Pから画素P1乃至P8の各方向に形成される
    毛細管の数S1、S2、S3、S4、S5、S6、S
    7、S8とから成ることを特徴とする請求項24記載の
    紙の繊維構造データ。
  26. 【請求項26】 前記毛細管の数Si(i=1、2、
    3、4、5、6、7、8)が、前記繊維の数Miが2以
    上のとき1であり、繊維の数Miが2未満のとき0であ
    ることを特徴とする請求項25記載の紙の繊維構造デー
    タ。
  27. 【請求項27】 前記繊維の数Mに基づいて算出され
    る、各画素毎の光透過度Iを有することを特徴とする請
    求項23乃至26のいずれか1項に記載の紙の繊維構造
    データ。
  28. 【請求項28】 画素毎の画像データに基づいた画像を
    表示装置に表示するにじみ描画方法であって、 にじみのもととなる図形の輪郭上の画素Pを検出する第
    1の工程と、 上記第1の工程で検出された画素Pに対する請求項8乃
    至11のいずれか1項に記載の紙の繊維構造データ作成
    方法により作成された毛細管の数Si(i=1、2、
    3、4、5、6、7、8)に基づいて、画素Pに毛細管
    によって連結された画素を検出する第2の工程と、 上記第2の工程で検出された画素にインクの存在を示す
    データを画像データとして設定する第3の工程とを有
    し、 上記第3の工程で画像データが設定された画素を第2の
    工程における第1の工程で検出された画素Pとして、第
    2の工程と第3の工程を繰り返すことを特徴とするにじ
    み描画方法。
  29. 【請求項29】 前記第2の工程において、 前記画素Pの毛細管の数Siが1以上のとき、当該毛細
    管の数Siに対応する画素Piを画素Pに連結された画
    素とすることを特徴とする請求項28記載のにじみ描画
    方法。
  30. 【請求項30】 前記第2の工程において、 前記画素Pの毛細管の数Siが1以上であるとともに、
    当該毛細管の数Siに対応する画素Piの毛細管の数S
    j(j=1、2、3、4、5、6、7、8)が1以上で
    あるとき、画素Piを画素Pに連結された画素とするこ
    とを特徴とする請求項28記載のにじみ描画方法。
  31. 【請求項31】 前記第3の工程において、 前記画像データが既に設定されている画素に対しては、
    新たな画像データを設定しないことを特徴とする請求項
    28乃至30のいずれか1項に記載のにじみ描画方法。
  32. 【請求項32】 前記第1の工程で検出された画素Pに
    インク初期量U0 を画像データとして予め設定し、 前記第3の工程において、 上記インク初期量U0 が0以下のときには、前記第2の
    工程で検出された画素に画像データを設定しないことを
    特徴とする請求項28乃至31のいずれか1項に記載の
    にじみ描画方法。
  33. 【請求項33】 前記第3の工程において、 前記第2の工程で検出された画素におけるインク吸収量
    Uを算出し、 上記インク吸収量Uを画像データとして設定することを
    特徴とする請求項32記載のにじみ描画方法。
  34. 【請求項34】 前記インク吸収量Uを、下記(1)式
    に基づいて求めることを特徴とする請求項33記載のに
    じみ描画方法。 【数1】 ここで、nは請求項8乃至11のいずれか1項に記載の
    紙の繊維構造データ作成方法により求められる繊維の数
    Mであり、qはインクの表面張力に基づいた定数であ
    り、θiはi番目の繊維の方向を表すランダムに設定さ
    れる定数であり、αは任意に設定される比例定数であ
    る。
  35. 【請求項35】 前記第3の工程において、 前記インク吸収量Uを、前記第2の工程で検出された全
    ての画素について合計し、 上記合計の値が、前記インク初期量U0 に達したら、前
    記第2及び第3の工程の繰り返しを停止することを特徴
    とする請求項33又は34記載のにじみ描画方法。
  36. 【請求項36】 前記第3の工程において、 前記インク初期量U0 から前記インク吸収量Uを、前記
    第2の工程で検出された画素において順次減じて、イン
    ク残量Urestを順次求め、 上記インク残量Urestを、新たなインク初期量U0 とし
    て、前記第1の工程で検出された画素Pに設定し、 上記新たなインク初期量U0 が0以下となったとき、前
    記第2及び第3の工程の繰り返しを停止することを特徴
    とする請求項33又は34記載のにじみ描画方法。
  37. 【請求項37】 前記第3の工程において、 前記インク初期量U0 が、前記第1の工程で検出された
    画素であって、隣接する画素間で異なる場合、インク初
    期量U0 が多い方の画素のインク初期量U0 を減らし、
    インク初期量U0 が少ない方の画素のインク初期量U0
    を増やすことを特徴とする請求項32乃至36のいずれ
    か1項に記載のにじみ描画方法。
  38. 【請求項38】 前記図形の輪郭上の画素にインク初期
    濃度V0 を画像データとして予め設定し、 前記第3の工程において、 前記インクの存在を示すデータが設定された画素毎に、
    当該画素におけるインク濃度Vを算出し、 前記インク吸収量Uと上記インク濃度Vに基づいて、当
    該画素の輝度を示す輝度データを求め、 上記輝度データを画像データとして設定することを特徴
    とする請求項33乃至37のいずれか1項に記載のにじ
    み描画方法。
  39. 【請求項39】 前記第3の工程において、 前記インク濃度Vを、下記(2)式で示す偏微分方程式
    に基づいて求めることを特徴とする請求項38記載のに
    じみ描画方法。 【数2】 ここで、n(x,r,t)はインク粒子の密度を表す関
    数、v(r)はインク粒子の拡散速度を表す関数、D0
    は毛細管の壁面方向へのインク粒子の拡散を表す拡散係
    数、rは毛細管内における径方向の位置、xは毛細管内
    における流動方向の位置、tは時間である。
  40. 【請求項40】 前記第3の工程において、 前記インク濃度Vを、下記(3)式によって求めること
    を特徴とする請求項39記載のにじみ描画方法。 V=V0 ×V(x,t) ・・・(3) ここで、V0 は前記インク初期濃度V0 である。また、
    V(x,t)は、前記第2の工程で検出された画素の数
    xと時間tの関数であり、前記(2)式に基づいて求め
    られる。
  41. 【請求項41】 画素毎の画像データに基づいた画像を
    表示装置に表示するにじみ描画装置であって、 にじみのもととなる図形の輪郭上の画素Pを検出する輪
    郭上画素検出手段と、 上記輪郭上画素検出手で検出された画素Pに対する請求
    項19乃至22のいずれか1項に記載の紙の繊維構造デ
    ータ作成装置により作成された毛細管の数Si(i=
    1、2、3、4、5、6、7、8)に基づいて、画素P
    に毛細管によって連結された画素を検出する連結画素検
    出手段と、 上記連結画素検出手段で検出された画素にインクの存在
    を示すデータを画像データとして設定する画像データ設
    定手段とを備え、 上記画像データ設定手段で画像データが設定された画素
    を、上記輪郭上画素検出手段で検出された画素Pとして
    上記連結画素検出手段に供給し、上記連結画素検出手段
    と画像データ設定手段の動作を繰り返すことを特徴とす
    るにじみ描画装置。
  42. 【請求項42】 前記連結画素検出手段は、 前記画素Pの毛細管の数Siが1以上のとき、当該毛細
    管の数Siに対応する画素Piを画素Pに連結された画
    素とすることを特徴とする請求項41記載のにじみ描画
    装置。
  43. 【請求項43】 前記連結画素検出手段は、 前記画素Pの毛細管の数Siが1以上であるとともに、
    当該毛細管の数Siに対応する画素Piの毛細管の数S
    j(j=1、2、3、4、5、6、7、8)が1以上で
    あるとき、画素Piを画素Pに連結された画素とするこ
    とを特徴とする請求項41記載のにじみ描画装置。
  44. 【請求項44】 前記画像データ設定手段は、 前記画像データが既に設定されている画素に対しては、
    新たな画像データを設定しないことを特徴とする請求項
    41乃至43のいずれか1項に記載のにじみ描画装置。
  45. 【請求項45】 前記輪郭上画素検出手段で検出された
    画素Pにインク初期量U0 を画像データとして予め設定
    するインク初期量設定手段を備え、 前記画像データ設定手段は、 上記画素Pのインク初期量U0 が0以下のときには、前
    記連結画素検出手段で検出された画素に画像データを設
    定しないことを特徴とする請求項41乃至44のいずれ
    か1項に記載のにじみ描画装置。
  46. 【請求項46】 前記画像データ設定手段は、 前記連結画素検出手段で検出された画素におけるインク
    吸収量Uを算出し、 上記インク吸収量Uを画像データとして設定することを
    特徴とする請求項45記載のにじみ描画装置。
  47. 【請求項47】 前記画像データ設定手段は、 前記インク吸収量Uを、下記(4)式に基づいて求める
    ことを特徴とする請求項46記載のにじみ描画装置。 【数3】 ここで、nは請求項19乃至22のいずれか1項に記載
    の紙の繊維構造データ作成装置により求められる繊維の
    数Mであり、qはインクの表面張力に基づいた定数であ
    り、θiはi番目の繊維の方向を表すランダムに設定さ
    れる定数であり、αは任意に設定される比例定数であ
    る。
  48. 【請求項48】 前記画像データ設定手段で算出された
    インク吸収量Uを前記連結画像検出手段で検出された全
    ての画素について合計し、上記合計の値が、前記インク
    初期量設定手段で設定されたインク初期量U0 に達した
    ら、上記連結画像検出手段及び画像データ設定手段の繰
    り返し動作を停止する制御手段を備えることを特徴とす
    る請求項46又は47記載のにじみ描画装置。
  49. 【請求項49】 前記インク初期量設定手段で設定され
    たインク初期量U0 から前記画像データ設定手段で算出
    された前記インク吸収量Uを、前記連結画像検出手段で
    検出された画素において順次減じてインク残量Urestを
    順次求め、上記インク残量Urestを、新たなインク初期
    量U0 として前記輪郭上画素検出手段で検出された画素
    Pに設定するとともに、上記新たなインク初期量U0
    0以下となったとき、上記連結画像検出手段及び画像デ
    ータ設定手段の繰り返し動作を停止する制御手段を備え
    ることを特徴とする請求項46又は47記載のにじみ描
    画装置。
  50. 【請求項50】 前記制御手段は、 前記インク初期量U0 が、前記輪郭上画素検出手段で検
    出された画素であって、隣接する画素間で異なる場合、
    インク初期量U0 が多い方の画素のインク初期量U0
    減らし、インク初期量U0 が少ない方の画素のインク初
    期量U0 を増やす制御を行うことを特徴とする請求項4
    9記載のにじみ描画装置。
  51. 【請求項51】 前記図形の輪郭上の画素にインク初期
    濃度V0 を画像データとして予め設定するインク初期濃
    度設定手段を備え、 前記画像データ設定手段は、 前記インクの存在を示すデータが設定された画素毎に、
    当該画素におけるインク濃度Vを算出し、前記インク吸
    収量Uと上記インク濃度Vに基づいて、当該画素の輝度
    を示す輝度データを求め、上記輝度データを画像データ
    として設定することを特徴とする請求項45乃至50の
    いずれか1項に記載のにじみ描画装置。
  52. 【請求項52】 前記画像データ設定手段は、 前記インク濃度Vを、下記(5)式で示す偏微分方程式
    に基づいて求めることを特徴とする請求項11記載のに
    じみ描画装置。 【数4】 ここで、n(x,r,t)はインク粒子の密度を表す関
    数、v(r)はインク粒子の拡散速度を表す関数、D0
    は毛細管の壁面方向へのインク粒子の拡散を表す拡散係
    数、rは毛細管内における径方向の位置、xは毛細管内
    における流動方向の位置、tは時間である。
  53. 【請求項53】 前記画像データ設定手段は、 前記インク濃度Vを、下記(6)式によって求めること
    を特徴とする請求項12記載のにじみ描画装置。 V=V0 ×V(x,t) ・・・(6) ここで、V0 は前記インク初期濃度V0 である。また、
    V(x,t)は、前記連結画素検出手段で検出された画
    素の数xと時間tの関数であり、前記(5)式に基づい
    て求められる。
JP7011050A 1995-01-26 1995-01-26 紙の繊維構造データ作成方法、紙の繊維構造データ作成装置、紙の繊維構造データ、にじみ描画方法及びにじみ描画装置 Withdrawn JPH08202850A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP7011050A JPH08202850A (ja) 1995-01-26 1995-01-26 紙の繊維構造データ作成方法、紙の繊維構造データ作成装置、紙の繊維構造データ、にじみ描画方法及びにじみ描画装置
GB9601532A GB2297673B (en) 1995-01-26 1996-01-25 Figure drawing
US08/592,190 US5784301A (en) 1995-01-26 1996-01-26 Method and apparatus for producing paper fiber structure data, and method and apparatus for drawing bled figure
KR1019960002191A KR960030042A (ko) 1995-01-26 1996-01-26 종이 섬유 구조 데이타를 산출하는 방법과 장치, 종이 섬유 구조 데이타, 및 블리드된 화상을 작성하는 방법과 장치
CN96101494A CN1104703C (zh) 1995-01-26 1996-01-26 纸纤维结构数据及产生方法和设备、绘渗开图方法和设备
TW085102076A TW297877B (ja) 1995-01-26 1996-02-23

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7011050A JPH08202850A (ja) 1995-01-26 1995-01-26 紙の繊維構造データ作成方法、紙の繊維構造データ作成装置、紙の繊維構造データ、にじみ描画方法及びにじみ描画装置

Publications (1)

Publication Number Publication Date
JPH08202850A true JPH08202850A (ja) 1996-08-09

Family

ID=11767208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7011050A Withdrawn JPH08202850A (ja) 1995-01-26 1995-01-26 紙の繊維構造データ作成方法、紙の繊維構造データ作成装置、紙の繊維構造データ、にじみ描画方法及びにじみ描画装置

Country Status (6)

Country Link
US (1) US5784301A (ja)
JP (1) JPH08202850A (ja)
KR (1) KR960030042A (ja)
CN (1) CN1104703C (ja)
GB (1) GB2297673B (ja)
TW (1) TW297877B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2338160A (en) * 1995-01-27 1999-12-08 Sony Corp Simulating a brush stroke with varying coverage
US5940081A (en) * 1995-01-27 1999-08-17 Sony Corporation Method and apparatus for forming a font and the font produced method and apparatus for drawing a blurred figure
US6198489B1 (en) * 1997-02-21 2001-03-06 University Of Washington Computer generated watercolor
US20030158786A1 (en) 1999-02-26 2003-08-21 Skyline Software Systems, Inc. Sending three-dimensional images over a network
US6870550B1 (en) * 1999-04-26 2005-03-22 Adobe Systems Incorporated Digital Painting
US7710422B2 (en) * 2004-07-26 2010-05-04 Microsoft Corporation Font representations
US8296668B1 (en) * 2008-08-15 2012-10-23 Adobe Systems Incorporated Paper texture for watercolor painting effects in a graphics editing program
US20130002696A1 (en) * 2011-07-01 2013-01-03 Andrew James Sauer Computer Based Models of Printed Material
US9230514B1 (en) * 2012-06-20 2016-01-05 Amazon Technologies, Inc. Simulating variances in human writing with digital typography

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4796020A (en) * 1986-03-10 1989-01-03 American Telephone And Telegraph Company, At&T Bell Laboratories Method and apparatus for drawing antialiased lines and polygons
US5060169A (en) * 1987-07-01 1991-10-22 Ampex Corporation Video simulation of an airbrush spray pattern
US5245432A (en) * 1989-07-31 1993-09-14 Imageware Research And Development Inc. Apparatus and method for transforming a digitized signal of an image to incorporate an airbrush effect
JP3021547B2 (ja) * 1989-09-29 2000-03-15 セイコーエプソン株式会社 文字パターン発生方法
US5155813A (en) * 1990-01-08 1992-10-13 Wang Laboratories, Inc. Computer apparatus for brush styled writing
GB2244892B (en) * 1990-06-08 1994-12-14 Electronic Graphics Ltd Computer graphics
GB2256118A (en) * 1991-05-21 1992-11-25 Cambridge Animation Syst Image synthesis and processing
JPH06505817A (ja) * 1990-11-30 1994-06-30 ケンブリッジ アニメーション システムズ リミテッド 画像合成及び処理
US5432896A (en) * 1991-01-31 1995-07-11 Axa Corporation Watercolor simulation in computer graphics
US5598182A (en) * 1991-05-21 1997-01-28 Cambridge Animation Systems Limited Image synthesis and processing
US5347620A (en) * 1991-09-05 1994-09-13 Zimmer Mark A System and method for digital rendering of images and printed articulation
US5592597A (en) * 1994-02-14 1997-01-07 Parametric Technology Corporation Real-time image generation system for simulating physical paint, drawing media, and feature modeling with 3-D graphics
US5621868A (en) * 1994-04-15 1997-04-15 Sony Corporation Generating imitation custom artwork by simulating brush strokes and enhancing edges

Also Published As

Publication number Publication date
US5784301A (en) 1998-07-21
GB2297673A (en) 1996-08-07
CN1134572A (zh) 1996-10-30
GB2297673B (en) 1999-10-13
GB9601532D0 (en) 1996-03-27
CN1104703C (zh) 2003-04-02
KR960030042A (ko) 1996-08-17
TW297877B (ja) 1997-02-11

Similar Documents

Publication Publication Date Title
Kazi et al. Vignette: interactive texture design and manipulation with freeform gestures for pen-and-ink illustration
US5611036A (en) Apparatus and method for defining the form and attributes of an object in an image
US5754183A (en) Image processing apparatus and method for producing pixel data in dependence upon the shape of a sectional line extending between boundary lines of an object
US8081187B2 (en) Pencil strokes for vector based drawing elements
US7696998B2 (en) Pen-based 3D drawing system with 3D orthographic plane or orthographic ruled surface drawing
JP3837162B2 (ja) 対話的イメージ編集
US6867787B1 (en) Character generator and character generating method
US7688323B2 (en) Function portions of animation program
US7714866B2 (en) Rendering a simulated vector marker stroke
US8144171B2 (en) Scale-dependent rendering of natural media styles
EP0887771A2 (en) Method and apparatus for composing layered synthetic graphics filters
US5940081A (en) Method and apparatus for forming a font and the font produced method and apparatus for drawing a blurred figure
US6919888B1 (en) Computer drawing shape manipulation with envelope meshes
JPH08202850A (ja) 紙の繊維構造データ作成方法、紙の繊維構造データ作成装置、紙の繊維構造データ、にじみ描画方法及びにじみ描画装置
Miranda et al. Sketch express: A sketching interface for facial animation
EP0887770A2 (en) Method and apparatus for defining the scope of operation of layered synthetic graphics filters
JP2001175881A (ja) モルフィング処理装置、モルフィング方法、記憶媒体、プログラム伝送装置、および動画作成装置
US7474928B2 (en) Hybrid vector/raster based paint
JPH08202893A (ja) 掠描画方法及び掠描画装置
Barla et al. Gradient art: Creation and vectorization
JPH08202336A (ja) フォント作成方法、フォント作成装置及びフォント
US5353396A (en) System and method for generating complex calligraphic curves
KR20230088382A (ko) 자수 색상 전환
Jackson Digital illustration fundamentals
Seah et al. Modeling and Rendering with eXpressive B-Spline Curves

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020402