Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Затухающие колебания шарика (http://www.flasher.ru/forum/showthread.php?t=98930)

mixar 25.07.2007 00:37

Затухающие колебания шарика
 
Добрый день!

Хочу сделать чтобы шарик колебался по закону затухающих колебаний (то есть шарик в конечном итоге остановится у начальной точки), пока получилось сделать колебания по маятнику:

y1=28; // сдвиг начала координат по оси y
H=18; // высота, с которой падает мяч
g=9.8; // ускорение свободного падения
t=0; // начальное значение времени
n=1; // параметр, определяющий фазу движения (отскок или падение)
k=1;
dt= 0.2; // шаг по времени

_root.mc_shar.onEnterFrame = function (){
t = t+ dt;
t0 = Math.sqrt(2* H/g);
if(t > 2* t0) t=dt;
if(t < t0 ) n=0;
if (t>= t0) n=1;
_root.mc_shar._y = y1 - (H -g* (2*t0*n -t)*(2*t0*n -t) *0.5);
}

Буду благодарен, если кто-нибудь поможет с формулой затухающих колебаний по оси y.

PS: Flash 8, AS 2.0

etc 25.07.2007 02:03

mixar, отредактируйте свой пост и оформите код тегами [code][/code].

AleXNoD GD 25.07.2007 02:27

К чему проблемы? Программирование прекрасно тем, что сложные физические формулы можно заменить простым алгоритмом. Используй SPEED*Math.sin(ID), где ID - это индефикатор синуса (от чего тот берется), а SPEED - скорость (если 0, значит всё 0).

Kikasso 25.07.2007 03:03

Я бы посоветовал подставить вместо t0 нормальный 0, dt принять за 1 и упростить формулу.

Жень Шень 25.07.2007 11:32

Привет!
Рисуем шарик на ниточке. Делаем из него Symbol и даем ему же имя Symbol. Заходим в него и устанавливаем мувик концом ниточки в центр клипа.
В первом кадре главной линейки прописываем:
Код:

t = 0;
a = 90;
b = 0;
k = 10
_root.onEnterFrame = function() {
        b = a*(Math.exp(-t/3))*Math.cos(k*t);
        Symbol._rotation = b;
        t += 0.01;
        if (t>10) {
                Symbol._rotation = 0;
                delete this.onEnterFrame;
        }
};

Методом научного тыка меняем параметры.
Или имелся ввиду пружинный маятник?


Часовой пояс GMT +4, время: 01:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.