Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 在Actionscript中绘制三次贝塞尔曲线?_Flash_Actionscript 3_Graphics_Bezier - Fatal编程技术网

Flash 在Actionscript中绘制三次贝塞尔曲线?

Flash 在Actionscript中绘制三次贝塞尔曲线?,flash,actionscript-3,graphics,bezier,Flash,Actionscript 3,Graphics,Bezier,在AS3中以编程方式绘制三次贝塞尔曲线的最佳方法是什么?Graphics类似乎只支持二次曲线:(我希望能够做到以下几点: var startPoint:Point = new Point(0, 0); var endPoint:Point = new Point(5, 5); var control1:Point = new Point(5, 0); var control2:Point = new Point(0, 5); var myBezier:Sprite = getBezier(st

在AS3中以编程方式绘制三次贝塞尔曲线的最佳方法是什么?
Graphics
类似乎只支持二次曲线:(我希望能够做到以下几点:

var startPoint:Point = new Point(0, 0);
var endPoint:Point = new Point(5, 5);
var control1:Point = new Point(5, 0);
var control2:Point = new Point(0, 5);

var myBezier:Sprite = getBezier(startPoint, control1, control2, endPoint);

为了实现性能目标,我计划一次在舞台上部署50个这样的函数。

如果API调用中内置了二次函数,那么您必须充分了解Bezier,才能编写自己的三次函数实现

喜欢

注意:Flash Player 11以后的版本包括一种绘制立方曲线的本机方法,如果您的目标是FP11,这应该是最快的方法

就在上周,我写了一个类来绘制任意顺序的贝塞尔曲线

代码没有经过优化,但在我的测试中运行良好。性能是制作动画的可接受事件(尽管我认为滥用它不是一个好主意,因为正如我所说的,它没有经过优化;当然,将这些用于二次曲线是没有意义的,因为玩家可以自己制作)

如果您想使用或查看,代码在此处:

我认为,通过示例代码,您将能够毫不费力地找到如何使用它的方法(它非常直截了当,并且有一些注释);但是如果遇到问题,请立即询问


您可以随意使用它。

本网站列出并解释了各种近似三次贝塞尔曲线的方法:


在最底层,他给出了一个标题为“固定中点法”的方法,该方法使用四条二次曲线作为近似值,在精度和性能方面似乎是所有方法中最好的。

此页面包含python版本,不难翻译。