Comment 8 for bug 332735

Revision history for this message
Alvin Penner (apenner) wrote :

    after further inspection, it looks like the files : draw-context.cpp, dyna-draw-context.cpp, dropper-context.cpp, tweak-context.cpp need not be affected by this change. These 4 files appear to be drawing a full ellipse, not a partial ellipse, and they appear to be doing it in 4 equal quadrants, so there is no problem. At a 90 degree angle the value of C1 is perfectly acceptable. The correct value would be :
C1 = 4*tan(PI/8)/3 = 4*(sqrt(2)-1)/3 = .552285
which is close enough to .552. So there is no point in modifying these files.

    However, it is still essential that the file sp-ellipse.cpp be patched, because it is used to calculate arbitrary arc angle values where the agreement will not be so good.
For example, at an arc angle of 45 degrees, the new formula predicts
len = 4*tan(PI/16)/3 = .265
while the original formula predicts
len = .552/2 = .276
This is 4 % too high, which is easily detectable on a visual display, and this 4% error is most likely causing the bulge outwards which is shown in the attached svg file.