First of all, everything that follows refers to real functions and numbers. Let us define a parametric equation $r(t)=(x(t),y(t))=(-\sin{t},\cos{t})$ and two functions: \begin{equation*} f(x)=4x\qquad\text{and}\qquad g(x)=\frac{x}{2^{\lfloor\ln(x)\rfloor}} \end{equation*}
We retrieve the tangents by iterating $t$ within a real interval $]0,stop]$, where each tangent passes the two points $P_1$ and $P_2$:
\begin{array}{ll} P_1=(x_{P_1},y_{P_1})=r(2\pi\cdot g(t))) & P_2=(x_{P_2},y_{P_2})=r(2\pi\cdot g(f(t))) \end{array}
For example, when $t$ ran from $1$ to $100$ in steps of $0.2$ we retrieve the following cardioid-like curve:

Many such curves can be generated by varying the functions $f$ and $g$ slightly, for example:

How can I proceed to determine the function of these nice curves from its given tangents resulting from the parameterized equation $r(t)$ and both functions $f$ and $g$?
One can retrace and plot the curve as a family of lines using the following parametric function:
r[t_] := (x = -Sin[t]; y = Cos[t]; {x, y});
f[n_] := n*4;
g[n_] := n/2^Floor[Log[n]];
parametricFunc[t_, u_] := (P1 = r[2 Pi*g[t]];
P2 = r[2 Pi*g[f[t]]]; {P1[[1]] + u*(P2[[1]] - P1[[1]]),
P1[[2]] + u*(P2[[2]] - P1[[2]])});
ParametricPlot[parametricFunc[t, u], {t, 0.01, 1}, {u, 0, 1}]
It produces the following definition:

Could not quite understand how the curve is defined.
The following includes a drastic simplification of $g(t)$ using identity
$$ u ^ {\log v} = v^ {\log u} ; \; $$
$$f(t)=4t$$ $$g(t)=\frac{t}{2^{\log t}}=\frac{t}{t^{\log 2}}= t^ \lambda \text{ if}\;\lambda= (1- \log 2) $$ $$ g(f(t))= (4t)^\lambda $$
Connecting vector $ ( P1-P2) $ parametrization
$$ 2 \pi(4^\lambda -1) (-\sin t,\cos t)\; t^\lambda; \;$$
which plots to a spiral $(0<t< 50) $ before even going to its envelope.
Please comment for further understanding of the question.