中のコードをみると、角度のデータを360個作成して、半径のデータも同じだけ作り、プロットさせているみたい。地球の軌道も同様に計算して、プロットする。
kepler's 3 law のビデオでは、火星の1年を使って、地球軌道を推定している。太陽の方位とその方位に対する火星の方位のなす角で地球の位置を示す交点を決めているように見える。そのあと火星軌道は合を使って火星方位を決めた後、火星の1年後の地球の位置で太陽の方位をきめ、火星の方位からその最初の火星の方位との交点を決めるというやり方となっている。次にまた合の位置に移る。同じことを繰り返して、火星軌道を求めているように見える。
火星軌道に火星をアニメーションで示す時は角度を増やしていけば良いが、長半径の平方根をかけて半径の2乗で割ってやると良いようだ。金星も同時に示して、「5金星は8太陽」のドレスデン・コデックスが示せればよいかも。金星の合の周期が8/5太陽年となるという意味。これで太陽が8回まわる間に金星は13回まわることになる。このあたりはコスミックフロントのマヤ天文学で示されていた。
javac -encoding UTF-8 planet.java appletviewer planet.html
自分にわかりやすいようにスライドを作ってみました。
教科書を読んでいくと、落下運動では速度に比例する減衰力、速度の2乗に比例する減衰力の話がある。上向きを正としている関係で式が成立している。速度の2乗の式は下向きに運動しているので上向きの抵抗力となっているあたりに注意する。上向きに高速運動する場合は加速してしまい間違いとなる。
今回は、タコマ橋の崩落について適当にyoutubeで検索してもらい、カルマン渦や強制振動の問題を考察する。演習としてはanaconda3を使って強制振動のシミュレーションをやってみてください。anaconda3のプロンプトから
conda install matplotlib conda install scipy idle
pipでなく、condaコマンドでパッケージを入れたほうが良いらしい。そのあと以下のページからプログラムをコピペして実行してみてください。
https://watlab-blog.com/2019/06/14/mck-force-vibration/
anaconda3の使い方については京都大学の喜多さん、pythonについての演習のpdfを見てください。コードで分かりにくい部分は変数の型が明示されない点。sol[:,0]はnparrayの方程式の解のsolに対して、位置と速度のリストの位置部分をmatplotのグラフ(t,y)のy値に設定するところのようである。いきなりだと難しい部分。
昔、試験問題を作った時、ばねと重りの問題で下向きを正としたときもあった。その時はつり合いから始まるので重力は式に出てこない。その時も速度に比例する抵抗力なら負の符号でよく、復元力も負の符号でよい。式としては横向きと同じになる。強制振動は天井をゆする感じになる。
ここでodeintについて調べてみたところ、以下のページがあり、自由落下の例について実行してみると、odeintの出力がnumpyの行列表現であることがわかる。
https://qiita.com/Sunset_Yuhi/items/d938718ad277eeab746c
一応関連するビデオをアップしてみた。最後のバイロンの詩のところは飛ばしてよい。古語など使ってわかりません。
http://natsci.kyokyo-u.ac.jp/~takasima/MU/AppleMoon.avi
慣性の法則のビデオを見るのを2番目の課題とします。prevail(overcome), ponder(think deeply),、projectile(投射体)、ploy(策略)、recant(取り消す)など辞書を引きながら見てみるとよいでしょう。
http://natsci.kyokyo-u.ac.jp/~takasima/MU/Inertia.avi
30年ほど前に作られたCaltecのGoodstein教授の力学基礎の講義
http://natsci.kyokyo-u.ac.jp/~takasima/MU/Introduction.avi
よくわからないところがでてくるはず。海上保安隊とビールを飲みながら漂う船のエピソードは連絡を受けた地点から海流を考えて、救助に向かう話。ベクトルの足し算の話題の具体例だったりする。30回分の力学の授業のビデオのイントロであるため。
最初は左にずれるがそのうち右に行く。コンパイルしてappletviewerで実行。
剛体の慣性モーメントを勉強するのに良いのは坂道ころりん問題。角運動量とも関係するが、モーメントを勉強するのに良いのが壁たてパッタッン問題。摩擦が関係するので、坂道を滑り始めるタンジェントが摩擦係数となるのに関係付けるのに上の角度で考えるのが良い。まずは上側が摩擦なしとして、タンジェントが摩擦係数の2倍で滑り始める。上が同じ摩擦ならそれより少し角度が付く。(1-mu^2)で割ったぶん。
振動現象は複素数で表現する。
plot [-6:6] [-1.5:1.5] x-x**3/3!+x**5/5!-x**7/7!+x**9/9!
クリストフさんのページの説明がmathmaticaなんで、同じような計算は下のページにある。微分の関係を分離計算する必要があるので多少面倒になる。
https://www.aihara.co.jp/~taiji/pendula-equations/present-node2.html
http://www.ita.uni-heidelberg.de/~chfeder/applets.shtml?lang=en
最近の最大の話題は中性子星の合体 https://www.ligo.org/detections/GW170817.php
10月にはマルチメッセンジャー論文というのがアストロ・フィジカル・ジャーナルから刊行された。
https://www.ligo.caltech.edu/page/detection-companion-papers
Dan GreenのParticle Physicsのp437に10kmの干渉計で50Aのずれが観測される例が示されている。この場合は10e-13のスケールでの変化となる。10e-21でも観測できるというのは本当なのか?->色々見てもこの差は埋まらない。無理やり振幅の変動を見ているらしい。位相が8桁分の1ずれるのは分かるものらしい。
仮想的な質量中心からの脱出速度をハッブル定数に取り、普通の力学での脱出速度から臨界質量が計算できる。普通の物質が5%ほどだが残りの95%がダークマターとダークエネルギーとするとちょうど観測量が臨界質量にほぼ一致するらしい。ウィキペディアでは平坦性問題にそう書いてある。
最近のブラウザはjavaに厳しい。ソースをコピーしてjdkを使ってコンパイルする。macだとappletviewerがあるのでnkf -w xxx.java > xxxU.javaとしてxxxU.javaのクラス名をxxxUにする。そのあとコンパイルして、xxxU.htmlを作って実行。UbuntuやSL6でもjdk1.8で同様に動作することを確認した。windows7でもjdk8_91というのができてbinにはappletviewerが入っていた。windows10もできる。コントロールパネル->ユーザー->環境変数の設定でPATHにProgram Files\Java\jdkxxx\binを含める。Java3dというのもあるが入れるのが面倒そう。Macだとjreが/Library以下に有ったりする。現状OpenGLがらみで動作しない。でもJOGLというのがあるそうだ。
nkf -g xxx.java //漢字コードを確認 nkf -w xxx.java > xxxU.java //UTFに変換(Mac Linux, windows はS-JIS) vi xxxU.java // クラス名を一致させる 初めの一行のみ変更 javac xxxU.java appletviewer xxxU.html //ウェブのhtmlのソースをコピーして作成
重い方のスーパーボールに針金をさして、軽い方はボール盤で穴を開けておき、針金を摘んで落とすと、重い方は原理的に静止して、すべてのエネルギーが軽い方に行くというのは意外と知られていないかも。
http://fnorio.com/0006Chavendish/Chavendish.htm
原理はわかったので、昔からある装置を動かそうとしたら、つり線が切れた。古い機械なのでつり線は交換不能。島津のは32万円。
ローレンス クラウス教授の3回目の講義で、ハッブル定数と宇宙の質量分布を使って、宇宙の運命を予想する話があった。膨張宇宙の説明などは目から鱗の説明で、面白かった。秒速200km/sの銀河の公転速度から、銀河の質量が導ける話もあった。
'A Universe from nothing'で検索すると動画が見れる。
ニュートンが見いだした運動の法則を単振動に適用して、計算機で数値解を求めてみましょう。gfortranかg77を使ってデータファイルを作ります。その後、gnuplotで結果を見てみます。筑波大学の原子核理論のHPにあったプログラムです。
gfortran -o springEuler springEuler.f ./springEuler gnuplot plot 'Newton_Euler.dat', 'Newton_Euler.dat' using 1:3
Runge Kutta法を用いると精度が上がります。同じようにプロットを作成しましょう。
力学的世界観とは自分を地球の外に持っていく視点を持つこと。例えば「地球はでっかいジャイロスコープ」なんてことがピンとくる人になること。おもちゃの「地球ごま」などもそのたぐい。おもちゃを地球に例えるわけです。そしてその原理を角運動量の保存という物理法則に求めることができればあなたも立派な物理愛好家。
この運動方程式は一般化座標を使って解くことができる。変分法を使うなどして、棒の長さがそれぞれと
で質量が
と
、鉛直となす角が
と
の振り子の運動エネルギー
を
、
として求めると
となる。位置エネルギーは幾何学的に求まる。不思議なことに最小作用の原理を適用するのは
でなく
である。これから方程式を作って、ルンゲクッタ法で時間発展を計算する。
http://www2.kek.jp/engineer/oho/giken/procedng/paper/met005.pdf
ベアリングはミニ四駆の四隅につけるガードベアリングをヨドバシで買った。アルミの棒に穴をあけて取り付ければOKなはず。M2.6のタップセットをアマゾンで注文した。
二重振り子のラグランジアンは変分の考え方で、運動エネルギー引くポテンシャルエネルギーを計算して作る。作った後の時間発展は、ルンゲクッタ法の良い利用例となる。やってみよう。
物理天秤というものがある。水の中の重さの向きを変える実験が行える。