かなり単純な質問があります。ずっと前に答えを見つけるべきだったような気がしますが、どういうわけか、この些細な問題に頭を悩ませることができません。
ベクトル v = (x,y) が与えられた場合、それが「一般的な」向きであることを知りたいです。それは、「上」、「下」、「左」、または「右」のいずれかです
ベクトルの方向が 45 ~ 135 度の場合、ベクトルの一般的な方向は「上」です。「左」は 135 ~ 225 度です。「下」は 225 ~ 315 度です。「右」は 315 ~ 45 度です。
角度が正確に 45 度、135 度、225 度、または 315 度の場合はあまり気にしません。
問題は、三角法を使いたくないということです。簡単な解決策があると確信しています。
円全体を 8 つに分割できる解決策があると思います。これが私がこれまでに持っているものです。
if(x > 0 && y > x)
return Up
if(x > 0 && y > 0 && y < x )
return Right
... etc ...
基本的に、私は解決策を見つけることができることを知っています。この問題に対するあなた自身のアプローチにもっと興味があります。
ありがとう !
編集:使用されるベクトルは正規化されていません。点のペアを使用して任意のベクトルを表すことができます。ベクトルの原点が (0,0) であると仮定するだけです。