Mueva el punto con su cursor, 
para indicar porque número desea amplificar.

FRACCIONES EQUIVALENTES

A = (0, 8)
B = (0, 6)
C = (1, 6)
D = (1, 8)
polígono1, a, b, c, d = Polygon(A, B, C, D)
E = (0, 4)
F = (0, 2)
G = (1, 2)
H = (1, 4)
polígono2, e, f, g, h = Polygon(E, F, G, H)
numerador = 2 (slider from 0 to 20, step 1)
denominador = 11 (slider from 1 to 20, step 1)
k = 2 (slider from 1 to 10, step 1)
I = (0, -2)
vector1: b / denominador
J = Point(Circle[I, b / denominador])
i = Segment(I, J)
u = Vector(I, J)
lista1 = Sequence(Translate[A, Vector[u * i]], i, 1, If[numerador > denominador, numerador, denominador])
lista2 = Sequence(Translate[B, Vector[u * i]], i, 1, If[numerador > denominador, numerador, denominador])
lista3 = Sequence(Segment[Element[lista1, i], Element[lista2, i]], i, 1, numerador)
lista4 = Sequence(Segment[Element[lista1, i], Element[lista2, i]], i, 1, denominador)
equinum: numerador * k
equiden: denominador * k
K = (0, -4)
L = Point(Circle[K, b / equiden])
l = Segment(K, L)
v = Vector(K, L)
lista5 = Sequence(Translate[F, Vector[v * i]], i, 1, If[numerador > denominador, equinum, equiden])
lista6 = Sequence(Translate[E, Vector[v * i]], i, 1, If[numerador > denominador, equinum, equiden])
lista7 = Sequence(Segment[Element[lista5, i], Element[lista6, i]], i, 1, equinum)
lista8 = Sequence(Segment[Element[lista5, i], Element[lista6, i]], i, 1, equiden)
m, m_2, m_3, m_4, m_5, m_6 = Polygon(F, Element[lista5, equinum], Element[lista6, equinum], E, F)
j, j_2, j_3, j_4, j_5, j_6 = Polygon(A, Element[lista1, numerador], Element[lista2, numerador], B, A)
M = (0, 0)
n = Segment(A, M)
N: (numerador / denominador, 0)
p = Vector(Element[lista2, numerador], N)
texto1: "$ \frac{" + (LaTeX[numerador]) + "}{" + (LaTeX[denominador]) + "} =\frac{" + (LaTeX[numerador]) + "×" + (LaTeX[k]) + "}{" + (LaTeX[denominador]) + "×" + (LaTeX[k]) + "}=\frac{" + (LaTeX[equinum]) + "}{" + (LaTeX[equiden]) + "}$"

Tool: bloque
selecciona dos puntos de izquierda a derecha para construir el bloque
Input: A, B
Output: polígono1

a = OrthogonalLine(A, xAxis)
c = Circle(A, 0.25)
C, D = Intersect(c, a)
u = Vector(A, B)
D' = Translate(D, u)
polígono1, d, a_1, b, d' = Polygon(D, A, B, D')