如何确定点是否在倾斜的圆锥台内
How to determine if point is inside skewed conical frustum
我正在尝试确定一个点是否在 3D 中一个点和一个圆之间形成的椭圆锥内 space。圆锥是椭圆体,因为点不垂直于圆心。见下图:
所以我知道:
- 构成圆锥顶点的点的位置:x
- 圆心位置:c
- 圆的半径:r
- 我想判断是否在圆锥内的各个点的位置:y,z
这是同一张图的顶视图:
我不关心圆锥体的底部 - 我希望圆锥体中包含的点有效地拉伸到无穷大。
我找到了计算一个点是否在给定 major/minor 轴的椭球锥内的公式,但是当椭球锥是由一个圆在角度。
感谢您的帮助!
使用圆锥曲线,您可能可以确定距轴的距离以及半长轴和半轴并直接计算。
更难的是一些任意形状。
如果圆锥在 Z 轴方向上有一个点,并且您知道 XYZ 中的一个点...那么您应该能够在那个特定的 Z 水平上绘制一个椭圆。也许用 360 段绘制它。
一旦你有了你的点和你的椭圆,你就可以测试椭圆线段,看看 X 和 Y 是否有交点。
在 0,0,0 处成像一个半径为 1 的圆。在 0,0,0 处有 2 个 Y 交点在 +/- 90 度,2 个 X 交点发生在 0 和 180
如果该点位于 2,0,0,您在 X 中仍有 2 个交点,但它们在左侧,您想要一个在左侧,一个在右侧。
零交集的意思。你在圈外。
重复 360 个片段并确定如何处理点 "on a line" 以及 "on" 有多接近。
我正在尝试确定一个点是否在 3D 中一个点和一个圆之间形成的椭圆锥内 space。圆锥是椭圆体,因为点不垂直于圆心。见下图:
所以我知道:
- 构成圆锥顶点的点的位置:x
- 圆心位置:c
- 圆的半径:r
- 我想判断是否在圆锥内的各个点的位置:y,z
这是同一张图的顶视图:
我不关心圆锥体的底部 - 我希望圆锥体中包含的点有效地拉伸到无穷大。
我找到了计算一个点是否在给定 major/minor 轴的椭球锥内的公式,但是当椭球锥是由一个圆在角度。
感谢您的帮助!
使用圆锥曲线,您可能可以确定距轴的距离以及半长轴和半轴并直接计算。 更难的是一些任意形状。
如果圆锥在 Z 轴方向上有一个点,并且您知道 XYZ 中的一个点...那么您应该能够在那个特定的 Z 水平上绘制一个椭圆。也许用 360 段绘制它。
一旦你有了你的点和你的椭圆,你就可以测试椭圆线段,看看 X 和 Y 是否有交点。
在 0,0,0 处成像一个半径为 1 的圆。在 0,0,0 处有 2 个 Y 交点在 +/- 90 度,2 个 X 交点发生在 0 和 180
如果该点位于 2,0,0,您在 X 中仍有 2 个交点,但它们在左侧,您想要一个在左侧,一个在右侧。
零交集的意思。你在圈外。
重复 360 个片段并确定如何处理点 "on a line" 以及 "on" 有多接近。