Q:

Tight approximation of a Torus Knot length

Is there a simple formula for a tight approximation of the torus knot length ? ( specifically a formula that does not involve integrals or any iterative procedures).  The torus knot parameters are $(p, q, R, r)$ where $(p,q)$ are co-primes and $R$ is major axis and $r$ is minor axis of the torus. 
Note: The approximation formula I am looking for is for generating a torus knot curve in a $3D$ application and for this purpose I need to know how many control points to define for the whole torus knot curve such that the sampling is neither too sparse nor too dense. 
Basically I would like to figure out an adaptive curve resolution algorithm that would adjust the number of control points based on the $(p,q,R,r)$ values set by the user interactively.  An exact length of the curve would be preferable if this could be computed fast enough to be interactive (e.g. user can change parameters and the curve updates in real time based on code written in python). 
What I have tried so far for my approximation of the number of control points is: $(pR + qr ) \times 20$, as if the "revolution" circles around the torus center and the "spin" circles around the torus tube are decoupled circles (e.g. $p$ revolution circles and $q$ spin circles total) multiplied by ($20$) number of points per unit length. 
I arrived to this formula more or less by by trial and error and I'd like to get a tighter approximation of the torus knot length than this formula.  

A:

The usual parametrization of a torus knot is
$$
\left. 
\begin{aligned}
x(t) &= \bigl(R + r\cos(pt)\bigr) \cos(qt), \\
y(t) &= \bigl(R + r\cos(pt)\bigr) \sin(qt), \\
z(t) &= r\sin(pt),
\end{aligned}
\right\}
\qquad 0 \leq t \leq 2\pi. 
$$
The arc length is
$$
\ell = \int_{0}^{2\pi} \sqrt{p^{2} r^{2} + q^{2}\bigl(R + r\cos(pt)\bigr)^{2}}\, dt. 
$$
Since
$$
(R - r)^{2} \leq \bigl(R + r\cos(pt)\bigr)^{2} \leq (R + r)^{2}\quad\text{for all $t$,}
$$
the arc length satisfies
$$
2\pi \sqrt{p^{2} r^{2} + q^{2} (R - r)^{2}}
  \leq \ell
  \leq 2\pi \sqrt{p^{2} r^{2} + q^{2} (R + r)^{2}}. 
$$
Is that close enough for your purposes?