For PSTricks, there exists the package pst-intersect
which I think is of use here, although this approach needs quite a lot of steps:
\documentclass[border=10pt]{standalone}
\usepackage{pst-intersect}
\definecolor{ctcolorgray}{gray}{.75}
\begin{document}
\psset{
unit=0.001,
linewidth=0.1pt,
}
\begin{pspicture}(5000,5000)
\pssavepath[linestyle=none]{c1}{\pscircle(2100,2100){1250}}
\pssavepath[linestyle=none]{c2}{\pscircle(2145,1600){1000}}
\pssavepath[linestyle=none]{c3}{\pscircle(2615,1850){750}}
\pssavepath[linestyle=none]{c4}{\pscircle(3085,2100){500}}
% reverse largest circle to clockwise
\pssavepath[linestyle=none]{s1}{
\pstracecurve[tstart=4, tstop=0]{c1}
}
% get intersections of largest circle reversed and second largest circle
\psintersect[name=i1]{s1}{c2}
% save arc of largest circle segment plus arc of second largest segment
\pssavepath[linestyle=none]{s2}{
\pstracecurve[istart=1, istop=2]{i1}{s1}
\pstracecurve[istart=0, istop=1]{i1}{c2}
}
% get intersections of above path with third largest circle
\psintersect[name=i2]{s2}{c3}
% save path ...
\pssavepath[linestyle=none]{s3}{
\pstracecurve[istart=0, istop=1]{i2}{s2}
\pstracecurve[istart=1, istop=2]{i2}{c3}
\pstracecurve[istart=2, istop=3]{i2}{s2}
}
% and so on ...
\psintersect[name=i3]{s3}{c4}
% ... until we get the complete path which we can draw and fill
\pscustom[fillstyle=solid, fillcolor=ctcolorgray]{
\pstracecurve[istart=0, istop=1]{i3}{s3}
\pstracecurve[istart=1, istop=2]{i3}{c4}
\pstracecurve[istart=2, istop=3]{i3}{s3}
}
\end{pspicture}
\end{document}
A similar solution using the fillbetween
library provided by TikZ/PGF:
\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usetikzlibrary{fillbetween}
\begin{document}
\begin{tikzpicture}[x=0.01, y=0.01, line width=0.1pt, fill=gray!10]
\path[name path=c1] (2100,2100) circle (1250);
\path[name path=c2] (2145,1600) circle (1000);
\path[name path=c3] (2615,1850) circle (750);
\path[name path=c4] (3085,2100) circle (500);
\path[name path=s12, intersection segments={of=c1 and c2, sequence={L1 -- R1[reverse]}}];
\path[name path=s123, intersection segments={of=s12 and c3, sequence={L1 -- R1[reverse]}}];
\filldraw[intersection segments={of=s123 and c4, sequence={L2 -- R2[reverse]}}];
\end{tikzpicture}
\end{document}
\psarc
), you need to switch to clockwise drawing (\psarcn
) afterwards to keep the connection intact. Then you just have to figure out the right angles.