计算移动点的x和y位置的变化

时间:2019-06-17 10:31:20

标签: matlab animation trigonometry

我正在尝试学习如何为点设置动画以及如何逐帧更新其x和y位置。我在网上找到了一个教程,我真的在dx和dy中使用的公式上苦苦挣扎:

dots.speed = 3;                 %degrees/second
dots.duration = 5;              %seconds
dots.direction_deg = 30;        %degrees (clockwise from straight up)
dots.direction_rad = dots.direction_deg * pi /180 %direction converted to radians

% Calculate the distance travelled by a dot (in degrees), which is the speed (degrees/second) divided by the frame rate (frames/second).

dx = dots.speed*sin(dots.direction_rad)/display.frameRate;
dy = -dots.speed*cos(dots.direction_rad)/display.frameRate;

根据我对三角学的了解,我最终得到了dx和dy的这些公式:

Cos(角度)=相邻/斜边-> cos(dots.direction_rad)= 1 / dx(1是从原点到圆上某个点的距离,等于1弧度)。 -> dx = 1 / cos(dots.direction_rad)->距离等于:

dots.speed*1/cos(dots.direction_rad)*display.frameRate

Sin(角度)=对面/斜边-> sin(dots.direction_rad)= dy / 1->距离等于:

dots.speed * sin(dots.direction_rad) / display.frameRate.

我的公式没有给出预期的结果。所以我做错了。我似乎不明白本教程中dx和dy的计算方式。请帮忙!谢谢

0 个答案:

没有答案