使用Julia集测试计算机性能

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

大家都知道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));

}

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航