As Yves Daoust explained, you can use one of the Runge-Kutta methods to numerically solve the differential equation for your parameter. However, if the step size is small (the speed is low) you can get by with simple Euler integration. In other words,
$\frac{\Delta u}{\Delta t} \approx \frac{du}{dt}$
so just let $\Delta u = \Delta t \cdot \frac{du}{dt}$
To optimize this calculation we can express the arc length differential in terms of $x$ and $y$. The equations below use $a$ and $b$ for the $x$ & $y$ frequencies, rather than your 6 & 4, in order to make the result apply to any Lissajous figure. They also use $\theta$ for the parameter; I figured that was appropriate because we're dealing with trigonometric functions, and I guess it looks a little more professional. :)
$$\begin{align}
\text{Let } x & = \cos (a \theta), \, y = \sin (b \theta) \\
\frac{dx}{d\theta} & = - a \sin (a \theta), \, \frac{dy}{d\theta} = b \cos (b \theta) \\
\\
\frac{ds}{d\theta}^2 & = \frac{dx}{d\theta}^2 + \frac{dy}{d\theta}^2 \\
& = a^2 \sin^2 (a \theta) + b^2 \cos^2 (b \theta) \\
& = a^2 (1 - \cos^2 (a \theta)) + b^2 (1 - \sin^2 (b \theta)) \\
& = a^2 (1 - x^2) + b^2 (1 - y^2) \\
\frac{ds}{d\theta} & = \sqrt{a^2 (1 - x^2) + b^2 (1 - y^2)}\\
\\
v & = \frac{ds}{dt} = \frac{ds}{d\theta} \cdot \frac{d\theta}{dt}\\
\\
\text{Therefore}\\
\frac{d\theta}{dt} & = \frac{v}{ds/d\theta}\\
\Delta\theta & \approx \frac{\Delta t \cdot v}{ds/d\theta}\\
& = \frac{\Delta t \cdot v}{\sqrt{a^2 (1 - x^2) + b^2 (1 - y^2)}}
\end{align}$$
Here's a small Python snippet to illustrate the algorithm:
def liss(a, b, speed, width, height):
pix = bitmap(width, height)
ox, oy = width // 2, height // 2
rad = min(ox, oy) - 3
#Precompute constants used in speed calculation
r2 = rad * rad
a2 = a * a
b2 = b * b
c2 = (a2 + b2) * r2
maxtheta = 2. * pi
theta = 0.0
while theta < maxtheta:
x = rad * cos(a * theta)
y = rad * sin(b * theta)
pix.put(int(.5 + ox + x), int(.5 + oy + y))
dtheta = speed / (c2 - a2 * x*x - b2 * y*y) ** 0.5
theta += dtheta
Here's the output of the above algorithm, with a=3, b=2, speed=10:

As you can see, it's fairly smooth. But we can make it better by following Yves' advice and using Runge-Kutta integration. Here's Python code that uses RK4:
def liss(a, b, speed, width, height):
pix = bitmap(width, height)
ox, oy = width // 2, height // 2
rad = min(ox, oy) - 3
def speedfunc(theta):
s = (a * sin(a * theta))**2 + (b * cos(b * theta))**2
return speed / (rad * s ** 0.5)
maxtheta = 2. * pi
theta = 0.0
while theta < maxtheta:
x = rad * cos(a * theta)
y = rad * sin(b * theta)
pix.put(int(.5 + ox + x), int(.5 + oy + y))
#Calculate Runge-Kutta 4 increments
k1 = speedfunc(theta)
k2 = speedfunc(theta + 0.5 * k1)
k3 = speedfunc(theta + 0.5 * k2)
k4 = speedfunc(theta + k3)
dtheta = (k1 + 2.0 * k2 + 2.0 * k3 + k4) / 6.0
theta += dtheta
And its output, with the same parameters as above:

It's hard to see much difference here, but the RK4 algorithm is clearly superior for high speeds, especially in the regions of the curve where the acceleration is high.
In case you're interested, here's a Pastebin link to the full Python 2 program used to produce the RK4 version as a plain PBM file; you can easily adapt it to use the Euler algorithm. This program was tested on Python 2.6 but it probably runs on earlier versions; it will need minor modifications to run on Python 3.
LissRK4.py
Finally, I'd like to mention that although these constant speed algorithms make nice-looking plots, I have to agree with user86418 that the simple constant angle increment algorithm looks more natural in an animation; after all, this is simple harmonic motion. :)
danimal - exactly, sorry I'm not very clear with what I am attempting to do.
Sina - thanks for the link, I sort of understand it, I'm going to spend a bit of time trying to work it out for myself.
– TenEighty Mar 30 '15 at 10:03@namenotation if you want people to know that you've responded to their comments. – PM 2Ring Mar 30 '15 at 10:22