# Can one draw a hyperbola with arguments in TikZ?

I'm using TikZ to draw some conic-section graphs. There is a built-in ellipse command (semiaxes as two arguments) and a rudimentary parabola command (with a vertical axis, but one can rotate), but to draw a hyperbola I had to fake it with a spline and externally compute the control points. I don't want to plot a sequence of pixels, I'd prefer something parametric that can be easily modified. Is there a short-cut to draw a hyperbola just from the semiaxes and the centre location, within TikZ?

I'm not unhappy with spline approximations, they work fine for, say, cardioids, but is there some simpler way to get a hyperbola with TikZ?

-
pgf `plot` doesn't plot pixels, but connects the points where it evaluates by lines or by some smoothed lines (I don't know what it does, but for sufficiently well-behaved functions it looks quite nicely). Thus I usually draw hyperbolas by plotting something like `1/x`. – Caramdir Feb 1 '11 at 3:20

Look at sections 19.5 and 19.6 in the `pgf` manual. You can plot curves given by simple parametric equations, such as

`````` \draw[scale=0.5,domain=-3.141:3.141,smooth,variable=\t] plot ({\t*sin(\t r)},{\t*cos(\t r)});
``````

So if you van find parametric equations of your hyperbola, you should be able to plot it.

-

This should do the trick

``````\draw plot[variable=\t,samples=1000,domain=-35:35] ({sec(\t)},{tan(\t)});
``````
-