2

我希望确定点 P(x,y,z) 是否在由其中心 C (cx, cy, cz)、半径 R 和圆位于 N 上的平面所定义的 3D 空间中的 2D 圆内。

我知道位于 3D 空间中 2D 圆上的点 P 定义为:

P = R*cos(t) U + R sin(t)*( N x U ) + C

其中U是从圆心到圆上任意一点的单位向量。但是给定一个点 Q,我怎么知道 Q 是在圆上还是在圆内?选择什么合适的参数t?我要比较点 Q 的哪些坐标以查看它们是否在圆内?

谢谢。

4

2 回答 2

10

将 P 投影到包含圆的平面上,称为 P'。当且仅当 |P - P'| 时,P 将在圆内 = 0 和 |P' - C| <R。

于 2010-04-07T16:07:27.397 回答
3

我会通过将其分为两部分来做到这一点:

  1. 找出该点是否与圆在同一平面上(即查看从中心到该点的向量与法线的点积是否为零)

  2. 找出它是否在包含圆的球体内(即查看从中心到点的距离是否小于半径)。

于 2010-04-07T16:06:49.787 回答