summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/metapost/featpost/example/project.mp
blob: 34d4e7e4b13cfe90095adcee75e283609e33ba17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
% project.mp
% L. Nobre G.
% 2013

verbatimtex \documentclass{article}\begin{document} etex

beginfig(1);
	ahangle := 30;
	numeric angthe, angalf, angpsi, xtopo, ytopo, xpoin;
	numeric radthe, radalf, radpsi, extenfac;
	numeric ysize, xsize, margs, units, parac, i, dim;
	pair vzer, incl, hori, topo;
	path parab, plani, veloc, xaxis, yaxis, auxil;
	pen thick, usual, vthin;
angpsi = -13;
extenfac = 1.2;
	dim = 50;
	units = 1mm;
	margs = 8units;
	xsize = 70units;
	ysize = 40units;
	radthe = 34units;
	radalf = 46units;
	radpsi = 22units;
	thick = pencircle scaled 0.5units;
	usual = pencircle scaled 0.2units;
	vthin = pencircle scaled 0.1units;
	xtopo = xsize/2-margs;
	ytopo = ysize-2*margs;
	parac = ytopo/(xtopo*xtopo);
	yaxis = ( 0, -margs/2 )--( 0, ysize-margs );
	xaxis = ( -margs, 0 )--( xsize-margs, 0 );
	plani = (margs*( -cosd( angpsi ), -sind( angpsi ) ) )
	--(extenfac*( 2*xtopo, 2*xtopo*sind( angpsi )/cosd( angpsi ) ) );
	topo = ( xtopo, ytopo );
	parab = origin;
	for i = 1 upto extenfac*dim:
	    xpoin := 2*i*xtopo/dim;
	    parab := parab..(xpoin,ytopo-parac*(xpoin-xtopo)*(xpoin-xtopo));
	endfor;
	ypart( vzer ) = ytopo;
	vzer = whatever*( direction 0 of parab );
	veloc = origin--vzer;
	hori = ( 2*xtopo, 0 );
	incl = plani intersectionpoint reverse parab;
	auxil = origin--topo;
	pickup thick;
	draw parab cutafter reverse plani;
	drawarrow veloc;
	pickup usual;
	drawarrow xaxis;
	drawarrow yaxis;
	draw plani;
	draw parab cutbefore reverse plani dashed evenly;
%	draw auxil dashed evenly;
	pickup vthin;
	draw fullcircle scaled radthe cutafter veloc;
%	draw fullcircle scaled radalf cutafter auxil;
	draw fullcircle scaled radpsi cutafter plani;

	dotlabel.urt( btex $H$ etex, hori );
	dotlabel.urt( btex $I$ etex, incl );
%	dotlabel.top( btex $T$ etex, topo );
	label.bot( btex $x$ etex, point 1 of xaxis );
	label.lft( btex $y$ etex, point 1 of yaxis );
	label.lft( btex $\vec{v}_0$ etex, vzer );
	label.urt( btex $\Theta$ etex, ( radthe/2, 0 ) );
%	label.urt( btex $\alpha$ etex, ( radalf/2, 0 ) );
	label.urt( btex $\Psi$ etex, ( radpsi/2, 0 ) );
endfig;

verbatimtex \end{document} etex

end;