「ポケモンを確実に見つける方法」を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も直進出来る場所が、この狭い日本にどれだけあるのか・・・
という基本的な疑問が大いにあります。
といいますか、
大抵は建物等に邪魔されて、目的地に着いた頃にはポケモンはいずこ・・・
ということで、あくまで机上のお遊びです。
その答えは、
こういう時に役に立ったり、立たなかったり
とにかく一生懸命勉強しましょう。
同じテーマ「エクセル雑感」の記事
エクセルで「もういくつ寝るとお正月」
新着記事NEW ・・・新着記事一覧を見る
TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.条件分岐(Select Case)|VBA入門
10.ブック・シートの選択(Select,Activate)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。