C# Mandelbrot和Julia分形图像生成程序更新到2010-9-14版 支持多线程计算 多核处理器

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 此文档是一个关于分形图像生成器的介绍,作者分享了个人开发的M-J算法集成及色彩创新,包括源代码和历史版本。作者欢迎有兴趣的读者留言交流,并提供了邮箱(delacroix_xu@sina.com)以分享资源。文中还展示了程序的发展历程,如增加了真彩色效果、圈选放大、历史记录等功能,并分享了几幅精美的分形图像。此外,还提到了程序的新特性,如导入ini文件批量输出图像和更新一批图片的功能。文档末尾附有多张程序生成的高分辨率分形图像示例。

分享与交流

该文档是2010年写的,搬运到这里。需要源代码的朋友,或是对精美壁纸感兴趣的伙伴们,请随时留言。请记得留下您的联系方式,如邮箱,以便于后续的分享与交流。


M-J算法集成与色彩创新

M-J算法源于网络,经个人精心整合并融入自创的颜色调配算法。诚邀各位提出宝贵意见,可以留言。


版本历程与资源链接

传送门:历次版本的帖子

1、MPI分形图像高精度绘制程序和PC端Mandelbrot-Julia分形集预览程序

2、C#.NET逃逸时间算法生成分形图像的毕业设计完成!晒晒功能


【历次版本概览】

  • Fractal Producer 分形图像生成器6.06版 —— 包含源代码,发布于2009年6月6日。
  • Fractal Producer 分形图像生成器5.19版 —— 包含源代码,发布于2009年5月19日。
  • 最新版 —— 提供C#多线程、多核分形Mandelbrot集、Julia集预览及批量生成程序,未包含源代码。获取链接:CSDN下载

【开发历程与特色功能】

  • 2010年9月14日:新增NormalizedIterationCount效果,即真彩色效果,亦称连续颜色。引入参数trueColorFlag,控制NormalizedIterationCount效果的启用。
  • 2010年9月6日:加入圈选放大功能,优化pmax、pmin、qmax、qmin自适应算法,恢复“更新一批图像”功能。
  • 2010年9月4日:修复细节丢失的小bug,批量更新图像时,自动清除所有历史记录。
  • 2010年9月1日:修复小bug,移除Fixed3D界面风格。
  • 2010年8月31日:增设“历史图片记录的数量”设定,采用splitpanel重构界面,新增“批量更新图片”菜单按钮。
  • 2010年8月26日:引入历史记录与选择功能,保存最近浏览的n张图片及其参数。
  • 2010年8月17日:新增批量处理对话框,支持抗锯齿功能。
  • 2010年6月28日:支持ini文件读取,优化多线程绘制,适配多核处理器。
  • 2010年5月15日:支持ini文件输出,暂时移除牛顿迭代法分形。
  • 2009年6月6日:毕业设计完成,集成三种核心算法。

【精选图赏邀请】

今日精选了一些极具视觉冲击力的分形图像,尺寸为1920×1080,采用16XX级抗锯齿处理,带来极致细腻的观赏体验。若您感兴趣,欢迎留言并留下邮箱


image.png

image.png


image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png



下面几幅图展示了程序的新功能

 

导入ini文件 批量输出图像


image.png


程序的历史记录功能 可以恢复以前的图片 这个功能可以有效防止用户点更新时候错过好看的图片

还有一个功能是“更新一批图片”,可以更加方便的更新颜色


image.png


image.png


image.png


image.png


image.png


image.png



相关文章
|
1天前
|
存储 Java C++
Java虚拟机(JVM)管理内存划分为多个区域:程序计数器记录线程执行位置;虚拟机栈存储线程私有数据
Java虚拟机(JVM)管理内存划分为多个区域:程序计数器记录线程执行位置;虚拟机栈存储线程私有数据,如局部变量和操作数;本地方法栈支持native方法;堆存放所有线程的对象实例,由垃圾回收管理;方法区(在Java 8后变为元空间)存储类信息和常量;运行时常量池是方法区一部分,保存符号引用和常量;直接内存非JVM规范定义,手动管理,通过Buffer类使用。Java 8后,永久代被元空间取代,G1成为默认GC。
10 2
|
6天前
|
Java 调度
【实战指南】Java多线程高手秘籍:线程生命周期管理,掌控程序命运的钥匙!
【6月更文挑战第19天】Java多线程涉及线程生命周期的五个阶段:新建、就绪、运行、阻塞和死亡。理解这些状态转换对性能优化至关重要。线程从新建到调用`start()`变为就绪,等待CPU执行。获得执行权后进入运行状态,执行`run()`。遇到阻塞如等待锁时,进入阻塞状态。完成后或被中断则死亡。管理线程包括合理使用锁、利用线程池、处理异常和优雅关闭线程。通过控制这些,能编写更高效稳定的多线程程序。
|
8天前
|
C#
WPF/C#:程序关闭的三种模式
WPF/C#:程序关闭的三种模式
11 3
|
14天前
|
存储 编解码 算法
C#.NET逃逸时间算法生成分形图像的毕业设计完成!晒晒功能
该文介绍了一个使用C#.NET Visual Studio 2008开发的程序,包含错误修复的Julia、Mandelbrot和优化过的Newton三种算法,生成色彩丰富的分形图像。作者改进了原始算法的效率,将内层循环的画点操作移至外部,提升性能。程序提供五种图形模式,支持放大缩小及颜色更新,并允许用户自定义画布大小以调整精度。还具备保存为高质JPG的功能。附有四张示例图片展示生成的分形效果。
|
20天前
|
Java 调度 流计算
基于多线程的方式优化 FLink 程序
这篇内容介绍了线程的基本概念和重要性。线程是程序执行的最小单位,比进程更细粒度,常用于提高程序响应性和性能。多线程可以实现并发处理,利用多核处理器,实现资源共享和复杂逻辑。文章还讨论了线程的五种状态(NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING和TERMINATED)以及如何在Java中创建和停止线程。最后提到了两种停止线程的方法:使用标识和中断机制。
|
21天前
|
大数据 C#
C#实现多线程的几种方式
C#实现多线程的几种方式
|
1天前
|
Java
java使用多线程编写服务端与客户端文件上传程序
java使用多线程编写服务端与客户端文件上传程序
4 0
|
1月前
|
测试技术 持续交付 C#
C#程序基础开发入门学习笔记
C#是一种现代的、面向对象的编程语言,广泛应用于Windows应用程序开发、游戏开发(尤其是Unity引擎)、Web应用程序以及跨平台应用等。
35 0
|
1月前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
|
1月前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。