0

我正在尝试确定一个点是否在 3D 空间中的点和圆之间形成的椭圆锥内。圆锥是椭圆体,因为该点不垂直于圆心。见下图:

在此处输入图像描述

所以我知道:

  1. 形成圆锥顶点的点的位置:x
  2. 圆心的位置:c
  3. 圆的半径:r
  4. 我想确定它们是否在圆锥内的各个点的位置:y,z

这是同一图表的俯视图:

在此处输入图像描述

我不关心圆锥体的底部 - 我希望圆锥体中包含的点有效地拉伸到无穷大。

我已经找到了计算一个点是否在给定长轴/短轴的椭球锥内的公式,但是当椭球锥是由一个角度的圆形成时,很难弄清楚如何做到这一点。

谢谢你的帮助!

4

1 回答 1

1

使用圆锥曲线,您可能可以确定与轴的距离以及半主要和次要的距离并直接计算它。更难的是一些任意的形状。

如果圆锥在 Z 轴方向上有一个点,并且您知道 XYZ 中的一个点……那么您应该能够在该特定 Z 水平上绘制一个椭圆。也许用 360 段来绘制它。

一旦你有了你的点和你的椭圆,你就可以测试椭圆段,看看 X 和 Y 是否有交点。

在 0,0,0 处成像一个半径为 1 的圆。在 0,0,0 处的一个点在 +/- 90 度处有 2Y 个交叉点,在 0 和 180 处有 2 个 X 交叉点

如果该点位于 2,0,0 处,则 X 中仍有 2 个交点,但它们位于左侧,您希望左侧一个,右侧一个。

零交叉意味着。你在篮筐外。

在 360 段中重复并确定如何处理“在线”上的点以及“在线”的接近程度。

于 2017-01-03T17:18:52.093 回答