I am trying to implement Milne's predictor method to solve the eq. for iso-lux contours according to this paper by Arvo. Here is the predictor:
From the paper: "It is a multistep method that predicts the new point by extrapolating from the three most recent gradients and function values using a parabola. where gk denotes the gradient at the point rk, and h is the step size".
For a y=f(x) function, with step size h, I understand how to move the initial point to get the last three points. Moving along x axis:
however I cannot work it out what direction to move the initial point(e.g. the red dot) if the curve is defined on the xy plane, like this:
Are the last three points on the iso-line?
Is the step h defined on a grid of points in x, y directions, and the previous point would be (x-h,y-h)? But most likely that point wouldn't end up on the curve.
Or is the k index defined on the parameterized eq. of the curve, so to go one step backward on the curve? But this also does't make sense to me as this isn't the case on the above 1D function example, where the step size is defined on the x axis not on the curve.
My other question regards the contouring algorithm,
I know the marching sq method to draw the iso-line contours. What are the methods for smoothing/refining the contour, specifically by using the function gradient?