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