In Scilab the arc can be rendered in two ways. The first one uses nurbs curves and then produce perfect circles. However the use of nurbs curves is very slow in the current JOGL implementation and does not work in GL2PS (probably because it generate too many polygons). The second one just decompose the circle into small triangles.
The Java entry points are the ArcLineDrawerGL and ArcFillDrawerGL classes, one drawing the outside of the arc, the second drawing the inside. Depending on the mode to use each one will use either a ArcFillTools or ArcLineTools to render. Both of these last 2 classes have refinements to draw either using nurbs or simple decomposition.
Drawing circles with lines or polygons is pretty easy. For nurbs all the usefull methods hidding the complexity can be found in the NurbsArcGL class. One very usefull methods used for each case is the setCoordinatesToCircleGL which allows a unitary draw a cirle instead of the requested ellipse.