How to determine optimal location of Bezier curve anchor points?

To draw this apple using (cubic) Bézier curves, the location and number of the anchor points can be varied:

enter image description here
(Apple image: Source)

The two curves cover the apple with some degree of accuracy, they are not perfect and I’m sure there is a better combination.


  • How the point locations should be determined to keep their number optimal?
  • In the case of this apple, is there an obvious better solution?

Links to reference material are welcome.

The curves have been drawn using Inkscape.


A typical strategy, used by many*, is to place points at the curve extrema, as mentioned by @RadLexus, in a comment. Extrema in this case are defined as places where the curve meets your paper orientation in 0 or 90 degree.

enter image description here

Image 1: One good strategy is to place points on extrema

Having more then 90 degrees between points makes it impossible for you to do elliptical (or cicular) shapes as the fit to such shapes starts to dramatically grow just after 90 degrees. So by using this strategy the problem never raises. Nothing says you need to do the 0 and 90 degree, you could do 40&deg and 130° lines, lines but the 0&deg, 90&deg lines are easy to find and usually there is a modifier to keep constrained that way. So if you keep lines at less than 90 degrees apart you should have less problems.

Outside the extrema in 90 degrees you may want to keep the point count as low as possible as more points does not equate to smoother line. Which is why you want to avoid doing by 45 degree increment unless the situation demand’s it. Sure you get more control but knowing where to place the curve is not necessarily possible so you get a wobbling line. Another good habit is to cut s shaped curves at the point where the curvature direction changes.

Since your using inkscape you may want to experiment with using spiro curves instead of beziers.

* though i do not use it.

Source : Link , Question Author : mins , Answer Author : Community

Leave a Comment