Показать сообщение отдельно
Старый 14.07.2007, 01:45
StreetPeople вне форума Посмотреть профиль Отправить личное сообщение для StreetPeople Посетить домашнюю страницу StreetPeople Найти все сообщения от StreetPeople
  № 1  
Ответить с цитированием
StreetPeople
 
Аватар для StreetPeople

Регистрация: Jun 2007
Адрес: Королёв, МО
Сообщений: 34
Отправить сообщение для StreetPeople с помощью ICQ
Question Вопрос физикам - отрицательное равномерное ускорение

Дано:
  1. Начальная скорость
  2. Путь
  3. Время прохождения при равномерном движении

Найти:
Коэффицент на который нужно делить|вычитать "скорость" (которая вычитается из <объекта._x>) чтобы объект двигался с отридцательным ускорением и в конце концов остановился в заданной точке X, по оси абсцисс.

Код:
name_mc._x = Stage.width;
//ПЕРВОНАЧАЛЬНАЯ ПОЗИЦИЯ ОБЪЕКТА
name_mc.NewPositionX = 0;
//ЭТО И ЕСТЬ ТА САМАЯ ТОЧКА X В КОТОРОЙ ДОЛЖЕН ОКАЗАТЬСЯ ОБЪЕКТ
var interval:Number = 1;
//интервал
var BeginSpeed:Number = 10;
//Начальная скорость
var Speed:Number = BeginSpeed;
//Меняющаяся скорость
if (name_mc._x > name_mc.NewPositionX) {
	long = name_mc._x - name_mc.NewPositionX;
	//Длина пути
} else if (name_mc._x < name_mc.NewPositionX) {
	long = name_mc.NewPositionX - name_mc._x;
	//Длина пути
}
t = long / BeginSpeed * interval;
//Время движения = путь / (Скорость*Время)
/***************************************************************************/
function setNewPosition (object) {
	if ((object._x <= object.NewPositionX + Speed) && (object._x >= object.NewPositionX - Speed)) {
		//ЭТА КОНСРУКЦИЯ IF ИСКЛЮЧАЕТ ДРОЖАНИЕ ОБЪЕКТА
		object._x = object.NewPositionX;
		clearInterval (object.interval);
	} else {
		if (object._x > object.NewPositionX) {
			object._x -= Speed;
		} else if (object._x < object.NewPositionX) {
			object._x += Speed;
		}
		/*СКОРОСТЬ МЕНЯЕТСЯ ЗДЕСЬ, ПОДСКАЖИТЕ ПЛИЗ ФОРМУЛУ*/ 
		//				Speed/=<НЕКИЙ КОЭФИЦЕНТ>;//ИЛИ
		//				Speed-=<НЕКИЙ КОЭФИЦЕНТ>;//ИЛИ
		trace (Speed);
	}
}
/***************************************************************************/
name_mc.interval = setInterval (setNewPosition, interval, name_mc);
name_mc - это объект, который двигается

Вроде эта задачка из курса физики, равномерное ускорение


Если перефразировать то: скорость должна уменьшаться от ПЕРВОНАЧАЛЬНОЙ скорости(в ПЕРВОНАЧАЛЬНОЙ ТОЧКЕ), до примерно НУЛЯ(в КОНЕЧНОЙ ТОЧКЕ)
__________________
Шаг вперёд, является результатом пинка сзади


Последний раз редактировалось iNils; 14.07.2007 в 05:26.