ハカイシをハックする

いろいろあって、墓石のデザインを考えることになった。経緯はすっとばして、結論として辿り着いたテーマは黄金比とスーパー楕円。黄金比は説明するまでもないだろう。ダビンチとかオウムガイのあれだ。と一言で片付けようと思ったが、え、オウムガイは違うのか?深入りすると長くなりそうなので保留。

f:id:uta46:20131126092725p:plain

楕円の公式は (x/n)2 + (y/m)2 = 1 だが、この2乗の部分が 2 より大きくなったものをスーパー楕円と呼ぶ。

f:id:uta46:20131127150611j:plain

Wolfram Alpha というサイトで、横 1.0 縦 1.6 の黄金比の3乗のスーパー楕円を描くとこのようになる。

f:id:uta46:20131126093145j:plain

必要なのは第一象限だけなので、そこの部分を何種類か表示してどれがいいかを考える。冪数は整数ではなくてもよい。

f:id:uta46:20131126093728p:plain

f:id:uta46:20140113161536p:plain

2.5 か 2.8 のどちらがいいか迷って、最終的には 2.8 を選択した。

業者さんに渡すための図形を描くのには gnuplot を使用。 方程式を解いて

y = 1.6 (1 - x 2.8) 1/2.8

を求めればいい。 第一象限だけを表示するプログラムはこんなものか。 初めて使ったので稚拙な部分があると思うがご勘弁を。

Golden Ratio Superellipse by Gnuplot

f:id:uta46:20131126094802p:plain

デザインには Google Sketchup を使用。曲線を描くのに Rubyプラグインを使おうかとも思ったが、プラグインRuby も未経験で時間がかかりそうだったので見送り。Perl で計算した座標を手作業で入力した。x を 0 から 1.0 まで変化させて求めるわけだが、1.0 に近くなるに従って細かくしないと線が荒くなってしまう。その辺は適当に調整したのだが、後から考えると角度を等分して cosign を求めた方がよかった。5度間隔で表示するとすれば、こんな具合になるだろう。今回は幅300mm、高さ480mmの楕円を描くので300倍している。

スーパー楕円の座標を計算する

x=0.000000, 0.000000, 480.000000
x=0.087156, 26.146723, 479.815046
x=0.173648, 52.094453, 478.722973
x=0.258819, 77.645714, 476.076512
x=0.342020, 102.606043, 471.360546
x=0.422618, 126.785479, 464.161505
x=0.500000, 150.000000, 454.150177
x=0.573576, 172.072931, 441.067116
x=0.642788, 192.836283, 424.708888
x=0.707107, 212.132034, 404.914265
x=0.766044, 229.813333, 381.549201
x=0.819152, 245.745613, 354.488587
x=0.866025, 259.807621, 323.591140
x=0.906308, 271.892336, 288.659917
x=0.939693, 281.907786, 249.371266
x=0.965926, 289.777748, 205.125829
x=0.984808, 295.442326, 154.665394
x=0.996195, 298.858409, 94.680866
x=1.000000, 300.000000, 0.000000

結果として、このようなものができあがった。細かい部分は石材屋さんが細工するので、この通りに仕上がるわけではない。花立や香炉の穴の部分もスーパー楕円だ。石塔の部分が奥行き1尺、高さ1尺6寸の黄金比。幅は2尺ということだったが、頑張って2尺5寸とってくれることになったので、正面もほぼ黄金比で出来上がることになった。石材屋さんとしてはもう少し高くしたいらしいが、せっかくなのでこのままで行くことに。

f:id:uta46:20131125223642j:plain

テクスチャを貼るともっとそれらしいのだが、モノがモノだけになんか生々しいのでワイヤーフレームです。さて、どうなりますでしょうか。