Modifying the algorithm for plotting algebraic functions
In a previous section, we described using the radial and azimuth equations to generate plots of the real and imaginary portions of an algebraic function. And for relatively simple functions, this is an adequate method. However, for more complicated functions the method can sometimes lead to a phenomenon we call "clifting" where the path of integration drifts from an analytically continuous sheet onto another branch. Because of this drifting, the algorithm produces discontinuous polygons resulting it steep and sharp changes in an otherwise smooth surface. We can greatly reduce this effect by changing our algorithm. This section describes this method.
Our method in Section 1 was to use the radial and azimuth equations to traverse the branches in an azimuthal direction, that is, using a constant radius, we travel in a circular path around the origin (or other center) between singular points. The problem with this method is that in order to obtain a plot which appears continuous between these radial segments, we traverse very close to the singular points, usually on the order of 0.001. But the function is changing sharply near the singular points. These sharp changes can disrupt the numerical integration causing the path to veer off the branch leading to the clifting effect. In order to reduce this effect, we first plot an accurate path over the branch surface at a mean distance, $r_m$, between singular points and then rather that traverse additional circular paths between the singular points between say $r_1$ to $r_2$, we instead keep the angular variable, $\theta$, constant and plot a radial path first from $r_m$ to $r_1$, and then another from $r_m$ to $r_2$. And we then vary $\theta$ between $0$ and $2n\pi$ for an $n$-cycle branch. This method turns out to be more numerically stable reducing the clifting effect.