crgd12吧 关注:5贴子:104
  • 0回复贴,共1

JS 朱莉娅集

只看楼主收藏回复

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="CComplex.js">
</script>
<script type="text/javascript">
window.onload = function() {
var myCanvas = document.getElementById("myCanvas"); // 获得画布句柄
var g = myCanvas.getContext("2d"); //获得设备句柄
var w = myCanvas.attributes.width.value; //画布的宽度
var h = myCanvas.attributes.height.value; //画布的高度
var bmp = g.getImageData(0, 0, w, h); //创建一个位图
var pBmpPixel = bmp.data; //位图数据指针
var start = new CComplex(-2, -2); //迭代起始点
var end = new CComplex(2, 2); //迭代结束点
var maxIterations = 1000; //迭代次数
var spot = new CComplex(0, 0);
var delta = new CComplex((end.x - start.x) / w, (end.y - start.y) / h);
for (var i = 0; i < w; ++i) {
spot.x = start.x + i * delta.x;
for (var j = 0; j < h; ++j) {
spot.y = start.y + j * delta.y;
var flag = 0;
var c = new CComplex(spot.x, spot.y);
var p = new CComplex(0.45, 0.143);
var mm = 4*i*w + 4*j;
while (flag < 260 && c.getSquareModulus() < 100) {
flag++;
c = c.multiplication((c.multiplication(c).addition(p))).addition(p);
}
if (c.getSquareModulus() < 260) {
pBmpPixel[mm++] = 255;
pBmpPixel[mm++] = 255;
pBmpPixel[mm++] = 255;
pBmpPixel[mm] = 255;
} else {
pBmpPixel[mm++] = 0;
pBmpPixel[mm++] = 0;
pBmpPixel[mm++] = 0;
pBmpPixel[mm] = 255;
}
}
}
g.putImageData(bmp, 0, 0);
}
</script>
</head>
<body>
<canvas width="1024px" height="1024px" id="myCanvas"></canvas>
</body>
</html>



1楼2012-02-08 10:00回复