見出し画像

大統一バーガー理論 ~ Grand Unified Burger Theory

(以下のゴタクは数式以外はパロディ&フィクションです)

2019年に誕生したMath Burgerには未解決の問題があった。

バーガーの主要要素が「一般化バーガー関数」で統一的に表現されるのに対し、チーズ関数とレタス関数はそこに統合される事を頑なに拒んでいた。

画像2

GUBT: ガブッと

2021年。「エーテルの猫」の世界的権威であるToshi Kから書簡が届く。

「うなむにさん。チーズとレタスのバーガー関数への統合、つまり大統一バーガー理論(GUBT: Grand Unified Burger Theory)は人類の悲願です。」

しかし…そもそも一般化バーガー関数が描くのは回転対称の3次元物体。だが、チーズ・レタスのどちらも2次元面であり、また回転対称ですらない。一体、どうやってこの矛盾を解消すればよいのか…

余剰次元のコンパクト化

近年の素粒子物理学の進歩がこの問題に光を当てた。

最先端の素粒子理論である「超弦理論」では余剰次元をコンパクト化することで、感知できないスケールまで縮めて、11次元の空間を巨視的にはあたかも3次元空間であるかのように振る舞わせる。これは使える。コンパクト化をチーズとレタスの原型に適用すると…ス、ス、ス。薄い円盤ができあがった。これで次元のミスマッチ問題は、あっけなく解決してしまう事になる。

画像1

↑図:B[θ, φ, 3, 0, w, 0.46, 0.98] 左から右へw=0.5, 0.2, 0.05

半径関数のフーリエ級数展開

では、チーズの非回転対称形状にはどう対処するのだ?

フランス革命前夜、関数不足に喘ぐ国民に向かってマリー・アントワネットは言った「回転対称でないのなら、フーリエ級数表示すればいいじゃない?」

その通りだ…。バーガー関数では半径座標はr0 Sinθで表されるから、r0を方位角φの関数として操作すればいいし、フーリエ級数を使えばどんな関数でも必ず表現可能だ…

画像3

↑図
左:B[θ, φ, 3, 0, 0.05, 0.46, 0.98]
右:B[θ, φ, 3, 0, 0.05, 0.46, (0.98 + 0.05 sin4φ - 0.01 cos8φ)^2]

画像4

↑図
左:B[θ, φ, 3, 0, 0.01, 0.14, 1]
右:B[θ, φ, 3, 0, 0.01, 0.14, 1 + 0.1 sin6φ]

鉛直方向のフーリエ級数展開

だが重力(チーズの垂れ)や波動(レタスの波打ち)を理論に取り込むにはどうすればいいのか?

はっ!パラメータvはアフィン変換(物体の平行移動)の為だけにあるわけではない。ここに関数を導入すれば鉛直方向への変形は自由自在だ。そして、鉛直変形を半径の変化に同期させることで重力を、非同期にすることで波動を表現できるのだ。

画像5

↑B[θ, φ, 3, 0, 0.05, 0.46-0.004 (1 + sin4φ)^6, (0.98 + 0.05 sin4φ - 0.01 cos8φ)^2]

いやこれは違う。これでは重力ではない。そうか。鉛直方向の垂れを仰角θに依存しない形式で与えているから、このような問題が起こってしまうのか。それならば、中心に近づく(sinθが0に近づく)に従って、vの変形項(三角関数の項)が小さくなるように重み付けしてやろう。

画像6

↑B[θ, φ, 3, 0, 0.05, 0.46-0.004 (1 + sin4φ)^6 (sinθ)^16, (0.98 + 0.05 sin4φ - 0.01 cos8φ)^2]

昼夜を問わず続けられた実験の結果、sinθを魔法数「16」乗した関数を掛けたときに、最も理論上のチーズと実験結果の一致が(つまり見た目が)良いことが分かった。

レタス関数の場合、半径の波と非同期の周波数の高い三角関数を与え、そしてまたsinθを魔法数である16乗して乗じた方が結果が良さそうである。

画像9


↑B[θ, φ, 3, 0, 0.01, 0.14+0.05 cos32φ (sinθ)^16, 1 + 0.1 sin6φ]

2021年5月某日

Grand Unified Burger Theory 堂々完成!

チーズには多少の厚みを持たせ、その「はみ出し」と「とろけ」のリアリティは前バージョンを上回る!

画像10

ここに関数とパラメータをまとめておく。

画像11

・バン(上) : B(θ, φ, 1.2, 0.5, 0.5, 1.2, 1)
・オニオン: B(θ, φ, 20, 0, 0.05, 0.7, 0.85)
・トマト: B(θ, φ, 20, 0, 0.1, 0.55, 0.9)
・チーズ: B(θ, φ, 3, 0, 0.05,
                                  0.46-0.004 (1 + sin4φ)^6 (sinθ)^16,
                                  (0.98 + 0.05 sin4φ - 0.01 cos8φ)^2)
・パティ: B(θ, φ, 2.5, 0, 0.15, 0.3, 1)
・レタス: B(θ, φ, 3, 0, 0.01, 0.14+0.05 cos32φ (sinθ)^16, 1 + 0.1 sin6φ)
・バン(下): B(θ, φ, 4, -0.25, 0.15, -0.03, 0.95)

分解図である。

画像9

Mathematicaコード

burger[x_,a_,b_,w_,v_,r_]:=w Erf[a (x-b)]+v

burgerPlot[{a_,b_,w_,v_,r_},opt___]:=RevolutionPlot3D[{r Sin[\[Theta]],burger[Cos[\[Theta]],a,b,w,v,r]},{\[Theta],0,2 \[Pi]},{\[Phi],0,\[Pi]},opt]

meshT=Thickness[0.0025*1.5];

makePlot[part_]:=Module[{},prm=param[part];
obj[part]=burgerPlot[prm[[1]],PlotPoints->prm[[2]],Mesh->prm[[3]],PlotStyle->prm[[4]],MeshStyle->meshT];]

res=4;
param["bunstop"]={{1.2,.5,.5,1.2,1},{30,10}*4,{15,7},Automatic};
param["onion"]={{20,0,.05,0.7,.85},{30,10}*4,{3,7},White};
param["tomato"]={{20,0,.1,0.55,.9},{30,10}*4,{3,7},Red};
param["patty"]={{2.5,0,.15,0.3,1},{30,10}*4,{15,7},Brown};
param["bunsbottom"]={{4,-.25,.15,-.03,.95},{30,10}*4,{15,7},Automatic};
param["cheese"] = {{3,0, .05,
	.46 - 0.004 (1 + Sin[4 \[Phi]])^6 Sin[\[Theta]]^16,
	(0.98 - 0.01 Cos[8 (\[Phi])] + 0.05 Sin[4 \[Phi]])^2},
	{30, 10}*res, {15, 7}, Yellow};
param["lettuce"] = {{3, 0, .01,
	.14 + 0.05 Cos[32 \[Phi]] Sin[\[Theta]]^16,
	1 + 0.1 Sin[6 \[Phi]]},
	{30, 10}*res, {15, 7}, Green};

makePlot["bunstop"]
makePlot["onion"]
makePlot["tomato"]
makePlot["patty"]
makePlot["bunsbottom"]
makePlot["cheese"]
makePlot["lettuce"]

burgerparts={"bunstop","onion","tomato","cheese","patty","lettuce","bunsbottom"};
burgerall=Map[obj,burgerparts]
g=Show[burgerall,PlotRange->All,Boxed->False,Axes->False,ViewPoint->{4,1,1.5}]

SetDirectory[NotebookDirectory[]];

Export["grand_unified_burger.png",g,ImageSize->1000]

img=Import["grand_unified_burger.png"]

#イラスト #illustration #数学 #ハンバーガー #バーガー #mathematics #mathematica #BURGER #humburger



いいなと思ったら応援しよう!