Как посчитать координаты X и Y точки по повороту (углу) объекта и длине ноги? - PullRequest
0 голосов
/ 02 февраля 2012

Может кто-нибудь сказать мне, как я могу посчитать координаты точки B (см. Прикрепленное изображение ... или нет, поскольку я новый пользователь ... pf!).Я знаю поворот стрелки - поэтому угол (скажем, -120), координаты A (0, 0) - A - это средняя точка стрелки, а расстояние между A и B составляет 50 пикселей.Большое спасибо!

.B
 \
  \ 50 px
   \
    \
     .A

1 Ответ

0 голосов
/ 02 февраля 2012

Для меня это выглядит как обычная тригонометрия.Помните, что в математике вы рассчитываете в радианах против часовой стрелки справа.Установка свойства поворота DisplayObjects во Flash, с другой стороны, измеряется в градусах по часовой стрелке от вершины.Так что всегда есть забавное преобразование, если вы делаете эту математику, чтобы вращать DisplayObject.В этом примере я предполагаю, что вы просто заботитесь о поиске координат B относительно A, учитывая известный поворот и абсолютное расстояние между ними.

import flash.geom.Point;

var angle:Number = -120;
var radian:Number = angle * Math.PI / 180;
var length:Number = 50;
var aCoords:Point = new Point(100, 20); //example values for known coords of point A
var bCoords:Point = new Point(Math.cos(radian) * length + aCoords.x, Math.sin(radian) * length + aCoords.y);

trace(bCoords);
...