How is possible to detect if a 3D point is inside a cone or not?
Ross cone = (x1, y1, h1)
Cone angle = alpha
Height of the cone = H
Cone radius = R
Coordinates of the point of the cone = P1 (x2, y2, h2)
Coordinates outside the cone = P2( x3, y3, h3)
Result for point1 = true
Result for point2 = false
To expand on Ignacio’s answer:
Let
So you project
pontodirto find the point’s distance along the axis:At this point, you can reject values outside
0 <= cone_dist <= h.Then you calculate the cone radius at that point along the axis:
And finally calculate the point’s orthogonal distance from the axis to compare against the cone radius: