summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/lapdf/quartic.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/lapdf/quartic.tex')
-rw-r--r--macros/latex/contrib/lapdf/quartic.tex45
1 files changed, 45 insertions, 0 deletions
diff --git a/macros/latex/contrib/lapdf/quartic.tex b/macros/latex/contrib/lapdf/quartic.tex
new file mode 100644
index 0000000000..b51af6c3e2
--- /dev/null
+++ b/macros/latex/contrib/lapdf/quartic.tex
@@ -0,0 +1,45 @@
+\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}