Flash与数学:心形线
当初看到这些线的时候 是在一个数学的网上,今天也动手弄了一个心形线。内容其实很简单,没有什么花俏的东西,但是利用极坐标方程可以结合flash 当中,同样也会使用极坐标的方程绘制玫瑰线。由于能力有限,还是一步步来吧。
今天学了这个东西。我们把公式粘贴上,都可以网上搜索到
//四种方向心形线
r=a*(1+cos(angle))
r=a*(1-cos(angle))
r=a*(1+sin(angle))
r=a*(1-sin(angle))
这四种的极坐标方程,有了这个方程之后,我们可以借助这种方程来实现绘制一个心形。我懒得一点没有填充颜色,有兴趣可以补充。
这次我们使用的Point类当中一个极坐标转换的方法来描点。
var point:Point=Point.polar(r,angle);//极坐标转换笛卡尔坐标
这个方法可以将极坐标转换我们常用的坐标系。这样我们可以利用绘图api 描绘每一个点。
我们利用这个方法,将他做一个简单描点动画。如下代码
其中每一个公式里面心形的方向也不会相同的。
不妨自己可以测试一下。好,累了 马上睡觉。第二天再补充。
package
{
//四种方向心形线
//r=a*(1+cos(angle))
//r=a*(1-cos(angle))
//r=a*(1+sin(angle))
//r=a*(1-sin(angle))
import flash.display.Sprite;
import flash.events.*;
import flash.geom.Point;
import flash.display.Graphics;
import flash.display.Bitmap;
import flash.display.BitmapData;
public class Main extends Sprite
{
private var pen:Sprite=new Sprite();
private var bmp:BitmapData;
private var n:int=0;//数量
private var maxStep:int=100;
public function Main()
{
addChild(pen);
addEventListener(Event.ENTER_FRAME,Run);
}
//绘制心形线
private function Run(event:Event):void
{
(n<=maxStep) ? drawHeart(n,100,new Point(250,200)) : stopDraw();
n++;
}
//停止绘制
private function stopDraw():void
{
removeEventListener(Event.ENTER_FRAME,Run);
trace("停止");
}
//绘制心形
private function drawHeart(num:int,radius:Number,p:Point):void
{
var angle:Number =2*Math.PI /maxStep * num;
var r:Number = radius*(1+Math.sin(angle));//公式
var point:Point=Point.polar(r,angle);//极坐标转换笛卡尔坐标
相关文档:
NAND Flash 的数据是以bit 的方式保存在memory cell,一般来说,一个cell 中只能存储一个bit。这些cell 以8 个或者16 个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device 的位宽。这些Line 会再组成Page.
(Nand Flash 有多种结构,我使用的Nand Flash 是K9F1208,下面内容针对三星的K9F1208 ......
这个程序是从2.0 改过来的,是网上一个程序,只是修改了一些内容,变成这种情况。这几天没有写程序,有点懒惰。于是今天又补充这种不错的应用。这个程序采用的是绘图API 最基本的绘制线,但是对其进行一些修改,使他产生上面的效果。漂亮不?呵呵,我都觉几漂亮,
作为绘图API 一个内容补充吧。
好,闲话不说。看 ......
var loader:URLLoader = new URLLoader();
loader.addEventListener(ProgressEvent.PROGRESS, handleProgress );
event:ProgressEvent event.bytesLoaded/event.bytesTotal
var streamer:URLStream = new URLStream( );
streamer.addEventListener( ProgressEvent.PROGRESS, handleProgress ......
flash mx.transitions.Tween;可以实现类似于补间动画的效果;导入该类:
import mx.transitions.Tween;
然后用new Tween()方法即可实现。New Tween()方法格式:
new Tween(要应用补间的MC,要应用补间的MC的属性,缓动效果,属性的初始值,属性的结束值,补间的长度,补间长度的类型)
下面介绍一下new Tween()方 ......
工厂模式在设计模式中可以说是最简单的一个模式了!我们平常写程序的时候工厂模式用的非常的广泛!这里我们就来详细的探讨一下工厂模式。
工厂模式是怎样诞生的呢?在实际的编程过程当中我们经常要碰到一个问题,就是类的封装,也可以说是隐藏产品类!这样我们就出现了工厂模式!这个模式就是专门 ......