mots quotidiens. | |
Daichi Mochihashi (持橋大地) daichi <at> ism.ac.jp | by hns, version 2.10-pl1. |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
現在充電期間なので, 研究と直接関係ない話。
言語系の会議に行くのは久し振りですが, ACL/EMNLP2004でバルセロナに
行った際, 会場は
Forum Barcelona 2004
という海の近くの国際会議場で,
フードコートに各種の店が並ぶ活気溢れる空間でした。
昼食を松本研メンバーでフードコートで取ったとき, ドリンクは共通に
Forum Barcelonaのロゴの入った上の写真の容器で,
1.5€のデポジットになっていて, 返却するとお金が戻る仕組みになっていました。
これは飲み口が三角になっていてとても飲みやすく, 手にもよく馴染む素晴らしい
デザインだと思ったのですが,
よく見ると, 数学的にもとても美しい構造をしています。
これは右のような, 正三角形を囲む3つの円弧からなる図形を一辺(2/3π)だけ
ひねりながら上昇させた立体で, しかも測ると,
上の辺の長さと立体の高さの比はちょうど1:2になっています。
バルセロナから帰った後これを何とかモデル化しようと思っていたのですが,
極座標で考えていたりして上手くいきませんでした。
が, 日曜日に普通の直交座標でちょっと考えたらできたので, 以下その過程。
正三角形を図のようにとると, 円弧上の点の偏角をθとすれば, 0≦θ≦π/3のとき 円弧上の点は単純に(cosθ,sinθ)です。π/3<θ≦2/3πのときは, 正三角形を左に1 移動して第2象限にあると思うと偏角はθ+π/3なので, 右に戻すだけ。 2/3π<θ≦πのときは上の頂点が原点と重なるように平行移動すると偏角は θ+2/3πになるので, 移動分の(1/2,√3/2)だけ元に戻せばOK。
まとめると図のようなパラメータ表示になり, Mathematicaで書くと
f[t_] := N[ If[ t < Pi/3, {Cos[t], Sin[t]}, If[ t < 2 Pi/3, {Cos[t+Pi/3]+1, Sin[t+Pi/3]}, {Cos[t+2 Pi/3] + 1/2, Sin[t+2 Pi/3] + Sqrt[3]/2} ] ] ]です。 後はこれを原点中心に移動して, 回転行列を掛けてからさらにz方向を加えて拡大。
g[t_,s_] := Block[ {m = {{Cos[s], -Sin[s]},{Sin[s], Cos[s]}}}, m . (f[t] - {1/2,1/(2 Sqrt[3])}) ] h[t_,z_] := Block[ {r = 7.5/4.8 / (2 Pi/3), y = r z + 1}, Append[y g[t,z], z] ]
プロットすると以下のようになります。
ParametricPlot3D[ h[t,z], {t,0,Pi},{z,0,2 Pi/3}, Mesh->False, BoxRatios->{1,1,2}, ViewPoint->{1.3,-2.4,2} ]
上の収束時間にはものすごい違いがあるのですが(1分5秒と11時間), ログスケールなのであまりそう見えないのが残念。。
タイトル一覧 |