2D geometry: how to check if a point is inside an angle

前端 未结 4 988
醉酒成梦
醉酒成梦 2021-02-08 17:15

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

相关标签:
4条回答
  • 2021-02-08 17:33

    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.

    0 讨论(0)
  • 2021-02-08 17:44

    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.

    0 讨论(0)
  • 2021-02-08 17:45

    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.

    0 讨论(0)
  • 2021-02-08 17:56

    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.

    0 讨论(0)
提交回复
热议问题