円を縦に3等分する

 円を3等分する場合、普通は中心から120°の角度で切る。中心から外周へ半直線の形で切るのは面倒なので、中心を通る直線で6等分してその中の2ピースを選ぶというのがピザを3人で分けるときの常道である。結局60°で切ることになるのだけど、cos60°=1/2ということを高校の数学で習うので簡単に切ることができる。

 ところで、昨年あたりにケーキの切れない非行少年たちという本が話題になっていた。僕自身、この本を読んでないので評価は控えるけど、この本にある下の図がかなり取り沙汰されていた。独り歩きしているような気がしないでもないのだけど、読んでないのでなんとも言えない。

 上に書いたように普通、ケーキとかピザを切るというと中心を通るようにするのだけど、別に縦とか横に3等分してもいいじゃんと思ったわけである。もちろんデコレーションケーキだと切る場所によって取り分が変わるので良くないが、プレーンなチーズケーキとかなら争いにはならないのではないかなと。

 もうちょい実用的な話をすると、アレルギーの薬を服用してるのだけど、副作用が強くて1錠飲むと3日くらい眠くて何もできなくなってしまう。だから1/3に分けて3日かけて飲むようにしてる。錠剤だと中心を通って3等分するのが難しいので縦に3等分したくなるのである。

 そんなわけで、縦に3等分する場合の寸法を計算してみる。
 ぱっと思いつく計算方法としては、扇形から三角形を引いた面積を求める方法と、半円の方程式を積分する方法である。


 どちらでもいいんだけど、簡単そうな前者の方で計算しようと思う。ちなみに、どちらも代数解は得られないように思える。というのは、方程式の中にθとsinθが入ってくるので"θ="の形で纏められないためである。
 各部位の面積は以下の通り。なお、円の半径は1とする。
円の面積:π
扇形:{ \frac{2\theta}{\pi} }
三角形:{ sin\theta cos\theta }
 というわけで、扇形から三角形の面積を引いたら、円の面積の{ \frac{1}{3}}となればよいので、
{ \displaystyle \theta - sin\theta cos\theta = \frac{\pi}{3} }
 この通り、普通には解けないので、近似解を求めることにする。
 ここで、{ f(\theta) = \theta - sin\theta cos\theta - \frac{\pi}{3}}とすると、{ f(\theta) = 0}のときのθが解となる。
 近似解を求めるにあたって、大体どれくらいかというのを調べておく。
{ \theta = 60^{ \circ }, \frac{\pi}{3}}のとき、{ f(\frac{\pi}{3}) = \frac{\pi}{3} - \frac{\sqrt{3}}{2}\cdot\frac{1}{2} - \frac{\pi}{3} = -\frac{\sqrt{3}}{4}}
{ \theta = 90^{ \circ } , \frac{\pi}{2}}のとき、{ f(\frac{\pi}{2}) = \frac{\pi}{2} - 0 -\frac{\pi}{3} = \frac{\pi}{6}}
 { \theta = 60^{ \circ }}{90^{ \circ }}の間で{ f(\theta)}は±が入れ替わるので、、この間に解があることになる。

 ここから{sin\theta cos\theta}の近似をしていく。
 近似方法は、グラフを描いてそれっぽい位置を特定する方法とマクローリン展開以前紹介した線形近似を使ってみる。マクローリン展開よりもテイラー展開の方が精度が高いのだけど、計算の労力がぜんぜん違うので、テイラー展開よりもマクローリン展開を選んだ。

グラフ
 グラフを描いて0と交わる点が解となるというのは方程式の基本的な考え方である。これをアナログで行えば大体の値が求められる。
 とはいえ、現代に於いて実際にグラフを書くのはエクセルの仕事であり、値はかなり正確なものとなる。エクセルが耐えられるだけ精度は高められるので大体実用上問題のないくらいの桁数は得られる。もちろん頑張ればそれ以上の精度を出すこともできる。たかがグラフを描いただけではあるが、精度は下に行う近似よりも遥かに高いはずである。ただ、あくまで近似なので代数解は得られない。
 というわけで、描いてみた。

 横軸はradより馴染みがあるdegreeで表示した。
 ぱっと見、75°弱かなという感じだが、もうちょい細かく見ると、74.63708271°ということがわかる。このとき、{f(x)=0\times 10^{15}}となるので、これ以上はエクセルの桁数に手を加えなければならず面倒なので、ここまでとする。
 一応、計算したエクセルシートも上げておく。
円を三等分する.xlsx

マクローリン展開

{ \displaystyle f(x) = f(0) +\frac{f'(0)}{1!} x + \frac{f''(0)}{2!}x^2 +\cdots }

 { f(\theta) = sin\theta cos\theta}として、マクローリン展開の各項を書き出すと以下のようになる。
{ \displaystyle f(0) = sin\theta cos\theta = 0 \\ \displaystyle f'(0) = (sin\theta)' cos\theta + sin\theta (cos'\theta) \\ \hspace{ 15pt } = cos^2\theta - sin^2 \theta = 1 \\ \displaystyle f''(0) = 2cos\theta(-sin\theta) - 2sin\theta cos\theta \\ \hspace{ 15pt } = -4sin\theta cos\theta \\ \hspace{ 15pt } = -4f(\theta) = 0 \\ \displaystyle f^{(3)}(0) = -4f'(\theta) = -4 \\ \displaystyle f^{(4)}(0) = 16f(\theta) = 0 \\ \displaystyle f^{(5)}(0) = 16f'(\theta) = 16 }  5回微分まで書いたけど、マクローリン展開微分した回数と同じだけ冪乗しなければならない。多次方程式では4次までしか解の公式が存在しなに都合上、4回微分までしか扱えない。そして、4回微分は0となるため実質使えるのは3回微分までである。{ sin\theta cos\theta}を展開すると次のようになる。
{ \displaystyle sin\theta cos\theta \simeq \theta + \frac{-4}{3!} \theta^3 }
{ \displaystyle \hspace{ 15pt } = \theta - \frac{2}{3} \theta^3 }
 実に単純になってしまった。計算が楽でいいのだけど、精度の点で疑問が残る。
 とにかく、これをsinθcosθに代入すると、
{ \displaystyle \theta - (\theta - \frac{2}{3}\theta^3 ) = \frac{\pi}{3} \\ \displaystyle \frac{2}{3}\theta^3 = \frac{\pi}{3} \\ \displaystyle \theta^3 = \frac{\pi}{3} } { \displaystyle \theta = \sqrt[ 3 ]{ \frac{\pi}{2} } = \frac{\sqrt[ 3 ]{ 4 \pi }}{2} }
 あとは電卓を叩くと出てくる。
{ \displaystyle \theta = 1.1624 rad = 66.60^{\circ} }
 目的とする角度は2θなので、133.2°となる。かなり誤差が大きい。

線形近似
 sinθcosθを60~90°の間で近似するので。θ=60°、90°の2点を通る直線を近似直線としてsinθcosθの代わりに代入する。
 y=ax+bという形の直線を作る。
 2点の座標は、θ=60°のとき{ ( \frac{\pi}{3}, \frac{\sqrt{3}}{4} ) }、θ=90°のとき{ (\frac{\pi}{2}, 0) }となるので、傾きは{ a = (0-\frac{\sqrt{3}}{4}) / ( \frac{\pi}{2} - \frac{\pi}{3} ) = -\frac{3\sqrt{3}}{2\pi} }となる。この傾きで{ (\frac{\pi}{2}, 0) }を通る直線なので、xに{ (\frac{\pi}{2})}を代入すれば得られる。
{ \displaystyle y = -\frac{3\sqrt{3}}{2\pi} (x-\frac{\pi}{2}) \\ \displaystyle \hspace{ 15pt } = -\frac{3\sqrt{3}}{2\pi}x + \frac{3\sqrt{3}}{4} } 以上より、{ \theta = \frac{pi}{3} ~ \frac{\pi}{2}}の範囲で{ sin\theta cos\theta \simeq -\frac{3\sqrt{3}}{2\pi}x + \frac{3\sqrt{3}}{4}}と近似できる。なお、分母の有理化はできない。
 というわけで、これを元の式{ \theta- sin\theta cos\theta = \frac{\pi}{3}}に入れると、 { \displaystyle \theta - (-\frac{3\sqrt{3}}{2\pi}\theta + \frac{3\sqrt{3}}{4}) = \frac{\pi}{3} \\ \displaystyle \frac{1+3\sqrt{3}}{2\pi}\theta = \frac{3\sqrt{3}}{4}+\frac{\pi}{3} } ここでごちゃごちゃ計算して式を整えるのも面倒なので、右辺と左辺それぞれ電卓で求めてしまう。
{ \displaystyle \frac{1+3\sqrt{3}}{2\pi} = 1.827 \\ \displaystyle \frac{3\sqrt{3}}{4}+\frac{\pi}{3} = 2.346 \\ \theta=2.346 / 1.827 = 1.284 }  角度になおすと1.284rad=73.57°、2θ= 147.14°となる。マクローリン展開よりは大分正確な近似と言える。

テイラー展開
 テイラー展開についても3次微分の項まで計算してみたが、3次方程式をちゃんと解かなければならないのでかなり面倒になってくる。書くのも大変なので、答えだけ。θ= 1.30256rad = 74.631°となった。エクセルで求めた正確な値が74.63708271°なのでかなり精度の良い近似と言える。ただし、3次方程式なんて解きたくないのでできればやりたくない。


 数式はいつもどおりMathJaxを使って表示しているのだけど、今回は{ \sqrt[ 3 ]{ 4 \pi } }が表示できなくて悩んだ。どういうことかというと、MathJaxで数式を書くとき[tex:{ ~ }]という形で入力する。ところで、三乗根は[tex:{ \sqrt[3]{4\pi} }]というように書く。根の部分を角カッコで囲んでいるのだが、この括弧閉じの部分が数式終了と見做されてエラーを吐き出していたのである。結局[tex:{ \sqrt[ 3 \]{ 4 \pi } }]として、カッコの前に\を入力することでエスケープして読み込ませた。はてなのMathJaxは色々と仕様の異なる部分があって、よく失敗する。調べてみると何の問題もなく扱えている人もあり、色々とよく分からないことになっている。
 また、通常の文中の"°"の右側に空白部分があるのがどうにかならないのかと色々悩んだんだけど、半濁音"゜"にするか、いちいちMathJaxを呼び出すかくらいしか解決法がないことがわかった。MathJaxで角度を表示する方法である"○"の上付表示でも""となってイケてないし、"o"の上付き表示だと"o"となっていまいち微妙な位置である。
 はてなブログの仕様魚拓)として、ちゃんとHTMLを扱うためには有料のはてなブログProに登録しなければならないため、通常のHTML編集では使えるタグが限られているのである。そんなわけで、今回はきれいに"°"を表示するのを諦めた。
 あと、数式の後に自動で改行が入ったり入らなかったりする。こちらも謎である。
 もういっそ、はてなブログを止めて自分でブログを組んでもいいのかなと思えるくらいである。昔みたいに日記形式で書くならどうにでもなるが、ブログの機能は一応使いたいし、自分でスクリプト組むとか真っ平御免なのでやんないだろうけど。

関連エントリー
 20160811 三角関数の近似