PDA

Просмотр полной версии : Движение под углом


BigDan
09.05.2006, 23:31
Понятно как тело двигается по овалу когда овал в 1 положении(см. рис.)
Как оно будет двигатся если овал будет под углом в 2 положении?

Nirth
09.05.2006, 23:33
повернуть овал? у тебя же есть формула, измени градусы

BigDan
09.05.2006, 23:41
Какие градусы?

Nirth
09.05.2006, 23:56
Если интересна математическая модель, имей совесть и купи учебник по тригонометрии и все встанет на свои места.

mc._rotation = ГРАДУСЫ;

0xFFFFFF
10.05.2006, 01:01
создай контейнер, положи в него анимацию движения по эллипсу, а потом поверни контейнер

0xFFFFFF
10.05.2006, 01:03
Если интересна математическая модель, имей совесть и купи учебник по тригонометрии и все встанет на свои места.

mc._rotation = ГРАДУСЫ;

"доверни до семи"..
чтобы двигать объект по эллипсу совершенно не обязательно знать уравнение эллипса. так же не обязательно уметь наклонять эллипс через формулы, когда можно повернуть клип.
Большой Лун, будь добрее..

K.A.T.A.F.A.L.K.E.R
10.05.2006, 01:07
Вычисляешь x и y как обчно, но перед выводом на экран вращаешь (http://en.wikipedia.org/wiki/Rotation_matrix)

0xFFFFFF
10.05.2006, 01:10
Вычисляешь x и y как обчно, но перед выводом на экран вращаешь (http://en.wikipedia.org/wiki/Rotation_matrix)
имхо не экономично, трудоемко, больше вычислительных процедур больше загрузят процессор...

K.A.T.A.F.A.L.K.E.R
10.05.2006, 01:17
имхо не экономично, трудоемко, больше вычислительных процедур больше загрузят процессор...
согласен. Но этот же человек, вроде бы, спрашивал уравнение эллипса, так что, скорее всего, ему нужно именно уравнение. Ему предложили несколько вариантов - пусть разбирается ;)

iNils
10.05.2006, 01:34
Матричное преобразования (вращение) в двухмерной плоскости.
this.createEmptyMovieClip("mc",0)
this.mc.lineStyle(0,0xFF0000)
this.mc.moveTo(-5,-5)
this.mc.lineTo(5,-5)
this.mc.lineTo(5,5)
this.mc.lineTo(-5,5)
this.mc.lineTo(-5,-5)
this.a = 100;
this.b = 50;
this.u = -30;
this.d = 0;
this.g2r = Math.PI / 180;
this.onEnterFrame = function () {
d += 5;
var x = a * Math.cos (d * g2r);
var y = b * Math.sin (d * g2r);
mc._x = x * Math.cos (u * g2r) - y * Math.sin (u * g2r);
mc._y = x * Math.sin (u * g2r) + y * Math.cos (u * g2r);
};

0xFFFFFF
10.05.2006, 01:49
Матричное преобразования (врещение) в двухмерной плоскости.

ты это для нуба написал?? :eek:

iNils
10.05.2006, 01:50
ты это для нуба написал?? :eek:
Учиться ни когда не поздно.

Nirth
10.05.2006, 01:50
он это для поиска написал, через месяц кому нить понадобиться, а варианты уже есть.

iNils
10.05.2006, 01:51
он это для поиска написал, через месяц кому нить понадобиться, а варианты уже есть.
и это тоже