我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 图型图像 > FLASH > 使用Julia集测试计算机性能
热门文章排行
热门文章排行 Photoshop制作精美的简历封面(10-12)
在Flash课件中正确调用SWF文件(11-25)
巧用Photoshop徒手绘制扇子(10-19)
CorelDRAW12循序渐进-制作文本效果(12-29)
消除文字勾边后产生毛刺的小技巧(06-14)
精采文章排行
精采文章排行 GIF动态图片的修改(11-07)
Q版人物绘制全过程(11-07)
Flash互动电子地图制作手册——入门(11-01)
Flash 8.0前瞻——揭开8 ball的薄面(10-24)
土人AS入门教程对象篇(10-24)
技术专题推荐
网管论坛交流
 

使用Julia集测试计算机性能 

作者:佚名   来源:Linux 宝库   点击:   日期:2006-11-25


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

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


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


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





/**
   ActionScript Source File -- Created with SAPIEN Technologies PrimalScript 3.1
   
   @class  Test.as
   @package
   @author tcper@163.com 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));
   }
  }
 }
}




文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·消除文字勾边后产生毛刺的小技巧 · 解决COREDRAW9与双核CPU冲突的技巧 5
·CorelDRAW入门与进阶实例:8.2椭圆按钮制 ·CorelDRAW印前分色新手上路
·IllustratorCS制作刺绣效果 ·CorelDRAW使用技巧-如何在CorelDRAW中虚

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。