永发信息网

flash as3.0 怎么在两个随机点之间画弧线,想做一个随机出现角的课件,就是角的标记那个圆弧不会

答案:2  悬赏:0  手机版
解决时间 2021-04-08 09:38
flash as3.0 怎么在两个随机点之间画弧线,想做一个随机出现角的课件,就是角的标记那个圆弧不会
最佳答案
这个问题由我来回答吧:
import flash.geom.Point;
import flash.display.Sprite;
//创建一个绘制函数,声明一下,正式应用的时候,最好写成一个应用类,这样用起来方便,在此不写了,只写成一个函数。
//说说这几个参数吧,point1和point2是任意的两个点,dis是决定弧度大小的距离,距离越大,弧也越大,这个bol嘛,因为弧线有两个,这个决定是内弧还是外弧,用一个布尔值。
function drawArc(point1:Point,point2:Point,dis:Number=5,bol:Boolean=true):Point
{

//这是一个比较复杂的几何问题,下面我们来解决一下,先声明四个点,p,p1,p2,p0,分别代表绘制曲线点,任意的两个点及p1,p2的中心点p0。
var p:Point,p1,p2,p0;
//声明变量用以存储计算结果,分别是p1,p2的x坐标的差和y坐标的差及p,p0的x坐标差,y坐标差
var dx:Number,dy;
//让我们来赋值一下,运用一下最基本的坐标计算
dx = point2.x - point1.x;
dy = point2.y - point1.y;
//以下结果是通过线性方程计算而来。初中学过的哟。
p0=new Point();
p0.x =(point2.x+point1.x) * 0.5,p0.y = (point2.y+point1.y) * 0.5;
//这个p点,就是我们要计算的结果,有了这个点,就能绘制这个弧线了。
p=new Point();
//我们来定义两个变量,分别代表p的x方向的坐标及y方向的坐标
var px:Number,py;
//根据勾股定理(px-p0.x)*(px-p0.x)+(py-p0.y)*(py-p0.y)=dis*dis
var k:Number = dx / dy,bb = p0.x * k + p0.y;
var a:Number = 1 + k * k;
var b:Number = -2*(p0.x+k*bb-k*p0.y);
var c:Number = p0.x * p0.x + p0.y * p0.y + bb * bb - 2 * bb * p0.y - dis * dis;
//上面的a,b,c是二次方程中的a,b,c常数项,就是我们常说的ax^2+bx+c=0;
if (bol)
{
px=(-b+Math.sqrt(b*b-4*a*c))/(2*a);
py = - k * px + bb;
}
else
{
px=(-b-Math.sqrt(b*b-4*a*c))/(2*a);
py = - k * px + bb;
}
p.x = px,p.y = py;
return p;
}
//我们先来绘制一条直线,先确定两个点
var p1:Point = new Point(150,150),p2 = new Point(100,70);
//改变这里的第四个参数,弧线方向会改变的。不信你试试,分别用true及false试试?
var p:Point = drawArc(p1,p2,25,true);
var s:Sprite=new Sprite();
with (s.graphics)
{
lineStyle(3,0xFF0000)
moveTo(p1.x,p1.y);
curveTo(p.x,p.y,p2.x,p2.y)
lineStyle(1,0x0000FF)
moveTo(p1.x,p1.y)
lineTo(p2.x,p2.y)
}
addChild(s)
这里绘制的是这两个点的垂直平分线上的弧线那个dis参数是弧线的距离。一般来说任意两点垂直平分线应该有两条弧线,所以我分别用一个参数来解决。你可以多换几个点来试试,还是很好用的。最后希望你能看明白 。
全部回答
我不会~~~但还是要微笑~~~:)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
广东不锈钢厨具酒店用品直销处地址在什么地方
单选题Shealways________winthefirstprize.
作文我们毕业了
2014年中国人民银行笔试内容包括哪些方面
未来几年将在中国有哪些大动作
有哪些动漫中的角色叫神乐(举多点例子)
医务工作者对生死的感觉
诸城凤凰城的房子怎么样,最近想换房子怕没证
《史记》记载,秦孝公死后,太子即位,守旧的
一本修真小说,主角先是加入一个剑修门派但是
空间相册怎么批量下载,怎么批量下载别人qq空
3000米跑和5000米跑达国家二级标准是多少
单选题水生生物中,“大鱼吃小鱼,小鱼吃毛虾
需注意什么Cos夏尔比较像?
尿隐血十一什么意思
推荐资讯
临安东站到萧山机场怎么走?要多久?
按硫元素的化合价由低到高的顺序排列的物质为
联想笔记本电脑数字键盘经常开着,虽然知道关
人体内环境中可发生的生化反应有A.食物蛋白被
华为Mate7到了抢购时间但只显示到货通知
超凡的意思意思是什么,红尘两杯酒,空山一树
单选题下列句中加粗词语解释无误的一项是A.曲
怎么写《记忆中的星辰》600字作文
阴阳师薙魂御魂搭配攻略 薙魂御魂怎么用
在2008年的“超级女声”的总决赛中,参赛选手
单选题Nothingcouldpreventtheopenpolic
MWT是管材直径什么意思
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?