Graph of a parametric curve on an angle?

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
2 replies · 4K views
Ownaginatious
Messages
37
Reaction score
0
I'm currently making a two dimensional game on my computer and I'm having a problem that pertains to parametric curves.

Currently I'm trying to figure out an equation for a graph on any angle (say a sin curve). The reason for this is to make the "flight paths" of the ships in the game more interesting. Right now they basically fly towards a target from any angle.

So far, I've figured out that for a normal sin curve along the x-axis, the equation is (0 degrees):

x = t
y = sin(t)

And along the y-axis is (90 degrees):

x = sin(t)
y = t

Now what I'm trying to figure out is how to make the sin graph appear on any angle, say along a 45 degree angle.

Can anyone help me figure out an equation for that? I know this is probably simple, but I'm only a first year engineering student and haven't spent much time on parametric curves :p.

Thanks!
 
Physics news on Phys.org
You can do any linear transformation with its matrix. Here's a rotation.

Let your original curve (x,y) b given as parametric equations x=f(t), y=g(t).

To rotate by an angle θ, map (x,y) to (x.cos(θ) - y.sin(θ), y.cos(θ) + x.sin(θ)).

The mappings in order are t --> (f(t),g(t)) --> (f(t).cos(θ) - g(t).sin(θ), g(t).cos(θ) + f(t).sin(θ)).

Putting it together, here is your sin curve, time parameter t, rotated by angle θ:
[tex] \begin{array}{rcl}<br /> x &=& t \cos ( \theta ) -\sin(t) \sin( \theta ) \\<br /> y &=& \sin(t) \cos( \theta ) + t \sin( \theta )<br /> \end{array}[/tex]​
 
Last edited:
Oh wow, thanks! This is exactly what I was looking for :p