使用Julia集测试电脑性能

2008-04-02 11:03:46来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  大家都知道Julia集是一种迭代算法,即不断将运算所得结果再投入算法计算,使得结果不断接近真实值

  例如我们计算π,e都是用这个算法。

  Julia集有很多形式,都需要消耗大量资源才能得出结果。而我们能够使用这个算法测试电脑性能。

  因为使用BitmapData支持,所以请使用FlashPlayer8.0播放。

  

  


  
/**

  ActionScriptSourceFile--CreatedwithSAPIENTechnologiesPrimalScript3.1

  @classTest.as

  @package

  @authortcper@163.comLoki_tang

  @codehint

  @example:importTest;

  varsomeObject:Test=newTest;

  someObject.tester(.01);

  @tooltip

  */

  importflash.display.BitmapData;

  classTestextendsMovieClip{

  privatevarn:Number;

  privatevarcx:Number;

  privatevarcy:Number;

  privatevarx2:Number;

  privatevary2:Number;

  privatevarrgb:Number;

  privatevartimeGot:Number;

  privatevarrgbOffset:Number;

  privatevarpixelPos:Number;

  privatevarmc:MovieClip;

  privatevarmcOrigin:MovieClip;

  privatevarmyBitmapData:BitmapData;

  //a,b都是Julia集的参数

  privatestaticvara:Number=.5;

  privatestaticvarb:Number=.55;

  privatestaticvarpixelNum:Number=0;

  privatestaticvartimeLimitation:Number=4000;//计算时间限制

  functionTest(){

  bitmapCreator();

  }

  privatefunctionbitmapCreator():BitmapData{

  myBitmapData=newBitmapData(400,400,false,0xcccccccc);

  returnmyBitmapData;

  }

  privatefunctionmcCreator():MovieClip{

  mcOrigin=this.createEmptyMovieClip("mc",this.getNextHighestDepth());

  returnmcOrigin;

  }

  privatefunctiongetRGB(i:Number,u:Number):Number{

  rgb=(i-u)*200;

  returnrgb;

  }

  privatefunctiongetPixelPos(i:Number):Number{

  pixelPos=Math.floor((i 1.5)*133.3);

  returnpixelPos;

  }

  privatefunctiontimeCheck(i:Number):Boolean{

  if((getTimer()-i)returntrue;

  }else{

  returnfalse;

  }

  }

  //publicMethod;

  publicstaticfunctionpixelStatistic():Number{

  returnpixelNum;

  }

  publicfunctiontester(u:Number):Void{

  rgbOffset=Math.floor(100*Math.random());

  timeGot=getTimer();

  varmc=mcCreator();

  mc.attachBitmap(bitmapCreator(),this.getNextHighestDepth());

  mc._x=mc._y=-200;

  //以下是Julia算法.

  for(vari=-1.5;i<=1.5;i =u){

  for(varj=-1.5;j<=1.5;j =u){

  cx=i;

  cy=j;

  for(varn=1;n<=100;n ){

  pixelNum ;

  x2=cx*cx-cy*cy a;

  y2=2*cy*cx b;

  cx=x2;

  cy=y2;

  if(cx*cx cy*cy>4){

  break;

  }

  if(!timeCheck(timeGot)){

  return;

  }

  }

  bitmapCreator().setPixel(getPixelPos(i),getPixelPos(j),getRGB(n,rgbOffset));

  }

  }

  }

  }


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: FlashMX出色实例:制作给物体堆雪的效果

下一篇: LoadMovie载入动画指令介绍