Maybe use Pruning
and SkeletonTransform
as an alternative。
reg = BoundaryDiscretizeRegion[
BoundaryDiscretizeGraphics[
Text[Style[ω, Bold, FontFamily -> "Times"]], _Text]];
pic = Image[
Pruning[SkeletonTransform[ColorNegate@Graphics@reg,
Method -> Automatic], {35}], ImageSize -> 400];
g = Graphics[{Opacity[.3], reg}, ImageSize -> 400];
Overlay[{ColorNegate@pic, g}]

reg = BoundaryDiscretizeRegion[
BoundaryDiscretizeGraphics[
Text[Style[ω, Bold, FontFamily -> "Times"]], _Text]];
dist = SignedRegionDistance[reg];
radius = Abs@
First@NMinimize[{dist@{x, y}, {x, y} ∈ reg}, {x, y}];
Dynamic[With[{sol =
NMinimize[{dist@{x, y}, {x, y} ∈ reg, {x, y} ∈
Disk[RegionNearest[reg][
MousePosition["Graphics",
RegionNearest[reg][RegionCentroid[reg]]]],.5*radius]}, {x, y},
Method -> Automatic]},
Graphics[{reg, Red, Disk[{x, y} /. sol[[2]], Abs[sol[[1]]]], Blue,
AbsolutePointSize[3], Point[{x, y} /. sol[[2]]]}]]]

reg = BoundaryDiscretizeRegion[
BoundaryDiscretizeGraphics[
Text[Style[ω, Bold, FontFamily -> "Times"]], _Text]];
dist = SignedRegionDistance[reg];
radius = Abs@
First@NMinimize[{dist@{x, y}, {x, y} ∈ reg}, {x, y}];
findPoint[{x0_, y0_}] :=
NMinimize[{dist@{x, y}, {x, y} ∈ reg, {x, y} ∈
Disk[RegionNearest[reg][{x0, y0}], .5*radius]}, {x, y},
Method -> Automatic][[2, ;; , 2]];
DynamicModule[{list = {}},
EventHandler[
Dynamic[Graphics[{{Opacity[.2], reg},
Point@list}]], {"MouseClicked" :>
AppendTo[list,
findPoint[
MousePosition["Graphics",
RegionNearest[reg][RegionCentroid@reg]]]]}]]

reg = BoundaryDiscretizeRegion[
BoundaryDiscretizeGraphics[
Text[Style[℘, Bold, FontFamily -> "Times"]], _Text]];
dist = SignedRegionDistance[reg];
radius = Abs@
First@NMinimize[{dist@{x, y}, {x, y} ∈ reg}, {x, y}];
findPoint[{x0_, y0_}] :=
NMinimize[{dist@{x, y}, {x, y} ∈ reg, {x, y} ∈
Disk[RegionNearest[reg][{x0, y0}], .2*radius]}, {x, y},
Method -> Automatic];
list = {};
DynamicModule[{},
EventHandler[
Dynamic[Deploy@
Graphics[{{Opacity[.2], reg},
Point[list[[;; , 2, ;; , 2]]]}]], {"MouseMoved" :>
AppendTo[list,
findPoint[
MousePosition["Graphics",
RegionNearest[reg][MousePosition["Graphics"]]]]]}]]
After collect all the data in list
, we draw the animation.
list;
ani = Animate[
Graphics[{reg, Red,
Table[Disk[{x, y} /. list[[i]][[2]], list[[i]][[1]] // Abs], {i,
1, k}]}, PlotRange -> 4], {k, 1, Length@list}]

Thinning
$\endgroup$