PDA

Просмотр полной версии : Как переместить точку по круговой оси?


medvedya2
08.05.2010, 21:31
Как переместить точки по круговой оси на заданный угол?
(Вращать точку относительно другой точки)
Во общем нужны формулы или какой нибудь методы из AS3
пробовал через Matrix не получается.
все попытки вывести формулу тоже не увенчались успехом.
Помогите пожалуйста.

Gaen
08.05.2010, 21:47
x^2 + y^2 = r^2
x = r * cos(a)
y = r * sin(a)

medvedya2
09.05.2010, 00:56
сделал так

//T1 точка которую вращаем
//TM точка относительно которой вращаем
x1=(T1.x-TM.x)*Math.cos(angle)-(T1.y-TM.y)*Math.sin(angle)+TM.x;
y1=(T1.x-TM.x)*Math.sin(angle)+(T1.y-TM.y)*Math.cos(angle)+TM.y;
T1.x=x1;
T1.y=y1;

HotIceCream
09.05.2010, 01:13
T1.x+=(T1.x-TM.x)*Math.cos(angle)-(T1.y-TM.y)*Math.sin(angle);
T1.y=(T1.x-TM.x)*Math.sin(angle)+(T1.y-TM.y)*Math.cos(angle);
щас сидел проверял из геометрии эти формулы - да, дейстительно так =)