切于球面的遮挡圆盘尺寸求解及二维场景下给定d、r求h
哈哈,这个几何遮挡问题我之前琢磨过,分三维和二维两种情况给你拆解清楚:
三维场景:圆盘完全遮挡球面的尺寸计算
假设我们有一个球面(半径记为$R$),观测点到球心的直线距离为$D$;现在要放置一个圆形圆盘与球面相切(切点刚好在观测点和球心的连线上),要让圆盘刚好从观测点视角完全挡住整个球面,咱们来推导圆盘的最小半径$s$:
- 先明确几何位置:观测点$P$、球心$O$、切点$T$在同一条直线上,$PO = D$,$OT = R$,所以观测点到圆盘所在平面的距离$PT = D - R$。
- 从观测点$P$向球面作切线,切线与球面交于$Q$点,根据球的性质,$OQ \perp PQ$(切线垂直于过切点的半径),用勾股定理算切线长:$PQ = \sqrt{D^2 - R^2}$。
- 这条切线会和圆盘所在平面(过$T$且垂直于$PO$的平面)交于$S$点,$TS$就是圆盘的半径$s$,且$TS \perp PO$。
- 核心用相似三角形:$\triangle PTS$和$\triangle PQO$都是直角三角形,且共享$\angle P$,对应边成比例:
$$\frac{s}{R} = \frac{PT}{PQ}$$ - 代入$PT = D-R$和$PQ = \sqrt{D2-R2}$,化简(注意$\sqrt{D2-R2} = \sqrt{(D-R)(D+R)}$)后得到最终公式:
$$s = R \cdot \sqrt{\frac{D-R}{D+R}}$$
二维场景:给定$d$和$r$求解$h$
这是三维场景的简化版,二维里我们有一个圆(半径$r$),观测点到圆心的距离为$d$;要放一条垂直于观测点-圆心连线的线段(对应三维的圆盘),线段与圆相切于连线上的点,要让线段刚好从观测点视角完全挡住整个圆,求线段的半长$h$:
- 逻辑和三维完全一致,同样用相似三角形推导:
$$\frac{h}{r} = \frac{d - r}{\sqrt{d^2 - r^2}}$$ - 化简后得到:
$$h = r \cdot \sqrt{\frac{d - r}{d + r}}$$
内容的提问来源于stack exchange,提问作者spraff




