图像余弦波
我需要帮助解决我遇到的这个问题。我想做的是在 C# Windows 窗体中使图像以余弦波模式移动,但无论我尝试什么都行不通。这就是我到目前为止在计时器中所做的事情,
dblX = (Double)picture.Left;
dblY = (Double)picture.Top;
dblY = Math.Cos(dblX);
picture.Top = dblY;
picture.Left +=10;
它的作用是使图像快速闪烁并上下移动。有什么建议吗?
I need help with this problem that I am having. What I am trying to do is make an image move in a cosine wave pattern in C# Windows Forms, but whatever I try never works. This is what I have so far in the timer
dblX = (Double)picture.Left;
dblY = (Double)picture.Top;
dblY = Math.Cos(dblX);
picture.Top = dblY;
picture.Left +=10;
What this does is make the image flash and go up and down very quickly. Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Math.Cos 需要弧度,因此您可能需要 Math.Cos(dblX * Math.PI / 180)。
Math.Cos expects radians so you probably want Math.Cos(dblX * Math.PI / 180).
Math.Cos期望以弧度为单位的参数。
每次添加 10 弧度。一个周期有 2 * PI 弧度。
当你的图片向右移动时,你可能想要取
2 * PI *(左/总宽度)的余弦
Math.Cos expects an argument in radians.
You are adding 10 radians each time. There are 2 * PI radians in a cycle.
As your picture moves right you probably want to take the Cosine of
2 * PI * (left / total width)