Question: How a figure evolves when a point moves

restart;
with(plots);
with(geometry);
_EnvHorizontalName := 'x';
_EnvVerticalName := 'y';
xA := 5;
yA := 0;
point(A, xA, yA);
xB := 5;
yB := -7;
point(B, xB, yB);
midpoint(C, A, B);
segment(sg1, A, B);
xP := -12;
yP := 0;
point(P, xP, yP);
PerpenBisector(L, C, P);
line(YYp, y = yB);
line(XXp, y = 0);
intersection(M, L, YYp);
line(PM, [P, M]);
projection(H, C, PM);
triangle(CMP, [C, M, P]);
triangle(ABH, [A, B, H]);
distance(B, H);
circle(cir, [B, 7]);
display(textplot([[coordinates(A)[], "A"], [coordinates(B)[], "B "], [coordinates(C)[], "C"], [coordinates(M)[], "M"], [coordinates(H)[], "H"], [coordinates(P)[], "P"]], align = {"above", 'right'}),
draw([YYp(color = red), XXp(color = black), PM(color = green), L(color = green), sg1(color = black), cir(color = magenta), P(color = black, symbol = solidcircle, symbolsize = 10), M(color = black, symbol = solidcircle, symbolsize = 10), H(color = black, symbol = solidcircle, symbolsize = 10), A(color = blue, symbol = solidcircle, symbolsize = 10), B(color = blue, symbol = solidcircle, symbolsize = 10), CMP(color = blue, filled = true, transparency = 0.8), ABH(color = red, filled = true, transparency = 0.8), C(color = blue, symbol = solidcircle, symbolsize = 10)]),
axes = none, view = [-15 .. 14, -15 .. 3]);
I want to change this figure when xP varies from -12 to 12; Is it possible to use Explore or animate ? Thank you.

Please Wait...