ゆるふわブログ

東京大学理科 I 類 2 年の学生です.プログラミング,大学の勉強,日常生活で感じたことをゆるふわに書いていけたらなと思います.技術的に拙いところがあっても温かい目で見守っていただければ幸いです.

素因数分解の可視化

まずはこれをご覧いただきたい.

See the Pen Prime Factorization by Ysmr-Ry (@As2) on CodePen.

おわかりいただけただろうか? 素因数分解を可視化しているのである.
この記事ではこの可視化のルールと気づいたこと,またおまけとして素因数分解について考えたことを綴ろうと思う.

ちなみに元ネタはこれである.

matome.naver.jp

素因数分解ってなんだっけ (真顔)

素因数分解は,(たぶん) 中学校ぐらいで習うことに加え,下手したら小学生でも知っているので大丈夫だとは思うが一応おさらいしておく.
ある整数 n にはそれを割り切る数がある.例えば,6 であれば,2 や 3 は 6 を割り切る.
そのような数を約数という.
だが,例えば 7 のように 1 か自分自身の 7 でしか割り切ることのできない数もある.それを数の素となる数ということで素数と呼ぶ.
素数を小さい方から書き出すというのをやったことがあるのではないだろうか.
2, 3, 5, 7, 11, 13, 17, 23, 29, …
整数はなんでも,素数を掛け合わせた形で表すことができる.その形の中での素数 1 つ 1 つのことを素因数と呼び,そのような形に分解することを素因数分解と呼ぶ.
例えば,12 であれば 12 = 2×2×3 と表すことができ,これを素因数分解と呼ぶ.素因数は 2, 3 である.

素因数分解の可視化のルール

この可視化のルールは蓋を開けてみれば至極単純である.
まずは一番単純な場合,可視化する数が素数である時を見てみよう.
例えば 5 である.

f:id:Ysmr_Ry:20170621234858p:plain

素数の場合は,円の中心が正多角形になっている.この場合は正 5 角形に並んでいる.
次に素因数を一つ増やして,35 = 7×5 を図示してみよう.

f:id:Ysmr_Ry:20170621235143p:plain

5 の時の図形 (上の画像) が正 7 角形上に並んでいることがわかる.
次は 385 = 11×7×5 だ!

f:id:Ysmr_Ry:20170622000046p:plain

正 11 角形上に 35 の図形が並んでいるのがわかるだろう.
以下同様だ.5005 = 13×11×7×5 の場合も一応見てみよう.

f:id:Ysmr_Ry:20170622000400p:plain

385 の図形が正 13 角形上に並んでいるのがわかるだろう.
このようなマトリョーシカのように入れ子になっている構造を (難しいが) 再帰的構造という.

自分自身が入れ子なフラクタル

もしも,整数を構成する素因数が全て同じ場合 (例えば 16 = 2×2×2×2 など) の場合はどうなるだろうか.
先ほどのルールに従えば同じ形が入れ子になっていくはずである.
無限に自分自身が入れ子になっている図形をフラクタルという.
つまり.フラクタルっぽくなるはずである.
では,実際に見てみよう.
1024 = 2×2×2×2×2×2×2×2×2×2 である.

f:id:Ysmr_Ry:20170622002548p:plain

これはシェルピンスキーのカーペットという有名なフラクタルのようになっている.
また,729 = 3×3×3×3×3×3 の場合である.

f:id:Ysmr_Ry:20170622002828p:plain

これもまたシェルピンスキーのギャスケットという有名なフラクタルである.
名前は知らずとも,このような形を見たことがある人も多いのではないだろうか.

素因数分解ってなんの意味があるの (おまけだから飛ばしてもいいよ)

素因数分解することで嬉しいこととはなんだろうか.
僕の中のイメージはこうだ.
素数とは の元 なのである.素因数分解とはいわば,数の化学式 なのである.
化学では,有限な種類の元素 (現在名前がついているのは 118 種) がどのように集まって化合物を作っているのかが重要である.
同じように,数がどのような素数でできているかが重要なのである.
(素数は無限にあるという違いはあるが…)
素因数分解をするといろいろなことがわかる.例えば, 360 = 2^3\times3^2\times5^1素因数分解すると,それぞれの素因数の肩に乗っている指数 (3,2,1) にそれぞれ 1 を足してかけると (3+1)(2+1)(1+1) = 24 であり,これが 360 の約数の個数である.また, 12 = 2^2\times3^1 など,それぞれの指数が 360 のものより小さい場合はその約数になる.(360 は 12 の約数) 約数の総和は (1+2+4+8)(1+3+9)(1+5) = 1170 である.
また,2 つの数の比較にも使える. 360 = 2^3\times3^2\times5^1 300 = 2^2\times3^1\times5^2 を考えよう.指数の列を書き出そう.
360 … (3,2,1)
300 … (2,1,2)
この中で,同じ列にあるものの中で小さい方をとって行くと,(2,1,1) である.これを数に直すと, 60 = 2^2\times3^1\times5^1 となり,360 と 300 の最大公約数である.
また,同じ列で大きい方をとって行くと (3,2,2) で, 1800 = 2^3\times3^2\times5^2 となり,360 と 300 の最小公倍数である.
このあたりは現在の 数学 A の教科書に載っていると思われるので,本棚から引っ張り出してみるのも一興だろう.
ちなみに,例えば 360 の約数の積は約数の個数 24 を用いて  360^{\frac{24}{2}} である.

ベクトルを知っているとこのようなことも言える.
最大公約数が 1 である場合,互いに素というが,a と b が互いに素の時,a ⊥ b と表す.
これは,指数を並べたものをベクトルとみると,内積が 0 となるからである.
例えば, 12 = 2^2\times3^1\times5^0\times7^0 35 = 2^0\times3^0\times5^1\times7^1 を考えよう.
指数を並べると,2, 3, 5, 7 に対応する指数を順に並べて,12 … (2,1,0,0), 35 … (0,0,1,1) である.
これらの同じ列にある数をかけて足し合わせると,2×0 + 1×0 + 0×1 + 0×1 = 0 であり,内積が 0 なので "直交" していると言える.よって,12 ⊥ 35 と表記する.
このようなベクトル的な考え方は「数学ガール」を参照されたい.

「互いに素」という概念

www.hyuki.com

素因数分解は暗号にも利用されているようである.

おわび

深夜なのでテンションがおかしくてすみません.短くあっさりと仕上げるつもりだったのですが,主に最後の方が冗長になってしまいましたすみませんなんでもし(ry
素因数分解は中学生でも知ってますが,それをこのように美しく Visualize できること,また,ベクトル的な見方など面白い捉え方もあるのだということを知ってもらい,素因数分解に対して楽しいイメージを持っていただければ幸いです.
何か不明な点があれば,どんな些細なことでも結構ですので,コメントで聞いてください.
ブクマやスターなどつけていただくと泣いて喜びます.

凸ってなに?(数学)

こんにちは!Ysmr-Ry です.

ふと以前に見たキラキラネームについての動画を思い出しました.
凸って書いてテトリスって読むそうです.
これは特にひどい例ですが,名前つけるならちゃんと考えなきゃいけないよなぁと.
考えてみればみんなうまいこと子供の名前つけてるなぁって.昔小学校の授業で自分の名前の意味を調べる的なのやった気がします.
なんかアイデア集的なのがあるんですかね.

kazuyahkd.com

あと凸って言葉で印象に残ってることといえば… あれは中学 2 年生ぐらいだったか… ちょうど教育実習の先生がきていて,数学の単元が 2 次関数だったのです.
そこで先生は, y=ax^2 a>0 ならば「下に凸」, a<0 ならば「上に凸」というと強調していたのを覚えています.

実はこの,上に凸・下に凸,さらにそれが初めて出てくるのが 2 次関数であるということ,は大学に入ってからの微積分や熱力学で実は出てきていて,大事なことだなと思ったので,数学でいう凸性について僕が知っている範囲で面白いことを書き連ねていこうと思います.

数学でいう凸って?

凸というと,オウトツのトツ,デコボコのデコのことですが,数学的にはこうとらえます.
グラフ上の二点を結んだ線分が常にグラフの上側にあるような関数が下に凸な関数,逆に常にグラフの下側にあるような関数が上に凸な関数です.
図にするとこんな感じです.

f:id:Ysmr_Ry:20170609222327p:plain

f:id:Ysmr_Ry:20170609222347p:plain

数式にすると,線分の端点の  x 座標を  x_1,\ x_2 とおくと,線分上の点は  0 \leq t \leq 1 なる実数  t を用いて  t:(1-t) に内分した点と捉えられるので,次のようになります.
下に凸

f:id:Ysmr_Ry:20170612165844p:plain

上に凸

f:id:Ysmr_Ry:20170612165856p:plain

凸から相加・相乗平均の不等式がわかる?

 f(x) = \log x の場合を考えましょう. \log x は上に凸な関数なので*1,先ほどの 2 つ目の不等式を使って,特に  t = \frac{1}{2} のとき,

f:id:Ysmr_Ry:20170612170855p:plain

となります.第 1 式から第 2 式へは  \log の性質  \log a+\log b = \log ab,\ k\log a = \log a^k を,第 2 式から第 3 式へは  \log x (\log x)' = \frac{1}{x} > 0\,\,(x>0) から単調増加関数であることを利用し, \log をかけた不等式が成り立っていれば  \log を外しても成り立つことを使いました.例えば,2 人のテストの点数がそれぞれ  x_1,\ x_2 点だったときに,その平均にはいろいろあって,普通使う平均である  \frac{x_1+x_2}{2} を相加平均,ちょっとマイナーな  \sqrt{x_1x_2} という平均を相乗平均というのでした.上の不等式はそれらの関係,すなわち,(相乗平均)  \leq (相加平均) という関係を示しています.人数が  n 人になっても同様にできます.相加・相乗平均の不等式は  \log の凸性から出てくるのです.

凸で極大・極小値か見極める! (1 変数)

 f(x)極値を求めるとき, x_0極値をとるならば  f'(x_0)=0 ですが,その逆は成り立ちません.例えば  y=x^3 x=0 のように変曲点になっている場合があるからです.

増減表をかけば極値か変曲点かはっきりするのですが,他の方法として, f(x) の 2 階微分を用いて, f''(x) > 0 ならば極小値, f''(x) < 0 ならば極大値, f''(x) = 0 ならば変曲点であると判定できると数 II の教科書に確か書いてあったと思います.実はこの判定法がやっていることが「凸で極大・極小値か見極める」ことなのです.
この判定法は,極値の候補である  f'(x)=0 を満たす点の付近にぴったりとフィットする放物線を考えています. f(x) x=x_0 付近にフィットする放物線は  y=f(x_0)+f'(x_0)\,x+\frac{f''(x_0)}{2}x^2 と求められます.特に今回は  f'(x_0)=0 が成り立っているので,1 次の項は消えます.
極小値付近は形的に下に凸なはずですから,その付近にフィットする放物線の 2 次の係数は正なはずです.逆に極大値は負です.変曲点においては 2 次の係数も 0 なので単なる  y=f(x_0) になってしまいます.

 y=x^4-2x^2 のグラフです. x=0 で極大値, x=\pm1 で極小値を取ります.紫がフィットする放物線です.

 y=x^3 x=0 付近ではフィットする 2 次関数は単なる  y=0 になってしまいます.

つまり, y=ax^2\,\,(a>0) ( x=0 で極小) と  y=ax^2\,\,(a<0) ( x=0 で極大) と  y=a (変曲点) が基本形になっているのです.
「凸を知りたければ 2 階微分を見よ!」です.

グラフが位置エネルギーを表しているとすると,極小付近でフィットする放物線を求めることは対応する平衡点付近の運動を単振動に近似することに相当します.
下に凸なのがポイントで,これを安定な平衡点といいます.

もっと知りたい人のために

イェンゼンの不等式

 n 人の場合も相加・相乗平均の不等式を求められるといいましたが,どうやるのか詳しくみましょう.
3 人の場合を考えます.先ほどまでの凸の定義では,関数  f(x) 上の 2 点を結んだ線分を考えていましたが,今度は 3 点を結んだ三角形を考えます.

f:id:Ysmr_Ry:20170612172757p:plain

するとその三角形内の全ての点は同じ  x 座標の  f(x) 上の点より下にあることがわかります.三角形内部の点は重心座標*2を用いて  t_1x_1+t_2x_2+t_3x_3\,\,(t_1+t_2+t_3=1) と表せるので,不等式は,

f:id:Ysmr_Ry:20170612173347p:plain

となります.特に  f(x)=\log x,\ t_1=t_2=t_3=\frac{1}{3} のとき,

f:id:Ysmr_Ry:20170612173649p:plain

と導出することができました. n 人の場合も同様に, n 個の点を結んだ  n 角形内の点を和が 1 となるような  n 個の重心座標  t_i\,\,(i=1,2,\cdots,n) で表せばよいことがわかります.これをイェンゼンの不等式といいます.

凸で極大・極小値か見極める! (2 変数)

先ほどは変数が  x と 1 つだけでしたが,ここでは 2 変数にして  f(x,y) を考えます.次元の数を 1 つ増やして 3 次元とし, z=f(x,y) を満たす点を集めればこれのグラフを書くことができます.極値の候補になる点は,1 変数の場合と同様に  f_x(x,y) = f_y(x,y) = 0 と求められます*3.この候補の周囲の状況は先ほどの 1 変数の場合と同じように,極大か極小か鞍点かその他かに大別できます.そのうち極大,極小,鞍点にはやはり同様に基本形となる曲面があります.それらは 2 次形式という 2 変数における 2 次関数に対応するもの*4で,次のような式と形をしています.

極小:  z=x^2+y^2
f:id:Ysmr_Ry:20170612183511p:plain

極大:  z=-x^2-y^2
f:id:Ysmr_Ry:20170612183531p:plain

鞍点:  z=x^2-y^2
f:id:Ysmr_Ry:20170612183545p:plain

 f(x,y) 上の点  (x_0,y_0) 付近にフィットする 2 次形式は,行列を用いて次のように表されます.

f:id:Ysmr_Ry:20170612210422p:plain

今, f_x(x,y) = f_y(x,y) = 0 なのでやはり 1 次の項は消え, f(x_0,y_0) は所詮  z 方向の平行移動なので,重要なのは 2 次の項です.
この 2 次の項のあらわす 2 次曲面を  z 軸に平行な回転軸で回転して,上にあげた基本形のどれと同じかを見極めれば判定ができます.
詳細は省略しますが,行列の部分を対角化した固有値 \lambda_1,\ \lambda_2 とすると,回転後の式は  z=\lambda_1x^2+\lambda_2y^2 になるので,  \lambda_1 \lambda_2 > 0,\ \lambda_1 > 0,\ \lambda_2 > 0 ならば極小 ( z=x^2+y^2) 型,  \lambda_1 \lambda_2 > 0,\ \lambda_1 < 0,\ \lambda_2 < 0 ならば極大 ( z=-x^2-y^2) 型, \lambda_1\lambda_2 < 0 ならば鞍点 ( z=x^2-y^2) 型とわかります.

これが大学の微積分でやる Hessian による極値判定の本質です.1 変数の場合の綺麗な拡張になっています.

Legendre 変換と凸 (おまけ)

Legendre 変換とは, y=f(x) を通常  (x,f(x)) という点の集合と捉えるのに対し, x における接線の傾き  f'(x) とその  y 切片  f(x)-f'(x)\,x の組  (f'(x), f(x)-f'(x)\,x) で表わそうという変換です.(いわば "接線座標") このとき,グラフに凹凸があると同じ接線の傾きに複数の点が対応してしまい面倒です.それに対し,凸であると,1 対 1 の対応になるので都合が良いのです.熱力学では状態曲面  U(S,V) が凸な曲面であることを利用し,Legendre 変換の関係で  G,\ F,\ H,\ U を結んでいます.

*1:グラフを描いても確かめられますが, (\log x)''=-\frac{1}{x^2} < 0\,\,(x > 0) からもわかります. y=ax^2\,\,(a<0) と同じ状況なので上に凸です.

参考:  y=\log x のグラフ

*2:くわしくは
ysmr-ry.hatenablog.com
をごらんください .

*3: f_x(x,y) f(x,y) y を定数と見て  x微分したもの.(偏微分)

*4:これは統計とかこれとかを見るとわかるかもしれません.
ysmr-ry.hatenablog.com

メネラウス・チェバの定理から液体窒素が存在することがわかる???

なんともキャッチーなタイトルをつけてしまいました.
メネラウスの定理・チェバの定理は中学の幾何の時間にならう,幾何学の中でも有名な定理です.
これらの定理は簡単な規則があるので容易に覚えられる反面,個人的には面白みに欠ける定理でした.しかし,こいつらの面白い背景を見つけ,それが熱力学で出てきたので,そこらへんのことを書いてみようと思います.
定理自体は中学レベルの数学ですが,説明のため高校の数学 (ベクトル), 物理 (重心,天秤のつりあい) などが登場します.
また,加重重心について理解できると,全ての物質に三態 (固体・液体・気体) があることがわかります.ただ,これには少し大学レベルの熱力学が出てくるため,難しいかもしれません.また,重心座標を使うと,三角形の五心 (重心・垂心・外心・内心・傍心) の座標を簡単に記述することができます.
なるべく専門的な知識がなくても読めるように書くつもりですが,何かわからないことがあれば,どんな些細なことでも結構ですのでコメントで聞いてください!

メネラウス・チェバの定理って?

忘れてしまった人のために復習しておきましょう.まずはチェバの定理です.
f:id:Ysmr_Ry:20170522180938p:plain
と 1 点で交わっている時,

f:id:Ysmr_Ry:20170521213357p:plain

が成り立ちます.(本当は点が外に出ててもいいのですが,簡単な場合のみ考えます)
図に振ってある矢印の順に三角形を回っていけば簡単に作ることができますね.
次にメネラウスの定理です.
f:id:Ysmr_Ry:20170522181007p:plain
で,同じく

f:id:Ysmr_Ry:20170521213357p:plain

が成り立ちます.(これも最もスタンダードな場合です)
ちなみにメネラウスは 98 頃の人間で,チェバの定理は 1670 年頃の話なので,並べるならメネラウス・チェバの定理というのが自然だと思います.

これがどうして成り立つのか見ていきましょう!

天秤のつりあい

下準備として,中学入試でよく出る天秤のつりあいの問題を考えてみましょう.
f:id:Ysmr_Ry:20170522183239p:plain
天秤がつりあうには,(支点からの距離) × (おもりの重さ) が左右で等しくなければなりませんでした.
逆に言えば,左から 2 : 3 の重さのおもりを支える支点は,その比を逆にした 3 : 2 でおもりの間を内分した位置になるということです.

三角形の頂点におもりを乗せる?

チェバの定理の例題として次のような状況を考えてみましょう.
f:id:Ysmr_Ry:20170522214437p:plain
普通にチェバの定理を適用してもいいですが,三角形の頂点におもりを乗せることで考えてみましょう.
三角形の各辺に注目します.例えば,辺 BC を考えます.辺 BC を天秤とみなして,頂点 B, C に先ほどの例のようにおもりを吊るして,その支点が点 L に一致するようにします.すると,先ほど考察したことから,B, C には 3 : 2 の重さのおもりを吊るせば良いことがわかります.辺 AC についても同様に考えると,下図のようにおもりを吊るせば良いことがわかります.
f:id:Ysmr_Ry:20170522214533p:plain
そして辺 AB 上で天秤のつりあいの関係が成り立つように逆算すると,? が 8 であることがすぐにわかります.
また,支点 (重心) に両端のおもりの合計の重さがかかっていると考えると,メネラウスの定理も説明できます.新たに辺 AL を天秤とみなして,3 つの線分が一点で交わっている点を支点としましょう.
f:id:Ysmr_Ry:20170522215905p:plain
実線の状況にメネラウスの定理を適用してみると成り立っていることがわかります.

辺ごとに考えて天秤がつりあうように辻褄を合わせましたが,この三角形全体をひとつの板と考えて,3 つの線分が交わっている 1 点で支えてあげることができます.この点を加重重心 (おもりがかかった上ことで補正された重心) といいます.
f:id:Ysmr_Ry:20170522221504p:plain
ただし,図中の辺上の数値は比の値です.
また,簡単な考察*1から,おもりの重さの比はそれに対する三角形の面積比になっていることがわかります.(例えば,頂点 A のおもりならば,それに対する三角形は △GBC.)
f:id:Ysmr_Ry:20170522223133p:plain

このようにメネラウス・チェバの定理の問題を解く手法を「天秤法」というそうです.

重心座標

△ABC の頂点 A, B, C に a : b : c のおもりを吊るした時の加重重心を [a,b,c] と表すことにします.これを重心座標といいます.比だと定数倍の自由度があるので (1 : 2 : 3 だろうが 2 : 4 : 6 だろうが同じになってしまう),a + b + c = 1 と断って絶対的にします.
f:id:Ysmr_Ry:20170522224751p:plain
そうすると,A([1,0,0]),B([0,1,0]),C([0,0,1]) などと表せます.
三角形内部の点は 0 <= a,b,c <= 1,a+b+c=1 なる実数 a, b, c を用いて [a,b,c] と表せます.

物質の三態が存在することがわかる??

物質の三態とは,固体・液体・気体のことです.
例えば水は日常的な温度で 固体 (氷)・液体 (水) ・気体 (水蒸気) と移り変わっています.ですが,例えば窒素は日常的な温度では空気中に気体として存在し,固体や液体ではありません.全ての物質がこの三態をとるのかどうかは決して自明ではないのです.
これを考えるために,「化学の大原則」を紹介しましょう.それは,
「自発的に進行する反応はエネルギーが下がって安定になるか,乱雑さ (エントロピー) が上がるかのどちらかである」
です.乱雑さとは,散らかり具合のことで,例えば液体よりも,広く拡散して飛び回る気体の方がエントロピーは高いです.
そして,これらの 2 つの要素を 1 つにしたエネルギーをギブスの自由エネルギーといいます.それは,エネルギーを H,エントロピーを S,温度を T として,G = H - TS と定義されます.これにより,エネルギー H が下がれば G も下がり,エントロピー S が上がれば頭に - がついていますから,G も下がります.よって,「化学の大原則」は単に G が下がる向きに進行すると言えるのです.
物質の状態の変化も化学反応の一種です.物質の状態の変化は,固体から液体の方向だけに進むといった一方的なものではなく,双方向に可逆に進行します.よって,例えば 固体 → 液体において G が少しでも下がってしまうと,逆の液体 → 固体では G が上がってしまうので固体 → 液体にしか進行しなくなってしまいます.よって,状態の変化では G は下がりも上がりもせず一定なままなのです.これが示せればとりあえず双方向に行き得ることがわかります.
さて,難しいのですが,ギブスの自由エネルギー G には図形的な意味がありまして,内部エネルギーを U,体積を V とすると,U-SV の 3 次元空間上にある平衡曲面の接平面の U 切片と捉えることができます.U, S, V は示量性状態量といって,量が半分になればその値も半分になります.なので,例えば固体・液体・気体での U をそれぞれ  U_s, U_l, U_g とすると,それらが  m_s, m_l, m_g の比で混じっているとすれば,全体の U は,

f:id:Ysmr_Ry:20170522230916p:plain

となり,これは重心座標  [m_s, m_l, m_g] と捉えられます.S, V についても同様にできるので,結局,固体・液体・気体の混合状態は U-SV 空間上の三角形の内部を動くごとになります.そして,その三角形は 1 つの平面に乗っていますから,その U 切片,つまりギブスのエネルギーは一定です.これで示せました.
ただし,これは「進行するとしたら可逆」であることを示しただけで,実際に進行するかは活性化エネルギー等を考えなければならないので別問題なのですが,まぁ固体・液体・気体それぞれにその状態でいることのメリットがあることが示せただけでもよしとしましょう.






いかがだったでしょうか.最後の熱力学の説明が迷走してる感がハンパないですが,3 次元の図がうまく作れない() ので本当にすみません… 不明な点があればなんでも聞いてください.熱力学の話は下記のサイトを見てみるといいかもしれません.

fnorio.com

もっと知りたい人のために

重心の公式と内分の公式

「天秤のつりあい」で見たことは実は高校で習う 2 つの公式に現れています.

f:id:Ysmr_Ry:20170522211151p:plain

1 つ目は位置  x_1 に質量  m_1 の質点が,位置  x_2 に質量  m_2 の質点があるときの重心の位置  x_G を求める公式,2 つ目は点  x_1,点  x_2 を m : n に内分する点の座標  x_{m:n} を求める公式です.2 つ目は 1 つ目の公式で  m_1 = n,\ m_2 = m としたものと同じですね! これは「天秤のつりあい」で述べたことと等価です.(支点は 2 つのおもりを 1 点に集中した時の重心とみなせる)

重心座標のベクトル表記

先ほどの重心の公式はベクトルで 3 次元にも拡張できるので,重心座標と実際の座標をこのように結びつけることができます.

f:id:Ysmr_Ry:20170522232221p:plain

A, B, C の位置ベクトルを a, b, c で重み付けして平均を取れば良いのです.

三角形の五心の重心座標

三角形の五心の重心座標は,重心を G,垂心を H,外心を O,内心を I,傍心を J とすると,G([1,1,1]),H([tan(A), tan(B), tan(C)], O([sin(2A), sin(2B), sin(2C)]), I([a,b,c]), J([-a,b,c], [a,-b,c], [a,b,-c]) と表せます.(角 A を A,辺 BC (頂点 A の対辺) を a などと表記しています)
重心は自明,垂心は例えば上の図で AL と BC が垂直だとすると,BL = AL/tan(B), LC = AL/tan(C) となり,BL : LC = tan(C) : tan(B) などとなるからです.
また,外心は △ABC が O を中心とした外接円に内接していますから,円周角と中心角の関係から,例えば ∠BOC = 2A となります.すると,△BOC の面積は,外接円の半径を R として R^2sin(2A)/2 となります.すると三角形の面積比が sin(2A) : sin(2B) : sin(2C) になるので,重心座標と対する三角形の面積比からわかります.内心は角の 2 等分線の公式から,BL : LC = c : b などとわかります.傍心は内心のうち 1 つの座標を - にして拡張したものです.(説明雑)
高校ではいわば定性的にしか語られなかった五心が座標を簡単にきっちりと計算できるようになるので地に足がついた感じがしますねw
これを使うと例えばこんなのが簡単に作れちゃいます!

See the Pen Tri by Ysmr-Ry (@As2) on CodePen.

カーソルを合わせてクリックすると点が置けて,3 つ揃うごとに三角形ができその五心などを教えてくれます.三角形ができた後に点をおくとリセットされます.
Enter を押すと補助線の 表示 / 非表示 が切り替えられます.

実はベクトルの問題にもなってる?

ベクトルの典型題で

f:id:Ysmr_Ry:20170522235908p:plain

を満たす点 G を求めろみたいなのがあると思いますが,これは A, B, C に 8, 9, 6 の重さのおもりを吊るした場合の加重重心を表しています.(まさに上の説明で用いた図の状況)
現にこれを変形すると,

f:id:Ysmr_Ry:20170523012443p:plain

となり,重心座標のベクトル表記に一致しています.

*1:例えば,△GABと△GCAなら,底辺が AG で共通で,高さの比が BL : LC = 2 : 3 なので面積比は 2 : 3

金星と地球の公転軌道が描く図形

Twitter でこのようなものが回ってきました.

最初は,この包絡線がカージオイドに似てるなと思いました.
これとは少し違うのですが,同じ円上で角速度が 2 倍の関係にある 2 点を結ぶ直線の包絡線はカージオイドになるそうです.

http://www.osaka-kyoiku.ac.jp/~tomodak/report/deltoid_grapes.pdf

では異なる半径の円上を異なる角速度で回っている点を結んだ直線の包絡線はどうなるのか気になりました.

いろいろ探しました.

まず,同じようなシミュレーションをやってる人がいました.

www.webtoolnavi.com

これのソースを覗いてみると,角速度の比は 8 : 13 でやっているようでした.

次に,この現象を詳しく説明している資料がありました.

http://www.sci-museum.jp/files/pdf/study/research/2011/pb21_029-036.pdf

これによると,中心天体(太陽など)と、その周りを公転する 2 天体(惑星など)の間の周期的な重力の変化により公転軌道が影響を受け (軌道共鳴),公転周期の比が整数比になるのだそうです.これを尽数関係というらしいです.特に,金星と地球の場合は 8 : 13 となり,これは 1 : 1.625 ですから,黄金比 1 : 1.618 に近く,"きれい" な比になっています.ペンタグラム等が出てくる理由もなんとなくわかりますね.

以下見にくくなるので pdf で.

github.com

これだけ見るとあっさりしてますが,けっこう大変でした…

で,例によって Desmos で描画してみました.線を重ねるより見やすくてきれい.

https://www.desmos.com/calculator/ksmybe3rrv

線分ではなく直線とすると内側の軌道円の外にはみ出している星型が見えるようです.
ちなみに  n_1,\ n_2 はスライダーを動かす等して変えられます.パラメータの定義域は適宜調節してください.

[追記]
カージオイドっぽいなというのは間違ってなかったようです.正確には,より一般なパスカルの蝸牛形ですが…
どうしてそうなるかは pdf の方に追記しておいたのでご覧ください.

Desmos で遊んでみた

Desmos っていう手軽にグラフが書けるサイトを見つけたのでちょっと遊んでみました.

Square Wave (Fourier Transform)

(-1)^n を加えるだけで円の動きに味が出る!

Cube

Desmos で 3 次元の表現はできないだろうかと思って少しやってみた.線分でやるとなんか重かったので,直線でやってみました.(見にくい)
 (a,b) を再生ボタン押して適当にアニメーションさせると,消失点がカメラの画面への射影  (x_c,y_c) と一致して不変なのがよくわかります.
これは立方体の奥に向かう直線の方向ベクトルが (0,0,1) だから.



ちなみにこの記事で使ってたのを見て知りました.グラフアートってすごい…

corollary2525.hatenablog.com

Lorentz 変換と双曲線

1 年生の夏学期,「基礎方程式とその意味」という講義で時期尚早にもやった Lorentz 変換.
導出の過程は追うことができましたが,直感的な理解ができずしっくりと来ていませんでした.
天下り的に双曲線関数を使うときれいになるということも,どのような背景があるのかさっぱりでした.

今日から,統計と多変量解析の本を読み終わってひと段落ついた (それについての記事はまた後日) ので,途中で挫折した相対論を勉強しようと本を読み始めました.
そして,このサイトを見つけてしまいました.

d.hatena.ne.jp

非常に美しく・わかりやすく Lorentz 変換を説明しています.
また,この資料でさらに理解が深まりました.

https://www.kaijo.ed.jp/wp-content/uploads/2016/02/2013summer-5_2.pdf

内積空間と絡めて説明しています.Lorentz 変換における不変量 (の絶対値) が Minkowski ノルムの 2 乗であることがわかります.

この感動を是非伝えるべく記事にまとめねば (笑) と思い,僕なりにまとめてみました.

github.com

数式混じりの記事は LaTeX にしたほうがいいという結論に至った.

LaTeX 練習

最近教習所に通ってあとはグダグダしててあんまりプログラミングしてないです()

今日あるの知らずにノー勉で突入した仮免学科試験が合格していたことがわかりました.
47/50 だったけど…

春休みはその他学習塾で個別指導のバイトをしていて,受験生が卒業してしまったので今持ってる生徒が高 2 の子 1 人なんですね.暇だし,1 人相手なら余裕あるし,何かできないかなと…

そこで,バイトの生徒のために LaTeX の練習がてら数学のプリントを作りました.TikZ パッケージで図も入れられるようになった.

github.com

数式のフォントは数学ガールのあれです.

何気に GitHub 使ったの初めてです… 使い方よくわかってない…