绘制多条平滑曲线(基于二次贝塞尔曲线)
来源:互联网 发布:mac放大界面的快捷键 编辑:程序博客网 时间:2024/05/17 04:00
绘制策略:在每两对点之间,加入一个新点(中间点)放在这两点的正中间。然后使用这些中间点作为起点和终点,而把最初的那些点(原始点)作为控制点。
转自:http://dishell.iteye.com/blog/504440
之前使用二次贝塞尔曲线绘制两点的策略是已知的两点作为起始点和终点,然后求出这两点的中点作为控制点来绘制,结果曲线的圆滑程度不符合我所要求,之后使用上面的策略,曲线平滑程度得到了改善。
- package
- {
- import flash.display.Sprite;
- import flash.events.MouseEvent;
- public class MultiCurves3 extends Sprite
- {
- private var numPoints:uint = 9;
- public function MultiCurves3()
- {
- init();
- }
- private function init():void
- {
- var points:Array = new Array();
- for (var i:int = 0; i < numPoints; i++)
- {
- points[i] = new Object();
- points[i].x = Math.random() * stage.stageHeight;
- points[i].y = Math.random() * stage.stageHeight;
- }
- // find the first midpoint and move to it
- var xc1:Number = (points[0].x + points[numPoints - 1].x) / 2;
- var yc1:Number = (points[0].y + points[numPoints - 1].y) / 2;
- graphics.lineStyle(1);
- graphics.moveTo(xc1, yc1);
- // curve through the rest, stopping at midpoints
- for (i = 0; i < numPoints - 1; i ++)
- {
- var xc:Number = (points[i].x + points[i + 1].x) / 2;
- var yc:Number = (points[i].y + points[i + 1].y) / 2;
- graphics.curveTo(points[i].x, points[i].y, xc, yc);
- }
- // curve through the last point, back to the first midpoint
- graphics.curveTo(points[i].x, points[i].y, xc1, yc1);
- }
- }
- }
- 绘制多条平滑曲线(基于二次贝塞尔曲线)
- 曲线平滑-贝塞尔曲线
- 绘制平滑曲线
- MATLAB绘制平滑曲线
- matlab绘制平滑曲线
- 用 PIL 绘制二次贝塞尔曲线
- 曲线平滑-贝塞尔曲线
- 曲线平滑-B样条曲线
- Android-多点绘制平滑曲线
- 二次贝塞尔曲线长度
- pnp4nagios绘制多条对比曲线
- Qt 坐标轴 平滑曲线 贝塞尔曲线
- 如何使用MATLAB绘制平滑曲线
- Android 系列 5.4徒手绘制平滑曲线
- swing GeneralPath::cubicTo绘制平滑曲线
- QtCharts_动态图QSplineSeries 绘制平滑曲线
- 绘制B样条曲线
- 基于canvas使用贝塞尔曲线平滑拟合折线段
- jsp中实现传递参数到下一页的代码
- nod32 lic 99用户授权文件可以用到2015年4月的许可证下载
- 关于Android 图片的多分辨率适配
- hdu2807之矩阵乘法+最短路
- hdu4530小Q系列故事——大笨钟
- 绘制多条平滑曲线(基于二次贝塞尔曲线)
- GDI图形图形的一些函数
- 黑马程序员--JAVA<API>--集合、泛型等
- shell中read参数
- C++ 大整数运算
- JNI探秘-----FileInputStream的read方法详解
- Machine Learning系列实验--SoftMax Regression
- jsp实现上传下载的功能
- 删除一个表中的重复数据同时保留第一次插入那一条以及sql优化