好久没来了,这次给大家带来一点东东。
大家都知道Julia集是一种迭代算法,即不断将运算所得结果再投入算法计算,使得结果不断接近真实值
例如我们计算π,e都是用这个算法。
Julia集有很多形式,都需要消耗大量资源才能得出结果。而我们可以使用这个算法测试计算机性能。
因为使用BitmapData支持,所以请使用FlashPlayer8.0播放。
/**
ActionScript Source File -- Created with SAPIEN Technologies PrimalScript 3.1
@class Test.as
@package
@author [email protected] Loki_tang
@codehint
@example: import Test;
var someObject:Test=new Test;
someObject.tester(.01);
@tooltip
*/
import flash.display.BitmapData;
class Test extends MovieClip {
private var n:Number;
private var cx:Number;
private var cy:Number;
private var x2:Number;
private var y2:Number;
private var rgb:Number;
private var timeGot:Number;
private var rgbOffset:Number;
private var pixelPos:Number;
private var mc:MovieClip;
private var mcOrigin:MovieClip;
private var myBitmapData:BitmapData;
//a,b都是Julia集的参数
private static var a:Number = .5;
private static var b:Number = .55;
private static var pixelNum:Number = 0;
private static var timeLimitation:Number = 4000;//计算时间限制
function Test() {
bitmapCreator();
}
private function bitmapCreator():BitmapData {
myBitmapData = new BitmapData(400, 400, false, 0xcccccccc);
return myBitmapData;
}
private function mcCreator():MovieClip {
mcOrigin = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
return mcOrigin;
}
private function getRGB(i:Number,u:Number):Number {
rgb = (i-u)*200;
return rgb;
}
private function getPixelPos(i:Number):Number {
pixelPos = Math.floor((i+1.5)*133.3);
return pixelPos;
}
private function timeCheck(i:Number):Boolean {
if ((getTimer()-i) return true;
} else {
return false;
}
}
//public Method;
public static function pixelStatistic():Number {
return pixelNum;
}
public function tester(u:Number):Void {
rgbOffset = Math.floor(100*Math.random());
timeGot = getTimer();
var mc = mcCreator();
mc.attachBitmap(bitmapCreator(), this.getNextHighestDepth());
mc._x = mc._y=-200;
//以下是Julia算法.
for (var i = -1.5; i<=1.5; i += u) {
for (var j = -1.5; j<=1.5; j += u) {
cx = i;
cy = j;
for (var n = 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));
}
}
}
}
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔