Graph of a parametric curve on an angle?

Click For Summary
The discussion focuses on creating a parametric equation for a sine curve that can be rotated to any angle, specifically for enhancing flight paths in a two-dimensional game. The user initially presents the basic equations for sine curves along the x-axis and y-axis. A solution is provided using linear transformation and rotation matrices, allowing the sine curve to be expressed at an arbitrary angle θ. The final equations for the rotated sine curve are shared, satisfying the user's request. This approach effectively aids in generating more dynamic movement patterns for game elements.
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 θ:
<br /> \begin{array}{rcl}<br /> x &amp;=&amp; t \cos ( \theta ) -\sin(t) \sin( \theta ) \\<br /> y &amp;=&amp; \sin(t) \cos( \theta ) + t \sin( \theta )<br /> \end{array}<br />​
 
Last edited:
Oh wow, thanks! This is exactly what I was looking for :p
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 25 ·
Replies
25
Views
5K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 11 ·
Replies
11
Views
4K