summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/metapost/featpost/example/tug04/planintersection.mp
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example/tug04/planintersection.mp')
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/tug04/planintersection.mp105
1 files changed, 105 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/tug04/planintersection.mp b/Master/texmf-dist/doc/metapost/featpost/example/tug04/planintersection.mp
new file mode 100644
index 00000000000..a3ab18237c4
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/tug04/planintersection.mp
@@ -0,0 +1,105 @@
+% planintersection.mp
+% L. Nobre G.
+% 2004
+
+verbatimtex \documentclass{article}\begin{document}{\sffamily etex
+
+beginfig(1);
+ f := 0.5*(10,14,5.5);
+ color a, x, b, c, D, y, w, g, h;
+ color auxa, auxb, auxc, auxd, auxe, auxf;
+ pair appear;
+ numeric wid, hei, alfa, beta, forw, back, labscal;
+ pen thedotpen, borderpen, normalpen;
+ picture dasha, dashb, labx, laba, labb, labc, labD;
+ path outerb, innerb, apath, bpath;
+ wid = 1.5;
+ hei = 1;
+ forw = 1.5;
+ back = 1.5;
+ alfa = -10;
+ beta = -30;
+ labscal = 2.8;
+ labeloffset := 8pt;
+ ahangle := 30;
+ ahlength := 10pt;
+ a = ( 0.7*forw, 0.15*wid, 0.3*hei );
+ b = ( -0.7*back, 0.5*wid, 0.8*hei );
+ c = ( 0, 0.7*wid, 0.5*hei );
+ D = ( cosd( alfa )*cosd( beta ), sind( alfa )*cosd( beta ), sind( beta ) );
+ labx = btex $\vec{x}$ etex scaled labscal;
+ laba = btex $\vec{a}$ etex scaled labscal;
+ labb = btex $\vec{b}$ etex scaled labscal;
+ labc = btex $\vec{c}$ etex scaled labscal;
+ labD = btex $\vec{D}$ etex scaled labscal;
+ thedotpen = pencircle scaled 4pt;
+ borderpen = pencircle scaled 2pt;
+ normalpen = pencircle scaled 1.5pt;
+ dasha = evenly scaled 2;
+% dashb = dashpattern( on 7pt off 5pt on 7pt );
+ dashb = withdots;
+ apath = rp((X(a),Y(a),0))--rp(a)--rp((X(a),0,Z(a)));
+ bpath = rp((X(b),Y(b),0))--rp(b)--rp((X(b),0,Z(b)));
+ auxa = ( forw, 0, 0 );
+ auxb = ( forw, 0, hei );
+ auxc = ( -back, 0, hei );
+ auxd = ( -back, 0, 0 );
+ auxe = ( -back, wid, 0 );
+ auxf = ( forw, wid, 0 );
+ outerb = rp(auxa)--rp(auxb)--rp(auxc)--rp(auxd)--rp(auxe)--rp(auxf)--cycle;
+ draw outerb withpen borderpen;
+ draw rp(auxa)--rp(auxd) withpen borderpen;
+
+ draw bpath dashed dasha withpen normalpen;
+ draw rp(b) withpen thedotpen;
+ label.top( labb, rp(b) );
+
+ draw rp(a)--rp(b) withpen normalpen;
+
+ cdotprod( y-c, D ) = 0;
+ cdotprod( y-black, green ) = 0;
+ cdotprod( y-black, blue ) = 0;
+
+ cdotprod( w-c, D ) = 0;
+ cdotprod( w-black, green ) = 0;
+ cdotprod( w-hei*blue, blue ) = 0;
+
+ cdotprod( g-c, D ) = 0;
+ cdotprod( g-wid*green, green ) = 0;
+ cdotprod( g-hei*blue, blue ) = 0;
+
+ cdotprod( h-c, D ) = 0;
+ cdotprod( h-wid*green, green ) = 0;
+ cdotprod( h-black, blue ) = 0;
+
+ innerb = rp(y)--rp(w)--rp(g)--rp(h)--cycle;
+ unfill innerb;
+ draw innerb withpen borderpen;
+
+ draw apath dashed dasha withpen normalpen;
+ draw rp(a) withpen thedotpen;
+ label.top( laba, rp(a) );
+
+ x = whatever[a,b];
+ cdotprod( x-c, D ) = 0;
+ draw rp(x) withpen thedotpen;
+ label.top( labx, rp(x) );
+
+ draw rp(a)--rp(x) withpen normalpen;
+ draw rp(x)--rp(b) withpen normalpen dashed dashb;
+
+ draw rp(c) withpen thedotpen;
+ drawarrow rp(c)--rp(c+0.7*D) withpen borderpen;
+ label.top( labc, rp(c) );
+
+ label.bot( labD, rp(c+0.5*D) );
+
+ draw rp(x)--rp(c) dashed dasha withpen normalpen;
+ drawoptions( withpen normalpen );
+ squareangline( x, c+D, c, 0.08*wid );
+
+endfig;
+
+verbatimtex }\end{document} etex
+
+end;