Волна косинуса изображения - PullRequest
1 голос
/ 26 января 2012

Мне нужна помощь в решении этой проблемы.Я пытаюсь сделать так, чтобы изображение двигалось в виде косинусоидальной волны в C # Windows Forms, но все, что я пробую, никогда не работает.Это то, что у меня есть до сих пор в таймере

dblX = (Double)picture.Left;
dblY = (Double)picture.Top;
dblY = Math.Cos(dblX);
picture.Top = dblY;
picture.Left +=10;

Что делает, это заставляет изображение мигать и очень быстро подниматься и опускаться.Есть предложения?

Ответы [ 2 ]

3 голосов
/ 26 января 2012

Math.Cos ожидает аргумент в радианах.

Вы добавляете 10 радиан каждый раз.В цикле 2 * пи радиана.

Когда ваша картинка движется вправо, вы, вероятно, захотите взять косинус 2 * PI * (left / total width)

3 голосов
/ 26 января 2012

Math.Cos ожидает радианы, поэтому вы, вероятно, хотите Math.Cos (dblX * Math.PI / 180).

...