ii = 1 (slider from 1 to 7, step 1)
A = Point(xAxis)
B = Point(Ray[A, A + (1, 0)])
a = Segment(A, B)
C = Point(a)
i: round(ii)
f(x) = (0 * x)
lista: {x^(2), x, 10^(x), x^(3) - (2 * x^(2)), 1 / x, sin(x), f}
flista = Function(Element[lista, i], x(A), x(B))
P: (x(C), flista(x(C)))
e = Tangent(P, flista)
h = OrthogonalLine(P, e)
D = Point(h)
c = OsculatingCircle(P, flista)
O = If(Defined[c], Center[c], D)
Q: P - (P - O) / abs(P - O)
b = Segment(P, Q + (100 * (Q - P)))
P' = Point(b)
d = Segment(P', P)
PI: P - ((P - O) / abs(P - O) * d)
offset = Locus(PI, 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]) + "}"