I need to visualize some fractal circle arrangements where tangent circles can vary by ten orders of magnitude. In such cases the circles are not being drawn as tangent.
Example: The red and blue circles generated below are tangent at {0,0}, but with large red radius they are not drawn so, and the drawing error changes with PlotRange.
Manipulate[
Graphics[{Red, Disk[{-(10^logR), -(10^logR)}/Sqrt[2], 10^logR]
,Blue, Disk[{1, 1}/Sqrt[2], 1]}
,Axes -> True
,ImageSize -> 200
,PlotRange -> {{-plotRange, plotRange}, {-plotRange, plotRange}}
,PlotRangeClipping -> True]
,{{logR, 6}, 0, 10, 1, Appearance -> "Labeled"}
,{plotRange, 1, 100, 1, Appearance -> "Labeled"}
]
-- Is there a way to fix this?
Note it breaks even here, where all inputs to Graphics are exact numbers (have also tried SetPrecision on those inputs, to no avail.)
UPDATE - sample output per request:
Here are some sample outputs, tho not integer logR values to show some partial misbehavior. The first and last are fine, the middle ones broken.
Note that simply changing the ImageSize also changes the error, as does even selecting and enlarging the Graphics by hand in the nb.
Here is a picture from my actual context, one particular asymptotic neighborhood of interest. I need the blue circle to be tangent to all those green ones, not overlapping.
FYI: The large blue circle and the green one at the end of the zig-zag dotted line are essentially generated by
Module[{xyGreen = {0.93836`40, 0.34624`40}},
Graphics[{Darker@Darker@Blue, Disk[{0, 0}, 1]
, Darker@Green,
Disk[xyGreen, EuclideanDistance[{0, 0}, xyGreen] - 1]},
PlotRange -> {{0.93514, 0.94175}, {0.34259, 0.34921}}]
]
(The EuclideanDistance calculation and the `40 precision mean these circles should really be tangent well beyond the precision needed)