Skip to content

多忙です

なので,Tweet-a-Program への投稿はやっておりません.やりたい気持ちもあるけど,Tweet-a-Program は常に動いているわけじゃなさそうでロスが多いんです.「せっかく送ったのに無視」っていうケースが何度もありました.もう少し向こうもこちらも安定したら再開しようと思います.

11/02-11/11 の現実逃避

こんな感じです.たまに日付が飛んでいるのは先方がダウンしていたためです.

[2014/11/02]

[2014/11/03]

[2014/11/04]

[2014/11/05]

[2014/11/06]

[2014/11/07]

[2014/11/08]

[2014/11/09]

[2014/11/11]

遊びなんだけど…

Tweet-a-Program 氏(@wolframtap)に Mention で Mathematica のコード(Wolfram言語のプログラム?)をつぶやくと計算結果の画像を RT してくれるというシステムで遊んでみることにしました.ネタが続く限りつぶやき続けようと思います.昨日はライフゲーム(Game of Life)のグライダーを今日はオフラティスのランダムウォークをつぶやきました.暇があれば解説を書こうと思います.たぶん,書かないと思うけど….

Geometrical Toys in China (中国の幾何学おもちゃ)

前からほしかった孔明鎖と呼ばれているおもちゃです.やっと Amazon のマーケットプレイスで発見しました.中国から直接送られてきたらしいです.箱を開けたとたんに揮発性薬品の臭いがしたのが少し心配ですが….

These toys were played in ancient China.  They were said to be invented by Zhuge Liang.

孔明鎖など

Basic Data of 4D regular polytopes

I prepared the Mathematica files and CVS files which included the basic data of 4D polytopes.  The zipped file contains 6 files which correspond to 6 regular polytopes: 5 cells, 8 cells, 16 cells, 24 cells, 120 cells, and  600cells.  Each file consists of 6 basic properties as follows:

  1. Locations of vertices of the polytope
  2. Pairs of vertex numbers which consists edges of the polytope
  3. Vertex numbers of adjacent vertices of each vertex of the polytope
  4. Vertex numbers of each face of the polytope
  5. Face numbers of adjacent faces of each face of the polytope
  6. Face numbers of each cell of the polytope

Unzipped filenames are like “f (n). m” where (n) corresponds  to the number of cells.  For 5 cells, its filename is “f5.m” for example.  If we assume that these files allocated on the directory  “~/tmp/”,  we can use the data like the following:

With[{n = 24, dir = “~/tmp/”},
Module[{vers, edgs, neis, faces, fneis, cells},
{vers, edgs, neis, faces, fneis, cells} =
Get[dir <> “f” <> ToString[n] <> “.m”];
cells
]
]

Please inform me if you find any mistake.

  1. Data (Mathematica, zip)
  2. Data (csv, zip)
  3. Notebook (in preparation)
  4. PDF (in preparation)

4次元正多胞体の基本データ(Mathematica & CSV)

4次元正多胞体の基本データをまとめた Mathematica のファイルおよび CSV ファイルを公開します.6種類の正多胞体(5, 8, 16, 24, 120, 600)について,以下の6種類のデータが保存されています.

  1. 頂点の位置:4次元ベクトルを頂点数だけ並べたもの.
  2. 辺をつくる頂点の対:1対(つまり2個)の頂点番号を辺の数だけ並べたもの.
  3. それぞれの頂点に隣接する頂点の番号:隣接する頂点番号のリストを頂点の数だけ並べたもの.
  4. 面をつくる頂点の番号:面を構成する頂点の頂点番号のリストを面の数だけ並べたもの.
  5. 隣接する面の番号:隣接する面の面番号リストを面の数だけ並べたもの.
  6. 胞を作る面の番号:胞を作る面の面番号リストを胞の数だけ並べたもの.

データは多胞体ごとに別のファイルです.正n胞体についてのデータは “f(n).m” というファイル名になります.(n) には数字が入ります.例えば,正5胞体ならデータファイルは “f5.m” ですし,正120胞体ならデータファイルは “f120.m” です.このファイルが “~/tmp/” というフォルダにあるとき,以下のように使用することができます.例えば,「正24胞体を作る24個の胞(立体)が何番目の多角形を用いて作られているのか」は以下のようにして得られます.

With[{n = 24, dir = “~/tmp/”},
Module[{vers, edgs, neis, faces, fneis, cells},
{vers, edgs, neis, faces, fneis, cells} =
Get[dir <> “f” <> ToString[n] <> “.m”];
cells
]
]

より具体的な例はノートブックかPDFファイルを見て下さい.すべての番号は1から始まっているので C 言語などの配列が0から始まる言語で使用する場合にはすべての番号を1だけ少なくする処理が必要です.おそらく他にあまり例がないと思うので公開することにしました.誤りがあったらご指摘願います.

  1. データ(Mathematica, zip)
  2. データ(csv, zip)
  3. ノートブック
  4. PDF

 

学会発表してきました

2014/06/13 に迷路の話を 06/15 に WORLDEYE の話を第77回形の科学シンポジウムで発表してきました(前者は講演,後者は展示).どちらの話もこれで終わりになるかな?

迷路の話についてはいろいろ考えたけど,現在の私の立場は「粘菌の探索をもとにしたアルゴリズムを模索することには意義があるが,知性の有無についてはそれほど重要なこととは思えない」という感じです.粘菌の知性について論じること自体は「石を投げる」という意味で価値があるとは思います.

WORLDEYE については,開発者がもっと情報公開を行うべきだと考えています.できれば私はもっと高解像度な高精度な全球面版がほしい.

発表用に作成した新しい画像を添付します.説明は省略します.mazespherical532

 

迷路の中の流体流れ

迷路の中は流体で満たされていて,初期状態でその圧力は0としましょう.赤で示した入口の圧力を常に100に,出口の圧力を常に0にして,入口と出口の圧力差が常に 100になるようにします.そして,圧力についてのラプラス方程式の数値解を求めます.左の図がその結果を図示したものです.圧力100が白,圧力0が黒で,グレースケールで迷路内の圧力分布を表示しています.右の図は隣のマスとの差の(圧力勾配)絶対値の最大値を表しています.差の絶対値が最も大きいところが白,差がゼロであるところを黒として,グレースケールで圧力勾配の分布を示しています.圧力勾配は流体の流れる方向に相当しています.右の図は迷路の解をたどって流体が流れていることを示しています.つまり,流体は迷路の答えを得たことになります.Mathematica で2時間ぐらいコーディングしたらできちゃいました.夏ぐらいからやろうと思っていたものでした.早くやればいいのに,ダラダラしちゃって….

周囲の情報で全体が変わっていく.創発ってこんな感じのことなのではないかと思っています(違うのかな?)

Fluid flow in maze.

Fluid flow in maze.

学研ワールドアイを入手しました

球面上のパターン形成をプレゼンテーションするのにピッタリなおもちゃ「学研ワールドアイ」(学研ワールドアイのページ)を入手しました.同梱された USB メモリに入っているデータだけではなく,自分で作ったデータも表示できるようです.

I got a toy “World Eye” which is useful for presentations of pattern formation on spherical surface.  This toy can project the data made by users.

 

そこで,自分でもデータを作ってみようと思いました.しかし,わかっていることは少なくて,画像サイズは640×480で実際には中央の480×480に内接する円内部の画像のみが投影されることぐらいです.そこで,自分で試してみることにしました.

So I tried to construct my data and project them using this toy.  But information is few.

ワールドアイ1

ステレオ投影の理論は単純です.ウィキペディアに解説があります(ウィキペディア「ステレオ投影」).私はz軸を逆に取っているので,(x, y) を 1/(1+z) 倍した図形を作って,うまく映るのかを確かめてみました.

At first, I transformed (x, y, z) to (x/(1+z), y/(1+z)) where z is greater than zero and examined the projection.

ワールドアイ2

ご覧のとおり,緯線の曲がり方がきつすぎるようです.視点はもっと奥にあるようです.

As shown in the image, the latitude curves were incorrect.

そこで,視点を 1 だけ奥にしてみました.視点が a だけ奥に行くと変換は (1+a)/(1+a+z) 倍になります.今回は 2/(2+z) 倍です.確かめてみると,そこそこ良いようです.しばらくは,視点が中心から直径分だけ奥にあると仮定して画像を作ろうと思います.

I change the view point from 1 to 2.  In such case, the point (x, y, z) is transformed to (2 x/(2+z), 2 y/(2+z)).  The examination is good.

ワールドアイ3

そんなわけで,アニメーションも作ってみました.(アニメーションを撮影したビデオ.数秒でおしまいになります)

次は Turing pattern を表示してみたいと思っています.いつになるかわからないけど.

今年もよろしくお願いします

いつの間にか新しい年になっていました.今年もよろしくお願いいたします.