It really is not that difficult. First, we define a three-dimensional circle defined by the position of its center, and two vectors that span the plane in which it is located:
Circle3D[{x_, y_, z_}, {v1 : {_, _, _}, v2 : {_, _, _}}, r_] :=
Line[Table[{x, y, z} + {r Cos[2 Pi t], r Sin[2 Pi t]}.{v1, v2}, {t,
0, 1, 1/120}]]
Then, given the point {x,y,z}on the cone with the tip in {0,0,h}, the tangents are {x,y,z-h}and {-y,x,0}. The rest is just drawing:
ConeQuestion[h_, theta_, pt : {x_, y_, z_},
d_] /; (x^2 + y^2) Cos[theta]^2 == Sin[theta]^2 (z - h)^2 :=
Module[{tangents},
tangents = {Normalize[{0, 0, h} - pt], Normalize[{-y, x, 0}]};
{{Opacity[0.8, Yellow], Cone[{{0, 0, 0}, {0, 0, h}}, h*Tan[theta]]},
{Thick, Dashed, Circle3D[pt, tangents, d]},
{Red, Sphere[pt, 1/10]},
{Orange,
Line[{pt - d Normalize[{-y, x, 0}],
pt + d Normalize[{-y, x, 0}]}]}}
]
