prologues := 2;
input geometriesyr16;
figure(-3.8u,-3.7u,7.2u,7.3u);%1
pair A,B,C,D,E,F,G,H;
%%% les points de base :
A=(0,0);
B=(3u,0);
C=(4u,.7u);
E=(0,3u);
%%% les autres :
D-A=C-B;
F-E=B-A;
G-F=C-B;
H-G=D-C;
trace A--B--C--G--H--E--F--G;
trace A--E;
trace B--F;
trace A--D--C dashed evenly;
trace D--H dashed evenly;
fin;
%%% 2
figure(-3.8u,-3.7u,7.2u,7.3u);
pair A,B,C,D,E,F,G,H;
%%% les points de base :
A=(0,0);
B=(3u,0);
C=(4u,.7u);
E=(0,3u);
%%% les autres :
D-A=C-B;
F-E=B-A;
G-F=C-B;
H-G=D-C;
trace G--H--E--A--B--C--G--F--B;
trace E--F;
trace C--D--A dashed evenly;
trace D--H dashed evenly;
fin;
%%% 3
figure(-3.8u,-3.7u,7.2u,7.3u);
pair A,B,C,D,E,F,G,H;
%%% les points de base :
A=(0,0);
B=(3u,0);
C=(3.7u,u);
E=(0,3u);
%%% les autres :
D-A=C-B;
F-E=B-A;
G-F=C-B;
H-G=D-C;
trace G--H--E--A--B--C--G--F--B;
trace E--F;
trace C--D--A dashed evenly;
trace D--H dashed evenly;
fin;
%%%%%% 4
figure(-3.8u,-3.7u,7.2u,7.3u);%1
pair A,B,C,D,E,F,G,H;
%%% les points de base :
A=(0,0);
B=(3u,0);
C=(2u,.7u);
E=(0,3u);
%%% les autres :
D-A=C-B;
F-E=B-A;
G-F=C-B;
H-G=D-C;
trace H--D--A--B--F--E--H--G--F;
trace A--E;
trace B--C--D dashed evenly;
trace C--G dashed evenly;
fin;
%%%% fig 5 : l'ombre de la table (corrigé)
figure(-4.5u,-2u,10u,10u);
pair A,B,C,D,E,F,G,H,O,I,V,M,P,Q,R,S;
path ombre;
A=(u,3u);
B=(5u,2.5u);
C=(6u,4u);
E=(u,.5u);
D-A=C-B;
F-B=E-A;
G-C=E-A;
H-D=E-A;
trace A--B--C--D--A withpen pencircle scaled 1.5bp;
trace A--E withpen pencircle scaled 1.5bp;
trace B--F withpen pencircle scaled 1.5bp;
trace C--G withpen pencircle scaled 1.5bp;
M-D=whatever*(D-H);
M-A=whatever*(B-A);
trace M--H withpen pencircle scaled 1.5bp;
trace D--M dashed evenly withpen pencircle scaled 1.5bp;
O=(-4u,u);
V=(-4u,5u);
I=(-1.5u,1.5u);
trace O--V withpen pencircle scaled 1.5bp;
trace O--I withpen pencircle scaled 1bp;
drawarrow (2V-I)--I dashed evenly;
nomme.bot(O);
nomme.bot(I);
nomme.lft(V);
nomme.lft(A);
nomme.rt(B);
nomme.top(C);
nomme.top(D);
nomme.lft(E);
nomme.rt(F);
nomme.rt(G);
nomme.rt(H);
P-E=whatever*(O-I);
P-A=whatever*(V-I);
Q-F=whatever*(O-I);
Q-B=whatever*(V-I);
R-G=whatever*(O-I);
R-C=whatever*(V-I);
S-H=whatever*(O-I);
S-D=whatever*(V-I);
ombre=P--Q--R--S--cycle;
fillcolor:=.5*white+.5*black;
transparence(ombre);
trace E--P withcolor .5*white+.5*black withpen pencircle scaled 1.5bp;
trace F--Q withcolor .5*white+.5*black withpen pencircle scaled 1.5bp;
trace G--R withcolor .5*white+.5*black withpen pencircle scaled 1.5bp;
trace H--S withcolor .5*white+.5*black withpen pencircle scaled 1.5bp;
fin;
%%% fig 6 : intersection
figure(-2u,-4.5u,8.5u,4.5u);
pair A,B,C,D,M,N,P,I,J;
numeric m,n,p;
A=(0,0);
B=(4u,-u);
C=(5u,u);
D=(2.5u,3u);
trace D--A--B--C--D--B;
trace A--C dashed evenly;
m=.4;
n=.65;
p=.5;
M-D=m*(A-D);
N-D=n*(B-D);
P-D=p*(C-D);
marque_p:="plein";
nomme.lft(M);
nomme.lft(N);
nomme.rt(P);
marque_p:="rien";
nomme.lft(A);
nomme.bot(B);
nomme.rt(C);
nomme.top(D);
I-B=whatever*(B-C);
I-N=whatever*(N-P);
J-B=whatever*(A-B);
J-N=whatever*(M-N);
trace droite(A,B);
trace droite(M,N);
trace droite(N,P);
trace droite(B,C);
trace droite(I,J) withpen pencircle scaled 2bp withcolor blue;
fin;
%% fig 7 : pyramide sur cube
figure(-2u,-4u,5u,5u);
pair A,B,C,D,E,F,G,H,S,M;
numeric ang,r;% angle et rapport de la persp //
A=(0,0);
B=(3u,0);
E=(0,3u);
r=.5;
ang=30;
F-E=B-A;
C-B=r*(B-A) rotated ang;
D-C=A-B;
H-D=E-A;
G-C=E-A;
trace G--C--B--F--E--A--B withpen pencircle scaled 1bp;
trace E--H--G--F withpen pencircle scaled 1bp;
trace A--D--C dashed evenly withpen pencircle scaled 1bp;
trace H--D dashed evenly withpen pencircle scaled 1bp;
nomme.llft(A);
nomme.lrt(B);
nomme.rt(C);
nomme.rt(G);
nomme.ulft(F);
nomme.ulft(H);
nomme.ulft(E);
nomme.ulft(D);
trace B--D dashed evenly;
trace A--C dashed evenly;
M=.5*(A+C);
S-M=(0,-3u);
trace S--M dashed evenly;
trace A--S--B withpen pencircle scaled 1bp withcolor blue;
trace S--C withpen pencircle scaled 1bp withcolor blue;
trace S--D dashed evenly withpen pencircle scaled 1bp withcolor blue;
nomme.bot(S);
fin;
% fig 8 : le cube perforé (par la face frontale)
figure(-u,-u,10u,10u);
pair A,B,C,D,E,F,G,H;
pair I,J,K,L,M,N,O,P;
numeric r,ang;
path car;
A=(0,0);
B=(3.6u,0);
C=(3.6u,3.6u);
D-C=A-B;
r:=.5;
ang:=30;
B-F=r*(A-B) rotated ang;
G-C=F-B;
H-D=G-C;
E-A=H-D;
trace G--H--D--A--B--F--G--C--B;
trace C--D;
trace A--E--F dashed evenly;
trace E--H dashed evenly;
I-A=(1/3)*(C-A);
K-A=(2/3)*(C-A);
J-B=(1/3)*(D-B);
L-B=(2/3)*(D-B);
M-I=F-B;
N-J=F-B;
O-K=F-B;
P-L=F-B;
trace I--J--K--L--I;
trace I--M--N--J dashed evenly;
trace N--O--K dashed evenly;
trace O--P--L dashed evenly;
trace P--M dashed evenly;
fin;
% fig 9 : la fenêtre
figure(-u,-u,14u,10u);
pair A,B,C,D,O,Q,P,S,T,R,E;
Q=(0,0);
O=(0,7u);
P=(6u,9u);
S-P=Q-O;
T=(13u,6.5u);
R-T=S-P;
trace O--P--T--R--S--Q--O withpen pencircle scaled 1bp;
trace P--S withpen pencircle scaled 1bp;
A=(5u,7u);
B-A=.3*(O-P);
D-A=.25*(S-P);
C-D=B-A;
trace A--B--C--D--A withpen pencircle scaled 1.5bp;
E=(8u,5.5u);
drawarrow A--E withpen pencircle scaled 1.5bp dashed evenly;
label.top(btex A' etex, E);
nomme.top(P);
nomme.top(O);
nomme.bot(Q);
nomme.bot(S);
nomme.bot(R);
nomme.top(T);
nomme.top(A);
nomme.top(B);
nomme.bot(C);
nomme.bot(D);
%%%%%% corrigé
pair F,G,H; % les coins de l'ombre de la fenêtre
pair I; % points provisoires
% le point H = D'
H-E=D-A;
% I = (AB) inter (PS)
I-A=whatever*(A-B);
I-P=whatever*(P-S);
% le point F=B':
F-B=whatever*(E-A);
F-I=whatever*(E-I);
trace A--I dashed evenly;
trace demidroite(I,E) dashed evenly;
trace demidroite(B,F) dashed evenly;
G-F=C-B;
trace E--F--G--H--E withcolor blue withpen pencircle scaled 1bp;
drawarrow B--F withpen pencircle scaled 1.5bp dashed evenly;
drawarrow C--G withpen pencircle scaled 1.5bp dashed evenly;
drawarrow D--H withpen pencircle scaled 1.5bp dashed evenly;
fin;
% fig 10 : cercle tangent à une face de cube (bis)
figure(-2u,-2u,10u,10u);
pair A,B,C,D,E,F,G,H,I,M;
numeric ang,r;% angle et rapport de la persp //
A=(0,0);
B=(4u,0);
E=(0,4u);
r=.5;
ang=30;
F-E=B-A;
C-B=r*(B-A) rotated ang;
D-C=A-B;
H-D=E-A;
G-C=E-A;
trace G--C--B--F--E--A--B withpen pencircle scaled 1bp;
trace E--H--G--F withpen pencircle scaled 1bp;
trace A--D--C dashed evenly withpen pencircle scaled 1bp;
trace H--D dashed evenly withpen pencircle scaled 1bp;
I=.5*(A+F);
trace cercles(I,.5*(E+F)) withcolor blue;
trace (2u+2*cosd(40)*u,4u)--(2u+2*cosd(40)*u,0) withcolor blue;
trace (0,2u+2*sind(40)*u)--(4u,2u+2*sind(40)*u) withcolor blue;
fin;
%%%% fig 11 : cubes sur cube
figure(-2u,-2u,7u,15u);
pair A,B,C,D,E,F,G,H;
numeric ang,r;% angle et rapport de la persp //
A=(0,0);
B=(4u,0);
E=(0,4u);
r=2/3;
ang=30;
F-E=B-A;
C-B=r*(B-A) rotated ang;
D-C=A-B;
H-D=E-A;
G-C=E-A;
trace G--C--B--F--E--A--B withpen pencircle scaled 1bp;
trace G--F withpen pencircle scaled 1bp;
trace A--D--C dashed evenly withpen pencircle scaled 1bp;
trace H--D dashed evenly withpen pencircle scaled 1bp;
trace E--H--G dashed evenly withpen pencircle scaled 1bp;
pair I,J,K,L;
I=2E-A;
J=2F-B;
K=2G-C;
L=2H-D;
trace E--I--J--F withpen pencircle scaled 1bp;
trace J--K--G withpen pencircle scaled 1bp;
trace L--H dashed evenly withpen pencircle scaled 1bp;
pair M,N,O,P,Q,R,S,T,V,W;
M=.5*(I+J);
N=.5*(J+K);
O=.5*(K+L);
P=.5*(L+I);
trace P--M--N withpen pencircle scaled 1bp;
trace N--O--P dashed evenly withpen pencircle scaled 1bp;
V=.5*(F+J);
Q-M=(V-M) rotated 135;
R-N=Q-M;
S-O=Q-M;
T-P=Q-M;
trace M--Q--R--N withpen pencircle scaled 1bp;
trace R--S--T--Q withpen pencircle scaled 1bp;
trace T--P withpen pencircle scaled 1bp;
trace S--O dashed evenly withpen pencircle scaled 1bp;
W-K=whatever*(K-L);
W-N=whatever*(N-R);
trace K--W withpen pencircle scaled 1bp;
trace P--I withpen pencircle scaled 1bp;
trace L--W dashed evenly withpen pencircle scaled 1bp;
trace L--P dashed evenly withpen pencircle scaled 1bp;
fin;
% fig 12 : le cube perforé (par la face latérale)
figure(-u,-u,10u,10u);
pair A,B,C,D,E,F,G,H;
pair I,J,K,L,M,N,O,P;
numeric r,ang;
path car;
A=(0,0);
B=(3.6u,0);
C=(3.6u,3.6u);
D-C=A-B;
r:=.5;
ang:=30;
B-F=r*(A-B) rotated ang;
G-C=F-B;
H-D=G-C;
E-A=H-D;
trace G--H--D--A--B--F--G--C--B;
trace C--D;
trace A--E--F dashed evenly;
trace E--H dashed evenly;
I-C=(1/3)*(F-C);
K-C=(2/3)*(F-C);
J-B=(1/3)*(G-B);
L-B=(2/3)*(G-B);
M-I=A-B;
N-J=A-B;
O-K=A-B;
P-L=A-B;
trace I--J--K--L--I;
trace I--M--N--J dashed evenly;
trace N--O--K dashed evenly;
trace O--P--L dashed evenly;
trace P--M dashed evenly;
fin;
% fig 13 : le cube perforé (par la face supérieure)
figure(-u,-u,10u,10u);
pair A,B,C,D,E,F,G,H;
pair I,J,K,L,M,N,O,P;
numeric r,ang;
path car;
A=(0,0);
B=(3.6u,0);
C=(3.6u,3.6u);
D-C=A-B;
r:=.5;
ang:=30;
B-F=r*(A-B) rotated ang;
G-C=F-B;
H-D=G-C;
E-A=H-D;
trace G--H--D--A--B--F--G--C--B;
trace C--D;
trace A--E--F dashed evenly;
trace E--H dashed evenly;
I-C=(1/3)*(H-C);
K-C=(2/3)*(H-C);
J-D=(1/3)*(G-D);
L-D=(2/3)*(G-D);
M-I=B-C;
N-J=B-C;
O-K=B-C;
P-L=B-C;
trace I--J--K--L--I;
trace I--M--N--J dashed evenly;
trace N--O--K dashed evenly;
trace O--P--L dashed evenly;
trace P--M dashed evenly;
fin;
%%%% fig 14 : pyramide à droite du cube
figure(-2u,-4u,9u,5u);
pair A,B,C,D,E,F,G,H,S,M;
numeric ang,r;% angle et rapport de la persp //
A=(0,0);
B=(3u,0);
E=(0,3u);
r=.5;
ang=30;
F-E=B-A;
C-B=r*(B-A) rotated ang;
D-C=A-B;
H-D=E-A;
G-C=E-A;
trace G--C--B--F--E--A--B withpen pencircle scaled 1bp;
trace E--H--G--F withpen pencircle scaled 1bp;
trace A--D--C dashed evenly withpen pencircle scaled 1bp;
trace H--D dashed evenly withpen pencircle scaled 1bp;
nomme.llft(A);
nomme.lrt(B);
nomme.rt(C);
nomme.rt(G);
nomme.ulft(F);
nomme.ulft(H);
nomme.ulft(E);
nomme.ulft(D);
trace B--G dashed evenly;
trace F--C dashed evenly;
M=.5*(F+C);
S-M=(5u,0);
trace S--M dashed evenly;
trace F--S--B withpen pencircle scaled 1bp withcolor blue;
trace S--C dashed evenly withpen pencircle scaled 1bp withcolor blue;
trace S--G withpen pencircle scaled 1bp withcolor blue;
nomme.bot(S);
fin;
%%%%% fig 15: pyramide derrière le cube
figure(-2u,-4u,7u,5u);
pair A,B,C,D,E,F,G,H,S,M;
numeric ang,r;% angle et rapport de la persp //
A=(0,0);
B=(3u,0);
E=(0,3u);
r=.5;
ang=30;
F-E=B-A;
C-B=r*(B-A) rotated ang;
D-C=A-B;
H-D=E-A;
G-C=E-A;
trace G--C--B--F--E--A--B withpen pencircle scaled 1bp;
trace E--H--G--F withpen pencircle scaled 1bp;
trace A--D--C dashed evenly withpen pencircle scaled 1bp;
trace H--D dashed evenly withpen pencircle scaled 1bp;
nomme.llft(A);
nomme.lrt(B);
nomme.rt(C);
nomme.rt(G);
nomme.ulft(F);
nomme.ulft(H);
nomme.ulft(E);
nomme.ulft(D);
trace G--D dashed evenly;
trace H--C dashed evenly;
M=.5*(H+C);
S-M=3*r*(B-A) rotated ang;
trace S--M dashed evenly;
trace D--S dashed evenly withpen pencircle scaled 1bp withcolor blue;
trace C--S--G withpen pencircle scaled 1bp withcolor blue;
trace H--S withpen pencircle scaled 1bp withcolor blue;
nomme.rt(S);
fin;
%%% fig 16 cube de coté 5cm r=1/2 alpha=30
figure(-2u,-2u,8u,8u);
pair A,B,C,D,E,F,G,H;
numeric ang,r;% angle et rapport de la persp //
A=(0,0);
B=(5u,0);
E=(0,5u);
r=.5;
ang=30;
F-E=B-A;
C-B=r*(B-A) rotated ang;
D-C=A-B;
H-D=E-A;
G-C=E-A;
trace G--C--B--F--E--A--B withpen pencircle scaled 1bp;
trace E--H--G--F withpen pencircle scaled 1bp;
trace A--D--C dashed evenly withpen pencircle scaled 1bp;
trace H--D dashed evenly withpen pencircle scaled 1bp;
nomme.llft(A);
nomme.lrt(B);
nomme.rt(C);
nomme.rt(G);
nomme.ulft(F);
nomme.ulft(H);
nomme.ulft(E);
nomme.ulft(D);
fin;
%%% fig 17 : pavé droit
figure(-2u,-2u,10u,8u);
pair A,B,C,D,E,F,G,H;
numeric ang,r;% angle et rapport de la persp //
D=(0,0);
C=(5u,0);
A=(0,3u);
r=.75;
ang=35;
B-A=C-D;
G-C=(4/5)*r*(C-D) rotated ang;
F-B=G-C;
E-A=G-C;
H-D=G-C;
trace C--B--F--E--A--B withpen pencircle scaled 1bp;
trace A--D--C--G--F withpen pencircle scaled 1bp;
trace D--H--G dashed evenly withpen pencircle scaled 1bp;
trace H--E dashed evenly withpen pencircle scaled 1bp;
nomme.llft(A);
nomme.lrt(B);
nomme.rt(C);
nomme.rt(G);
nomme.ulft(F);
nomme.ulft(H);
nomme.ulft(E);
nomme.ulft(D);
fin;
%%%%% fig 18 : pyramide à base carrée
figure(-2u,-4u,9u,8u);
pair A,B,C,D,S,M;
numeric ang,r;% angle et rapport de la persp //
A=(0,0);
B=(6u,0);
r=.5;
ang=30;
C-B=r*(B-A) rotated ang;
D-C=A-B;
M=.5*(A+C);
S-M=(0,5u);
trace S--A--B--S--C--B;
trace S--D dashed evenly;
trace A--D--C dashed evenly;
nomme.llft(A);
nomme.lrt(B);
nomme.rt(C);
nomme.ulft(D);
nomme.top(S);
trace B--D dashed evenly;
trace A--C dashed evenly;
trace S--M dashed evenly;
fin;
%%%% fig 19 : pyramide base triangle equilat
%% partie 1 : le triangle
figure(-u,-u,5.5u,5.5u);
pair A,B,C,I,J,K,H;
A=(0,0);
B=(5u,0);
C-B=(A-B) rotated -60;
trace A--B--C--A;
I=.5*(B+A);
trace droite(I,C);
J=.5*(B+C);
trace droite(A,J);
H-A=whatever*(A-J);
H-C=whatever*(C-I);
K=.5*(H+C);
nomme.lft(A);
nomme.rt(B);
nomme.ulft(C);
nomme.lrt(H);
nomme.lrt(I);
marque_p:="plein";
nomme.llft(K);
marque_p:="rien";
fin;
%%% fig 20 : pyramide base triangle equilat
%% partie 2 : la pyramide
figure(-2u,-2u,8u,8u);
pair A,B,C,I,J,S,H;
numeric r,ang;
r=2/3;
ang=65;
A=(0,0);
B=(5u,0);
I=.5*(A+B);
C-I=(sqrt(18.75)/5)*r*(B-A) rotated ang;
J=.5*(B+C);
H-A=whatever*(A-J);
H-C=whatever*(C-I);
trace A--B withpen pencircle scaled 1bp withcolor blue;
trace B--C--A dashed evenly withpen pencircle scaled 1bp withcolor blue;
trace C--I dashed evenly;
trace A--J dashed evenly;
nomme.lrt(H);
nomme.rt(B);
nomme.lft(A);
nomme.lft(C);
nomme.bot(I);
nomme.rt(J);
S-H=(0,6u);
trace A--S--B withpen pencircle scaled 1bp withcolor blue;
trace S--C dashed evenly withpen pencircle scaled 1bp withcolor blue;
trace S--H dashed evenly;
nomme.lft(S);
fin;
%%%% fig 21 : l'ocatèdre
figure(-2u,-2u,10u,10u);
pair A,B,C,D,E,F,G,H;
pair I,J,K,L,M,N,O,P,Q,R,S,T;
numeric ang,r;% angle et rapport de la persp //
A=(0,0);
B=(5u,0);
E=(0,5u);
r=.5;
ang=30;
F-E=B-A;
C-B=r*(B-A) rotated ang;
D-C=A-B;
H-D=E-A;
G-C=E-A;
trace G--C--B--F--E--A--B;
trace E--H--G--F;
trace A--D--C dashed evenly;
trace H--D dashed evenly;
I=.5*(A+C);
J=.5*(A+F);
K=.5*(B+G);
L=.5*(C+H);
M=.5*(D+E);
N=.5*(E+G);
trace J--M--I--J--K withpen pencircle scaled 1bp withcolor blue;
trace K--L--M withpen pencircle scaled 1bp dashed evenly withcolor blue;
trace I--K withpen pencircle scaled 1bp withcolor blue;
trace L--I withpen pencircle scaled 1bp dashed evenly withcolor blue;
trace J--N--K withpen pencircle scaled 1bp withcolor blue;
trace L--N withpen pencircle scaled 1bp dashed evenly withcolor blue;
trace M--N withpen pencircle scaled 1bp withcolor blue;
fin;
%%%% fig 22 : la fenêtre (bis)
figure(-u,-u,15u,10u);
pair A,B,C,D,O,Q,P,S,T,R,E;
Q=(0,u);
O=(0,7u);
P=(6u,9u);
S-P=Q-O;
T=(13u,6.5u);
R-T=S-P;
trace O--P--T--R--S--Q--O withpen pencircle scaled 1bp;
trace P--S withpen pencircle scaled 1bp;
A=(5u,7u);
B-A=.4*(O-P);
D-A=.25*(S-P);
C-D=B-A;
trace A--B--C--D--A withpen pencircle scaled 1.5bp;
E=(8u,4.5u);
drawarrow A--E withpen pencircle scaled 1.5bp dashed evenly;
label.top(btex A' etex, E);
nomme.top(P);
nomme.top(O);
nomme.bot(Q);
nomme.bot(S);
nomme.bot(R);
nomme.top(T);
nomme.top(A);
nomme.top(B);
nomme.bot(C);
nomme.bot(D);
%%%%%% corrigé
pair F,G,H; % les coins de l'ombre de la fenêtre
pair I,J,K,L,M,N; % points provisoires
% le point H = D'
H-E=D-A;
% I = (AB) inter (PS)
I-A=whatever*(A-B);
I-P=whatever*(P-S);
% Le point J = intersection du haut de l'ombre avec plinthe
J-E=whatever*(E-I);
J-R=whatever*(S-R);
trace A--I--E dashed evenly;
trace H--E--J withcolor blue withpen pencircle scaled 1bp;
% K = intersec bas de l'ombre avec plinthe
K-H=whatever*(E-J);
K-S=whatever*(S-R);
trace H--K withcolor blue withpen pencircle scaled 1bp;
%L et M "pieds" des montants verticaux de la fenêtre
L-B=whatever*(B-C);
L-Q=whatever*(Q-S);
%M-D=whatever*(A-D);
%M-Q=whatever*(Q-S);
trace C--L dashed evenly;
%trace D--M dashed evenly;
% G et F : ombres de C et B
G-C=whatever*(A-E);
G-L=whatever*(L-K);
F-B=whatever*(A-E);
F-L=whatever*(L-J);
trace L--F dashed evenly;
trace L--G dashed evenly;
trace J--F--G--K withpen pencircle scaled 1bp withcolor blue;
drawarrow B--F withpen pencircle scaled 1.5bp dashed evenly;
drawarrow C--G withpen pencircle scaled 1.5bp dashed evenly;
drawarrow D--H withpen pencircle scaled 1.5bp dashed evenly;
fin;
end