Reasonable approximation
As already stated in other answers, there is no exact way to do this. However, it is possible to efficiently approximate a solution.
My formula will only handle the upper right quadrant. Various sign changes will need to be applied to handle other quadrants.
Let d be your desired arc distance between consecutive points. Suppose the last plotted point is at (x,y).
|
b +-------._ (x,y)
| `@-._
| `-.
| `.
| \
-+--------------------+--->
O| a
Then the next point should be plotted at the following coordinates:
x' = x + d / sqrt(1 + b²x² / (a²(a²-x²)))
y' = b sqrt(1 - x'²/a²)
Proof
Let the next point be at (x+Δx,y+Δy). Both points satisfy the ellipse equation:
x²/a² + y²/b² = 1
(x+Δx)²/a² + (y+Δy)²/b² = 1
Getting rid of y in the equations gives:
Δy = b (sqrt(1 - (x+Δx)²/a²) - sqrt(1 - x²/a²))
We assume Δx is small enough, so we replace f(x+Δx)-f(x) with f'(x)Δx using the linear approximation for f':
Δy = -bxΔx / (a² sqrt(1 - x²/a²))
If d is small enough, then Δx and Δy are small enough and the arc length is close to the euclidian distance between the points. The following approximation is therefore valid:
Δx² + Δy² ~ d²
We replace Δy in the above and solve for Δx:
Δx ~ d / sqrt(1 + b²x² / (a²(a²-x²)))
What if d is not small enough?
If d is too large for the above approximations to be valid, simply replace d with d/N, for instance N = 3, and only plot one point out of N.
Final note
This method has problems at extrema (x = 0 or y = 0), that can be dealt with using additional approximations (ie. skipping the last point of the quadrant, whether it's actually plotted or not).
Handling the whole ellipse will probably be more robust by redoing the whole thing using polar coordinates. However, it's some work, and this is an old question, so I'll only do it if there is some interest from the original poster :-)