開口部には外部から侵入できないようだ

無限ビリヤードだけで6436本もファイルが入っている.久留島喜内で100本だ..vscodeが入っている.インテリセンス用のデータベースだ.いや,ここにはsetting.jsnというファイルが1本入っているだけだ..condaに6千本以上詰まっている.これを追い出す必要がある.どうなるのか分からないが,とりあえず,.vscodeと.condaをCドライブに移動した.また,厄介なことにならなければよいが… ⇒VS Codeを再起動してみたが,とりあえず,問題なく立ち上がってきた.⇒ランさせてみたが,特に問題は起きていない.

公開サンプルでは,開始点から直下に下がったところで関数曲線にぶつかり,そこから左に向かったあと,曲線の反対側から螺旋運動が始まるような動作になっている.この螺旋運動の領域をハニーポットと呼んでいるが,最初に関数曲線に出会う点は図版ではハニーポットに含めていない.しかし,この点(X点としよう)は関数曲線上の点なのだから,軌跡の動く領域に含まれないというのもおかしい.100回ループを1000回に変えてみた.この図を見る限りでは,確かにX点はハニーポットの外側にある.これはなぜか?

image

10000回周回させると半日掛かってしまうので,2000回で取り直ししてみよう.2000回走らせると下図のようになる.

image

やはり,X点はハニーポットには入っていない.今度は,開始点を(0, 0)にしてみた.出力は開始点(1.5, 1.5)の場合とほとんど変わらない.

image

開始点を(-1, –1)に変えてみよう.この点はスィートスポットより左に位置する点だ.塗り潰しの濃淡はあるが,構図はほとんど変わらない.

image

開始点を(2, 2) とすると発散してしまうが,これは開始点がビターポイントの右にあるためと考えられる.開始点が(-2, –2)でどうなるか見てみよう.⇒発散してしまう.発散してしまうのはよいが,垂線1本とそれから水平に曲がる直線しか表示されない.多少は中間点が表示されてもよいと思うのだが…X, Yのレンジを巨大数まで拡げてみようとしたが,どうも難しい.このくらいが限界だ.

image

これ以上拡げると曲線がほとんど垂直線になって軌跡が見えなくなってしまう.ビタースポットの近傍からスタートした場合,内側ならハニーポットに入り,外側なら発散するという予想通りの結果になった.下図は,β-0.00000001からスタートした場合(2000ステップ)

image

スィートスポットはハニーポットの内部にあるが,この点からスタートした場合にはどういうことになるか?結果が出た.

image

この結果はビターポイントの左側の点はすべてスィートポイントに収束することを意味する.いや,ちょっと違うかもしれない.これは開口部の内側からスタートしたもので,開口部の外側からスタートした軌跡がこのスタート地点に到達することを意味するものではない.開口部の内部に少し階段線が出ているが,これは螺旋経路に入るまでのステップであり,おそらく,その後は通常の渦巻きになっているのだろう.逆に言うと,外側から開口部の内部に到達する経路は存在しないということになる!これはかなり予想外の結果だ.

開始点の座標は(α, α)になっているが,これはもちろん厳密値ではないから,真のα点からはスタートすることもできないはずだ.

x=-0.8228756555322951918404514665129771760095302098202120214329299482947099875218555

y=-0.8228756555322951918404514665129771760095302098202120214329299482947099875218555

Y=-0.8228756555322951918404514665129771760095302098202120214329299482947099875218555

どうも計算のどこかで桁落ちが起きているようだ.最初のステップでは確かにX=Y=αの状態になっているのに,どこかでそれが崩れている.次のステップで値が変化している.

x=0.8228756555322954654385375167383836510883458373747302040693228205013915750026478

データの受け渡しは sweetspot という変数を使って行っている.step!が3回目に呼ばれたときには値が変わっている.

-0.822875655532295358085548286908306181430816650390625
-0.822875655532295358085548286908306181430816650390625
-0.8228756555322951918404514665129771760095302098202120214329299482947099875218555

値が変わっているだけではなく,桁数も伸びている.CharacteristicFuncではx^2-3/2 の計算値を返している.⇒BigFloatを明示的に返すようにしたが,変化なし.CharacteristicFuncの値を見てみよう.

-0.8228756555322951918404514665129771760095302098202120214329299482947099875218555

α=-0.822875655532295358085548286908306181430816650390625 であるとすると,α’=CharacteristicFunc(α) で α≠α’ になっている.これは避けられないのではないだろうか?

Julia で x = x^2-3/2 という方程式を解けるだろうか?できそうだ.この値を使ってやればよいのではないだろうか?

printf のパッケージを導入する必要がある.Julia と VS Code のどちらに入れたらよいのだろう?VS Code で入れると現在のプロジェクトフォルダに入ってしまような気がするのだが… Julia の場合はUsers\babalabo\.julia に入る.

Base.@kwdef mutable struct BallPositionには,xとyという変数があるはずだが,アクセスできない.type SimpleVector has no field x 

BallPosition というのは,Base.@kwdefのインスタンスではなくて,型のようだ.変数を宣言することで動作するようになったが,日本語が出せない.フォント不在エラーになる.

ENV[“GKS_ENCODING”] = “utf8”
using Plots
gr(fontfamily=”IPAMincho”)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA