I would like to ask for an efficient method / algorithm to sample a 2-dim curve with the following criteria. The curve is guaranteed not to cross itself.

- The number of points should be minimized;
- The sample curve, which connects all the sample points together with lines, should resemble the original one.

For example, since sample points are connected with lines, a line should then be sampled with just two points on both ends. But for an arc, there are more points along it to make the sample curve accurate enough.