summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/metapost/featpost/example/standard/kindofcube.mp
blob: c2e6a99f5a9e2d8d7fb9394ad32ce0721e714290 (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
75
76
77
78
79
80
81
% kindofcube.mp
% L. Nobre G.
% 2003

%input featpost3Dplus2D;

verbatimtex
\documentclass{article} 
\usepackage{beton,concmath,ccfonts} 
\begin{document} 
etex

Spread := 30;
f := 5.4*(1.5,0.5,1);

beginfig(1);
  numeric gridstep, sidenumber, i, j, coord, aa, ab, ac;
  color pa;
  gridstep = 0.9;
  sidenumber = 10;
  coord = 0.5*sidenumber*gridstep;
  for i=0 upto sidenumber:
    for j=0 upto sidenumber:
      pa := (-coord+j*gridstep,-coord+i*gridstep,0);
      aa := uniformdeviate(360);
      ab := uniformdeviate(180);
      ac := uniformdeviate(90);
      kindofcube( false, false, pa, aa, ab, ac, 0.4, 0.4, 0.9 );
    endfor;
  endfor;
endfig;

beginfig(2);
  f := (4,1.0,0.5);
  Spread := 120;
  numeric lena, lenb, lenc, aa, ab, ac, angray, micr;
  pair zeror;
  color axa, axb, axc, returnedcorner, dummyc, auxx, auxy;
  lena=0.3;
  lenb=0.6;
  lenc=0.9;
  aa=130;
  ab=20;
  ac=70;
  angray=0.7;
  micr=0.01;
  zeror=rp(black);
  cartaxes(1,1,1);
  axa = ( cosd(aa), sind(aa), 0 );
  axb = axa*cosd(ab)+blue*sind(ab);
  auxx= ( cosd(aa+90), sind(aa+90), 0);
  auxy = ncrossprod( axb, auxx );
  axc = auxx*cosd(ac)+auxy*sind(ac);
  draw zeror--rp(axa);
  draw zeror--rp(axb);
  draw zeror--rp(-axa);
  draw zeror--rp(axc);
  draw zeror--rp(auxx);
  label.rt( btex $a$ etex, rp(axa) );
  label.rt( btex $b$ etex, rp(axb) );
  label.lft( btex $c$ etex, rp(auxx) );
  label.lft( btex $d$ etex, rp(axc) );
  label.bot( btex $o$ etex, zeror );
  angline( axa,red,black,angray,btex $\alpha_1$ etex,bot );
  angline( axb,axa,black,angray,btex $\alpha_2$ etex,rt );
  angline( axc,auxx,black,angray,btex $\alpha_3$ etex,lft );
  squareangline( -axa,auxx,black,0.2);
  kindofcube( true, true, black, aa, ab, ac, lena, lenb, lenc );
  draw zeror--rp(blue) dashed evenly;
  dotlabel.bot( btex $l_1$ etex, rp(lena*axb) );
  dotlabel.rt( btex $l_2$ etex, rp(lenb*axc) );
  dotlabel.top( btex $l_3$ etex, rp(lenc*ncrossprod(axb,axc) ) );
endfig;
  
verbatimtex 
\end{document} 
etex

end.