Source

verbatimtex
%&latex
\documentclass{article}
\begin{document}
etex

input geometriesyr16;

pair emno,emso,emse,emne,emh,emv,egf,ef,epf;
emno=u*(-0.1,0.1);
emso=u*(-0.1,-0.1);
emse=u*(0.1,-0.1);
emne=u*(0.1,0.1);
emh=u*(0.1,0);
emv=u*(0,0.1);

vardef murcourt(expr prt)=
save $; picture$;
$=image( trace hachurage(polygone(prt-5*emh,prt-5*emh+emv,% prt+5*emh+emv,prt+5*emh),60,0.2,0); trace polygone(prt-5*emh,prt-5*emh+emv,prt+5*emh+% emv,prt+5*emh); );$
enddef;

figure(0,0,20u,20u);
pair A,B,C,D,E,F,G,H,I,J,K,L;
A=u*(7,4);
B-A=-25*emv;
E-B=-60*emh;
C-B=-15*emh;
D-E=15*emh;
G-E=60*emv;
F=iso(G,E);
J-G=70*emh;
H-G=30*emh;
I-H=20*emh;
L=(xpart(A),ypart(F));
K=(xpart(J),ypart(L));
trace murcourt(C);
trace murcourt(D);
trace murcourt(H-emv);
trace murcourt(I-emv);
trace hachurage(polygone(E,G,G+5*emh,G+5*emh-emv,G+emse,%
E+emne,E+5*emh+emv,E+5*emh),60,0.2,0);
trace polygone(E,G,G+5*emh,G+5*emh-emv,G+emse,E+emne,%
E+5*emh+emv,E+5*emh);
trace hachurage(polygone(B,A,A-emh,B+emno,B-5*emh+emv,%
B-5*emh),60,0.2,0);
trace polygone(B,A,A-emh,B+emno,B-5*emh+emv,B-5*emh);
trace hachurage(polygone(J,K+15*emv,K+15*emv-emh,J+emso,%
J-5*emh-emv,J-5*emh),60,0.2,0);
trace polygone(J,K+15*emv,K+15*emv-emh,J+emso,J-5*emh-emv,%
J-5*emh);
trace hachurage(polygone(K,L,L+emv,K+emno,K-emh+5*emv,%
K+5*emv),60,0.2,0);
trace polygone(K,L-emh,L-emh+emv,K+emno,K-emh+5*emv,K+5*emv);
%separations intérieures
trace segment(H-emv,(xpart(H),ypart(F+emv)));
trace segment(C+emv,(xpart(C),ypart(A-2*emv)));
trace segment(D+emv,(xpart(D),ypart(A)));
marque_r:=2;
trace marquedemidroite((xpart(D),ypart(A)),D);
trace segment((xpart(D),ypart(A))-2*emv,(xpart(D),ypart(A))%
-2*emv+2*emh);
trace marquedemidroite((xpart(D),ypart(A))-2*emv+2*emh,%
(xpart(D),ypart(A))-2*emv);
trace segment((xpart(D),ypart(A))-2*emv+7*emh,(xpart(C),%
ypart(A))-2*emv+2*emh);
trace marquesegment((xpart(D),ypart(A))-2*emv+7*emh,%
(xpart(C),ypart(A))-2*emv+2*emh);
trace segment((xpart(C),ypart(A))-2*emv+7*emh,(xpart(B),%
ypart(A))-2*emv-emh);
trace marquedemidroite((xpart(C),ypart(A))-2*emv+7*emh,%
(xpart(B),ypart(A))-2*emv-emh);
trace segment((xpart(D),ypart(F))+2*emh+emv,F+emh+emv);
trace marquedemidroite((xpart(D),ypart(F))+2*emh+emv,%
F+emh+emv);
trace segment((xpart(H),ypart(F))+emv-2*emh,(xpart(H),%
ypart(F))+emv+2*emh);
trace marquesegment((xpart(H),ypart(F))+emv-2*emh,%
(xpart(H),ypart(F))+emv+2*emh);
trace segment((xpart(H),ypart(F))+emv+7*emh,%
(xpart(I),ypart(L))+emv+2*emh);
trace marquesegment((xpart(H),ypart(F))+emv+7*emh,%
(xpart(I),ypart(L))+emv+2*emh);
trace segment(I-emv,(xpart(I),ypart(L))+emv);
trace segment(L+emv-2*emh,L+emv);
trace marquedemidroite(L+emv-2*emh,L+emv);
trace appelation(I,K,0,btex \footnotesize Chambre etex);
trace appelation(H,I+K-J,0,btex \footnotesize Chambre etex);
trace appelation(G,H+K-J,0,btex \footnotesize Salon etex);
trace appelation(F,D,0,btex \footnotesize Chambre etex);
trace appelation(D+A-B,C,0,btex \footnotesize Cuisine etex);
trace appelation(C+A-B,B,0,%
btex \footnotesize Salle de bains etex);
fin;
end