This SVG example illustrates how to create paths that approximate a circle. The first path, shown in red, is a linear path approximation. The second path, shown in brown, is a quadratic approximation. The third path, show in a blue, is a cubic approximation composed of two cubic sections. The fourth path, shown in lime green, is a cubic approximation composed of four sections. Finally, a circle is drawn in black on top of the lime green path to demonstrate that it is a perfect approximation.
<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg" viewBox="-1 -1 2 2">
<!-- A linear path approximation -->
<path d="M-.9,0 L0,-.9 L.9,0 L0,.9 Z"
fill="none" stroke="red" stroke-width=".002" />
<!-- Draws a crude circle with four quardratic interpolations -->
<path d="M-.9,0 Q-.9,-.9 0,-.9 T.9,0 T0,.9 T-.9,0"
fill="none" stroke="brown" stroke-width=".002"/>
<!-- Draws an approximate circle with two cubic interpolations -->
<path d="M-.9,0 C-.9,-1.2 .9,-1.2 .9,0 S-.9,1.2 -.9,0"
fill="none" stroke="blue" stroke-width=".002"/>
<!-- Draws a perfect circle with four cubic interpolations -->
<!-- Implied control point at .5,-.9 -->
<!-- Implied control point at .9,.5 -->
<!-- Implied control point at -.5,.9 -->
<path d="M-.9,0 C-.9,-.5 -.5,-.9 0,-.9
S.9,-.5 .9,0
S.5,.9 0,.9
S-.9,.5 -.9,0"
fill="none" stroke="lime" stroke-width=".01"/>
<!-- Draws a circle for comparison -->
<circle cx="0" cy="0" r=".9" fill="none" stroke="black" stroke-width=".001"/>
</svg>
© 20072025 XoaX.net LLC. All rights reserved.