Mouvement d'un piston
Author: T. Vaissières

A = (-8, 5)
B = (-8, -5)
C = (-6, -5)
D = (-6, 4)
a = Segment(A, B)
b = Segment(D, C)
E = Midpoint(B, C)
c = Line(E, a)
F = Point(c)
d = 2
e = Circle(F, d)
G = Point(e)
f = 10
g = 10.2
h = Circle(G, g)
H = Intersect(h, c, 2)
i = Segment(H, G)
I = Point(a)
j = Segment(I, B)
k = OrthogonalLine(H, j)
J = Intersect(j, k)
K = Mirror(J, H)
L = Rotate(K, 270°, J)
M = Rotate(J, 90°, K)
P, k_1, j_1, l, m = Polygon(K, J, L, M)
n = Segment(F, G)
N = Point(e)
α = Angle(N, F, G)
X: (α, 0)
p = OrthogonalLine(X, k)
O = Intersect(k, p)
Q = Intersect(xAxis, yAxis)
q = Segment(Q, X)