public void WriteArc (float cx, float cy, float radius, float startAngle, float endAngle, float w, string stroke, string strokeOp, string fill)
{
var sa = startAngle + Math.PI;
var ea = endAngle + Math.PI;
var sx = cx + radius * Math.Cos (sa);
var sy = cy + radius * Math.Sin (sa);
var ex = cx + radius * Math.Cos (ea);
var ey = cy + radius * Math.Sin (ea);
WriteLine("<path d=\"M {0} {1} A {2} {3} 0 0 1 {4} {5}\" stroke=\"{6}\" stroke-opacity=\"{7}\" stroke-width=\"{8}\" fill=\"{9}\" />",
sx, sy,
radius, radius,
ex, ey,
stroke, strokeOp, w, fill);
}