Draw a line from a point to opposite tangents on a circle? Cone/wedge shape in AS3

Это должно быть немного простой геометрии: как мне вычислить точки для рисования линий в приведенном ниже коде, чтобы получился двухмерный конус или клин?

import flash.geom.Point;

//draw circle
var mc=new Sprite()
mc.graphics.lineStyle(0,0)
mc.graphics.drawCircle(0,0,30)
mc.x=mc.y=Math.random()*300+100
addChild(mc)

//draw lines:
graphics.lineStyle(0,0)
var p=new Point(Math.random()*500,Math.random()*400)
graphics.moveTo(p.x, p.y)
graphics.lineTo(mc.x,mc.y) // << should be point on edge of circle
graphics.moveTo(p.x, p.y)
graphics.lineTo(mc.x,mc.y) // << should be point on opposite edge of circle

ОБНОВЛЕНИЕ:
Спасибо, ребята, я должен был упомянуть, что моя цель не в том, чтобы нарисовать форму клина, а в том, чтобы провести линию от случайной точки к краю существующего круга.

Если вам удобнее пользоваться алгеброй, чем ActionScript, возможно, вы мог бы взглянуть на этот рисунок и опубликовать формулу для меня? tangents

8
задан cronoklee 16 April 2011 в 01:31
поделиться