たちばなゆうとのブログ
tachibanayu24 / blog.tachibanayu24.com
月の質量は地球の何%なの?と聞かれて答えられますか?
2022/10/13 08:05
以前「月の質量は地球の何%だと思う?」と突然振られて、すぐに答えを出すことができませんでした。 結局、月の半径だけ教えてもらって、数分計算する時間をもらってそこそこ近い回答ができたのですが、そりゃ半径聞いたらね。。という感じですよね。 答えは 1.234568% でした。(覚えやすい!) あのときどうすればスマートに答えられたのかについて考えたいと思います。 以下、厳密な答えを求めるのではなく、日常の雑談レベルの推測に過ぎないことにご注意ください。(なので「およそ」、「約」という接頭辞は省き、有効数字とかも考慮せず雑な計算をします) ## 解法1: 月と太陽の視直径と距離から解く 以下の情報を知っている場合に使えます。 1. 光速が 30万km/s であり、光速は地球を1秒で7.5週すること 2. 太陽の光は地球に8分20秒後に到達すること 3. 月までの距離は40万kmであること 4. 太陽の直径は地球の100倍ほどであること まず、地球の円周は、1より $300000/7.5=40000 km$ であるため、地球の半径 $r_{earth}$は $r_{earth} = 400000/2\pi = 6366 km$ とわかります。 4より、太陽の半径 $r_{sun}$ は $636600km$ です。 1と2より、太陽と地球の距離 $l_{sun}$ は、 $(8 * 60 + 20) * 300000 = 150000000 km$ です。 また、皆既日食で太陽と月が重なると、太陽がほぼ細い光の輪っかのように見えることを考えると、太陽と月の視直径はほぼ同じと考えることができます。 視直径が同じということは、地球から月または太陽に対して引かれた2つの接線から成る角度が同じということになりますので、太陽と月の半径は、太陽と月の地球からの距離と比例すると推測できます。 よって月の半径は、 $$ l_{moon} : r_{moon} = l_{sun} : r_{sun} $$ $$ ⇒ r_{moon} = \frac{(l_{moon} * r_{sun})}{l_{sun}} = \frac{(400000 * 636600)}{150000000} $$ $$ = 1697.6 km $$ とわかります。 また、球の体積は $\frac{4}{3}\pi r^3$ なので、 $r^3$に比例することがわかります。(公式を知らなくても球の体積は円の面積の積分であることからわかる) よって、月の半径は地球の半径の 0.267倍 と上記からわかっているので、これの3乗の1.9%が地球に対する月の体積であるとわかります。 ここから適当ですが、、、月の密度は地球の密度より小さい感じがしますよね。 地球にある天体が衝突して生じた破片が集まって月になったという説が有力であるため、地球よりも極端に高密度ということはないでしょう。 地球は鉄からなるコアが存在し、鉄は密度が高いことが知られていますが、月のマントルの話はあまり聞いたことがありません。(実際はコアが存在するという説が支配的らしいです) なので、たぶん地球より密度は小さいだろうと考えて、雑談レベルでは **月の質量は地球の 1.9% 未満** と回答できると思います。 正解が 1.234 % なので、まあまあ近いと言えそうです。 ちなみにより正確には、太陽の直径は地球の109倍ほどであり、月と地球の距離は 384400km ほどです。 ## 解法2: 月と地球の重力と密度比から解く こちらのほうがより正確かつスマートだと思います。 以下の情報を知っているとします。 1. 光速が 30万km/s であり、光速は地球を1秒で7.5週すること 2. 月の重力は地球の6分の1であること 3. 月の密度は地球の60%であること 2, 3より、重力加速度gと密度ρはそれぞれ以下のように表現できます。 $g_{moon} = (1/6)g_{earth}$ $\rho_{moon} = (6/10)\rho_{earth}$ 万有引力の法則よると、 $g = \frac{GM}{r^2}$ (Gは万有引力定数、Mは星の質量)であるため、重力加速度の比を用いて、 $$ \frac{M_{moon}}{r_{moon}^2} = \frac{M_{earth}}{6r_{earth}^2} $$ となります。 質量は体積( $(4/3)\pi r^3$ )かける密度なので、 $$ \frac{(4/3)\pi r_{moon}^3 \rho_{moon}}{r_{moon}^2} = \frac{(4/3)\pi r_{earth}^3 \rho_{earth}}{6r_{earth}^2} $$ となり、これを解くと、 $$ r_{moon} = \frac{r_{earth}\rho_{earth}}{6\rho_{moon}} $$ よって密度の比から、 $r_{moon} = (10/36)r_{earth}$ となります。 1より、地球の半径は 6366km ほどなので、月の半径は 1768.3kmとわかります。 質量と半径の関係式から、 $\frac{M_{moon}}{M_{earth}} = \frac{r_{moon}^2}{6r_{earth}^2} = 1.286 \%$ 以上より、**月の質量は地球の1.286%ほど** といえます。 これはだいぶ近いしスムーズではないかと思います。 --- 以上、月の半径がわからないときの、地球に対する月の質量の推測の仕方でした。 他にも、月の視直径と月と地球の距離がわかっていれば、三角法から求める方法もあると思いますが、上記で挙げた知識以上に、月の視直径を知るわけないので省きました。 もっと公然の情報だけで推測できる方法がありそうですが、とりあえず思いついたのはこんなところです。 難しい質問でした。
ブログ始めてみた
2022/10/04 19:01
こんにちは、ソフトウェアエンジニアをしている立花優斗([@tachibanayu24](https://twitter.com/tachibanayu24))と申します。 ブログを開設してみました。 まだページ詳細とか一覧の画面しかないんですが、今後ちょこちょこ拡張していきたいです。 ブログを始めた動機は 1. 個人の技術的な発信の場がほしい 2. 気になったことについて書き記しておく場所がほしい 3. ウォッチしている金融市場についてアウトプットする場所がほしい といったものがあります。 ### 1. 個人の技術的な発信の場がほしい まあZennとかでもいいんですが、自分が完全にコントロールできるような媒体でアウトプットできたほうがいいかなと思いました。 発言により責任を持つ必要があるように感じるということと、多少ポエミーで参考にならないような内容でも罪悪感がわかないといった理由です。 ### 2. 気になったことについて書き記しておく場所がほしい 結構日常で触れる対象について、どうでもいいことが気になりがちな性格です。 知的好奇心を満たすことと教養は密接に関係していると考えています。 例えば居酒屋のデジタルメニューブックが使いづらかったとき、どの会社がどういう技術で開発していて、どの程度導入されているのかを気になって調べたりとかしてしまうタイプなんですが、だいたいこういうのはどこかでアウトプットしないと、三日後には完全に忘れてしまっています。 誰にも読まれなかったとしても、面倒じゃなければ今後はこのブログにまとめてみたいなーという感じです。 自分で数年後読み返したりすると面白いかも。 ### 3. ウォッチしている金融市場についてアウトプットする場所がほしい ファイナンスが好きだったりするので、日々各種指数や雇用統計、消費者物価指数などのFinance Eventをウォッチしており、初心者ながらも投資判断をしたりしています。 毎月個人のnotionにかんたんにレポートを書いたりしているのですが、別にオープンにしてもいいなと思いました。 オープンにしたほうがドキュメントとしての体裁も整うだろうし、あとから自分自身参照しやすいので、今後は(これも面倒じゃなければ)記録をこのブログに付けたいと思います。 ざっくり上記のような理由から始めますが、まあこのへんは変わってくると思います。 適当に、三日坊主にならないように運用できたら嬉しいかなという感じです。 ## ブログの構成 一応ブログの構成についても触れます。 - Remix - 今月末くらいから仕事で触るので、その前に書き味を知っておきたかったので適用しました - microCMS - なんとなくです - 国産だし、NetlifyのCMSは、エディタで日本語を利用すると変換がうまく行かなかったりとか聞いたことがあったため - Vercel - 自分が公開しているWebはVercelやGoogleCloudでhostしているのでどっちかがよかった - VercelでRemixをサクッとデプロイできたので - tailwind - 最近目の敵にされているtailwindですが、個人開発ではやっぱり優れた書き味です - デザイナーとうまく連携できているプロダクトでは、商用でも全然アリだと思っています ReactのフレームワークはNextを使うことが多いのですが、RemixはNextと思想的に近いところもあれば、根本から異なっているところもあります。 例えばRemixはSSGやISRをサポートしません。 これはRemixの設計思想によるもので、SSGのように制約を伴ったアーキテクチャによるパフォーマンスに対するソリューションではなく、 エッジコンピューティングを活用し、ユーザーと地理的に近いサーバでアプリケーションを動作させることで、高いパフォーマンスを得ることを目論んでいるためです。 SSGの普及は、CDNに容易に静的ファイルをキャッシュして配信することができるようになったことが一つの理由であると主張しています。 一方で今日、エッジコンピューティングはCloudflareを筆頭に急速に普及しており、分散型データベースなどもエッジへ移行が進んでいるという状況があります。 この状況を見込んで、上記のような設計をRemixに適用したとされています。 ([参考](https://remix.run/docs/en/v1/guides/performance)) 逆に、ルーティングは、Nextと近い感覚です。 Nextの file-system based router とほぼ同じ感じでかけます。 Remixでも、[file-based routing](https://remix.run/docs/en/v1/tutorials/jokes#routes) という語彙が使われています。 Nested Routes という、ページの一部分のみをOutlet(ネストされた子ページに領域を割り当てる)する機能を初期から提供していたようですが、これは最近Nextがリリースした Nested Layout でも同じことができます。 ユニークなのは、metaタグなど、ページごとに以下のようにexportするだけで容易に設定できることでしょうか。 これは思想的にもNested Routesと整合しているし、楽でいいと思います。(まあ、Nextにも `next-seo` とかありますが。。) ``` export const meta: MetaFunction = ({ data }: { data: Article }) => { return { charset: "utf-8", title: `${data.title} | たちばなゆうとのブログ`, description: truncate(removeHTMLTags(data.content), 100), "og:title": `${data.title} | たちばなゆうとのブログ`, "og:description": truncate(removeHTMLTags(data.content), 100), "og:image": data.eyecatch.url, "twitter:card": "summary_large_image", "twitter:title": `${data.title} | たちばなゆうとのブログ`, "twitter:creator": "tachibanayu24", "twitter:description": truncate(removeHTMLTags(data.content), 100), }; }; ``` まだまだ使い始めたばかりなので、引き続きもう少し深く触ってみようと思います。 ちなみにアイキャッチ画像はfishですが、fishはスラングで新人を意味するみたいです。 ガラの悪いコミュニティでよく使われるようです。(プリズン・ブレイクでマイケルもfishって呼ばれてた) 大口投資家のことはwhaleって言うし、fishは食い物にされるってことなのかな?