用as3 两条贝塞尔曲线相交且显示交点的程序,请高手帮忙,或者有相关程序的介绍也行。

两条贝塞尔曲线相交且显示交点的程序,或者网络上有相关的程序介绍也好,请各位as高手帮帮忙。谢谢了!... 两条贝塞尔曲线相交且显示交点的程序,或者网络上有相关的程序介绍也好,请各位as高手帮帮忙。谢谢了! 展开
 我来答
ylylsheep
2012-08-01 · TA获得超过1280个赞
知道小有建树答主
回答量:823
采纳率:0%
帮助的人:1057万
展开全部
import flash.geom.Point;
var t0:Point=new Point(100,100)
var t1:Point=new Point(100,300)
var t2:Point=new Point(300,100)
drawBeiSaier(t0,t2,t1,4)
//起点,终点,控制点,段数
//你可以修改段数来观察效果
function drawBeiSaier(startPoint:Point,endPoint:Point,controlPoint:Point,num:int):void
{
var x0:Number = startPoint.x;
var y0:Number = startPoint.y;
var x1:Number = controlPoint.x;
var y1:Number = controlPoint.y;
var x2:Number = endPoint.x;
var y2:Number = endPoint.y;
graphics.lineStyle(1,0xFF0000,1);
graphics.moveTo(x0,y0);
for (var t=0; t<=1; t+=1/num)
{
var xp:Number = (1 - t) * (1 - t) * x0 + 2 * t * (1 - t) * x1 + t * t * x2;
var yp:Number = (1 - t) * (1 - t) * y0 + 2 * t * (1 - t) * y1 + t * t * y2;
graphics.lineTo(xp,yp);
}
}

//如果你能读懂这段代码,相信你能自己研究出怎么求得交点
//你可以将代码粘贴到时间轴,运行看看效果。~

//提示,在for循环的时候将所有的坐标点写入数组存起来,与另一条的进行比较,相等这表示相交,注意因为是小数运算,所以可能存在值不等的情况,所以需要进一步比较多相邻点的直接的坐标大小,来判断是否有相交。
//这个做起来还是比较费时间,这里我就不再做了
追问
不好意思,我看了还几天也没弄懂你的这段代码是什么意思。也看了效果,还是没有明白,你能解释的更详细些么。谢谢你了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式