If you're looking to achieve this effect, I suggest using SVG. While the markup may seem simple, it's important to remember that there are four key rules that determine how the arc will be displayed between the two end points and whether it will take the "short way" or the "long way" based on the radius given.
For example, you can use a stylesheet like the following:
.arc{
fill: tan;
stroke: red;
stroke-width: 4px;
}
Combine this with an SVG path like so:
<svg width="100" height="100">
<path d="M 10,40 A 50,50 0 0 1 90,70"/>
</svg>
In summary, the commands in the above example are as follows:
- M (move mode with absolute coordinates)
- x,y (starting point of the arc)
- A (arc mode with absolute coordinates)
- r1,r2 (the radii of the ellipse around which the arc is drawn, using the same value twice creates a circle)
- Z rotation (rotation of the ellipse, 0 means no rotation)
- Large arc flag (refer to fiddle link below for details)
- Sweep flag (refer to fiddle link below for details)
- x,y (ending point of the arc)
I created a fiddle showcasing different combinations of the two flags in motion, which helped me understand when to use each one. http://jsfiddle.net/rgbk/avpye8nm
You can find more information in the W3C documentation here: http://www.w3.org/TR/SVG11/paths.html#PathDataEllipticalArcCommands. Please note that the description of z-rotation as "x-axis-rotation" is incorrect.