Little Strange Software

スマホアプリの開発を行う LittleStrangeSoftware のブログです。

座標計算

 どうも!LSSです!!

 

今日は唐突に数学的な話をしてみます。

 

 

問1。まんなかはどこ?

とある小学校に、A君とB君が通っていました。

二人はとても仲良し。

 

ある日、A君はB君に「学校から家に帰ってから、B君ちに遊びにいくね!」と約束しました。

A君の家は学校からみて「北に500m、東に100m」のところにあります。

B君の家は学校から見て「北に100m、東に300m」のところにあります。

 

また、A君の家とB君の家は直線移動可能な道路があります。

 

さて、B君は帰宅後、少ししてからA君のスマホに電話をかけました。

「もしもしA君?今どのあたり?」

「今、ちょうどまんなか!」

 

さて、A君が本当に、A君ちとB君ちのちょうど真ん中にいたとしたら、A君が今いるところは学校から見て、北に何m、東に何mのところにいるでしょうか? 

 

 

問1の解き方

A君の家からB君の家まではまっすぐな道路が通っています。

A君は、南にも東にも移動している事になりますが、ここは「南北」と「東西」に分けて考えてみます。

 

ちょうどまんなか、という事は…南北で言うと、「北に500m」と「北に100m」のまんなか、という事なので、

(500+100)÷2=300

で「A君の現在位置が学校から見て北に300m」である事が分かります。

 

同様に、東西で言うと、「東に100m」と「東に300m」のまんなか、という事なので、

(100+300)÷2=200

 である事が分かります。

 

 

問1の答え

ちょうどまんなかにいるA君の現在位置は、学校からみて
「北に300m、東に200m」
のところ、というのが答えです。

 

 

 

問2。10分の1の地点

同じ条件で、B君がA君に電話したのがもうちょっと早かったら、という話です。

A君の答えは「今、ちょうど10分の1だけ進んだところ!」でした。

 

すると、A君の現在位置はどこになるでしょう? 

 

 

問2の解き方

問1を解く時に「北に500m」と「北に100m」を足して2で割りました。

これは「平均」を割り出すのと同じ手法ですが、式をこう言い換える事もできます。

(500×1+100×1)÷2=300

 「北に500m」に1の重みを掛けて、「北に100m」にも1の重みを掛け、重みの合計値である2で割る事で、「平均=まんなかの場所」を計算した事になります。

 

今回はA君は「10分の1進んだ」と言っているので「すでに進んだ距離:これから進む距離」の比は「1:9」という事になります。
また、これは
「A君の現在位置から見ると、A君の家の方がB君の家より9倍近くにある」
という事です。

 

これを「重み」として適用すると…

(500×9+100×1)÷10

という式になり、答えは 
460
になりますね。

 

東西位置についても、同様に×9と×1して÷10すると、
(100×9+300×1)÷10
という式になり、答えは
120
になります。

 

 

問2の答え

ちょうど10分の1進んだところにいるA君の現在位置は、学校からみて
「北に460m、東に120m」
のところ、というのが答えです。

 

 

あとがき

昔、頭を悩ませながら、この算出を理解したのは、数学の授業ではなくてプログラムを考えていた時でしたw

 

画面上を移動する物体の座標と、それを追尾する物体の座標、それぞれの物体を画面上に描画する時に、表示位置をどう計算したらいいか?

x座標・y座標それぞれの平均値を取ると、追尾っぽくなるけど、それでは粗すぎ&速すぎ。となった時に、じゃあどうするか、って考えたものです。

 

いやー、いつにも増してわけわからん記事になりましたw

 

 

 

ってなとこで、今回はこのへんで!

次回もまた、よろしくお願いします^^