「ポケモンを確実に見つける方法」をExcelで数学してみた
ポケモンGO関連の記事をみていたら、
「【ポケモンGO】かくれているポケモンを確実に見つける方法」
で探せば、直ぐに見つかります。

近くにいるポケモンに表示された地点を①
そこから、どっちの方向でも良いので真っ直ぐに進みポケモンが消える地点を②
今度は真逆に歩いて、ポケモンが表示されて、そして消える地点を③
※②から③までの距離を歩数等で測っておく
②と③の中間点Aを、直角に左右のどちらかに進めばポケモンがいる。
確かに、この考え方なら小学生でもわかる理屈です。
しかし、最後が2択になってしまい、反対に歩き出してしまうとかなり距離をロスしますね。
原因は、一直線に歩くからなのですか、
ちゃんと数学すれば、もっと確実にポケモンにたどり着けるのではないかという事で考えてみました。
もっと高度に、最短距離でポケモンにたどり着く方法を数学してみました。

近くにいるポケモンに表示された地点を①
そこから、どっちの方向でも良いので真っ直ぐに進みポケモンが消える地点を②
今度は真逆に歩いて、ポケモンが表示されてから、もう少し進んだ地点を③
※ここが重要、①まで戻る必要はない、ポケモンが確実に表示された地点で良い。
※②から③までの距離を歩数等で測っておく
③の地点を、直角に左右のどちらか(上図では右)に進んで、ポケモンが消える地点を④
※③から④までの距離を歩数等で測っておく
ここです、この時点(②と④の地点を特定した時点)で、ポケモンの場所は特定されています。
ポケモンの場所を特定できる理由
この場合は、①③を内に含まなければならないので円は一つだけ。
つまり、円が特定されるので、中心点も特定できるという事です。
念の為書いておくと、
②と④を中心に、半径R(200m)の円を書いた交点が、二点を通る円の中心になります。
小学校で、コンパス使って良くやったやつですね。
さて、ここからがちょっと難しくなります。
④の地点から、ポケモンの場所へ進むには、どうすれば良いか。
距離は半径R(200m)で間違いない。
後は、方角だけです。
④の地点から、②の地点を向いて、何度の角度で歩き出せば良いかを計算します。
つまり、②と④と円の中心(ポケモンの場所)の角度が分かれば良いのです。
ここが重要です。
補助線を引いてみましょう。

これで二等辺三角形の出来上がりです。

辺BC(a)の長さは、半径(200m)です。

超有名な定理、ピタゴラスの定理(三平方の定理)を使って、
②④二乗 = ②③二乗 + ③④二乗
これで求まります。
余弦定理
これで計算できます。
余弦定理の理屈までは、ちょっと説明できません。
私は現役退いて長いので、さすがに余弦定理までは・・・
多分、高1か高2くらいの数学だったはず。
Excelで計算してみた

=SQRT(B4^2+B5^2)
(②③二乗 + ③④二乗)の平方根
=DEGREES(ACOS((B3^2+B4^2-B2^2)/(2*B3*B4)))
DEGREES(角度)
ラジアンを度に変換します。
ググって、あちこち見て回った計算式を、Excelの関数で作成しました。
多分あっているとは思うのですが、胸を張って言える程の自身は無いです。
②③を80m
③④を70m
としたときの結果です。
74.6度の方向に200m行った地点にポケモンがいるという事になります。
以上が、ポケモンの場所を特定する最短の歩き方と、ポケモンの位置を特定する方法です。
では、
このExcelを持って、スマホとともにポケモン探しへGO!
なんてことをしちゃダメですよ、絶対にダメね。
ポケモンGO自体は、そんなに詳しくありませんので、あくまで机上での計算という事です。
ポケモンGOのGPSって、そんなに精度は良くないですしね。
200mも直進出来る場所が、この狭い日本にどれだけあるのか・・・
という基本的な疑問が大いにあります。
といいますか、
大抵は建物等に邪魔されて、目的地に着いた頃にはポケモンはいずこ・・・
ということで、あくまで机上のお遊びです。
その答えは、
こういう時に役に立ったり、立たなかったり
とにかく一生懸命勉強しましょう。
同じテーマ「エクセル雑感」の記事
プログラミングとは
「ネ申Excel」問題 への同意と反論
「Excel3ステップ理論」3階層システムの応用
「ポケモンを確実に見つける方法」をExcelで数学してみた
エクセルで「もういくつ寝るとお正月」
エクセルで連立方程式を解く(MINVERSE,MMULT)
VBAが消えてしまった!マクロが壊れて動かない!
エクセル関連ツイート
エクセル関連ツイートNo2
エクセル関連ツイートNo3
エクセル関連ツイートNo4
新着記事NEW ・・・新着記事一覧を見る
PropertyのSetはLetでも良い|VBA技術解説(2021-03-31)
エクセル麻雀ミニゲーム|VBAサンプル集(2021-03-09)
VBA100本ノック 100本目:WEBから100本ノックのリストを取得|VBA練習問題(2021-03-03)
VBA100本ノック 魔球編:2桁の最小公倍数|VBA練習問題(2021-02-02)
Select Caseでの短絡評価(ショートサーキット)の使い方|VBA技術解説(2021-01-03)
VBA100本ノック 迷宮編:巡回セル問題|VBA練習問題(2020-12-31)
VBA100本ノック 魔球編:閉領域の塗り潰し|VBA練習問題(2020-12-16)
VBA100本ノック 魔球編:組み合わせ問題|VBA練習問題(2020-12-02)
将棋とプログラミングについて~そこには型がある~|エクセル雑感(2020-11-22)
VBA100本ノック 1本目:セルのコピー|VBA練習問題(2020-10-19)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.Excelショートカットキー一覧|Excelリファレンス
6.繰り返し処理(For Next)|VBA入門
7.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
8.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
9.セルに文字を入れるとは(Range,Value)|VBA入門
10.とにかく書いてみよう(Sub,End Sub)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。