func Arc(gc draw2d.GraphicContext, xc, yc, width, height float64) {
	// draw an arc
	xc += width / 2
	yc += height / 2
	radiusX, radiusY := width/2, height/2
	startAngle := 45 * (math.Pi / 180.0) /* angles are specified */
	angle := 135 * (math.Pi / 180.0)     /* clockwise in radians           */
	gc.SetLineWidth(width / 10)
	gc.SetLineCap(draw2d.ButtCap)
	gc.SetStrokeColor(image.Black)
	gc.MoveTo(xc+math.Cos(startAngle)*radiusX, yc+math.Sin(startAngle)*radiusY)
	gc.ArcTo(xc, yc, radiusX, radiusY, startAngle, angle)
	gc.Stroke()

	// fill a circle
	gc.SetStrokeColor(color.NRGBA{255, 0x33, 0x33, 0x80})
	gc.SetFillColor(color.NRGBA{255, 0x33, 0x33, 0x80})
	gc.SetLineWidth(width / 20)

	gc.MoveTo(xc+math.Cos(startAngle)*radiusX, yc+math.Sin(startAngle)*radiusY)
	gc.LineTo(xc, yc)
	gc.LineTo(xc-radiusX, yc)
	gc.Stroke()

	gc.MoveTo(xc, yc)
	gc.ArcTo(xc, yc, width/10.0, height/10.0, 0, 2*math.Pi)
	gc.Fill()
}
func Arc(gc draw2d.GraphicContext, xc, yc, width, height float64) {
	
	xc += width / 2
	yc += height / 2
	radiusX, radiusY := width/2, height/2
	startAngle := 45 * (math.Pi / 180.0) 
	angle := 135 * (math.Pi / 180.0)     
	gc.SetLineWidth(width / 10)
	gc.SetLineCap(draw2d.ButtCap)
	gc.SetStrokeColor(image.Black)
	gc.MoveTo(xc+math.Cos(startAngle)*radiusX, yc+math.Sin(startAngle)*radiusY)
	gc.ArcTo(xc, yc, radiusX, radiusY, startAngle, angle)
	gc.Stroke()

	
	gc.SetStrokeColor(color.NRGBA{255, 0x33, 0x33, 0x80})
	gc.SetFillColor(color.NRGBA{255, 0x33, 0x33, 0x80})
	gc.SetLineWidth(width / 20)

	gc.MoveTo(xc+math.Cos(startAngle)*radiusX, yc+math.Sin(startAngle)*radiusY)
	gc.LineTo(xc, yc)
	gc.LineTo(xc-radiusX, yc)
	gc.Stroke()

	gc.MoveTo(xc, yc)
	gc.ArcTo(xc, yc, width/10.0, height/10.0, 0, 2*math.Pi)
	gc.Fill()
}
func Arc ( gc draw2d . GraphicContext , xc , yc , width , height float64 ) { // draw an arc xc += width / 2 yc += height / 2 radiusX , radiusY := width / 2 , height / 2 startAngle := 45 * ( math . Pi / 180.0 ) /* angles are specified */ angle := 135 * ( math . Pi / 180.0 ) /* clockwise in radians           */ gc . SetLineWidth ( width / 10 ) gc . SetLineCap ( draw2d . ButtCap ) gc . SetStrokeColor ( image . Black ) gc . MoveTo ( xc + math . Cos ( startAngle ) * radiusX , yc + math . Sin ( startAngle ) * radiusY ) gc . ArcTo ( xc , yc , radiusX , radiusY , startAngle , angle ) gc . Stroke ( ) // fill a circle gc . SetStrokeColor ( color . NRGBA { 255 , 0x33 , 0x33 , 0x80 } ) gc . SetFillColor ( color . NRGBA { 255 , 0x33 , 0x33 , 0x80 } ) gc . SetLineWidth ( width / 20 ) gc . MoveTo ( xc + math . Cos ( startAngle ) * radiusX , yc + math . Sin ( startAngle ) * radiusY ) gc . LineTo ( xc , yc ) gc . LineTo ( xc - radiusX , yc ) gc . Stroke ( ) gc . MoveTo ( xc , yc ) gc . ArcTo ( xc , yc , width / 10.0 , height / 10.0 , 0 , 2 * math . Pi ) gc . Fill ( ) }
// Arc draws an arc with a positive angle (clockwise)
Arc draws an arc with a positive angle ( clockwise )