2022年4月3日日曜日

電卓を使って、たまには計算を

最近、電卓を持っているというのに、なかなか計算する機会がない。コマッタ。アカンなぁ。

そういや、静止衛星の軌道、高度がどのあたりなのか、頭の体操という事で、簡単に計算してみましたヨ。

静止衛星ちうのは、およそ、常に頭の上にあってほしい、そんな人工衛星であります。
即ち、衛星の周回周期が、地球の自転周期と同じである事になります。

静止衛星の周回する軌道では、万有引力と向心力が釣り合う、そんな具合になります。

万有引力の値は、

f = G * M * m / (D^2)

向心力は、

f = m * (w^2) * D

で計算されます。

G ; 万有引力定数
M ; 地球の質量
m ; 人工天体の質量
D ; 人工天体の周回軌道の地心距離 = 地球半径 (R)+ 周回軌道の高度 (H)
w ; 人工天体の公転角速度 = 地球の自転角速度

但し、大雑把な計算をしようと、地球の形状を球とみなしております。
より正確には、若干扁平な楕円回転体と言われておりますが、今は頭の体操なので「細けぇこたぁいいんだよ」。

さて、上記の式より、

f = G * M * m / (D^2) = m * (w^2) * D

G*M/(w^2) = D^3

D = (G*M/(w^2)) ^ (1/3)

となります。

最近の高機能電卓では、いくつかの物理定数が収録されているものがありますが、必ずしも、上記の値が利用できるものではありません。

こうした定数で、憶えやすいものとしては、

+ 地表付近の重力加速度 g = 9.8 m/(s^2)
+ 地球の半径 R = 6400 km

があります。
上記の地球半径はおよその値ですが、もっと憶えやすい値として「赤道の長さが40,000km」というのがあります。
これを憶えておくと、地球半径 R = 40000/(2*π) = 6,366 km という値が得られます。

これらの値から、万有引力定数 G, 地球の質量 M を忘れてしまっても、G*M のおよその値が計算できます。
地表に置かれたモノには、万有引力が働きます。その大きさから、

f_a = G*M*m/(R^2) = m*g

という関係があり、

G*M = g*(R^2)

と計算されるからであります。

上記をまとめると、

D = (G*M/(w^2)) ^ (1/3)
  = (g*(R^2)/(w^2)) ^ (1/3)

となります。最後は、自転周期角速度 w ですが、地球の自転周期は 24時間じゃねぇの、と思ったら、正確にはそうではないのだと。コレは意外。
地球の自転周期は 23h56m04s と半端な値でした。

地球が太陽の周囲を回っている(公転)ため、
地球上の一点が、再び太陽へ向きを取るには、1周よりも少しだけ多くの角度を回る必要があります。
その回転に掛かる時間が24時間なので、地球が一回転する周期=自転周期は、それよりも少しだけ短くなるのだといいます。
公転周期は、ほぼ 365と1/4日 (閏年が加算されるため)ですから、一日で移動する公転角度は、360度÷365.25で与えられます。この分、余計に回転すると、ほぼ1日=24時間の長さですから、24h÷(1+1/365.25) を計算すると、上記の値に近い数字が得られる勘定です。

ここまで細かい数字を使っても、他の部分で精度が追求できるものではありませんから、自転周期 24hで計算を進めてしまいましょう。
自転周期を24hとすると、自転周期の角速度は、

w = 2π / (24*60*60)

です。

ここまでの情報を整理し、静止衛星の周回する高度をHとしておきます。

静止衛星の地心距離
  D = R+H = (g*(R^2)/(w^2)) ^ (1/3)  

  • 地球半径  R = 40000 / (2π) (km)
  • 地表付近の重力加速度 g = 9.8 (m)
  • 地球の自転角速度 w = 2π / (24*60*60) (sec) 

でした。これを電卓で計算すると、H+R = 42,190,825.5465 という数値が得られました。
これは地心距離なので、静止衛星の高度を求めると、

H = 35,824,627.8229 (m)

という具合。もちろん、以上の操作は概算を求めるものですから、実際の数値としては、35,800 km 程度となりますネ。

ref. 静止軌道 - Wikipedia
https://ja.wikipedia.org/wiki/%E9%9D%99%E6%AD%A2%E8%BB%8C%E9%81%93


6 件のコメント:

hangyodon さんのコメント...

こんにちは。

> 最近、電卓を持っているというのに、
> なかなか計算する機会がない。
> コマッタ。アカンなぁ。

自分も同じです。
と言うか、そもそも計算目的より
pythonプログラミング目的の比重が
大きいですね。

最近は、男性更年期か不調続きで
Twitterやブログも休みがち、、、

そんな中でNumworksのカスタムOSが
復活した様です。(Omega2.0)
なんと今度はマルチブート対応らしい、、、

復活は歓迎なんですが、個人的には
有効な使い道が見つからないのが本音です。
例えばpython機能の独自強化などあれば、、、
今後に期待ですが、恐らく新たなロックが
出て、イタチごっこになるかと思います。

他社のpython電卓は特に動きは無い様ですね。

話し変わって、Twitterにも上げましたが、
M5Stack Facesと言うガジェットにCP/Mを
導入し、MBasicで遊んでます。

まさにポケコンのイメージなんですが、
キーボードが打ちづらいのが難点、、、
おまけに、キャラクターベースのみ対応で
グラフィックが使えないのが残念、、、
自分の力量ではグラフィック機能追加は
夢物語、、、

コロナ禍と海外紛争で経済低迷な中、
シャープからpython電卓が発売される
夢を見ています。

ではでは。

akatuki さんのコメント...


hangyodon 様。遅くなってをり。

> 自分も同じです。
> と言うか、そもそも計算目的より
> pythonプログラミング目的の比重が
> 大きいですね。

当方も、ポケコンとかはBASICプログラミングの勉強のために使っておりました。
高機能電卓もプログラミングが主な利用でしたが、
最近、PCを使うようになってからというもの、プログラミングに入れ込む事が少なくなり。
高機能電卓の利用も、少し込み入った計算とか、そんな事に使うくらいしかやっておらんのです。

> 最近は、男性更年期か不調続きで
> Twitterやブログも休みがち、、、

「おやおや。それはいけませんねぇ」
と言っても、当方も最近は計算などの機会が減っていて、何をしたもんか、と思うことしきり。
そんな事で、多摩の多摩には「オツムのサビ落とし」で、こんな記事をアップしたのでした。

> そんな中でNumworksのカスタムOSが
> 復活した様です。(Omega2.0)
> なんと今度はマルチブート対応らしい、、、

そういや、Epsilon 16で、ファーム更新+互換OS排除 (ハードウェアを扱えなくするAPI変更)とか
いうハナシでした。
Epsilon 16にすると、Omegaとか入るのかなぁ ?

> 復活は歓迎なんですが、個人的には
> 有効な使い道が見つからないのが本音です。
> 例えばpython機能の独自強化などあれば、、、
> 今後に期待ですが、恐らく新たなロックが
> 出て、イタチごっこになるかと思います。

Omegaにすると、XCASが使えるというハナシでした。(N110限定)
この辺り、面白いと思いますが、メモリ食っちゃいますネ。
Epsilonも18.2が登場したとかで、更新が行われているそうですが、
pythonの強化は、停滞している ?

> 他社のpython電卓は特に動きは無い様ですね。

その様ですネ。
TI-84 CE-T python ed.でしたか。一時、Amazon JPでも扱っている所がありましたが、
今は壊滅状態ですネ。並行輸入もままならないのかなぁ ?
HP Primeも価格が上がっている様子。
PCとの連携とか考えると、個人的に注目しているのは、やはりfx-CG50だったりします。
価格も安いし、入手性が良い。ただ、fx-CG50は、やす親分の領分なので、ここでは触れないのです。

> 話し変わって、Twitterにも上げましたが、
> M5Stack Facesと言うガジェットにCP/Mを
> 導入し、MBasicで遊んでます。

なんですって !? CP/Mですか !!
Faces って、確かキーボード付きのM5 Stack でしたよネ。
CP/Mって、8 bit PCのDOS だった様な ... コンパイラとか動くのでしょうか。
ウーム、スゴイなぁ。

Concurrent CP/M とかだと、マルチプロセスなコードが動くとか。
M5Stackのプロセッサは32bit でしたっけ ? これでCP/Mが動くとなると、夢は広がる ... 。

> まさにポケコンのイメージなんですが、
> キーボードが打ちづらいのが難点、、、
> おまけに、キャラクターベースのみ対応で
> グラフィックが使えないのが残念、、、
> 自分の力量ではグラフィック機能追加は
> 夢物語、、、

ウーム ... 。
CP/Mにグラフィクスを盛り付けるのは、相当な技量が要る様ですネ。
そもそも、CP/M自体を知っておらんとなりません。
そして、そこで動く開発環境。
DOSだったりすると、i86のint命令でBIOS経由でCGA表示とか出来たらしいのですが。
debug.comで簡単な点打ちとかのバイナリを打ち込んだ事があります。(20年以上昔のハナシ)

> コロナ禍と海外紛争で経済低迷な中、
> シャープからpython電卓が発売される
> 夢を見ています。

面白そうです !
でも、仰るように、世界的に諸事、停滞気味 ... 。

コメント、多謝であります !

やす (Ktyski) さんのコメント...

hangyondon様
akatsuki様

ご無沙汰です。

ここのとこと、仕事が起きている時間のほとんどを奪ってしまって、プライベートに一体時間がとれなくなっています。GWも海外は休みでないので、あまり休みが取れていません。

以前、DOS用のグラフィックライブラリを自作して、MSCで使って遊んでいたのを思い出しましたので、ちょこっとコメントを...

自分専用として、エラー処理などがミニマムなアブナイ・ライブラリでしたので、引き換えに結構高速動作するものでした。

当時MSC付属(正しくはオマケで動作保証なし)のグラフィックライブラリが、バグ入りで仕様通りに動きませんでした。さらに、石田晴彦さんというある程度有名な先生が著作者として書かれたC言語の書籍で、バグ入りMSCグラフィックライブラリを使ったサンプルプログラムが収録されており、そんなコードじゃ動かないヨ~、ってなお粗末なものでした。ろくすっぽ確認していないのか、学生に丸投げしてそのままだとか、いろいろと原因が考えられますけど...

それ以来、石田先生の本は一切買わなくなりました。

いや、懐かしい...

ところで、CP/Mは、見たことも食べたこともありません(^^;


akatuki さんのコメント...

やす (Ktyski) 様

親分、どうにも不義理のほど、御容赦戴きたく。

> ここのとこと、仕事が起きている時間のほとんどを奪ってしまって、プライベートに一体時間がとれなくなっています。GWも海外は休みでないので、あまり休みが取れていません。

お疲れ様であります !
そうでした。海外はGWとは無縁ですネ。

> 以前、DOS用のグラフィックライブラリを自作して、MSCで使って遊んでいたのを思い出しましたので、ちょこっとコメントを...
> 自分専用として、エラー処理などがミニマムなアブナイ・ライブラリでしたので、引き換えに結構高速動作するものでした。

IBM PCのVideo BIOSでは点打ちが出来たので、線引きとか、Breshenham Algorithm、ってぇのでやった憶えがあります。尤も、まともなコードを書く前に、DOS/Vを使わなくなってしまった ... 。
未だに、Cでエラーハンドル、やり方がワカランのです。

> 当時MSC付属(正しくはオマケで動作保証なし)のグラフィックライブラリが、バグ入りで仕様通りに動きませんでした。さらに、石田晴彦さんというある程度有名な先生が著作者として書かれたC言語の書籍で、バグ入りMSCグラフィックライブラリを使ったサンプルプログラムが収録されており、そんなコードじゃ動かないヨ~、ってなお粗末なものでした。ろくすっぽ確認していないのか、学生に丸投げしてそのままだとか、いろいろと原因が考えられますけど...

石田先生というと、K&Rですネ。当時、図書館で借りて読んだのですが、PCも持っておらず、何が何やら ... 。
そうではなくて、MS Cでしたか。
PCを使うの、当方としては最近のハナシなので、DOS/Vとかでint 10hのBIOS callでCGAの画面に点を打つ、とか、聞きかじりでやった事がある程度です。
その後、雑誌の付録にあった「LSI-C 試食版」(懐かしい !)でコチャコチャ勉強したのですが、まだ、そこから進歩しておりませんや、情けない ... 。

> ところで、CP/Mは、見たことも食べたこともありません(^^;

当方も、CP/Mなんて本でしか見たことがありませんで。どんなもんか、よう知らんのです、ハイ。

やす (Krtyski) さんのコメント...

akatuki様

LSI-C 試食版、懐かしいです。確かC Magazine だったような....

創刊号から毎月読んでいましたが、最初は何が何だかサッパリ判らず、そのうち少しずつ理解でできるようになってくるのが楽しかったです。

Cの理解を進めるために、アセンプラを知らないとアカンことに気づき、当時ASCIIが発行していたフロッピーディスク付きのアセンプラ入門みたいなのを買って、チョコッと勉強したら、ビックリするぐらいCの理解がスムーズに進んだことを思い出しました。

CPUがどうやってレジスタやメモリを使って仕事しているかのイメージが有ると無しでは、それがたとえ中途半端であっても、Cのような言語の理解には不可欠なんだなぁ、と思ったものです。


> IBM PCのVideo BIOSでは点打ちが出来たので、線引きとか、Breshenham Algorithm、ってぇのでやった憶えがあります。尤も、まともなコードを書く前に、DOS/Vを使わなくなってしまった ... 。

どうやってMS-DOS用のグラフィックライブラリを作ったのか、今となってはサッパリ思い出せないのですが、アセンプラの上っ面の知識を使ったのだと思います。結構試行錯誤をして、システムエラーを出しまくって、それでも当時は、再起動すれば良かったので、上っ面でも出来てしまったのは、結構感動モノでした。


> 未だに、Cでエラーハンドル、やり方がワカランのです。
これは、深淵な真理さと思います。プログラミングの最初の躓きがエラーが何を意味しているのか、どうやってエラーを解消してら良いのかが判らないというのは、どんな言語でも同じです。

Casio Basic や Casio Python でも事情は同じですが、エラーがまだ判りやすいと思うので、敷居は低いのではないかと...

今日は、朝から一日YouTubeを見てダラダラしています。久しぶりのダラダラで、あっという間に外が暗くなってしまいました。明日は仕事です(´。`)


akatuki さんのコメント...

やす (Krtyski) 様

> LSI-C 試食版、懐かしいです。確かC Magazine だったような....

そうです ! それそれ !!

> 創刊号から毎月読んでいましたが、最初は何が何だかサッパリ判らず、そのうち少しずつ理解でできるようになってくるのが楽しかったです。

創刊号は、当方も買ったのですが、当時の付録、確か 5' FDD で、PCも持っていなかったので、そのままどこかへやってしまった ... 。
DOS/V版、3.5' FDD の付録まで待ったのですが、雑誌本体の方は、流石にワカランチンでした。

> Cの理解を進めるために、アセンプラを知らないとアカンことに気づき、当時ASCIIが発行していたフロッピーディスク付きのアセンプラ入門みたいなのを買って、チョコッと勉強したら、ビックリするぐらいCの理解がスムーズに進んだことを思い出しました。

当方、debug.com でhand assemble みたいな感じでやっておりましたが、
流石に長いコードは書けません。トホホ。
未だに、長いコードを書く体力、胆力がないのは、こんな泣けてくる事をしていたから ... 。

> CPUがどうやってレジスタやメモリを使って仕事しているかのイメージが有ると無しでは、それがたとえ中途半端であっても、Cのような言語の理解には不可欠なんだなぁ、と思ったものです。

そうですネ。
当方は、ハンドアセンブルのあとCを勉強したクチなのですが、やはり、プロセッサのイメージがあると、Cはおぼえやすいと思います。
しかし、ドキュメントをバリバリと読み書きする様にコードを書く訓練、鍛錬もあるのが望ましいものであります。

> どうやってMS-DOS用のグラフィックライブラリを作ったのか、今となってはサッパリ思い出せないのですが、アセンプラの上っ面の知識を使ったのだと思います。結構試行錯誤をして、システムエラーを出しまくって、それでも当時は、再起動すれば良かったので、上っ面でも出来てしまったのは、結構感動モノでした。

DOSの頃のプログラミング、OSがすぐに起動できるので、リセットは気軽でしたネ。
今は、OSの機能でプロセスをkillする事が気軽に出来ますが、その分、OSの起動に時間が掛かるのも事実です。
しかし、そのマルチタスクの恩恵で、今のネット対応が出来ているのですから。

> 今日は、朝から一日YouTubeを見てダラダラしています。久しぶりのダラダラで、あっという間に外が暗くなってしまいました。明日は仕事です(´。`)

どうも返事が遅れてをり、申し訳ない次第です。

コメント、有り難く。