Schneid[u_, v_] := Cross[u, v];
Verb[u_, v_] := Schneid[u, v];
Huellkurve[u_, t_] := Cross[u, D[u, t]];
Ortskurve[u_, t_] := Huellkurve[u, t];

    
Cart[u_] := Take[u/u[[3]], 2]

p[t_] = {Cos[t], Sin[t], 1};
g[t_] = Verb[p[t], p[2  t]];

kardioide[t_] = Ortskurve[g[t], t] // Cart // FullSimplify // 
        TrigReduce

ParametricPlot[kardioide[t], {t, 0, 2  Pi}, 
        AspectRatio -> Automatic, Axes -> False];