How to determine if point is inside skewed conical frustum

373 views Asked by At

I'm trying to work out whether a point is inside an ellipsoid cone formed between a point and a circle in 3D space. The cone is ellipsoid because the point is not perpendicular to the centre of the circle. See diagram below:

enter image description here

So I know:

  1. The position of the point forming the apex of the cone: x
  2. The location of the centre of the circle: c
  3. The radius of the circle: r
  4. The locations of various points I want to determine if they are inside the cone: y, z

Here is a top view of the same diagram:

enter image description here

I do not care about the base of the cone - I want points contained within the cone stretched effectively to infinity.

I've found formulae for working out whether a point is within an ellipsoid cone given the major/minor axis, but having difficulty working out how to do it when the ellipsoid cone is formed from a circle at an angle.

Thanks for any help!

1

There are 1 answers

0
Holmz On BEST ANSWER

With a conic you could probably determine distance from the axis and a semi major and minor and compute it directly. Harder is some arbitrary shape.

If the cone has the point in the Z Axis direction, and you know a point in XYZ... then you should be able to draw an ellipse at that particular Z level. Maybe draw it with 360 segments.

Once you have your point and your ellipse, then you can test ellipse segment to see if there is an intersection in X & Y.

Imaging a circle at 0,0,0 with radius 1. And a point at 0,0,0 there are 2Y intersections at +/- 90 degrees and 2 X intersections happening at 0 and 180

If the point is at 2,0,0 you still have 2 intersections in X but they are to the left, and you want one to the left and one to the right.

Zero intersections mean. That you are outside the hoop.

Repeat across the 360 segments and determine how to handle points "on a line" and how close "on" is.