У меня есть два концентрических круга с центрами в (centerX, centerY).Внутренний круг имеет радиус 100, а внешний круг имеет радиус 400. Если взять точку на окружности внутреннего круга, я могу провести линию от центра к этой точке.Давайте назовем эту точку x1, y1).Теперь я хочу продолжить этот радиус до внешнего концентрического круга и вычислить положение этой внешней точки (x2, y2).
Я добавляю точку в 3 пикселя, чтобы показать, где x1, y1на экране.(Вопрос: я не вижу этого ... не знаю почему.)
Это то, что я пытаюсь:
var x1:Number = 100;
var y1:Number = 50;
var x2:Number;
var y2:Number;
var centerX:Number = 200;
var centerY:Number = 200;
var myAngle:Number = Math.atan2(y1 - centerY, x1-centerX);
//x2 = x1 + 300 * Math.cos(myAngle);
//y2 = y1 + 300 * Math.sin(myAngle);
x2 = centerX + Math.cos(myAngle) * 400;
y2 = centerY + Math.sin(myAngle) * 400;
trace("x2,y2 = " + x2 + "," + y2);
var myCenterPoint:Sprite = new Sprite();
this.graphics.lineStyle(3,0x00ff00); //green, center point
this.graphics.moveTo(centerX, centerY);
graphics.drawCircle(centerX,centerY,5);
addChild(myCenterPoint);
var myInnerCirclePointMarker:Sprite = new Sprite();
this.graphics.lineStyle(3,0x0000FF); //blue, inner circle circumf. marker
this.graphics.moveTo(x1, y1);
graphics.drawCircle(x1,y1,5);
addChild(myInnerCirclePointMarker);
trace("x2,y2 = " + x2 + "," + y2);
var myOuterCirclePointMarker:Sprite = new Sprite();
this.graphics.lineStyle(3,0xff0000); //red, outer circle circumf. marker
myOuterCirclePointMarker.graphics.drawCircle(x2,y2,5);
addChild(myOuterCirclePointMarker);
this.graphics.moveTo(centerX, centerY);
this.graphics.lineTo(x2, y2); //draw line, which should go through
//x1,y1 and end at x2,y2
Я не думаю, что это будет правильнопокажи мне внешние точки по всем 360 градусам круга.
Спасибо.