Auteur ou autrice : Sergey Slyusarev.
Mise en ligne le 23 décembre 2024
Le paquet byrne
permet de reproduire les figures de l'édition des Éléments d'Euclide par Oliver Byrne.
Cet exemple illustre l'axiome des parallèles, dit également cinquième postulat d’Euclide.
Code
input byrne;
SOLID_LINE := 0;
SOLID_SECTOR := 0;
REGULAR_WIDTH := 0;
OMIT_FIRST_AND_LAST_LABEL := 2;
u := 1cm;
scaleFactor := 1.0;
textLabels := true;
beginfig(0);
startMainPictureMode;
pair A, B, C, D, E, F, G, H;
numeric s;
s := 3/2u;
A := (0, 0);
B := (4/3s, 0);
C := (0, s);
D := (4/3s, s);
E := (1/3s, 8/6s);
F := (xpart(E), -2/6s);
G = whatever[A, B] = whatever[E, F];
H = whatever[C, D] = whatever[E, F];
byAngleDefine(B, G, E, byred, SOLID_SECTOR);
byAngleDefine(D, H, F, byyellow, SOLID_SECTOR);
draw byNamedAngleResized();
draw byLine(A, B, byblue, SOLID_LINE, REGULAR_WIDTH);
draw byLine(C, D, byred, SOLID_LINE, REGULAR_WIDTH);
draw byLine(E, F, byblack, SOLID_LINE, REGULAR_WIDTH);
draw byLabelLine(0)(AB, CD, EF);
draw byLabelsOnPolygon(E, H, D)(OMIT_FIRST_AND_LAST_LABEL, 0);
draw byLabelsOnPolygon(B, G, F)(OMIT_FIRST_AND_LAST_LABEL, 0);
stopMainPictureMode;
endfig;
end.