缩小一个圆,同时保留所有点在里面

Reduce a circle while keeping all points inside

我正在尝试减小圆的大小,但将所有点保留在圆内。

A点和C点是圆S的一部分。线段F连接A点和C点。线R垂直于F并穿过圆心,在G点。我想推圆心G 朝向 F 和 R 的交点以减小 S 的大小。但是我需要将点 D 保持在圆内,所以我不能将 G 一直移动到那个交点。

我想知道如何计算在保持 D 位于圆内的情况下我可以将 G 沿该交叉点的方向移动多少。

请注意,当将 G 移向交叉点时,半径会减小,因为我的程序的目标是获得包含所有点的最小圆。

我知道这是 Smallest-circle Problem。我正在做的是处理我的算法的一个特例,它试图解决那个确切的问题。

有什么想法吗?我一直在比较 G 可以移动多少的向量,但还没有想出任何东西。

那么新的G点在DA的中线上