JP3886559B2 - Method and apparatus for generating an irregular cell pattern - Google Patents

Method and apparatus for generating an irregular cell pattern Download PDF

Info

Publication number
JP3886559B2
JP3886559B2 JP9909496A JP9909496A JP3886559B2 JP 3886559 B2 JP3886559 B2 JP 3886559B2 JP 9909496 A JP9909496 A JP 9909496A JP 9909496 A JP9909496 A JP 9909496A JP 3886559 B2 JP3886559 B2 JP 3886559B2
Authority
JP
Japan
Prior art keywords
generating
point
stage
points
lattice
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.)
Expired - Fee Related
Application number
JP9909496A
Other languages
Japanese (ja)
Other versions
JPH09265542A (en
Inventor
直樹 河合
健 大嶋
靖浩 林
俊雄 有吉
優 岡本
佳夫 助川
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP9909496A priority Critical patent/JP3886559B2/en
Publication of JPH09265542A publication Critical patent/JPH09265542A/en
Application granted granted Critical
Publication of JP3886559B2 publication Critical patent/JP3886559B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、多数の不定形セルからなるパターンをコンピュータを利用して生成するための生成方法および生成装置に関する。
【0002】
【従来の技術】
近年、コンピュータグラフィックスの技術進歩により、種々の模様やパターンをコンピュータを利用して生成する手法が確立されてきており、手描では到底不可能であった斬新な模様をコンピュータを利用して比較的簡単に生成することが可能になってきている。また、もとになるデジタル画像に対して種々のエフェクトをかけることにより、全く新しいイメージをもった画像を生成する技術も普及しており、グラフィックデザイン用のアプリケーションソフトウエアも様々なものが市販されるに至っている。このような模様やパターンは、チラシやカタログ類などの紙製品への印刷をはじめとして、壁板やドアなどの建材表面への印刷やエンボス加工、家具表面を構成する化粧板への印刷やエンボス加工など、あらゆる分野で広く利用されている。また、最近では、いわゆるマルチメディアの普及により、単にディスプレイ画面に表示することだけを目的として、種々の模様やパターンが利用されることも少なくない。
【0003】
このように、コンピュータを利用して生成されるパターンの一態様として、多数の不定形セルからなるパターンが用いられている。この不定形セルパターンは、動物の皮膚、植物の細胞や微細組織などを表現するのに適しており、コンピュータグラフィックスの分野において、動植物のモデリングを行う際に表面にマッピングするテクスチャ模様として用いられることが多い。
【0004】
この不定形セルパターンは、小さな不定形多角形を多数セル状に配置してなるパターンであり、このようなパターンをコンピュータを利用して生成するための手法としては、ボロノイ図(Voronoi diagram )を利用する方法が一般的である。ボロノイ図は、平面上に多数の母点を定義し、各母点の勢力圏を数学的に定義し、こうして定義された個々の勢力圏からなる多角形によって平面を構成することにより得られ、いわば平面を多数のセルに分割した図ともいうべきものである。予め、母点の分布状態の設定と勢力圏の数学的定義とを行っておけば、コンピュータによる数学的な演算によって、比較的容易にボロノイ図を得ることができる。
【0005】
【発明が解決しようとする課題】
上述したように、現在のコンピュータグラフィックスの分野においては、ボロノイ図を利用して不定形セルパターンを生成するのが一般的である。通常は、平面上に一様乱数を用いて全くランダムに母点を定義し、これらの母点に基づいてボロノイ図を作成して不定形セルパターンを生成する方法が採られている。しかしながら、こうして生成された不定形セルパターンは、確かに、不規則な大きさおよび不規則な形状をもった多数のセルの集合からなるパターンにはなるが、動物の皮膚、植物の細胞や微細組織など、動植物の組織を表現するパターンとしては、不自然さが残り、決して十分なパターンにはなっていないのが実情である。特に、従来の方法では、動植物に特有な「流れ」の要素を表現することができず、動植物としての生命感に乏しいパターンしか得られない。
【0006】
そこで本発明は、動植物に特有な「流れ」の要素を表現することにより、生命感のある不定形セルパターンを生成する新規な手法を提供することを目的とする。
【0007】
【課題を解決するための手段】
(1) 本発明の第1の態様は、多数の不定形セルからなるパターンを生成する方法において、
コンピュータが、個々のセルの核となるべき多数の母点を規則的に配置する第1の段階と、
コンピュータが、空間的に自己相似的なベクトルを表現することができるフラクタル場を用意する第2の段階と、
コンピュータが、配置した多数の母点を、用意したフラクタル場を用いてそれぞれ変位させる第3の段階と、
コンピュータが、変位後の母点に対するボロノイ図を作成する第4の段階と、
を行い、作成したボロノイ図に基づいてパターンを生成するようにしたものである。
【0008】
(2) 本発明の第2の態様は、上述の第1の態様に係る方法において、
第1の段階で、母点を二次元平面上に配置し、
第2の段階で、所定のスカラー値を自己相似的に二次元平面上の各格子点に定義した二次元フラクタル格子を用意し、
第3の段階で、母点が配置された平面上に二次元フラクタル格子を重ね、各母点と各格子点との相互位置関係に基づいて、各母点に特定の格子点を対応づけ、対応する格子点に定義されたスカラー値に基づいて各母点を所定方向に変位させるようにしたものである。
【0009】
(3) 本発明の第3の態様は、上述の第2の態様に係る方法において、
第1の段階で、母点をXY平面上に配置し、
第2の段階で、2つのそれぞれ独立した二次元フラクタル格子を用意し、
第3の段階で、各母点を、第1の二次元フラクタル格子の格子点に定義されたスカラー値に基づいてX軸方向に移動させ、第2の二次元フラクタル格子の格子点に定義されたスカラー値に基づいてY軸方向に移動させるようにしたものである。
【0010】
(4) 本発明の第4の態様は、上述の第1〜3の態様に係る方法において、
第1の段階で、三角形、四角形もしくは六角形からなるボロノイ多角形が形成されるように、所定平面上に規則的に母点を配置するようにしたものである。
【0011】
(5) 本発明の第5の態様は、上述の第1〜4の態様に係る方法において、
第4の段階で、任意の点をユークリッド距離が最も小さい母点の勢力圏に所属させることによりボロノイ図を作成するようにしたものである。
【0012】
(6) 本発明の第6の態様は、多数の不定形セルからなるパターンを生成する装置において、
所定のパラメータを入力するパラメータ入力手段と、
乱数を発生させる乱数発生手段と、
個々のセルの核となるべき多数の母点を、入力したパラメータに基づいて規則的に配置する母点配置手段と、
空間的に自己相似的なベクトルを表現することができるフラクタル場を、入力したパラメータに基づいて発生させるフラクタル場発生手段と、
多数の母点をフラクタル場を用いてそれぞれ変位させる母点変位手段と、
変位後の母点に対するボロノイ図を作成するボロノイ図作成手段と、
ボロノイ図に基づいてパターンを生成し、これを出力するパターン出力手段と、
を設けるようにしたものである。
【0015】
【発明の実施の形態】
以下、本発明を図示する実施形態に基づいて説明する。はじめに、説明の便宜上、ボロノイ図についての簡単な説明を行うことにする。いま、図1に示すように、平面上に6個の母点M1〜M6を定義する。そして、この平面上の任意の点Pをどの母点の勢力圏に所属させるかという事項を数学的に定義する。通常、もっとも一般的に行われている定義は、「ユークリッド距離(いわゆる幾何学的な二点間の距離)が最も小さい母点の勢力圏に所属させる」という定義である。図1に示す例では、点Pに対して最もユークリッド距離が近い母点は母点M2であるから、点Pは母点M2の勢力圏に所属することになる。このように、平面上のすべての点を、母点M1〜M6のいずれかに所属させると、図2に示すように、各母点の勢力圏を示す多角形が得られる。この図2では、ハッチングを施した多角形が母点M2の勢力圏に相当する。すなわち、母点M2は、このハッチング領域内のすべての点に対してユークリッド距離が最も小さい母点となる。こうして得られる多角形はボロノイ多角形と呼ばれ、このボロノイ多角形の集合がボロノイ図(Voronoi diagram )になる。要するに、ボロノイ図とは、平面上にn個の母点M1,M2,…,Mi,…Mnを定義したときの各母点の勢力圏を示す多角形の集合により、平面を分割した状態を示す図ということができる。
【0016】
このボロノイ図を作成するにあたり、予め規則的に母点を配置しておくようにすると、作成されるボロノイ図が示す平面分割パターンも規則的なものになる。たとえば、図3に示すように、同一の正三角形によって平面を埋め尽くすようにし、個々の正三角形の頂点位置に個々の母点Miをそれぞれ定義してみる。このように規則的に配置された多数の母点Miに基づいてボロノイ図を作成すると、図4に示すような多数の正六角形Hiがボロノイ多角形として得られることになり、平面はこの正六角形群によって規則的に分割される。
【0017】
このように完全に規則的なセルパターンは、動植物の組織を表現するパターンとしては不適当である。そこで、動植物の組織を表現するために、図3に示す規則的な母点配置に対して、予めランダムな変位を与えておく手法が従来から採られている。たとえば、図3に示されている平面をXY平面とし、図示された正三角形の頂点として規則的に配置された個々の母点Mi(xi,yi)に対して、X軸方向の変位量ΔxとY軸方向の変位量Δyとをそれぞれ各母点ごとに乱数として発生させ、この変位量Δx,Δyに基づいて各母点の新たな位置をMi(xi+Δx,yi+Δy)とする変位(移動)を行う。個々の母点ごとにこのような変位を行えば、全体的にランダムに配置された母点群が得られることになる。このランダム配置された母点群についてボロノイ図を求めると、得られるセルパターンは不定形セルパターンとなり、動植物の組織を表現するパターンとしてより好ましいものになる。図5は、このような従来の手法により得られた不定形セルパターンの一例を示す図である。すなわち、この図5のパターンは、図3に示すように規則的に配置した母点に対して、一様乱数を用いたランダムな変位を行い、変位後の母点についてボロノイ図を求めることにより得られたパターンである。
【0018】
この図5に示すパターンは、不定形のセルからなるパターンという意味では、確かに動植物の組織を表現するパターンとして利用可能であるが、動植物に特有な「流れ」の要素が表現されていないため、動植物としての生命感に乏しいパターンと言わざるを得ない。本願発明者は、動植物としての生命感に富んだ表現を行うためには、この「流れ」の要素をパターン中に表現することが不可欠であると考えており、従来の手法によって生成された不定形セルパターンに「流れ」の要素が表現されない理由は、規則的に配置された母点を変位させる過程において、個々の母点の変位量がそれぞれ全く独立して設定されているためであると考えている。すなわち、個々の母点ごとにそれぞれ一様乱数を用いてランダムな変位量を設定したとしても、隣接する母点同士でこの変位量に何ら相関関係がなければ、個々の母点が全く勝手に変位している状態しか得られず、そこには、動植物に特有な「流れ」の要素の入り込む余地はないのである。
【0019】
本願発明者は、この「流れ」の要素をパターン内に取り込むために、フラクタル場を利用することを見いだした。一般に、「フラクタル場」とは、空間的な自己相似性をもった場を意味し、特に、空間的な自己相似性をもったフラクタル図形が、自然界の多くのものを表現するのに適していることは広く知られている。フラクタル図形の特徴は、ミクロ的に見ても、マクロ的に見ても、その複雑さは常に同じであるという点にある。自然界に見られる海岸線の形状、樹木や葉脈の形状、雪の結晶の形状、などは、いずれもこのフラクタル図形の代表的なものであり、ミクロ的に見てもマクロ的に見ても、入り組んだ独特の形状をしている。このような性質は一般に自己相似性と呼ばれており、フラクタル理論の本質は、この自己相似性にある。
【0020】
このフラクタル理論を、より一般的に拡張すると、所定のスカラー値を自己相似的に個々の格子点に定義したフラクタル格子を考えることができる。たとえば、二次元フラクタル格子は、二次元平面上に配列された各格子点のそれぞれに、所定のスカラー値を定義したものであり、二次元スカラー場を与えるものである。この二次元スカラー場において、各スカラー値は、自然なゆらぎをもって空間的に変化することになる。別言すれば、この変化のパターンは、ミクロ的に見ても、マクロ的に見ても、その複雑さは常に同じ、すなわち自己相似的になる。また、この二次元スカラー場に定義された個々のスカラー値に方向性を与えることにより、二次元ベクトル場を定義することも可能である。本発明の基本思想は、このように方向性が定義されたフラクタル場に基づいて、規則的な母点を変位させることにより、「流れ」の要素を不定形セルパターン中に取り込む点にある。
【0021】
図6は、本発明に係る不定形セルパターンの生成方法の基本手順を示す流れ図である。まず、ステップS1において、個々のセルの核となるべき多数の母点を規則的に配置する。たとえば、図3に示すように、規則的に配置された多数の母点Miが定義されることになる。続くステップS2において、空間的に自己相似的なベクトルを表現することができるフラクタル場が用意される。具体的には、二次元フラクタルスカラー場を用意し、このスカラー場に方向性を定義することにより、フラクタルベクトル場として利用すればよい。そして、ステップS3において、ステップS1で配置した多数の母点を、ステップS2で用意したフラクタルベクトル場の示す方向へそれぞれ移動させる。これにより、個々の母点は、それぞれ変位することになるが、個々の母点の変位方向および変位量は、フラクタル場に基づいて決定されているため、この変位態様には、全体として自然界の「流れ」の要素が取り込まれていることになる。別言すれば、各母点の規則的な配置に対する変位態様は、自己相似性を有することになる。最後に、ステップS4において、この変位後の母点に対するボロノイ図が作成される。すなわち、二次元平面がボロノイ多角形によって分割されることになり、不定形セルパターンが得られる。
【0022】
図7は、この図6に示す本発明に係る手法により得られた不定形セルパターンの一例を示す図である。すなわち、この図7のパターンは、図3に示すように規則的に配置した母点に対して、フラクタル場を用いた自己相似的な変位を行い、変位後の母点についてボロノイ図を求めることにより得られたパターンである。図5に示す従来のセルパターンと比較すると、いずれも不定形のセルからなるパターンという点では同じであるが、図7に示すパターンでは、明らかに動植物に特有な「流れ」の要素が表現されていることがわかる。たとえば、コンピュータグラフィックスの分野において、ワニやトカゲなどの爬虫類の皮膚にマッピングするテクスチャ模様として、図5に示すセルパターンと、図7に示すセルパターンとを比較してみれば、後者の方が動物の皮膚としての生命感が感じられることが認識できよう。
【0023】
【実施例】
続いて、本発明をより具体的な実施例に基づいて説明する。
【0024】
§1. 一次元フラクタル格子
本発明の根本的な思想は、フラクタル場によって表現される自然なゆらぎを、不定形セルパターンに反映させる点にある。そこで、はじめに、このフラクタル場についての簡単な説明を行うことにする。ここでは、一次元に配列された個々の格子点にスカラー量を定義してなる一次元フラクタル格子について、図を参照しながら説明する。
【0025】
いま、図8に示すように、1本の線上に所定の距離だけ離して2つの格子点A,B(図では二重の円で示す)を定義し、これら各格子点A,Bにそれぞれスカラー値a,bを定義する。このように定義した2つの格子点A,Bは、初期段階(以下、第0段階と呼ぶ)の格子点であり、スカラー値a,bは、この2つの格子点A,Bに設定されたいわば初期条件である。
【0026】
続いて、図9に示すように、2つの格子点A,Bの中点に、第1段階の格子点Cを定義する。このとき、この格子点Cに対しても、スカラー値cを定義することになるが、このスカラー値cはスカラー値a,bに基づいて、所定の演算によって定義することになる。図9は、格子点Cのスカラー値cがまだ定まっていない状態を示している。なお、ここでは、スカラー値が未定義の状態の格子点を一重の円で示し、スカラー値が定義された状態の格子点を二重の円で示すことにする。スカラー値cは、次のような演算式
c=(a+b)/2 + T・RND (1)
によって計算される。ここで、aおよびbは、格子点AおよびBについて定義されたスカラー値であり、Tはゆらぎの最大半振幅値、RNDは、−1≦RND≦+1なる任意の乱数である。このように、スカラー値cの定義には、乱数が用いられており、偶然の要素が左右することになる。ただし、スカラー値cとしては、全くデタラメな値が定義されるわけではなく、両隣の格子点A,Bのスカラー値a,bと、最大半振幅値Tと、によって制限を受けることになる。すなわち、上述の式(1) に示されているように、スカラー値a,bの平均値に、−T〜+Tの範囲内の任意の値(乱数によって定まる)を加えた値が、スカラー値cの値となる。したがって、最大半振幅値Tは、平均値からずれるゆらぎの程度を制限するパラメータとなる。
【0027】
こうして、第1段階の格子点Cについてのスカラー値cが定義できたら、続いて、図10に示すように、格子点A,Cの中点および格子点C,Bの中点に、それぞれ第2段階の格子点D,Eを定義する。そして、これら格子点D,Eに対して、それぞれスカラー値d,eを、
d=(a+c)/2 + (1/2)・T・RND (2)
e=(c+b)/2 + (1/2)・T・RND (3)
なる式によって計算する。ここで、上述したように、Tはゆらぎの最大半振幅値、RNDは、−1≦RND≦+1なる任意の乱数である。式(2) ,(3) は、式(1) と非常に似ているが、最大半振幅値Tに(1/2)なる係数がかかっている点は留意すべきである。
【0028】
続いて、第2段階までで定義された5つの格子点A,D,C,E,Bのそれぞれ中点に、第3段階の格子点を定義し、これらの格子点にもスカラー値を計算して定義する。たとえば、格子点A,Dの中点として定義された格子点F(図示されていない)についてのスカラー値fは、
f=(a+d)/2 + (1/4)・T・RND (4)
なる式によって計算される。この式(4) では、最大半振幅値Tに(1/4)なる係数がかかっている。
【0029】
理解を容易にするために、以上のステップを実際の数値を用いて説明してみる。たとえば、図11に示すように、第0段階の格子点A,Bに対して、それぞれスカラー値「50」,「80」を初期条件として設定した場合を考える。このような2つの格子点A,Bの中点として、図12に示すように、第1段階の格子点Cが定義されることになるが、この場合、この格子点Cについて定義されるスカラー値cは、前述の式(1) により、
c=(50+80)/2+T・RND (1)
なる演算で与えられる。ここでは、ゆらぎの最大半振幅値T=5と設定し、上式の演算時には、たまたま乱数RND=+0.6になったものとしよう。この場合、演算により求まるスカラー値c=68となる。
【0030】
続いて、格子点A,Cおよび格子点C,Bの中点として、図13に示すように、第2段階の格子点Dおよび格子点Eが定義されることになるが、この場合、これらの格子点D,Eについて定義されるスカラー値d,eは、前述の式(2) ,(3) により、
d=(50+68)/2+(1/2)・T・RND (2)
e=(68+80)/2+(1/2)・T・RND (3)
なる演算で与えられる。ここで、上各式の演算時に、たまたま乱数RND=−0.4、RND=+0.8になったものとすると、演算により求まるスカラー値d=58、e=76となる。結局、第2段階の格子点についてのスカラー値が求まった段階では、図14に示すように、5つの格子点A,D,C,E,Bについて、それぞれスカラー値が定義されたことになる。
【0031】
同様にして、これらの5つの格子点A,D,C,E,Bのそれぞれ中点に、第3段階の格子点を定義し、これらの格子点にもスカラー値を計算して定義し、更に、第4段階、第5段階、…、と同じ操作を繰り返し実行してゆく。このような操作を所定の有限回数nだけ繰り返し行ってゆけば、第0段階の格子点A,Bの間に多数の格子点が定義され、これら各格子点には所定のスカラー値が定義されることになる。なお、第n段階の格子点についてのスカラー値sの計算方法を一般式で示せば、
s=(α+β)/2+(1/2(n−1))・T・RND (5)
となる。ここで、αおよびβは、その格子点の両隣の格子点のスカラー値(第(n−1)段階で計算されている)であり、上述したように、Tはゆらぎの最大半振幅値、RNDは、−1≦RND≦+1なる任意の乱数である。
【0032】
このような方法によって、所定のスカラー値をもった格子点を多数定義すると、これらの格子点は一次元フラクタル格子を構成することになる。このようなフラクタル格子の発生方法は、一般にランダム中点変位法と呼ばれている方法である。上述の具体例では、この一次元フラクタル格子の左端点に「50」、右端点に「80」、というスカラー値が定義され、これら両端点の間に定義された多数の格子点にも、それぞれ特有のスカラー値が定義される。いま、こうして求まった一次元フラクタル格子の配列方向を横軸にとり、個々のスカラー値を縦軸にとると、図15に示すようなグラフが描かれることになる。このようなグラフは、たとえば、自然界の海岸線の形状に似た性質をもつ。すなわち、個々のスカラー値は、部分的に大きくなったり小さくなったりと、様々な分布をとることになるが、この分布パターンの複雑さは、ミクロ的に見ても、マクロ的に見ても同じになることが知られている。この性質をより具体的に説明すれば、図15において、格子点AB間のグラフの複雑さも、格子点AD間のグラフの複雑さも、同じであり、また、この格子点ADの間のごく微小区間を虫めがねで拡大して見た場合も、やはり同じ複雑さをもっているということである。別言すれば、個々のスカラー値は自己相似的に個々の格子点に定義されており、自然なゆらぎをもって空間的に増減変化していることになる。
【0033】
§2. 二次元フラクタル格子
以上、単純な一次元のフラクタル格子をランダム中点変位法によって発生させる方法を、具体例を掲げながら説明を行ったが、後述する実施例において実際に用いられるフラクタル格子は、格子点が平面的に配列された二次元フラクタル格子である。そこで、ここでは、上述の一次元フラクタル格子で説明したランダム中点変位法を二次元に適用した方法の一例を述べておく。二次元フラクタル格子を発生させるには、第0段階の格子点として、図16に示すように、正方形の4頂点に格子点A,B,C,Dを配置し、それぞれスカラー値a,b,c,dを定義する。ここで、この正方形は、最終的に生成された二次元フラクタル格子の外形を形成する外形矩形である。
【0034】
続いて、図17に示すように、格子点AB間、BC間、CD間、DA間のそれぞれ中点に、第1段階の格子点E,F,G,Hを定義するとともに、4つの格子点ABCDの対角線の交点に、もうひとつの第1段階の格子点Iを定義する。そして、これら5つの格子点について、それぞれスカラー値e,f,g,h,iを定義するが、これは次のような演算式
e=(a+b)/2 + T・RND (6)
f=(b+c)/2 + T・RND (7)
g=(c+d)/2 + T・RND (8)
h=(d+a)/2 + T・RND (9)
i= (a+b+c+d)/4 + T・RND (10)
によって計算される。なお、一次元フラクタル格子の例と同様に、Tはゆらぎの最大半振幅値、RNDは、−1≦RND≦+1なる任意の乱数である。
【0035】
こうして、第1段階の格子点E,F,G,H,Iについてのスカラー値e,f,g,h,iが定義できたら、続いて、図18に示すように、隣接する各格子点の中点および4つの格子点の対角線の交点に、それぞれ第2段階の格子点J,K,L,M,N,…を定義する(繁雑になるのを避けるため、図18では、格子点J,K,L,M,Nのみ格子点名を表示してある)。そして、これらの各格子点について、それぞれスカラー値j,k,l,m,n,…を定義するが、これは次のような演算式(j〜nまでについての演算式のみを示す)
j=(a+e)/2 + (1/2)・T・RND (11)
k=(e+i)/2 + (1/2)・T・RND (12)
l=(i+h)/2 + (1/2)・T・RND (13)
m=(h+a)/2 + (1/2)・T・RND (14)
n= (a+e+i+h)/4 + (1/2)・T・RND (15)
によって計算する。この第2段階の格子点のスカラー値を求める式では、前述した一次元フラクタル格子の場合と同様に、最大半振幅値Tに(1/2)なる係数がかかっている。
【0036】
以下、同様に、第3段階、第4段階、…、第n段階の処理を繰り返し実行してゆけば、二次元平面上に配列された多数の格子点について、スカラー値が定義されることになる。
【0037】
以上の処理を、一般論として説明すると、まず、第0段階において、外形矩形のそれぞれ4隅位置に4つの格子点を定義し、各格子点にそれぞれ所定のスカラー値を定義する。そして、以下、第i段階の処理として、次のような処理を順次実行すればよい。すなわち、まず、第(i−1)段階までに定義された格子点を内部に含まない現段階での最小矩形を認識する。たとえば、i=1の第1段階の場合は、図16に示す矩形ABCDが最小矩形(第0段階までに定義された格子点A,B,C,Dを内部に含まない矩形)であり、i=2の第2段階の場合は、図17に示す4つの矩形AEIH,EBFI,HIGD,IFCGがそれぞれ最小矩形(第1段階までに定義された格子点A〜Iをいずれも内部に含まない矩形)である。
【0038】
そして、この最小矩形の各辺の中点およびこの最小矩形の中心点に、第i段階に定義すべき格子点を生成する(たとえば、i=1の第1段階の場合は、図17に示すように、最小矩形ABCDの各辺の中点E,F,G,Hおよび中心点Iに、定義すべき格子点が生成されている)。更に、これらの格子点のうち、各辺の中点に生成した格子点については、その辺の端点に存在する第(i−1)段階までに定義された2つの格子点のもつスカラー値に乱数を作用させることによって得られるスカラー値を与える。たとえば、図17に示す格子点Eについては、2つの格子点A,Bのもつスカラー値a,bに乱数RNDを作用させることによって得られたスカラー値eが与えられている。一般に、第n段階において隣接する格子点の中点として定義される格子点についてのスカラー値s1の計算方法を式で示せば、
s1=(α+β)/2+(1/2(n−1))・T・RND (16)
となる。ここで、αおよびβは、その格子点の両隣の格子点のスカラー値(第(n−1)段階で計算されている)である。
【0039】
一方、最小矩形の中心点に生成した格子点については、その最小矩形の4隅位置に存在する第(i−1)段階までに定義された4つの格子点のもつスカラー値に乱数を作用させることによって得られるスカラー値を与える。たとえば、図17に示す格子点Iについては、4つの格子点A,B,C,Dのもつスカラー値a,b,c,dに乱数RNDを作用させることによって得られたスカラー値iが与えられている。一般に、第n段階において最小矩形の中心点として定義される格子点についてのスカラー値s2の計算方法を式で示せば、
s2= (α+β+γ+δ)/4+(1/2(n−1))・T・RND (17)
となる。ここで、α,β,γ,δは、その最小矩形の4つの隅にある格子点のスカラー値(第(n−1)段階で計算されている)である。
【0040】
このような方法によって生成された二次元フラクタル格子は、結局、二次元平面的に広がったスカラー場を与えるものになる。そこで、この二次元フラクタル格子の面を水平面上にとり、各スカラー値を垂直方向の高さ(標高)としてグラフにプロットすれば山岳の隆起構造のような凹凸パターンが表現できる。このような隆起構造は、自然界に存在する実際の山岳の隆起構造の凹凸パターンと似た性質をもつことが知られている。すなわち、凹凸構造の複雑さは、ミクロ的に見ても、マクロ的に見ても同じになり、この凹凸構造の一部を虫めがねで拡大して見た場合も、やはり同じ複雑さをもっている。別言すれば、二次元平面上に分布した個々のスカラー値は自己相似的に配置されており、自然なゆらぎをもって空間的に増減変化していることになる。
【0041】
§3. 不定形セルパターンの生成
さて、上述の§2において、二次元フラクタル格子を発生させる具体的な方法を例示したが、ここでは、この二次元フラクタル格子を用いて、不定形セルパターンを生成する具体的な手順を説明する。
【0042】
本発明に係る方法は、図6の流れ図に示されているように、ステップS1〜S4の4つの段階から構成される。まず、ステップS1において、母点が規則的に配置される。この実施例では、図3に示すように、二次元平面上を埋め尽くすように多数の同一の正三角形を定義し、これら正三角形の頂点として母点の配置を行っている。このように、平面を埋め尽くす正三角形の頂点として母点配置を行い、この規則的な配置のままで「ユークリッド距離が最小」となる母点の勢力圏を定義するようにしてボロノイ図を作成すると、図4に示すように、平面を埋め尽くす正六角形からなるボロノイ多角形が形成されることになる。もっとも、平面を埋め尽くすことができる多角形としては、六角形の他に、三角形や四角形も存在し、五角形と六角形との組み合わせによっても平面を埋め尽くすことが可能である。そこで、このステップS1の処理では、規則性をもった多数のボロノイ多角形が形成されるように、所定平面上に規則的に母点を配置すれば十分であり、母点配置は、図3に示すような正三角形の頂点位置に限定されるものではない。具体的には、たとえば、平面上に整列させた正方形の頂点位置、天地が交互になるように平面上に並べた二等辺三角形の頂点位置、平面上に整列させた六角形の頂点位置、平面上に整列させた平行四辺形の頂点位置などに母点を配置することもできる。ただ、図3に示すような正三角形の頂点位置に母点を配置すれば、正六角形(円に近い図形)からなるボロノイ多角形が得られるので、動物の皮膚や植物の細胞を表現する上では最も好ましい。
【0043】
続いて、ステップS2において、フラクタル場が用意される。この実施例では、2組の独立した二次元フラクタル格子を、§2で述べた方法で発生させている。そして、ステップS3において、この2組の二次元フラクタル格子を用いた母点の変位が行われる。図19は、この母点変位処理の概念図である。図の上段に示されているXY平面は、ステップS1において、母点が規則的に配置された平面であり、所定の座標値xi,yiで示される位置に配置された母点Mi(xi,yi)が多数定義されている。一方、図の中段に示されている二次元フラクタル格子L1および図の下段に示されている二次元フラクタル格子L2は、いずれもステップS2において用意された格子であり、図18に示すように、二次元平面上に行列状に定義された多数の格子点を有し、各格子点には所定のスカラー値が定義されている。前述したように、このスカラー値の分布は、自己相似的になっている。なお、図18に示されている二次元フラクタル格子は、5行5列の25個の格子点しかもたない非常に小さな格子であるが、実際に用いる二次元フラクタル格子L1,L2は、より多数の格子点をもち、少なくともXY平面上に定義された母点Miの密度と同程度の密度で格子点が定義されている必要がある。したがって、ステップS2では、ステップS1で定義した母点密度を考慮して、十分な格子点密度をもった大きさの二次元フラクタル格子を用意する必要がある。
【0044】
ステップS3の母点変位処理は、XY平面上に定義された母点Mi(xi,yi)を、XY平面上において、X軸方向に変位量Δxだけ移動させ、Y軸方向に変位量Δyだけ移動させ、変位処理後の母点Mi(xi+Δx,yi+Δy)を得る処理である。ここで、変位量Δx,Δyは、図19に矢印で示すように、母点Miの位置座標(xi,yi)に対応する格子点に基づいて決定される。すなわち、変位量Δxは、二次元フラクタル格子L1の位置座標(xi,yi)に対応する位置に配置された格子点Q1iのもつスカラー値S1に基づいて決定され、変位量Δyは、二次元フラクタル格子L2の位置座標(xi,yi)に対応する位置に配置された格子点Q2iのもつスカラー値S2に基づいて決定される。このように、二次元フラクタル格子L1,L2は、いずれもそれ自身はスカラー値を与えるフラクタル場であるが、二次元フラクタル格子L1はX軸方向の変位量Δxを示し、二次元フラクタル格子L2はY軸方向の変位量Δyを示す、というように方向性を定義することにより、ベクトル場の表現が可能になる。なお、この実施例では、各格子点に定義されたスカラー値S1,S2をそのままΔx,Δyの値として用いている。別言すれば、母点の変位量としてそのまま用いるのに適当なスカラー値をもった二次元フラクタル格子が得られるように、ステップS2の過程において、初期条件および最大半振幅値Tを設定しておくことになる。
【0045】
図20は、このステップS3の母点変位処理の手順を詳細に示した流れ図である。まず、ステップS31において、1つの母点Mi(xi,yi)を選択し、ステップS32において、選択した母点Miの座標(xi,yi)を抽出する。そして、ステップS33において、第1の二次元フラクタル格子L1内の座標(xi,yi)に近接する格子点Q1iを決定し、この格子点Q1iのもつスカラー値S1を抽出する。同様に、ステップS34において、第2の二次元フラクタル格子L2内の座標(xi,yi)に近接する格子点Q2iを決定し、この格子点Q2iのもつスカラー値S2を抽出する。そして、ステップS35において、母点Miの新座標(xi´,yi´)を、xi´=xi+S1、yi´=yi+S2なる演算によって求め、変位後の母点Mi(xi´,yi´)を得る。結局、図21に示すように、選択された母点Mi(xi,yi)は、X軸方向にΔx(=S1)、Y軸方向にΔy(=S2)だけ図の矢印の方向に移動し、変位後の母点Mi(xi´,yi´)が得られることになる。以上の処理を、全母点が選択されるまで、ステップS36からステップS31へと戻ることにより繰り返し実行する。
【0046】
なお、上述の実施例では、格子点から得たスカラー値S1,S2をそれぞれX軸方向の変位量ΔxおよびY軸方向の変位量Δyとして用いて母点Miの変位を行っているが、母点Miのもとの位置を原点とした極座標値として、スカラー値S1,S2を用いるようにしてもよい。すなわち、図22に示すように、母点Mi(xi,yi)の位置を原点として極座標系を定義し、変位後の母点Mi(xi´,yi´)の位置を極座標値(r,θ)で表わすことにする。そして、二次元フラクタル格子L1から得たスカラー値S1および二次元フラクタル格子L2から得たスカラー値S2を、それぞれr=S1、θ=S2として用いるのである。この場合、二次元フラクタル格子L1のもつフラクタル場は変位量に自然なゆらぎを与える役目を果たし、二次元フラクタル格子L2のもつフラクタル場は変位方向に自然なゆらぎを与える役目を果たすことになる。
【0047】
こうして、XY平面上に定義したすべての母点Miについての変位が完了したら、図6に示す流れ図の最後の段階、すなわち、ステップS4におけるボロノイ図の作成が行われる。この実施例では、「任意の点をユークリッド距離が最も小さい母点の勢力圏に所属させる」という条件によりボロノイ図を作成している。図7に示す不定形セルパターンは、二次元フラクタル格子を用いて変位させた母点について、このような条件で作成したボロノイ図のパターンである。このパターンを構成する個々のセルは、フラクタル場に基づく揺らぎをもって分布した核を有しており、この核に対して生成されたボロノイ図により不定形セルが表現されていることになる。
【0048】
なお、特定の配置をもった多数の母点に基づいてボロノイ図を作成するための条件としては、上述の実施例では、「ユークリッド距離が最小」という条件を用いていた。通常、「ボロノイ図」と言えば、このように「ユークリッド距離が最小」という条件を用いて作成されたものを指すのが一般的であるが、本発明では、ボロノイ図を作成するための条件として、この他にも種々の条件を設定することができる。たとえば、図23に示すXY座標系では、母点Mと任意の点Pとの間の「ユークリッド距離」は、(dx+dy1/2で表わされるが、この「ユークリッド距離」の代わりに、たとえば、(k1・dx+k2・dy1/2で表される特殊な距離を定義し、「この特殊な距離が最小」という条件を設定してもよい。この場合、パラメータk1,k2の値を変えることにより、いろいろ異なるボロノイ図を得ることができる。
【0049】
あるいは、「四隣接距離」あるいは「八隣接距離」なるものを定義し、「この隣接距離が最小」という条件を設定してもよい。ここで、「四隣接距離」あるいは「八隣接距離」は、次のような距離をいう。いま、図24(a) に示すような画素配列を定義し、中央の画素Pに対して、その上下左右に隣接するハッチングを施して示す4個の画素を「四隣接画素」と呼ぶことにする。同様に、図24(b) に示すような画素配列を定義し、中央の画素Pに対して、その上下左右および斜めに隣接するハッチングを施して示す8個の画素を「八隣接画素」と呼ぶことにする。ここで、図25に示すような画素配列を考えれば、画素M(図23の母点Mに対応)と画素P(図23の点Pに対応)との間の「四隣接距離」は、「必ず四隣接画素のいずれか1つに移動する、という移動条件に従って画素Pから画素Mへ到達するために必要な最小移動回数」として定義され、同様に、画素Mと画素Pとの間の「八隣接距離」は、「必ず八隣接画素のいずれか1つに移動する、という移動条件に従って画素Pから画素Mへ到達するために必要な最小移動回数」として定義される。この図25に示す例では、画素Pと画素Mとの間の「四隣接距離」は8となり、「八隣接距離」は5となる。
【0050】
この他にも種々の条件でボロノイ図を作成することが可能である。要するに、本明細書における「ボロノイ図」とは、母点の空間的な勢力圏を何らかの形で数学的に定義することにより得られる勢力分布図であれば、どのような定義によって得られたものでもかまわない。数学的には、たとえば、「裁口ボロノイ図」、「最遠点ボロノイ図」、「円のボロノイ図」など種々のボロノイ図が知られている。また、これまで説明してきたボロノイ図は、いずれも二次元平面上に定義された勢力分布図であったが、三次元空間もしくはそれ以上の多次元空間に定義された勢力分布図を用いてもかまわない。たとえば、ステップS1において、三次元空間内に母点配置を行い、ステップS2において、三次元フラクタル格子を3組用意し、この3組の三次元フラクタル格子によって各軸方向の変位量Δx,Δy,Δzを決定して変位を行えば、この三次元空間内に分布した母点に基づいて三次元ボロノイ図を作成することができる。この三次元ボロノイ図を二次元平面に投影すれば、二次元の不定形セルパターンが生成できる。
【0051】
§4. 不定形セルパターンの生成装置
図26は、この実施例に用いる装置構成を示すブロック図である。ここでは説明の便宜上、個々の機能ごとに異なるブロック構成要素として示してあるが、実際には、これらの各構成要素は、コンピュータハードウエアおよびソフトウエアの有機的な結合により実現される。
【0052】
パラメータ入力手段1は、他の手段における処理で利用される種々のパラメータを入力するための装置であり、最終的に生成すべき不定形セルパターン画像のサイズ、母点の数、母点の初期配置パターン(ステップS1における規則的配置を決めるためのパターン)、母点の変動量(ステップS3における変位処理による最大変位量)などのパラメータが入力される。乱数発生手段2は、たとえば、一様分布の乱数を発生させる装置で、ここで発生させた乱数はフラクタル場を発生させる際に利用される。母点配置手段3は、パラメータ入力手段1によって入力された画像のサイズ、母点の数、母点の初期配置パターンに基づいて、個々のセルの核となるべき多数の母点を規則的に配置する機能を有する。たとえば、画像のサイズとして所定の縦横寸法が入力され、母点の数:28、母点の初期配置パターン:正三角形の頂点位置、というパラメータが入力されていた場合、この母点配置手段3によって、図3に示すような母点の規則的配置が得られることになる。
【0053】
一方、フラクタル場発生手段4は、パラメータ入力手段1によって入力されたパラメータに基づいて、空間的に自己相似的なベクトルを表現することができるフラクタル場を発生させる装置であり、乱数発生装置2で発生させた乱数を用いて、たとえば、図18に示すような二次元フラクタル格子が発生されることになる。ここで、最終的に得られる格子点の密度や数は、パラメータとして入力された画像のサイズや母点の数に基づいて決定され、最大半振幅値Tはパラメータとして入力された母点の変動量に基づいて決定される。
【0054】
母点変位手段5は、母点配置手段3によって規則的に配置された多数の母点のそれぞれを、フラクタル場発生手段4で発生したフラクタル場を用いて変位させる処理を行う手段であり、ボロノイ図作成手段6は、変位後の母点に対するボロノイ図を作成する処理を行う手段である。これらの各処理の内容は、既に述べたとおりである。こうして、ボロノイ図が作成されると、パターン出力手段7によって、このボロノイ図によって示されている不定形セルパターンが出力される。コンピュータグラフィックス用のテクスチャパターンとして利用するのであれば、コンピュータの外部記憶装置へデジタルパターンデータとして出力することになるし、印刷物として利用するのであれば、コンピュータから刷版装置などへ出力し、印刷工程を行えばよい。
【0055】
このように、パラメータ入力手段1によって種々のパラメータ設定を行うことができるような構成にしておけば、魚類の鱗、爬虫類の皮膚、植物の繊維質など、生成したい不定形セルパターンの種類に応じて適宜パラメータ設定を変更することにより、最適なパターンの生成が可能になる。
【0056】
なお、本発明によって生成された不定形セルパターンは、いわゆる平面的な画面表示や印刷物に利用されるだけではなく、立体的な印刷(たとえば、エンボス加工)にも利用することができる。本明細書における「印刷」なる文言は、いわゆる「エンボス加工」といった立体加工をも含む意味で用いており、「印刷物」なる文言は、「立体的な印刷物」ともいうべきエンボス加工品をも含む広い意味で用いている。
【0057】
【発明の効果】
以上のとおり本発明によれば、動植物に特有な「流れ」の要素を表現することができ、生命感のある不定形セルパターンを生成することが可能になる。
【図面の簡単な説明】
【図1】平面上に6個の母点M1〜M6を定義した状態を示す図である。
【図2】図1に示す各母点の勢力圏を示すボロノイ多角形を示す図である。
【図3】平面を埋め尽くす正三角形の各頂点として規則的な母点Miを定義した例を示す図である。
【図4】図3に示すように規則的に配置された母点Miに基づいて作成されたボロノイ図を示す図である。
【図5】従来のボロノイ図を用いた手法により得られた不定形セルパターンの一例を示す図である。
【図6】本発明に係る不定形セルパターンの生成方法の基本手順を示す流れ図である。
【図7】本発明に係る手法により得られた不定形セルパターンの一例を示す図である。
【図8】一次元フラクタル格子を発生させる第0段階の状態を示す図である。
【図9】一次元フラクタル格子を発生させる第1段階の状態を示す図である。
【図10】一次元フラクタル格子を発生させる第2段階の状態を示す図である。
【図11】一次元フラクタル格子を発生させる第0段階において、各格子点に定義された具体的なスカラー値を示す図である。
【図12】一次元フラクタル格子を発生させる第1段階において、各格子点に定義された具体的なスカラー値を示す図である。
【図13】一次元フラクタル格子を発生させる第2段階において、各格子点に定義された具体的なスカラー値を示す図である。
【図14】5つの格子点からなる一次元フラクタル格子において、各格子点に定義された具体的なスカラー値を示す図である。
【図15】多数の格子点からなる一次元フラクタル格子の自然なゆらぎを示すグラフである。
【図16】二次元単位フラクタル格子を発生させる第0段階の状態を示す図である。
【図17】二次元単位フラクタル格子を発生させる第1段階の状態を示す図である。
【図18】二次元単位フラクタル格子を発生させる第2段階の状態を示す図である。
【図19】図6のステップS3に示す母点変位処理の概念図である。
【図20】図6のステップS3の母点変位処理の手順を詳細に示した流れ図である。
【図21】XY直交座標系におけるX軸方向の移動量ΔxとY軸方向の移動量Δyとを用いて母点Miを変位した例を示す図である。
【図22】rθ極座標系における距離rと角度θとを用いて母点Miを変位した例を示す図である。
【図23】ボロノイ図を作成する際に定義する母点Mと任意の点Pとの間の距離の定義方法の一例を示す図である。
【図24】所定の画素Pに対する「四隣接画素」および「八隣接画素」を示す図である。
【図25】「四隣接距離」あるいは「八隣接距離」を説明するための図である。
【図26】本発明の一実施例に係る装置構成を示すブロック図である。
【符号の説明】
1…パラメータ入力手段
2…乱数発生手段
3…母点配置手段
4…フラクタル場発生手段
5…母点変位手段
6…ボロノイ図作成手段
7…パターン出力手段
Hi…正六角形状のボロノイ多角形
L1,L2…二次元フラクタル格子
M1〜M6,Mi…母点
P…任意の点
Q1i、Q2i…フラクタル格子の格子点
S1,S2…フラクタル格子で定義されたスカラー値
XY…XY平面
xi,yi…座標値
Δx,Δy…変位量
dy,dy…距離
[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to a generation method and a generation apparatus for generating a pattern composed of a large number of irregular cells using a computer.About.
[0002]
[Prior art]
In recent years, with the advancement of computer graphics technology, methods for generating various patterns and patterns using computers have been established, and novel patterns that could not be achieved by hand drawing are compared using computers. It has become possible to generate easily. In addition, the technology to generate images with completely new images by applying various effects to the original digital images has become widespread, and various types of application software for graphic design are commercially available. Has reached the point. Such patterns and patterns include printing on paper products such as leaflets and catalogs, printing and embossing on the surface of building materials such as wallboards and doors, and printing and embossing on decorative panels that make up the furniture surface. Widely used in various fields such as processing. Recently, with the spread of so-called multimedia, various patterns and patterns are often used only for the purpose of displaying on a display screen.
[0003]
Thus, as an aspect of a pattern generated using a computer, a pattern made up of a large number of irregular cells is used. This irregular cell pattern is suitable for expressing animal skin, plant cells, fine tissues, etc., and is used as a texture pattern that maps to the surface when modeling animals and plants in the field of computer graphics. There are many cases.
[0004]
This irregular cell pattern is a pattern in which a large number of small irregular polygons are arranged in a cell shape. As a method for generating such a pattern using a computer, a Voronoi diagram is used. The method to use is common. The Voronoi diagram is obtained by defining a large number of generating points on the plane, mathematically defining the power sphere of each generating point, and constructing the plane by polygons made up of the individual power spheres thus defined, In other words, it should be said that the plane is divided into a number of cells. If the setting of the distribution of generating points and the mathematical definition of the sphere of influence are performed in advance, a Voronoi diagram can be obtained relatively easily by mathematical calculation using a computer.
[0005]
[Problems to be solved by the invention]
As described above, in the current computer graphics field, it is common to generate an irregular cell pattern using a Voronoi diagram. Usually, a method is used in which generating points are randomly defined on a plane using uniform random numbers, and a Voronoi diagram is generated based on these generating points to generate an irregular cell pattern. However, the irregular cell pattern generated in this way is certainly a pattern consisting of a large number of cells having irregular sizes and irregular shapes. The actual situation is that the pattern of expressing tissues of animals and plants, such as tissues, remains unnatural and is not a sufficient pattern. In particular, the conventional method cannot express the “flow” element peculiar to animals and plants, and can only obtain a pattern with a poor sense of life as animals and plants.
[0006]
Therefore, an object of the present invention is to provide a novel method for generating a lifelike amorphous cell pattern by expressing elements of “flow” peculiar to animals and plants.
[0007]
[Means for Solving the Problems]
  (1) A first aspect of the present invention is a method for generating a pattern composed of a large number of irregular cells,
  ComputerA first stage of regularly arranging a number of generating points to be the core of individual cells;
  ComputerA second stage of preparing a fractal field that can represent a spatially self-similar vector;
  ComputerA third step of displacing a number of arranged generating points using a prepared fractal field,
  ComputerA fourth stage of creating a Voronoi diagram for the generating point after displacement;
  And a pattern is generated based on the created Voronoi diagram.
[0008]
(2) According to a second aspect of the present invention, in the method according to the first aspect described above,
In the first stage, the generating point is placed on a two-dimensional plane,
In the second stage, a two-dimensional fractal grid is prepared in which a predetermined scalar value is defined in a self-similar manner at each grid point on the two-dimensional plane,
In a third stage, a two-dimensional fractal grid is superimposed on the plane where the generating points are arranged, and based on the mutual positional relationship between each generating point and each lattice point, a specific lattice point is associated with each generating point, Each generating point is displaced in a predetermined direction based on the scalar value defined for the corresponding lattice point.
[0009]
(3) According to a third aspect of the present invention, in the method according to the second aspect described above,
In the first stage, the generating point is placed on the XY plane,
In the second stage, two independent two-dimensional fractal grids are prepared,
In the third stage, each generating point is moved in the X-axis direction based on the scalar value defined at the lattice point of the first two-dimensional fractal lattice, and defined at the lattice point of the second two-dimensional fractal lattice. It is made to move in the Y-axis direction based on the scalar value.
[0010]
(4) According to a fourth aspect of the present invention, in the method according to the first to third aspects described above,
In the first stage, the mother points are regularly arranged on a predetermined plane so that a Voronoi polygon composed of a triangle, a quadrangle, or a hexagon is formed.
[0011]
(5) According to a fifth aspect of the present invention, in the method according to the first to fourth aspects described above,
In the fourth stage, a Voronoi diagram is created by assigning an arbitrary point to the power sphere of the mother point having the smallest Euclidean distance.
[0012]
(6) A sixth aspect of the present invention is an apparatus for generating a pattern composed of a large number of irregular cells,
Parameter input means for inputting predetermined parameters;
Random number generating means for generating random numbers;
A generating point arrangement means for regularly arranging a large number of generating points to be the core of each cell based on input parameters;
A fractal field generating means for generating a fractal field capable of expressing a spatially self-similar vector based on input parameters;
A generating point displacement means for displacing a number of generating points using a fractal field,
Voronoi diagram creation means for creating a Voronoi diagram for the generating point after displacement,
A pattern output means for generating a pattern based on the Voronoi diagram and outputting the pattern;
Is provided.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described based on the illustrated embodiments. First, for convenience of explanation, a simple explanation of the Voronoi diagram will be given. Now, as shown in FIG. 1, six generating points M1 to M6 are defined on the plane. Then, a matter to which an arbitrary point P on this plane belongs to which sphere of power is defined mathematically. Usually, the most commonly defined definition is “belonging to the power sphere of the mother point with the smallest Euclidean distance (so-called geometric distance between two points)”. In the example shown in FIG. 1, since the mother point with the closest Euclidean distance to the point P is the mother point M2, the point P belongs to the power sphere of the mother point M2. As described above, when all the points on the plane belong to any one of the mother points M1 to M6, a polygon indicating the power sphere of each mother point is obtained as shown in FIG. In FIG. 2, the hatched polygon corresponds to the power sphere of the generating point M2. That is, the generating point M2 is a generating point having the smallest Euclidean distance with respect to all the points in the hatched area. The polygon thus obtained is called a Voronoi polygon, and a set of Voronoi polygons becomes a Voronoi diagram. In short, a Voronoi diagram is a state in which a plane is divided by a set of polygons indicating the sphere of influence of each generating point when n generating points M1, M2,..., Mi,. It can be said that it is a figure shown.
[0016]
When generating the Voronoi diagram, if the generating points are regularly arranged in advance, the plane division pattern indicated by the created Voronoi diagram becomes regular. For example, as shown in FIG. 3, the plane is filled with the same equilateral triangle, and each mother point Mi is defined at the vertex position of each equilateral triangle. When a Voronoi diagram is created based on a large number of generating points Mi regularly arranged in this way, a large number of regular hexagons Hi as shown in FIG. 4 are obtained as Voronoi polygons, and the plane is the regular hexagon. Divided regularly by group.
[0017]
Thus, a completely regular cell pattern is inappropriate as a pattern expressing animal and plant tissues. Therefore, in order to express the tissues of animals and plants, a method of giving a random displacement in advance to the regular mother point arrangement shown in FIG. 3 has been conventionally employed. For example, the plane shown in FIG. 3 is the XY plane, and the displacement Δx in the X-axis direction with respect to the individual generating points Mi (xi, yi) regularly arranged as the vertices of the regular triangle shown in the figure. And a displacement amount Δy in the Y-axis direction are generated as random numbers for each generating point, and a displacement (movement) is performed with the new position of each generating point being Mi (xi + Δx, yi + Δy) based on the displacement amounts Δx, Δy. I do. If such displacement is performed for each individual generating point, a group of generating points arranged at random is obtained as a whole. When a Voronoi diagram is obtained for the randomly arranged generating point group, the obtained cell pattern becomes an irregular cell pattern, which is more preferable as a pattern expressing the structure of animals and plants. FIG. 5 is a diagram showing an example of an irregular cell pattern obtained by such a conventional method. That is, the pattern of FIG. 5 is obtained by performing random displacement using uniform random numbers on the regularly arranged mother points as shown in FIG. 3, and obtaining a Voronoi diagram for the displaced mother points. It is the obtained pattern.
[0018]
The pattern shown in FIG. 5 can be used as a pattern that expresses the structure of animals and plants in the sense of a pattern made up of irregular cells. However, the “flow” element peculiar to animals and plants is not expressed. It must be said that this is a pattern that lacks a sense of life as an animal or plant. The inventor of the present application considers that it is indispensable to express this “flow” element in a pattern in order to express a life-like expression as an animal or plant. The reason why the element of “flow” is not expressed in the standard cell pattern is that the displacement of each generating point is set completely independently in the process of shifting the regularly arranged generating points. thinking. That is, even if a random displacement is set for each individual generating point using a uniform random number, if there is no correlation between the displacements between adjacent generating points, each generating point is completely selfish. Only the displaced state can be obtained, and there is no room for the “flow” element unique to animals and plants.
[0019]
The inventor of the present application has found that a fractal field is used to incorporate this "flow" element into the pattern. In general, a “fractal field” means a field with spatial self-similarity, and especially fractal figures with spatial self-similarity are suitable for expressing many things in the natural world. It is widely known. The feature of fractal figures is that the complexity is always the same, both microscopically and macroscopically. The shape of the coastline seen in nature, the shape of trees and veins, the shape of snowflakes, etc. are all representative of this fractal figure, and it is complicated both microscopically and macroscopically. It has a unique shape. Such a property is generally called self-similarity, and the essence of fractal theory is this self-similarity.
[0020]
When this fractal theory is expanded more generally, a fractal lattice in which a predetermined scalar value is defined in an individual lattice point in a self-similar manner can be considered. For example, a two-dimensional fractal lattice defines a predetermined scalar value for each lattice point arranged on a two-dimensional plane and provides a two-dimensional scalar field. In this two-dimensional scalar field, each scalar value changes spatially with natural fluctuations. In other words, the pattern of change, whether microscopic or macroscopic, always has the same complexity, ie self-similarity. It is also possible to define a two-dimensional vector field by giving directionality to individual scalar values defined in the two-dimensional scalar field. The basic idea of the present invention is that the element of “flow” is taken into the irregular cell pattern by displacing the regular generating point based on the fractal field whose directionality is defined in this way.
[0021]
FIG. 6 is a flowchart showing the basic procedure of the method for generating an irregular cell pattern according to the present invention. First, in step S1, a large number of generating points to be the cores of individual cells are regularly arranged. For example, as shown in FIG. 3, a large number of regularly arranged mother points Mi are defined. In the subsequent step S2, a fractal field capable of expressing a spatially self-similar vector is prepared. Specifically, a two-dimensional fractal scalar field is prepared, and the directivity is defined in the scalar field, so that it can be used as a fractal vector field. In step S3, a large number of generating points arranged in step S1 are moved in the direction indicated by the fractal vector field prepared in step S2. As a result, each generating point is displaced, but the displacement direction and amount of each generating point are determined based on the fractal field. The element of “flow” is taken in. In other words, the displacement mode with respect to the regular arrangement of each generating point has self-similarity. Finally, in step S4, a Voronoi diagram for the generating point after the displacement is created. That is, the two-dimensional plane is divided by Voronoi polygons, and an irregular cell pattern is obtained.
[0022]
FIG. 7 is a diagram showing an example of an irregular cell pattern obtained by the method according to the present invention shown in FIG. That is, the pattern of FIG. 7 performs a self-similar displacement using a fractal field on the regularly arranged generating points as shown in FIG. 3, and obtains a Voronoi diagram for the generated generating points. It is the pattern obtained by. Compared to the conventional cell pattern shown in FIG. 5, all are the same in that they are irregular cells, but the pattern shown in FIG. 7 clearly expresses the “flow” elements peculiar to animals and plants. You can see that For example, in the field of computer graphics, when comparing the cell pattern shown in FIG. 5 and the cell pattern shown in FIG. 7 as a texture pattern that maps to the skin of reptiles such as crocodiles and lizards, the latter is preferable. You will recognize that you can feel a sense of life as animal skin.
[0023]
【Example】
Next, the present invention will be described based on more specific examples.
[0024]
§1. One-dimensional fractal lattice
The fundamental idea of the present invention is that natural fluctuations expressed by a fractal field are reflected in an irregular cell pattern. Therefore, first, a brief description of this fractal field will be given. Here, a one-dimensional fractal lattice formed by defining a scalar amount at each lattice point arranged in one dimension will be described with reference to the drawings.
[0025]
Now, as shown in FIG. 8, two lattice points A and B (indicated by double circles in the figure) are defined on a single line by a predetermined distance, and each of these lattice points A and B is defined respectively. Define scalar values a and b. The two lattice points A and B defined in this way are lattice points in the initial stage (hereinafter referred to as the 0th stage), and the scalar values a and b are set at the two lattice points A and B. This is the initial condition.
[0026]
Subsequently, as shown in FIG. 9, a first-stage grid point C is defined at the midpoint between the two grid points A and B. At this time, a scalar value c is also defined for the lattice point C. The scalar value c is defined by a predetermined calculation based on the scalar values a and b. FIG. 9 shows a state where the scalar value c of the lattice point C has not yet been determined. Here, a lattice point in which the scalar value is undefined is indicated by a single circle, and a lattice point in which the scalar value is defined is indicated by a double circle. Scalar value c is calculated as follows:
c = (a + b) / 2 + T · RND (1)
Calculated by Here, a and b are scalar values defined for lattice points A and B, T is the maximum half amplitude value of fluctuation, and RND is an arbitrary random number satisfying −1 ≦ RND ≦ + 1. Thus, the random value is used to define the scalar value c, and an accidental element affects the definition. However, the scalar value c is not completely defined, and is limited by the scalar values a and b of the adjacent lattice points A and B and the maximum half-amplitude value T. That is, as shown in the above equation (1), a value obtained by adding an arbitrary value (determined by a random number) within the range of −T to + T to the average value of the scalar values a and b is a scalar value. It becomes the value of c. Therefore, the maximum half amplitude value T is a parameter that limits the degree of fluctuation deviating from the average value.
[0027]
When the scalar value c for the grid point C in the first stage can be defined in this way, then, as shown in FIG. 10, the midpoints of the grid points A and C and the midpoints of the grid points C and B are respectively Two-stage grid points D and E are defined. Then, for these lattice points D and E, scalar values d and e are respectively obtained.
d = (a + c) / 2 + (1/2) · T · RND (2)
e = (c + b) / 2 + (1/2) · T · RND (3)
Calculate by the following formula. Here, as described above, T is the maximum half-amplitude value of fluctuation, and RND is an arbitrary random number satisfying −1 ≦ RND ≦ + 1. Equations (2) and (3) are very similar to equation (1), but it should be noted that the maximum half amplitude value T is multiplied by a factor of (1/2).
[0028]
Subsequently, a third-stage grid point is defined at each midpoint of the five grid points A, D, C, E, and B defined up to the second stage, and scalar values are also calculated for these grid points. And define. For example, the scalar value f for a grid point F (not shown) defined as the midpoint of the grid points A and D is
f = (a + d) / 2 + (1/4) .T.RND (4)
Is calculated by the following formula. In this equation (4), a coefficient of (1/4) is applied to the maximum half amplitude value T.
[0029]
In order to facilitate understanding, the above steps will be described using actual numerical values. For example, as shown in FIG. 11, consider a case where scalar values “50” and “80” are set as initial conditions for grid points A and B in the 0th stage. As shown in FIG. 12, a first-stage grid point C is defined as a midpoint between the two grid points A and B. In this case, a scalar defined for the grid point C is defined. The value c is given by equation (1) above.
c = (50 + 80) / 2 + T · RND (1)
Is given by the operation. Here, it is assumed that the maximum half-amplitude value T = 5 of the fluctuation is set, and it happens that the random number RND = + 0.6 happens during the calculation of the above equation. In this case, the scalar value c obtained by calculation is 68.
[0030]
Subsequently, as shown in FIG. 13, the second-stage grid point D and the grid point E are defined as the midpoints of the grid points A and C and the grid points C and B. In this case, The scalar values d and e defined for the grid points D and E of the above are given by the above equations (2) and (3),
d = (50 + 68) / 2 + (1/2) .T.RND (2)
e = (68 + 80) / 2 + (1/2) .T.RND (3)
Is given by the operation. Here, if the random number RND = −0.4 and RND = + 0.8 happens to be calculated in the above equations, the scalar values d = 58 and e = 76 obtained by the calculation are obtained. Eventually, at the stage where the scalar values for the second-stage grid points are obtained, the scalar values are defined for the five grid points A, D, C, E, and B as shown in FIG. .
[0031]
Similarly, a third-stage grid point is defined at the midpoint of each of these five grid points A, D, C, E, and B, and scalar values are calculated and defined at these grid points. Further, the same operations as those in the fourth stage, the fifth stage,... Are repeated. If such an operation is repeated a predetermined finite number of times n, a large number of grid points are defined between grid points A and B in the 0th stage, and a predetermined scalar value is defined at each grid point. Will be. In addition, if the calculation method of the scalar value s for the n-th lattice point is shown by a general formula,
s = (α + β) / 2 + (1/2(N-1)) ・ T ・ RND (5)
It becomes. Here, α and β are scalar values (calculated at the (n−1) -th stage) of lattice points on both sides of the lattice point, and as described above, T is the maximum half amplitude value of fluctuation, RND is an arbitrary random number satisfying −1 ≦ RND ≦ + 1.
[0032]
When a large number of lattice points having a predetermined scalar value are defined by such a method, these lattice points constitute a one-dimensional fractal lattice. Such a generation method of the fractal lattice is a method generally called a random midpoint displacement method. In the specific example described above, a scalar value of “50” is defined at the left end point of this one-dimensional fractal lattice and “80” is defined at the right end point, and a large number of lattice points defined between these end points are also respectively defined. A unique scalar value is defined. Now, when the arrangement direction of the one-dimensional fractal lattice obtained in this way is taken on the horizontal axis and individual scalar values are taken on the vertical axis, a graph as shown in FIG. 15 is drawn. Such a graph has properties similar to, for example, the shape of a natural coastline. In other words, individual scalar values have various distributions, such as partial increase and decrease, but the complexity of this distribution pattern can be seen from both a microscopic and macroscopic viewpoint. It is known to be the same. More specifically, in FIG. 15, the complexity of the graph between the lattice points AB and the complexity of the graph between the lattice points AD are the same in FIG. Even if the section is enlarged with a magnifying glass, it still has the same complexity. In other words, each scalar value is defined for each lattice point in a self-similar manner, and is spatially increased or decreased with natural fluctuations.
[0033]
§2. Two-dimensional fractal lattice
The method for generating a simple one-dimensional fractal lattice by the random midpoint displacement method has been described above with specific examples. However, the fractal lattice actually used in the embodiments to be described later has a planar lattice point. Is a two-dimensional fractal lattice arranged in Therefore, here, an example of a method in which the random midpoint displacement method described in the above-described one-dimensional fractal lattice is applied in two dimensions will be described. In order to generate a two-dimensional fractal grid, as shown in FIG. 16, grid points A, B, C, and D are arranged at the four vertices of a square as the zeroth stage grid points, and scalar values a, b, Define c and d. Here, this square is an outer rectangle that forms the outer shape of the finally generated two-dimensional fractal lattice.
[0034]
Subsequently, as shown in FIG. 17, first-stage grid points E, F, G, and H are defined at the midpoints between the grid points AB, BC, CD, and DA, and four grids are defined. Another grid point I of the first stage is defined at the intersection of the diagonal lines of the point ABCD. Then, scalar values e, f, g, h, i are defined for these five grid points, respectively.
e = (a + b) / 2 + T · RND (6)
f = (b + c) / 2 + T · RND (7)
g = (c + d) / 2 + T · RND (8)
h = (d + a) /2+T.RND (9)
i = (a + b + c + d) /4+T.RND (10)
Calculated by As in the example of the one-dimensional fractal lattice, T is a maximum half amplitude value of fluctuation, and RND is an arbitrary random number satisfying −1 ≦ RND ≦ + 1.
[0035]
After the scalar values e, f, g, h, i for the first-stage grid points E, F, G, H, and I can be defined in this way, then, as shown in FIG. Are defined at the intersections of the midpoints and the diagonals of the four grid points (in order to avoid complication, in FIG. (Only J, K, L, M, and N have their grid point names displayed). And, for each of these lattice points, scalar values j, k, l, m, n,... Are defined, which are the following arithmetic expressions (only the arithmetic expressions for j to n are shown).
j = (a + e) / 2 + (1/2) .T.RND (11)
k = (e + i) / 2 + (1/2) .T.RND (12)
l = (i + h) / 2 + (1/2) .T.RND (13)
m = (h + a) / 2 + (1/2) · T · RND (14)
n = (a + e + i + h) / 4 + (1/2) .T.RND (15)
Calculate by In the equation for obtaining the scalar value of the grid point in the second stage, a coefficient of (1/2) is applied to the maximum half amplitude value T as in the case of the one-dimensional fractal grid described above.
[0036]
Hereinafter, similarly, if the processes of the third stage, the fourth stage,..., The n-th stage are repeatedly executed, scalar values are defined for a large number of grid points arranged on the two-dimensional plane. Become.
[0037]
The above processing will be described in general terms. First, in the 0th stage, four lattice points are defined at the four corner positions of the outer shape rectangle, and predetermined scalar values are defined at the respective lattice points. Then, the following processes may be sequentially executed as the i-th stage process. That is, first, the smallest rectangle at the current stage that does not include the lattice points defined up to the (i-1) th stage is recognized. For example, in the first stage where i = 1, the rectangle ABCD shown in FIG. 16 is the smallest rectangle (a rectangle that does not include the grid points A, B, C, and D defined up to the zeroth stage), In the case of the second stage with i = 2, the four rectangles AEIH, EBFI, HIGD, and IFCG shown in FIG. 17 are the minimum rectangles (all of the lattice points A to I defined up to the first stage are not included inside). Rectangle).
[0038]
Then, lattice points to be defined at the i-th stage are generated at the midpoint of each side of the minimum rectangle and the center point of the minimum rectangle (for example, in the case of the first stage where i = 1, as shown in FIG. Thus, lattice points to be defined are generated at the midpoints E, F, G, H and the center point I of each side of the minimum rectangle ABCD). Further, among these grid points, for the grid points generated at the midpoint of each side, the scalar values of the two grid points defined up to the (i-1) stage existing at the end points of the side are set. Gives a scalar value obtained by applying a random number. For example, for a lattice point E shown in FIG. 17, a scalar value e obtained by applying a random number RND to scalar values a and b of two lattice points A and B is given. In general, if a method for calculating the scalar value s1 for a lattice point defined as the midpoint of adjacent lattice points in the n-th stage is expressed by an equation:
s1 = (α + β) / 2 + (1/2(N-1)) ・ T ・ RND (16)
It becomes. Here, α and β are scalar values (calculated at the (n−1) -th stage) of lattice points on both sides of the lattice point.
[0039]
On the other hand, with respect to the grid points generated at the center point of the minimum rectangle, random numbers are applied to the scalar values of the four grid points defined up to the (i-1) th stage existing at the four corner positions of the minimum rectangle. Gives the scalar value obtained. For example, for a lattice point I shown in FIG. 17, a scalar value i obtained by applying a random number RND to scalar values a, b, c, and d of four lattice points A, B, C, and D is given. It has been. In general, if a method for calculating the scalar value s2 for the lattice point defined as the center point of the smallest rectangle in the n-th stage is shown by an equation:
s2 = (α + β + γ + δ) / 4 + (1/2(N-1)) ・ T ・ RND (17)
It becomes. Here, α, β, γ, and δ are scalar values (calculated in the (n−1) -th stage) of lattice points at the four corners of the minimum rectangle.
[0040]
The two-dimensional fractal lattice generated by such a method eventually gives a scalar field spread in a two-dimensional plane. Therefore, if the surface of the two-dimensional fractal lattice is taken on a horizontal plane and each scalar value is plotted on a graph as the vertical height (elevation), an uneven pattern like a raised structure of a mountain can be expressed. It is known that such a raised structure has properties similar to the uneven pattern of an actual mountain raised structure existing in nature. That is, the complexity of the concavo-convex structure is the same from the microscopic and macroscopic viewpoints, and when the concavo-convex structure is partially enlarged with a magnifying glass, it has the same complexity. In other words, the individual scalar values distributed on the two-dimensional plane are arranged in a self-similar manner and spatially increase and decrease with natural fluctuations.
[0041]
§3. Generation of irregular cell patterns
Now, in §2 above, a specific method for generating a two-dimensional fractal lattice is illustrated, but here, a specific procedure for generating an irregular cell pattern using this two-dimensional fractal lattice will be described. .
[0042]
As shown in the flowchart of FIG. 6, the method according to the present invention includes four stages of steps S1 to S4. First, in step S1, generating points are regularly arranged. In this embodiment, as shown in FIG. 3, a number of identical equilateral triangles are defined so as to fill the two-dimensional plane, and generating points are arranged as vertices of these equilateral triangles. In this way, generating a Voronoi diagram by defining the sphere of power of the generating point where the Euclidean distance is the smallest with the regular arrangement as the vertices of an equilateral triangle filling the plane. Then, as shown in FIG. 4, a Voronoi polygon composed of regular hexagons filling the plane is formed. However, as polygons that can fill the plane, there are triangles and quadrangles in addition to the hexagon, and the plane can be filled by a combination of a pentagon and a hexagon. Therefore, in the process of step S1, it is sufficient to regularly arrange the mother points on a predetermined plane so that a large number of Voronoi polygons having regularity are formed. It is not limited to the vertex positions of equilateral triangles as shown in FIG. Specifically, for example, vertex positions of squares aligned on a plane, vertex positions of isosceles triangles arranged on a plane so that the top and bottom alternate, hexagonal vertex positions aligned on a plane, plane It is also possible to place generating points at the vertex positions of parallelograms aligned above. However, if a generating point is arranged at the apex position of an equilateral triangle as shown in FIG. 3, a Voronoi polygon consisting of a regular hexagon (a figure close to a circle) can be obtained, so that it can express animal skin and plant cells. Is most preferable.
[0043]
Subsequently, in step S2, a fractal field is prepared. In this embodiment, two sets of independent two-dimensional fractal lattices are generated by the method described in §2. In step S3, the base point is displaced using the two sets of two-dimensional fractal lattices. FIG. 19 is a conceptual diagram of this generating point displacement processing. The XY plane shown in the upper part of the figure is a plane in which generating points are regularly arranged in step S1, and generating points Mi (xi, x, y) arranged at positions indicated by predetermined coordinate values xi, yi. Many yi) are defined. On the other hand, the two-dimensional fractal lattice L1 shown in the middle part of the figure and the two-dimensional fractal lattice L2 shown in the lower part of the figure are both prepared in step S2, and as shown in FIG. It has a large number of grid points defined in a matrix on a two-dimensional plane, and a predetermined scalar value is defined for each grid point. As described above, this scalar value distribution is self-similar. Note that the two-dimensional fractal lattice shown in FIG. 18 is a very small lattice having only 25 lattice points of 5 rows and 5 columns, but there are more two-dimensional fractal lattices L1 and L2 that are actually used. The grid points need to be defined at a density at least as high as the density of the mother points Mi defined on the XY plane. Accordingly, in step S2, it is necessary to prepare a two-dimensional fractal lattice having a sufficient lattice point density in consideration of the generating point density defined in step S1.
[0044]
In the generating point displacement process in step S3, the generating point Mi (xi, yi) defined on the XY plane is moved on the XY plane by the displacement amount Δx in the X-axis direction, and the displacement amount Δy is moved in the Y-axis direction. This is a process of obtaining the generating point Mi (xi + Δx, yi + Δy) after the displacement process. Here, the displacement amounts Δx and Δy are determined based on the grid points corresponding to the position coordinates (xi, yi) of the mother point Mi, as indicated by arrows in FIG. That is, the displacement amount Δx is determined based on the scalar value S1 of the lattice point Q1i arranged at the position corresponding to the position coordinate (xi, yi) of the two-dimensional fractal lattice L1, and the displacement amount Δy is the two-dimensional fractal amount. It is determined based on the scalar value S2 of the lattice point Q2i arranged at the position corresponding to the position coordinate (xi, yi) of the lattice L2. As described above, the two-dimensional fractal lattices L1 and L2 are both fractal fields that give scalar values, but the two-dimensional fractal lattice L1 indicates the amount of displacement Δx in the X-axis direction, and the two-dimensional fractal lattice L2 is By defining the directionality so as to indicate the displacement amount Δy in the Y-axis direction, the vector field can be expressed. In this embodiment, the scalar values S1 and S2 defined for each grid point are used as they are as the values of Δx and Δy. In other words, the initial condition and the maximum half-amplitude value T are set in the process of step S2 so that a two-dimensional fractal lattice having a scalar value suitable for use as the displacement of the generating point is obtained. I will leave.
[0045]
FIG. 20 is a flowchart showing in detail the procedure of the generating point displacement process in step S3. First, in step S31, one generating point Mi (xi, yi) is selected, and in step S32, the coordinates (xi, yi) of the selected generating point Mi are extracted. In step S33, a lattice point Q1i close to the coordinates (xi, yi) in the first two-dimensional fractal lattice L1 is determined, and a scalar value S1 possessed by the lattice point Q1i is extracted. Similarly, in step S34, a lattice point Q2i close to the coordinates (xi, yi) in the second two-dimensional fractal lattice L2 is determined, and a scalar value S2 possessed by this lattice point Q2i is extracted. In step S35, the new coordinates (xi ′, yi ′) of the generating point Mi are obtained by the calculation of xi ′ = xi + S1, yi ′ = yi + S2, and the generated generating point Mi (xi ′, yi ′) is obtained. . Eventually, as shown in FIG. 21, the selected generating point Mi (xi, yi) moves in the direction of the arrow in the figure by Δx (= S1) in the X-axis direction and Δy (= S2) in the Y-axis direction. Thus, the base point Mi (xi ′, yi ′) after displacement is obtained. The above processing is repeatedly executed by returning from step S36 to step S31 until all generating points are selected.
[0046]
In the above-described embodiment, the scalar values S1 and S2 obtained from the lattice points are used as the displacement amount Δx in the X-axis direction and the displacement amount Δy in the Y-axis direction, respectively. Scalar values S1 and S2 may be used as polar coordinate values with the original position of the point Mi as the origin. That is, as shown in FIG. 22, the polar coordinate system is defined with the position of the generating point Mi (xi, yi) as the origin, and the position of the generating point Mi (xi ′, yi ′) after the displacement is set to the polar coordinate value (r, θ ). The scalar value S1 obtained from the two-dimensional fractal lattice L1 and the scalar value S2 obtained from the two-dimensional fractal lattice L2 are used as r = S1 and θ = S2, respectively. In this case, the fractal field of the two-dimensional fractal lattice L1 plays a role of giving a natural fluctuation to the displacement, and the fractal field of the two-dimensional fractal lattice L2 plays a role of giving a natural fluctuation in the displacement direction.
[0047]
Thus, when the displacements for all generating points Mi defined on the XY plane are completed, the final stage of the flowchart shown in FIG. 6, that is, the Voronoi diagram in step S4 is created. In this embodiment, the Voronoi diagram is created under the condition that “an arbitrary point belongs to the power sphere of the mother point having the smallest Euclidean distance”. The irregular cell pattern shown in FIG. 7 is a Voronoi diagram pattern created under such conditions for a generating point displaced using a two-dimensional fractal lattice. Each cell constituting this pattern has nuclei distributed with fluctuations based on the fractal field, and an irregular cell is expressed by a Voronoi diagram generated for the nuclei.
[0048]
As a condition for creating a Voronoi diagram based on a large number of generating points having a specific arrangement, the condition that “Euclidean distance is minimum” is used in the above-described embodiment. Normally, the term “Voronoi diagram” generally refers to the one created using the condition “minimum Euclidean distance”, but in the present invention, the condition for creating the Voronoi diagram In addition, various conditions can be set. For example, in the XY coordinate system shown in FIG. 23, the “Euclidean distance” between the mother point M and the arbitrary point P is (dx2+ Dy2)1/2However, instead of the “Euclidean distance”, for example, (k1 · dx2+ K2 · dy2)1/2May be defined, and a condition that “this special distance is minimum” may be set. In this case, different Voronoi diagrams can be obtained by changing the values of the parameters k1 and k2.
[0049]
Alternatively, “four adjacent distances” or “eight adjacent distances” may be defined, and a condition that “this adjacent distance is minimum” may be set. Here, “four adjacent distances” or “eight adjacent distances” refer to the following distances. Now, a pixel array as shown in FIG. 24A is defined, and four pixels shown by hatching adjacent to the center pixel P in the vertical and horizontal directions are called “four adjacent pixels”. To do. Similarly, a pixel arrangement as shown in FIG. 24B is defined, and eight pixels shown by hatching adjacent to the center pixel P in the vertical and horizontal directions and diagonally are referred to as “eight adjacent pixels”. I will call it. Here, considering the pixel arrangement as shown in FIG. 25, the “four adjacent distances” between the pixel M (corresponding to the mother point M in FIG. 23) and the pixel P (corresponding to the point P in FIG. 23) are: It is defined as “the minimum number of movements necessary to reach the pixel M from the pixel P according to the movement condition that it always moves to any one of the four adjacent pixels”, and similarly between the pixel M and the pixel P. The “eight adjacent distance” is defined as “the minimum number of movements necessary to reach the pixel M from the pixel P in accordance with the movement condition that it always moves to any one of the eight adjacent pixels”. In the example shown in FIG. 25, the “four adjacent distances” between the pixel P and the pixel M is 8, and the “eight adjacent distances” is 5.
[0050]
Besides this, Voronoi diagrams can be created under various conditions. In short, the “Voronoi diagram” in this specification is obtained by any definition as long as it is a power distribution diagram obtained by mathematically defining the spatial power sphere of the generating point in some form. But it doesn't matter. Mathematically, for example, various Voronoi diagrams such as “Cutting Voronoi diagram”, “Farthest point Voronoi diagram”, “Circle Voronoi diagram” are known. The Voronoi diagrams described so far are all power distribution diagrams defined on a two-dimensional plane, but power distribution maps defined in a three-dimensional space or higher multi-dimensional space can be used. It doesn't matter. For example, in step S1, generating points are arranged in a three-dimensional space, and in step S2, three sets of three-dimensional fractal lattices are prepared, and displacement amounts Δx, Δy, If Δz is determined and displacement is performed, a three-dimensional Voronoi diagram can be created based on the generating points distributed in the three-dimensional space. If this three-dimensional Voronoi diagram is projected onto a two-dimensional plane, a two-dimensional irregular cell pattern can be generated.
[0051]
§4. Device for generating irregular cell patterns
FIG. 26 is a block diagram showing a device configuration used in this embodiment. Here, for convenience of explanation, the block components are shown as different components for each function. However, in actuality, these components are realized by an organic combination of computer hardware and software.
[0052]
The parameter input means 1 is an apparatus for inputting various parameters used in processing in other means. The size of the irregular cell pattern image to be finally generated, the number of generating points, the initial generating points Parameters such as an arrangement pattern (pattern for determining a regular arrangement in step S1) and a variation amount of the mother point (maximum displacement amount by the displacement process in step S3) are input. The random number generation means 2 is, for example, a device that generates uniformly distributed random numbers, and the random numbers generated here are used when generating a fractal field. Based on the size of the image input by the parameter input unit 1, the number of generating points, and the initial arrangement pattern of generating points, the generating point arranging unit 3 regularly sets a large number of generating points to be the core of each cell. It has a function to arrange. For example, when predetermined vertical and horizontal dimensions are input as the image size, and parameters such as the number of generating points: 28 and the initial arrangement pattern of generating points: vertex positions of equilateral triangles are input by the generating point arranging means 3 A regular arrangement of generating points as shown in FIG. 3 is obtained.
[0053]
On the other hand, the fractal field generation means 4 is a device that generates a fractal field that can represent a spatially self-similar vector based on the parameters input by the parameter input means 1. For example, a two-dimensional fractal lattice as shown in FIG. 18 is generated using the generated random number. Here, the density and number of lattice points finally obtained are determined based on the size of the image and the number of generating points input as parameters, and the maximum half-amplitude value T is the variation of the generating points input as parameters. Determined based on quantity.
[0054]
The generating point displacing means 5 is a means for performing processing for displacing each of a large number of generating points regularly arranged by the generating point arranging means 3 using the fractal field generated by the fractal field generating means 4. The diagram creation means 6 is a means for performing a process for creating a Voronoi diagram for the generating point after displacement. The contents of each of these processes are as described above. Thus, when the Voronoi diagram is created, the pattern output means 7 outputs the irregular cell pattern shown by this Voronoi diagram. If it is used as a texture pattern for computer graphics, it will be output as digital pattern data to an external storage device of the computer. If it is used as printed matter, it will be output from the computer to a printing plate device and printed. What is necessary is just to perform a process.
[0055]
In this way, if the parameter input unit 1 is configured so that various parameters can be set, it can be used in accordance with the type of amorphous cell pattern to be generated, such as fish scales, reptile skin, and plant fibers. By changing the parameter settings as appropriate, an optimal pattern can be generated.
[0056]
The amorphous cell pattern generated by the present invention can be used not only for so-called planar screen display or printed matter but also for three-dimensional printing (for example, embossing). In this specification, the term “print” is used to include three-dimensional processing such as so-called “embossing”, and the term “printed material” includes an embossed product that should also be referred to as “three-dimensional printed material”. Used in a broad sense.
[0057]
【The invention's effect】
As described above, according to the present invention, elements of “flow” peculiar to animals and plants can be expressed, and it becomes possible to generate a lifelike amorphous cell pattern.
[Brief description of the drawings]
FIG. 1 is a diagram showing a state in which six generating points M1 to M6 are defined on a plane.
FIG. 2 is a diagram showing a Voronoi polygon indicating the power sphere of each generating point shown in FIG. 1;
FIG. 3 is a diagram illustrating an example in which a regular generating point Mi is defined as each vertex of an equilateral triangle filling a plane.
4 is a diagram showing a Voronoi diagram created based on the generating points Mi regularly arranged as shown in FIG. 3;
FIG. 5 is a diagram showing an example of an irregular cell pattern obtained by a technique using a conventional Voronoi diagram.
FIG. 6 is a flowchart showing a basic procedure of an irregular cell pattern generation method according to the present invention.
FIG. 7 is a diagram showing an example of an irregular cell pattern obtained by the technique according to the present invention.
FIG. 8 is a diagram showing a state of a 0th stage in which a one-dimensional fractal lattice is generated.
FIG. 9 is a diagram illustrating a first stage state in which a one-dimensional fractal lattice is generated.
FIG. 10 is a diagram illustrating a second stage state in which a one-dimensional fractal lattice is generated.
FIG. 11 is a diagram showing specific scalar values defined for each lattice point in the 0th stage of generating a one-dimensional fractal lattice.
FIG. 12 is a diagram showing specific scalar values defined for each lattice point in the first stage of generating a one-dimensional fractal lattice.
FIG. 13 is a diagram showing specific scalar values defined for each lattice point in the second stage of generating a one-dimensional fractal lattice.
FIG. 14 is a diagram showing specific scalar values defined for each lattice point in a one-dimensional fractal lattice composed of five lattice points.
FIG. 15 is a graph showing a natural fluctuation of a one-dimensional fractal lattice composed of a large number of lattice points.
FIG. 16 is a diagram illustrating a state of a 0th stage in which a two-dimensional unit fractal lattice is generated.
FIG. 17 is a diagram illustrating a first stage state in which a two-dimensional unit fractal lattice is generated.
FIG. 18 is a diagram showing a second stage state in which a two-dimensional unit fractal lattice is generated.
19 is a conceptual diagram of a generating point displacement process shown in step S3 of FIG.
20 is a flowchart showing in detail a procedure of generating point displacement processing in step S3 of FIG.
FIG. 21 is a diagram illustrating an example in which a generating point Mi is displaced using a movement amount Δx in the X-axis direction and a movement amount Δy in the Y-axis direction in an XY orthogonal coordinate system.
FIG. 22 is a diagram showing an example in which the generating point Mi is displaced using the distance r and the angle θ in the rθ polar coordinate system.
FIG. 23 is a diagram illustrating an example of a method of defining a distance between a mother point M and an arbitrary point P defined when creating a Voronoi diagram.
FIG. 24 is a diagram showing “four adjacent pixels” and “eight adjacent pixels” for a predetermined pixel P;
FIG. 25 is a diagram for explaining “four adjacent distances” or “eight adjacent distances”.
FIG. 26 is a block diagram showing a device configuration according to an embodiment of the present invention.
[Explanation of symbols]
1 ... Parameter input means
2 ... Random number generator
3 ... Mother point arrangement means
4 ... Fractal field generation means
5 ... generating point displacement means
6 ... Voronoi diagram creation means
7. Pattern output means
Hi ... Regular hexagonal Voronoi polygon
L1, L2 ... Two-dimensional fractal lattice
M1 to M6, Mi ... Mother point
P ... Arbitrary point
Q1i, Q2i ... fractal lattice points
S1, S2 ... Scalar values defined by fractal lattice
XY ... XY plane
xi, yi ... coordinate values
Δx, Δy: Displacement
dy, dy ... distance

Claims (6)

多数の不定形セルからなるパターンを生成する方法であって、
コンピュータが、個々のセルの核となるべき多数の母点を規則的に配置する第1の段階と、
コンピュータが、空間的に自己相似的なベクトルを表現することができるフラクタル場を用意する第2の段階と、
コンピュータが、前記多数の母点を前記フラクタル場を用いてそれぞれ変位させる第3の段階と、
コンピュータが、変位後の母点に対するボロノイ図を作成する第4の段階と、
を有し、前記ボロノイ図に基づいてパターンを生成することを特徴とする不定形セルパターンを生成する方法。
A method for generating a pattern of a number of irregular cells,
A first stage in which a computer regularly places a number of generating points to be the core of individual cells;
A second stage in which a computer prepares a fractal field capable of representing a spatially self-similar vector;
A third stage in which the computer displaces each of the plurality of generating points using the fractal field;
A fourth stage in which the computer creates a Voronoi diagram for the generating point after displacement;
And generating a pattern based on the Voronoi diagram.
請求項1に記載の方法において、
第1の段階で、母点を二次元平面上に配置し、
第2の段階で、所定のスカラー値を自己相似的に二次元平面上の各格子点に定義した二次元フラクタル格子を用意し、
第3の段階で、母点が配置された平面上に前記二次元フラクタル格子を重ね、各母点と各格子点との相互位置関係に基づいて、各母点に特定の格子点を対応づけ、対応する格子点に定義されたスカラー値に基づいて各母点を所定方向に変位させることを特徴とする不定形セルパターンを生成する方法。
The method of claim 1, wherein
In the first stage, the generating point is placed on a two-dimensional plane,
In the second stage, a two-dimensional fractal grid is prepared in which a predetermined scalar value is defined in a self-similar manner at each grid point on the two-dimensional plane,
In the third stage, the two-dimensional fractal grid is overlaid on the plane on which the base points are arranged, and a specific grid point is associated with each base point based on the mutual positional relationship between each base point and each grid point. A method for generating an irregular cell pattern, characterized in that each generating point is displaced in a predetermined direction based on a scalar value defined for a corresponding lattice point.
請求項2に記載の方法において、
第1の段階で、母点をXY平面上に配置し、
第2の段階で、2つのそれぞれ独立した二次元フラクタル格子を用意し、
第3の段階で、各母点を、第1の二次元フラクタル格子の格子点に定義されたスカラー値に基づいてX軸方向に移動させ、第2の二次元フラクタル格子の格子点に定義されたスカラー値に基づいてY軸方向に移動させることを特徴とする不定形セルパターンを生成する方法。
The method of claim 2, wherein
In the first stage, the generating point is placed on the XY plane,
In the second stage, two independent two-dimensional fractal grids are prepared,
In the third stage, each generating point is moved in the X-axis direction based on the scalar value defined at the lattice point of the first two-dimensional fractal lattice, and defined at the lattice point of the second two-dimensional fractal lattice. A method for generating an indeterminate cell pattern characterized by moving in the Y-axis direction based on a scalar value.
請求項1〜3のいずれかに記載の方法において、
第1の段階で、三角形、四角形もしくは六角形からなるボロノイ多角形が形成されるように、所定平面上に規則的に母点を配置することを特徴とする不定形セルパターンを生成する方法。
In the method in any one of Claims 1-3,
A method for generating an indefinite cell pattern, characterized in that, in a first stage, generating points are regularly arranged on a predetermined plane so that a Voronoi polygon composed of a triangle, a quadrangle, or a hexagon is formed.
請求項1〜4のいずれかに記載の方法において、
第4の段階で、任意の点をユークリッド距離が最も小さい母点の勢力圏に所属させることによりボロノイ図を作成することを特徴とする不定形セルパターンを生成する方法。
In the method in any one of Claims 1-4,
A method for generating an irregular cell pattern characterized in that, in a fourth stage, a Voronoi diagram is created by causing an arbitrary point to belong to the power sphere of the mother point having the smallest Euclidean distance.
多数の不定形セルからなるパターンを生成する装置であって、
所定のパラメータを入力するパラメータ入力手段と、
乱数を発生させる乱数発生手段と、
個々のセルの核となるべき多数の母点を前記パラメータに基づいて規則的に配置する母点配置手段と、
空間的に自己相似的なベクトルを表現することができるフラクタル場を前記パラメータに基づいて発生させるフラクタル場発生手段と、
前記多数の母点を前記フラクタル場を用いてそれぞれ変位させる母点変位手段と、
変位後の母点に対するボロノイ図を作成するボロノイ図作成手段と、
前記ボロノイ図に基づいてパターンを生成し、これを出力するパターン出力手段と、
を備えることを特徴とする不定形セルパターンを生成する装置。
An apparatus for generating a pattern composed of a large number of irregular cells,
Parameter input means for inputting predetermined parameters;
Random number generating means for generating random numbers;
Generating point arrangement means for regularly arranging a number of generating points to be the core of each cell based on the parameters;
A fractal field generating means for generating a fractal field capable of expressing a spatially self-similar vector based on the parameters;
Generating point displacement means for displacing each of the numerous generating points by using the fractal field;
Voronoi diagram creation means for creating a Voronoi diagram for the generating point after displacement,
A pattern output means for generating a pattern based on the Voronoi diagram and outputting the pattern;
An apparatus for generating an irregular cell pattern characterized by comprising:
JP9909496A 1996-03-28 1996-03-28 Method and apparatus for generating an irregular cell pattern Expired - Fee Related JP3886559B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9909496A JP3886559B2 (en) 1996-03-28 1996-03-28 Method and apparatus for generating an irregular cell pattern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9909496A JP3886559B2 (en) 1996-03-28 1996-03-28 Method and apparatus for generating an irregular cell pattern

Publications (2)

Publication Number Publication Date
JPH09265542A JPH09265542A (en) 1997-10-07
JP3886559B2 true JP3886559B2 (en) 2007-02-28

Family

ID=14238299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9909496A Expired - Fee Related JP3886559B2 (en) 1996-03-28 1996-03-28 Method and apparatus for generating an irregular cell pattern

Country Status (1)

Country Link
JP (1) JP3886559B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4910990B2 (en) * 2007-11-08 2012-04-04 大日本印刷株式会社 Leather shape data generation device, leather shape data generation method, and leather shape data generation program
JP5125859B2 (en) * 2008-08-04 2013-01-23 大日本印刷株式会社 Leather shape data generation device, leather shape data generation method, and leather shape data generation program
JP5168030B2 (en) * 2008-08-28 2013-03-21 大日本印刷株式会社 Leather shape data generation device, leather shape data generation method, and leather shape data generation program
FR2960305B1 (en) * 2010-05-21 2013-03-01 Essilor Int IMPLEMENTING A TRANSPARENT OPTICAL COMPONENT WITH A CELLULAR STRUCTURE

Also Published As

Publication number Publication date
JPH09265542A (en) 1997-10-07

Similar Documents

Publication Publication Date Title
Shimada Physically-based mesh generation: automated triangulation of surfaces and volumes via bubble packing
MacCracken et al. Free-form deformations with lattices of arbitrary topology
EP1646010B1 (en) Method for generating textures for continuous mapping
CN113593051B (en) Live-action visualization method, dam visualization method and computer equipment
CN113592711B (en) Three-dimensional reconstruction method, system, equipment and storage medium for non-uniform point cloud data
CN114693856B (en) Object generation method and device, computer equipment and storage medium
Choi et al. Support-free hollowing with spheroids and efficient 3D printing utilizing circular printing motions based on Voronoi diagrams
Kang et al. Terrain rendering with unlimited detail and resolution
JP3886559B2 (en) Method and apparatus for generating an irregular cell pattern
CN116992513B (en) Simulation software body-attached particle generation method adapting to complex geometry
JPH09277691A (en) Printed matter, embossed product, printing plate and embossing plate, each having grain vessel sectional pattern, and method and apparatus for forming grain vessel sectional pattern
Wang et al. An improving algorithm for generating real sense terrain and parameter analysis based on fractal
CN108257201B (en) Method for pasting two-dimensional pattern on surface of three-dimensional industrial model
JP2003515211A (en) Visualize data
JP3447379B2 (en) A device for creating images with repetitive patterns
JP3461918B2 (en) Image information conversion method using fractal grid
Skrodzki et al. Chip-Firing Revisited: A Peek Into The Third Dimension
Oxman Material-based design computation: Tiling behavior
Hirose et al. An interactive design system for sphericon-based geometric toys using conical voxels
JPH10326302A (en) Method and device for forming crepy pattern
JP3889097B2 (en) Method and apparatus for creating crepe pattern
Kim Virtual Sculpture with Random Expression: Random-Oriented Morphology in Algorithmic Art
CN118070368A (en) Method for generating box bodies with different shapes based on iterative algorithm
Gonsor et al. Subdivision surfaces–can they be useful for geometric modeling applications
JPH09265548A (en) Method and device for generating pattern simulatively representing wrinkle, and printed matter having the same pattern

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060404

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060602

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061122

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091201

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101201

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111201

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121201

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121201

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131201

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees