《付録》ex_amorphous.xaml

<!--
#    Copyright (C) 2000-2008, (^.^) piyo-piyo Tamago-Club
#
# History: WPF examples
#    2008/01/25, IronPython 1.1.1 (download)
#    2008/08/22, IronPython 1.1.2 (download)
#    2008/03/16, ver.2.0, WPF
#    2008/00/00, ver.2.1, IronPython 1.1.2 
-->
<DockPanel
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/sparkle">

  <Canvas Name="canvas" Width="300" Height="300"/>
</DockPanel>

事例:アモルファスを形成する

アモルファス〔amorphous〕は、物質を構成する原子/分子などが、規則正しい結晶構造を持たずに、集合している状態を示すものです。アモルファス金属の断層面を有限要素法で解析したり、超音波探傷を探る非破壊検査など、すでに産業界では広く応用されている分野のひとつです。
実際のアプリケーションでは、撮影した画像を解析して、不定形のアモルファスを抽出したりするものですが、ここでは、擬似的なアモルファスを形成します。得られたアモルファスを盤面として、その上で生息する生命体の動きを、ライフゲームとして再現します。

Step 1:単細胞生命体から多細胞生命体への進化

テストケースを起動すると、ウィンドウが開いて、そこに2つの単細胞生命体(左右)が存在します。左右の生命体は、それぞれの輪郭が青/赤によって識別できます。

テストケース 解説
一方の単細胞生命体をクリックすると、他方の単細胞生命体を吸収して、新たな多細胞生命体を形成します。
左の生命体をクリックすると、右の生命体を吸収して、新たな多細胞生命体(青)を形成します。
右の生命体をクリックすると、左の生命体を吸収して、新たな多細胞生命体(赤)を形成します。


このような、単細胞生命体/多細胞生命体が盤面を埋め尽くすことで、アモルファスを形成します。その上で、ライフゲームが展開します。

単細胞生命体+単細胞生命体⇒多細胞生命体

2つの単細胞生命体が接合して、新たな多細胞生命体に進化する過程を表現します。



単細胞生命体(X)と単細胞生命体(Y)とが接合して、多細胞生命体(XY)へと進化します。生命体(X)の頂点 C と生命体(Y)の頂点 a とが接合して、新たな多細胞生命体(XY)の頂点 C となります。同様に、生命体(X)の頂点 D と生命体(Y)の頂点 f とが接合して、新たな多細胞生命体(XY)の頂点 D となります。

多細胞生命体+単細胞生命体⇒多細胞生命体

単細胞生命体と多細胞生命体とが接合して、新たな多細胞生命体に進化する過程を表現します。



多細胞生命体(XY)と単細胞生命体(Z)とが接合して、多細胞生命体(XYZ)へと進化します。生命体(XY)の頂点 B と生命体(Z)の頂点 f とが接合して、新たな多細胞生命体(XYZ)の頂点 B となります。同様に、生命体(X)の頂点 D と生命体(Y)の頂点 d とが接合して、新たな多細胞生命体(XYZ)の頂点 D となります。生命体(XY)の頂点 C と生命体(Z)の頂点 e とは、新たな多細胞生命体(XYZ)の内部に取り込まれます。


Previous|3/15|Next