2017-01-03 3 views
1

Я пытаюсь выяснить, находится ли точка внутри эллипсоидального конуса, образованного между точкой и окружностью в трехмерном пространстве. Конус является эллипсоидом, потому что точка не перпендикулярна центру круга. Смотрите схему ниже:Как определить, находится ли точка внутри скошенной конической усечки

enter image description here

Так что я знаю:

  1. Положение точки формирования вершины конуса: х
  2. Расположение центра окружности: с
  3. Радиус круга: r
  4. Местоположение различных точек, которые я хочу определить, находятся ли они внутри конуса: y, z

Вот вид сверху та же схема:

enter image description here

Я не забочусь о основании конуса - Я хочу, чтобы точки, содержащиеся в конусе эффективно растягиваются до бесконечности.

Я нашел формулы для определения, находится ли точка в эллипсоидном конусе с главной/вспомогательной осью, но с трудом выясняется, как это сделать, когда конус эллипсоида образован из круга под углом.

Спасибо за помощь!

+0

Вам также нужно знать * нормальный * круг. – meowgoesthedog

ответ

0

С коникой вы, вероятно, можете определить расстояние от оси и полумагневого и младшего и вычислить ее непосредственно. Сложнее какая-то произвольная форма.

Если конус имеет точку в направлении оси Z, и вы знаете точку в XYZ ... тогда вы должны иметь возможность нарисовать эллипс на этом конкретном уровне Z. Возможно, нарисуйте его на 360 сегментов.

После того, как у вас есть точка и эллипс, то вы можете проверить эллипс сегмент, чтобы увидеть, если есть пересечение в X & Y.

томография круга на 0,0,0 с радиусом 1. И точка на 0,0,0 есть 2Y пересечения на +/- 90 градусов и 2 X пересечения происходит на 0 и 180

Если точка в 2,0,0, у вас все еще есть 2 пересечения в X, но они влево, и вы хотите, чтобы один слева и один направо.

Нулевые пересечения означают. Что вы находитесь за пределами обруча.

Повторите по 360 сегментам и определите, как обрабатывать точки «на линии» и как близко «на».