\input preamble.tex % --------------------------------------------------------------------------- \begin{document} \begin{center} {\Huge \bf{Full Rational Quartic Bezier Curve}} \bigskip \begin{lapdf}(18,17.5)(-9,-8) \Setwidth(0.01) \Dash(1) \Polygon(-9,-6)(-8,+3)(+0,+8)(+8,+2)(+9,-6) \Stroke \Setwidth(0.02) \Dash(0) \Red \Rcurve(96)(-9,-6,+4)(-8,+3,+3)(+0,+8,+5)(8,+2,+3)(+9,-6,+4) \Stroke \Blue \Rcurve(96)(-9,-6,+4)(-8,+3,-3)(+0,+8,+5)(8,+2,-3)(+9,-6,+4) \Stroke \Black \Point(0)(-9,-6) \Point(1)(-8,+3) \Point(1)(+0,+8) \Point(1)(+8,+2) \Point(0)(+9,-6) \Text(-9.2,-5.8,tr){$P_0$} \Text(-8.2,+3.2,tr){$P_1$} \Text(+0.0,+8.2,bc){$P_2$} \Text(+8.2,+2.2,tl){$P_3$} \Text(+9.2,-5.8,tl){$P_4$} \end{lapdf} \end{center} \parskip0.2cm $P_1$ and $P_3$ of the blue curve have negative weights, but both curves share the same Bezier points and absolute weight values. Now we can see the complete Bezier curve. The proof for this needs some insight in projective geometry and it's rather involved, so I only give here the general rule for drawing complete rational Bezier curves: Make every odd weight negative and you'll get the complementary Bezier curve. You should notice that in this case the Bezier curve no longer lies in the convex hull of it's control polygon, because his is only holds if all weights are positive. It should also be mentioned that negative weights for other points can cause numerical problems, because the denominator can become zero. \end{document}