no i did not find any algorithm. but their is this article on Wikipedia which shows that we don't have some kind of algorithm, instead the half cone that you mentioned has a different value at different position.
" the orbital state vectors (en.wikipedia.org/wiki/Orbital_state_vectors) of an orbit are cartesian vectors of position and velocity that together with their time (epoch ) uniquely determine the trajectory of the orbiting body in space. The body does not actually have to be in orbit for its state vector to determine its trajectory; it only has to move ballistically , i.e., solely under the effects of its own inertia and gravity.
Because even satellites in low earth orbit experience significant perturbations (primarily from the non-spherical shape of the earth), the Keplerian elements computed from the state vector at any moment are only valid at that time. Such element sets are known as osculating elements (en.wikipedia.org/wiki/Osculating_elements) because they coincide with the actual orbit only at that moment.
An osculating orbit and the object's position upon it can be fully described by the six standard Keplerian orbital elements (osculating elements), which are easy to calculate as long as one knows the object's position and velocity relative to the central body. The osculating elements would remain constant in the absence of perturbations . However, real astronomical orbits experience perturbations that cause the osculating elements to evolve, sometimes very quickly. In cases where general celestial mechanical analyses of the motion have been carried out, the orbit can be described by a set of mean elements with secular and periodic terms.
Put in more general terms, a perturbed trajectory can be analysed as if assembled of points, each of which is contributed by a curve out of a sequence of curves. Variables parameterising the curves within this family can be called orbital elements . Typically (though not necessarily), these curves are chosen as Keplerian conics, all of which share one focus. In most situations, it is convenient to set each of these curves tangent to the trajectory at the point of intersection. Curves that obey this condition (and also the further condition that they have the same curvature at the point of tangency as would be produced by the object's gravity towards the central body in the absence of perturbing forces) are called osculating, while the variables parameterising these curves are called osculating
elements. In some situations, description of orbital motion can be simplified and approximated by choosing orbital elements that are not osculating. Also, in some situations, the standard (Lagrange-type or Delaunay-type) equations furnish orbital elements that turn out to be non-osculating."
My answer : So, as per the above statements you have to make many no. of cones for many instants. Hence you cannot have a single algoritm for complete orbit but at each instant you can apply some formula. I did not calculate it, you can. And may be those computer programmings for orbital calculations also use this method.
plz look these articles on wikipedia, then you will understand better, i have mentioned the links.