`
sooxin
  • 浏览: 257711 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

<转>用AS制作flash引导线(等分贝塞尔曲线)

 
阅读更多

最近遇到了这样的问题,所以特意花时间好好研究了一番。

普通贝塞尔曲线运动:

未命名0.jpg

匀速贝塞尔曲线运动:

未命名1.jpg



二次贝塞尔曲线的构建方式为:确定起点P0、贝塞尔点P1以及终点P2。用B(t)表示该条曲线,公式如下:

bez2.gif 

 

展为代码
var pos_x:Number = Math.pow(1 - t, 2) * P0.x + 2 * t* (1 - t) * P1.x + Math.pow(t, 2) * P2.x;
var pos_y:Number = Math.pow(1 - t, 2) * P0.y + 2 * t* (1 - t) * P1.y + Math.pow(t, 2) * P2.y;


例子:
 贝塞尔曲线运动.swf (1.5 KB) 


用一个动画来演示,可以更加清楚的表明这条曲线的构建过程:
bezier_2_big.gif 


如图,t变量本身线形变化的话,这条贝塞尔曲线本身的生成过程是并不是匀速的,通常都是两头快中间慢。

为了解决这个问题,问了许多人,搜索了很多网页,最后抱着试试看的心里去某论坛把问题抛了出来,没想到过了2、3天意外的得到了满意的答复。
好了,说明问题了,接下来开始说解决方法了。

具体解决方法的说明在这位好心网友的Blog中:
http://www.thecodeway.com/blog/?p=293



然后,为此做了一个小效果
 效果.swf (3.82 KB) 


我把等分贝塞尔曲线的公式加工成了工具类,方便调用。打个包做成附件,如果有需要的朋友有download吧。
 贝塞尔.rar (16.74 KB) 




最后,如果还有朋友对贝塞尔曲线有更深层的兴趣,三次或n次的,提供一点微薄资料参考:(其实都能搜的到)

三次贝塞尔运动公式(非等分)

  • functioncubic_curve(gra:Graphics,pt1,pt2,pt0,pt3)
  • {
  •   gra.moveTo(pt0.x,pt0.y);
  •   varpos_x;
  •   varpos_y;
  •   for(vari=0;i<=1;i+=1/100)
  •   {
  •     pos_x=Math.pow(i,3)*(pt3.x+3*(pt1.x-pt2.x)-pt0.x)
            +3*Math.pow(i,2)*(pt0.x-2*pt1.x+pt2.x)
            +3*i*(pt1.x-pt0.x)+pt0.x;
  •     pos_y=Math.pow(i,3)*(pt3.y+3*(pt1.y-pt2.y)-pt0.y)
            +3*Math.pow(i,2)*(pt0.y-2*pt1.y+pt2.y)
            +3*i*(pt1.y-pt0.y)+pt0.y;
  •     gra.lineTo(pos_x,pos_y);
  •   }
  • }
参考1:
http://hi.baidu.com/279328010/blog/item/40fcd838eff2d82697ddd8cc.html

参考2:(wiki百科)
http://zh.wikipedia.org/wiki/%E8%B2%9D%E8%8C%B2%E6%9B%B2%E7%B7%9A

参考3:(高级曲线列表)
http://zh.wikipedia.org/w/index.php?title=%E6%9B%B2%E7%BA%BF%E5%88%97%E8%A1%A8&variant=zh-cn
分享到:
评论

相关推荐

    Inplan Rule Functions汇总

    数学函数提供了丰富的数学计算功能,例如abs(&lt;DOUBLE&gt;)用于求绝对值,round(&lt;DOUBLE&gt;)用于四舍五入数值,sin(&lt;DOUBLE&gt;)和cos(&lt;DOUBLE&gt;)等提供了三角函数计算。 频率转换函数较为特殊,如db2ghz(&lt;DOUBLE&gt;)用于将分贝...

    AT指令集-BT05 4.0蓝牙

    - **参数**: `&lt;Param&gt;`取值范围为0-3,分别代表不同的发射功率(单位:分贝): - 0:-23dB - 1:6dB - 2:0dB - 3:4dB (仅适用于CC2540芯片) - **默认值**: 0dB - **功能**: 设置模块的发射功率。 ##### 10. ...

    AS3贝塞尔算法

    5. **等分贝塞尔曲线**:在游戏引导线中,有时需要将贝塞尔曲线等分为多个小段,以便在每个小段上添加特定的游戏元素或进行其他处理。这通常通过递归地分割曲线并计算新的控制点来实现。 6. **优化性能**:由于...

    CompassServant:仿魅族分贝仪,Compass ,Dashboard

    屏幕截图视频下载专家&lt; dependency&gt; &lt; groupId&gt;com.dyzs.compassservant&lt;/ groupId&gt; &lt; artifactId&gt;compassservant&lt;/ artifactId&gt; &lt; version&gt;1.0.0&lt;/ version&gt; &lt; type&gt;pom&lt;/ type&gt;&lt;/ dependency&gt; 摇动compile '...

    iOS 根据声波 曲线动画

    5. **动画绘制**:在获取到声波分贝数据后,可以使用Core Animation来创建基于贝塞尔曲线的动画。Core Animation是iOS中的底层动画框架,它可以高效地更新视图并提供流畅的动画效果。将声波数据映射到贝塞尔曲线的...

    分贝增益、分贝电压、分贝功率转换计算器

    分贝增益、分贝电压、分贝功率转换计算比较麻烦,设计这个转换计算器是为了方便需要用到转换值时的繁杂计算

    html5声频audio和视频video等新特性详细说明

    其中,音频`&lt;audio&gt;`和视频`&lt;video&gt;`元素是两个重要的新增特性,它们使得在网页中嵌入媒体内容变得更加直接和简便,无需依赖Flash或其他插件。 ### 音频`&lt;audio&gt;`元素 `&lt;audio&gt;`元素用于在网页中播放音频文件。...

    曲线图片数字化

    在数学和科学中,对数坐标常用于描绘数据的指数变化,如声音分贝、地震震级或者物质的浓度等。在曲线数字化过程中,处理对数坐标图时需要特别注意,因为直接线性采样可能会导致数据失真。因此,针对对数坐标的曲线...

    多功能电子元器件计算器软件

    在R0中填入目标值,勾选&lt;计算结果使用标准阻值&gt;,填写误差范围(20%内),并选择E24或者E96,点击&lt;反向并联计算&gt;或者&lt;反向串联计算&gt;即可求得计算结果.如果勾选&lt;已知阻值R1&gt;填写相应阻值,再进行计算,则可以计算出非标准阻值...

    多功能计算含电阻色环值查询器

    在R0中填入目标值,勾选&lt;计算结果使用标准阻值&gt;,填写误差范围(20%内),并选择E24或者E96,点击&lt;反向并联计算&gt;或者&lt;反向串联计算&gt;即可求得计算结果.如果勾选&lt;已知阻值R1&gt;填写相应阻值,再进行计算,则可以计算出非标准阻值...

    eTools 2.63

    在R0中填入目标值,勾选&lt;计算结果使用标准阻值&gt;,填写误差范围(20%内),并选择E24或者E96,点击&lt;反向并联计算&gt;或者&lt;反向串联计算&gt;即可求得计算结果.如果勾选&lt;已知阻值R1&gt;填写相应阻值,再进行计算,则可以计算出非标准阻值...

    分贝与放大倍数转换软件

    例如,如果你知道一个音频设备的放大倍数,你可以使用软件将其转换为对应的分贝值,反之亦然。这有助于理解设备的实际表现和调整参数以达到理想的音频效果。 文件“放大转换.exe”显然是这个软件的执行文件,用户只...

    多功能电子计算软件eTools

    在R0中填入目标值,勾选&lt;计算结果使用标准阻值&gt;,填写误差范围(20%内),并选择E24或者E96,点击&lt;反向并联计算&gt;或者&lt;反向串联计算&gt;即可求得计算结果.如果勾选&lt;已知阻值R1&gt;填写相应阻值,再进行计算,则可以计算出非标准阻值...

    信噪比-误比特率曲线,信噪比和误码率的关系曲线,LabView

    信噪比通常以分贝(dB)为单位表示,计算公式为:SNR(dB) = 10 * log10(Ps/Pn),其中Ps是信号功率,Pn是噪声功率。 误比特率则是评估通信系统性能的关键指标,它定义为接收到的错误比特数量与总传输比特数量的比例...

    音频文件分贝数(dB)计算验证配套代码(C语言)

    在本文中,我们将深入探讨如何使用C语言计算音频文件的分贝数,并结合提供的压缩包文件进行相关实践。 首先,我们需要理解分贝的概念。分贝是基于对数比例的单位,用于表示两个功率或声压水平之间的比率。在音频...

    分贝dB与放大倍数的转换关系

    分贝(dB)作为衡量信号放大倍数的一种对数单位,在电子工程领域有着广泛的应用,尤其是在音频、通信和信号处理等技术中。本文旨在深入解析分贝与放大倍数之间的转换关系,以及这一概念在实际工程中的应用。 ### ...

    非均匀传输线的宽带3分贝耦合器设计

    ### 非均匀传输线的宽带3分贝耦合器设计 #### 摘要与背景 非均匀传输线的宽带3分贝耦合器设计是微波领域的一个重要研究课题。传统上,均匀传输线的定向耦合器难以实现超过50%的分数带宽。为了解决这一问题,研究...

    信噪比-误比特率曲线,信噪比和误码率的关系曲线,LabView源码.zip

    使用LabVIEW生成的曲线,可以通过拟合数学模型来预测在不同信噪比下的误码率,这在通信系统性能预估和系统容量规划中具有重要价值。 总之,"信噪比-误比特率曲线,信噪比和误码率的关系曲线,LabView源码.zip"这个...

    SNR.rar_snr_snr C++_信噪比 SNR_信噪比的测量_文件差异

    在C++编程中,可能会用到`&lt;iostream&gt;`、`&lt;fstream&gt;`、`&lt;cmath&gt;`、`&lt;complex&gt;`等头文件,以及一些第三方库,如FFTW库来进行快速傅里叶变换。在实际应用中,理解信噪比的计算原理和文件差异的衡量方法对于正确使用这个...

    android获取音量分贝值

    在Android平台上,获取音量分贝值涉及到音频输入、音频处理和传感器的使用。下面将详细解释这个过程,以及如何实现这一功能。 首先,我们需要理解音量分贝(dB)是一个表示声音强度的单位,它基于人耳对声音感知的...

Global site tag (gtag.js) - Google Analytics