Hi there, here is a general response, maybe this is enough to get you on a good path.
If you separate it into two, you have a generator (a sin wave) and a function (applying force) for a certain duration of time.
If you use a function that applies force each frame you can modify the path of the object in question. The amount of force you apply is a value that comes from your sine-wave table.
It can be more number-efficient to read the sine-wave value from a table than to generate sine wave values in real time.
So in each frame you can read from this table the current value:
sinetable = {
128,131,134,137,140,143,146,149,152,156,159,162,16 5,168,171,174,
176,179,182,185,188,191,193,196,199,201,204,206,20 9,211,213,216,
218,220,222,224,226,228,230,232,234,236,237,239,24 0,242,243,245,
246,247,248,249,250,251,252,252,253,254,254,255,25 5,255,255,255,
255,255,255,255,255,255,254,254,253,252,252,251,25 0,249,248,247,
246,245,243,242,240,239,237,236,234,232,230,228,22 6,224,222,220,
218,216,213,211,209,206,204,201,199,196,193,191,18 8,185,182,179,
176,174,171,168,165,162,159,156,152,149,146,143,14 0,137,134,131,
128,124,121,118,115,112,109,106,103,99, 96, 93, 90, 87, 84, 81,
79, 76, 73, 70, 67, 64, 62, 59, 56, 54, 51, 49, 46, 44, 42, 39,
37, 35, 33, 31, 29, 27, 25, 23, 21, 19, 18, 16, 15, 13, 12, 10,
9, 8, 7, 6, 5, 4, 3, 3, 2, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 3, 4, 5, 6, 7, 8,
9, 10, 12, 13, 15, 16, 18, 19, 21, 23, 25, 27, 29, 31, 33, 35,
37, 39, 42, 44, 46, 49, 51, 54, 56, 59, 62, 64, 67, 70, 73, 76,
79, 81, 84, 87, 90, 93, 96, 99, 103,106,109,112,115,118,121,124
};
if you need it to oscillate around 0 you would need to subtract 127 from the above numbers so that it goes between -127 and 127.
Also you need to scale the number appropriately so that the amount of impulse / force is appropriate for your mass. If you apply 255 force to a small object it will just go flying off the stage in a blink… so some patience and tuning is required.
Or it could be that you just apply force to the right for X time, then to the left for X time and alternate. If this moves the object with acceleration then you get a sin-like effect by applying alternating linear forces (instead of applying sinusoidal forces) it all depends on the exact effect you are looking for.
I hope this helps!
[import]uid: 150267 topic_id: 29103 reply_id: 117340[/import]