f(x) = (0 * x)
lista: {x^(2), x, 10^(x), x^(3) - (2 * x^(2)), 1 / x, sin(x), f}
ii = 1 (slider from 1 to 7, step 1)
i: round(ii)
A = Point(xAxis)
B = Point(Ray[A, A + (1, 0)])
a = Segment(A, B)
C = Point(a)
flista = Function(Element[lista, i], x(A), x(B))
P: (x(C), flista(x(C)))
c = OsculatingCircle(P, flista)
e = Tangent(P, flista)
h = OrthogonalLine(P, e)
D = Point(h)
O = If(Defined[c], Center[c], D)
Q: P + (P - O) / abs(P - O)
b = Segment(P, Q + (100 * (Q - P)))
P' = Point(b)
dd: abs(P - P')
d = Segment(P', P)
PE: P + ((P - O) / abs(P - O) * d)
offset = Locus(PE, C)
g = Segment(C, P)
texto1: "\bgcolor{ffffff}{Función\;" + (If[i ≟ 7, "f(x)\;a\;definir", "" + i]) + "}"
texto2: "\bgcolor{ffffff}{f(x)\;=\;" + (Element[lista, i]) + "}"
PE2: P + ((P - O) / abs(P - O) * dd)