i have the following geometrical issue in 2D:
i have a point from which i cast an infinite angle (2D-cone) which is given by a direction and an angle. (the point and th
Calculate the angle of the direction using arctg of the direction. Substract the origin from the checked point. Calculate its angle (again via arctg of a normalized vector), and check if it lies within angle boundaries.
I would say the best way is to project the point onto the 2D surface perpendicular to the cones direction. Then you calculate the othogonal distance between that same plane and the point. Finally, you know the width of the cone at that height, so you can see if the point is outside that width.
Calculate the vector from the center of the cone to the query point. Normalize the vector to be of length 1, Take the center vector of the cone and normalize this as well to the length of 1.
Now take the dot product between the vectors. The dot product between two normalized vectors is the cosinus of the angle between them. Take the arccos (acos
in most languages) of the dot product and you'll get the angle. compare this angle to the cone's angle (half angle in your description). if its lower, then point in question is inside the cone.
This works in 2D and 3D.
Let the vector from the point of origin to the specified point makes an angle A with the normal that runs through the center. If the angle A is less than the half angle of the cone it lies inside else outside.