2

2

4

2

2

2

?

?

?

?

stage = 1 (slider from 1 to 5, step 0.1)
A = Intersect(xAxis, yAxis)
B = Point(xAxis)
poly1, f, g, h, i, C, D = Polygon(A, B, 4)
E = Point(f)
F = Point(g)
G = Point(h)
theta = 0.5235987755982988 (slider from 0 to 0.7853981633974483, step π / 240)
H = Point(i)
q1, e, f_1, g_1, h_1 = Polygon(E, F, G, H)
E' = Rotate(E, (-theta), E)
F' = Rotate(F, (-theta), E)
G' = Rotate(G, (-theta), E)
H' = Rotate(H, (-theta), E)
q2, e', f', g', h' = Polygon(E', F', G', H')
zoom = -0.5 (slider from -0.5 to 10, step 0.05)
t = 0.85 (slider from 0 to 1, step 0.01)
E'' = Translate(E', (t, 0))
F'' = Translate(F', (t, 0))
G'' = Translate(G', (t, 0))
H'' = Translate(H', (t, 0))
q3, j, k, l, m = Polygon(Translate[E', ((-t), 0)], Translate[F', ((-t), 0)], Translate[G', ((-t), 0)], Translate[H', ((-t), 0)])
I = (1.414213562373095, 1.1102230246251565E-16)
poly2 = Polygon((x(I) - 2^((-zoom)), y(I) - 2^((-zoom))), (x(I) + 2^((-zoom)), y(I) - 2^((-zoom))), 4)
J = Midpoint(A, B)
K = Midpoint(B, C)
n = OrthogonalLine(K, g)
p = OrthogonalLine(J, f)
L = Point(p)
c = Circle(J, L)
M = Point(n)
d = Circle(K, M)
q = CircumcircleArc(A, L, B)
r = CircumcircleArc(B, M, C)
N = (1, 1)
text = If(stage ≟ 1, "\\1辺の長さが2なので下の図形は面積が4の正方形です。", stage ≟ 2, "\\半分にすると面積が2の正方形です。\\この時点では1辺の長さはわかりません。", stage ≟ 3, "\\回転してx軸に合わせます。", stage ≟ 4, "\\原点に移動すると1辺の長さが分かります。", stage ≟ 5, "\\拡大すると1辺の長さが1.4121356であることが分かります。\\これが\sqrt{2}です。")
s = Segment(H', F')
a = Segment(G', E')
O = Intersect(s, a)
O' = Translate(O, ((-t), 0))
P = Midpoint(E', F')
Q = Midpoint(F', G')
b = OrthogonalLine(Q, f')
i_1 = OrthogonalLine(P, e')
R = Point(i_1)
c_1 = Circle(P, R)
S = Point(b)
d_1 = Circle(Q, S)
e_1 = CircumcircleArc(F', S, G')
k_1 = CircumcircleArc(E', R, F')
E''_1 = Translate(E', ((-t), 0))
R' = Translate(R, ((-t), 0))
F''_1 = Translate(F', ((-t), 0))
p_1 = CircumcircleArc(E''_1, R', F''_1)
F''_2 = Translate(F', ((-t), 0))
S' = Translate(S, ((-t), 0))
G''_1 = Translate(G', ((-t), 0))
q_1 = CircumcircleArc(F''_2, S', G''_1)
text1: "" + (LaTeX[stage]) + "/5" + (LaTeX[text]) + ""

Tool: Tool1
Input: A
Output: h, g

B: (x(A), 0)
C: (0, y(A))
g = Segment(A, C)
h = Segment(A, B)