曼德尔布罗特集合

June 22, 2021 · 程序 · 10307次阅读

计算机艺术是我一直关注的领域,国内外都有人在研究,它不仅是渲染的艺术,也是代码的艺术,同时也是数学的艺术。

曼德尔布罗特集合最经常被用来说明何为分形几何,它已成为分形几何的标志性图案,它可以帮助我们更好地理解我们周围不规则和粗糙的世界。它的名称就来源于“分形几何之父”伯努瓦-曼德尔布罗特。分形几何理论认为,许多领域(如物理学、生物学以及金融等)中的复杂现象,都可以以这种美丽的图案进行处理。今天用JS+Canvas来实现曼德尔布罗特集合的算法。传送门

HTML部分

<div id="canvas_wrapper" style="overflow:auto;"></div>

javascript部分

var $canvas,canvas,context;
draw();
function draw(){
    var w = 1024;
    var h = w;
    $canvas = $("<canvas>");
    $canvas.attr("id","canvas");
    $canvas.attr("width",w);
    $canvas.attr("height",h);
    $canvas.appendTo("#canvas_wrapper");
    canvas = $canvas[0];
    context = canvas.getContext("2d");
    var imageData = context.createImageData(canvas.width, canvas.height);
    var pixelData = imageData.data;
    for (var i = 0; i < canvas.height; i++) {
        for (var j = 0; j < canvas.width; j++) {
            var x = 0.0, y = 0.0, a = 0.0;
            for (var k = 0; k < 256; k++) {
                a = x * x - y * y + (i - (canvas.width * 2 / 3 + 50))/(canvas.width * 0.5);
                y = 2 * x * y + (j - (canvas.width * 0.5))/(canvas.width * 0.5);
                x = a;
                if (x * x + y * y > 4) {
                    break;
                }
            }

            var p = j * canvas.width + i;
            pixelData[4 * p + 0] = Math.log(k) * 47;
            pixelData[4 * p + 1] = Math.log(k) * 47;
            pixelData[4 * p + 2] = 128 - Math.log(k) * 23;
            pixelData[4 * p + 3] = 255;
        }
    }
    context.putImageData(imageData, 0, 0, 0, 0, canvas.width, canvas.height);
}

最终效果

喝杯水 ENJOY 1

javascriptcanvas

最后编辑于4年前

添加新评论

  1. 2025-09-17 00:11

    new zealandn online pokies au reviews, new bingo
    sites usa 2021 and best online slot new zealand, or milwausaee casino entertainment

    回复
  2. 2025-09-17 01:01

    https://t.me/s/ReYting_CaSIno_RUssiA

    回复
avatar

朱益雷

有趣的灵魂万里挑一

10

文章数

149

评论数

3

分类

热死辣

新鲜出炉の评论

学写一个字
Janeicomo0413
Janeicomo04132025-09-17

XEvil6.0自动解决大多数类型的captchas, 包括这类验证码: ReCaptcha-2, ReCaptcha-3, Google captcha, Solve Media, BitcoinFaucet, Steam, +12000 + hCaptcha, FC, ReCaptcha Enterprize 现在支持新的Xevil6.0! 1.) 快速,轻松 XEvil是世界上最快的验证码杀手。 它没有解决限制,没有线程数限制 2.) 几个Api支持 XEvil支持超过6种不同的全球知名API: 2Captcha, anti-captcha (antigate), rucaptcha.com, death-by-captcha, etc. 只要通过HTTP请求发送您的验证码,因为您可以发送到任何一个服务-和XEvil将解决您的验证码! 因此,XEvil与数百个SEO/SMM/密码恢复/解析/发布/点击/加密货币/等应用程序兼容。 3.) 有用的支持和手册 购买后,您可以访问私人技术。支持论坛,维基,Skype/电报在线支持 开发人员将免费且非常快速地训练XEvil到您的验证码类型-只需向他们发送示例 4.) 如何免费试用XEvil完整版? - 尝试在Google中搜索 "Home of XEvil" - 您将找到Xevil用户打开端口80的Ip(点击任何IP以确保) - 尝试通过2captcha API ino其中一个Ip发送您的captcha - 如果你有坏的密钥错误,只需tru另一个IP - 享受吧! :) - (它不适用于hCaptcha!) 警告:免费XEvil演示不支持ReCaptcha,hCaptcha和大多数其他类型的captcha!

学写一个字
AHMET ENGİN
AHMET ENGİN2025-09-17

+905516067299 fetoden dolayi ulkeyi terk etti

曼德尔布罗特集合局部放大
FIRAT ENGİN
FIRAT ENGİN2025-09-17

+905325600307 fetoden dolayi ulkeyi terk etti

学写一个字
Janeicomo1781
Janeicomo17812025-09-17

Xevil5.0自动解决大多数类型的captchas, 包括这类验证码: ReCaptcha-2, ReCaptcha v.3, Google, Solve Media, BitcoinFaucet, Steam, +12k + hCaptcha, FC, ReCaptcha Enterprize 现在支持新的Xevil6.0! 1.) 快速,轻松 XEvil是世界上最快的验证码杀手。 它没有解决限制,没有线程数限制 2.) 几个Api支持 XEvil支持超过6种不同的全球知名API: 2captcha.com, anti-captchas.com (antigate), RuCaptcha, death-by-captcha, etc. 只要通过HTTP请求发送您的验证码,因为您可以发送到任何一个服务-和XEvil将解决您的验证码! 因此,XEvil与数百个SEO/SMM/密码恢复/解析/发布/点击/加密货币/等应用程序兼容。 3.) 有用的支持和手册 购买后,您可以访问私人技术。支持论坛,维基,Skype/电报在线支持 开发人员将免费且非常快速地训练XEvil到您的验证码类型-只需向他们发送示例 4.) 如何免费试用XEvil完整版? - 尝试在Google中搜索 "Home of XEvil" - 您将找到Xevil用户打开端口80的Ip(点击任何IP以确保) - 尝试通过2captcha API ino其中一个Ip发送您的captcha - 如果你有坏的密钥错误,只需tru另一个IP - 享受吧! :) - (它不适用于hCaptcha!) 警告:免费XEvil演示不支持ReCaptcha,hCaptcha和大多数其他类型的captcha!

学写一个字
Janeicomo9356
Janeicomo93562025-09-17

Xevil5.0自动解决大多数类型的captchas, 包括这类验证码: ReCaptcha-2, ReCaptcha v.3, Google, Solve Media, BitcoinFaucet, Steam, +12k + hCaptcha, FC, ReCaptcha Enterprize 现在支持新的Xevil6.0! 1.) 快速,轻松 XEvil是世界上最快的验证码杀手。 它没有解决限制,没有线程数限制 2.) 几个Api支持 XEvil支持超过6种不同的全球知名API: 2Captcha, anti-captcha (antigate), rucaptcha.com, DeathByCaptcha, etc. 只要通过HTTP请求发送您的验证码,因为您可以发送到任何一个服务-和XEvil将解决您的验证码! 因此,XEvil与数百个SEO/SMM/密码恢复/解析/发布/点击/加密货币/等应用程序兼容。 3.) 有用的支持和手册 购买后,您可以访问私人技术。支持论坛,维基,Skype/电报在线支持 开发人员将免费且非常快速地训练XEvil到您的验证码类型-只需向他们发送示例 4.) 如何免费试用XEvil完整版? - 尝试在Google中搜索 "Home of XEvil" - 您将找到Xevil用户打开端口80的Ip(点击任何IP以确保) - 尝试通过2captcha API ino其中一个Ip发送您的captcha - 如果你有坏的密钥错误,只需tru另一个IP - 享受吧! :) - (它不适用于hCaptcha!) 警告:免费XEvil演示不支持ReCaptcha,hCaptcha和大多数其他类型的captcha! http://xrumersale.site/