In my SQL Table pie_on_coords
, I have following
id | direction_angle | pie_angle | position_x | position_y | pie_radius
Entries correspond something like this:
I supposed to find entries, which cover given point (x,y)
But how?
Check is polar coordinates (r, phi)
of point (x, y) - (position_x, position_y)
in ([0,pie_radius], [direction_angle - pie_angle/2, direction_angle + pie_angle/2])
.
px = x - position_x
py = y - position_y
r = sqrt( px^2 + py^2 )
phi = atan2(py/px)
Point is in if:
r <= pie_radius
direction_angle - pie_angle/2 <= phi <= direction_angle + pie_angle/2
Take a care if direction_angle - pie_angle/2 < -pi
or direction_angle + pie_angle/2 > pi
.