# Perfect 3D-curve RMDPL-IPOs& Bresenham’s 3D-Curve Algorithm (Part 2 & 3)

The paper presents three new 26-connected constant feedrate incremental step algorithms that can be used in practical situations in CNC machining tools. The 1st, the perfect 3D line IPO is 100% incremental, the word "perfect" means that the accuracy can be much better than the accuracy of Bresenham's 3D line (e.g. accuracy can be 37% worse). The simplified state diagram computes one perfect major axis points and possibly a perfect non-major axis point. The selection criterion uses the real 3D distance to the line. The 2nd, the perfect 3D curve IPO is a QSIC-algorithm (intersection of two quadrics). The selection criterion uses the "Relative Curve Measurement Theorem" extended to quadrics and QSICs. The consequences of this theorem are crucial, it means that one must not calculate the time-consuming distance to the 3D curve, but it suffices to calculate the RMDPL or the relative minimal distance of two candidate points to the polar line of the QSIC with respect to the midpoint of the candidate points. As the midpoints are close to the curve, the polar lines enclose and inclose the curve. Theoretical, the RMDPL is fundamental, it is the core of all the successful 2D incremental step algorithms and the paper proves that it is the core of the 3D incremental step algorithms or the 3D reference pulse IPOs. Thanks to the RMDPL, the paper represents QSICs in a unique way comparable with 3D-lines. The 3rd, Bresenham's imperfect 3D curve IPO is less accurate but super-fast and can be used in many practical situations as the maximum error (MaxErr) is bounded to 0.707. The curve algorithms can have singular points, but that problem is simple solved. Each curve is a sub-segment of a monotonic curve from the starting extreme point to the ending extreme point. All the extreme points and the singular points are offline precomputed as the intersection points of three quadrics. The constant feedrate of sampled-data curves is clear when the arc length is known, but the real time calculation of the arc length of incremental step curves was until now an open problem. The former paper used the super-fast PRM-cs algorithm for 3D-lines and 2D curves and the same constant feedrate algorithm (actually, a real time length algorithm) can be used even in integer form. The implementation of the constant feedrate algorithm to a 26-connected curve with high accuracy turns out to be piece of cake in contrast to the sampled-data curves. All IPOs can be converted to constant feedrate listSIM-IPOs which can be used in real time in rigid simplified CNC machine tools.