跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
TypeScriptNode.js大前端算法

基于 Next.js 的曼德勃罗集 Web 可视化应用

介绍一款基于 Next.js 的曼德勃罗集 Web 可视化工具,具备全屏沉浸式浏览、高性能 Canvas 渲染及丰富交互功能。支持缩放、平移、撤销、书签管理及预设分形位置切换,提供多种颜色主题与深色模式。技术栈包含 Next.js、TypeScript、React 及 Tailwind CSS,核心算法为经典迭代公式,并采用 Web Worker 等性能优化策略,兼容桌面与移动端浏览器。

RedisGeek发布于 2026/4/6更新于 2026/10/23121 浏览
基于 Next.js 的曼德勃罗集 Web 可视化应用

曼德勃罗集可视化应用

一个基于 Next.js 构建的沉浸式曼德勃罗集(Mandelbrot Set)探索工具,提供丰富的交互功能和精美的视觉效果。

图片描述

源代码:https://gitee.com/yanjianzhong007/mandelbrotset
在线演示:https://z2p9jz49tp.coze.site/

git clone https://gitee.com/yanjianzhong007/mandelbrotset.git

功能特性

核心功能
  • 全屏显示:沉浸式全屏浏览体验
  • 高性能渲染:基于 Canvas 的像素级渲染,支持流畅的实时交互
  • 拉框选择:
    • Shift + 拖拽:放大选定区域
    • Ctrl + 拖拽:缩小选定区域
  • 一键全图:快速返回完整视图
  • 缩放滑块:快速定位缩放级别(2x - 1000x)
预设位置(上帝的指纹)

内置 10 个经典的分形区域:

  1. 完整视图
  2. 象鼻 (Elephant Valley)
  3. 海马谷 (Seahorse Valley)
  4. 双螺旋 (Double Spiral)
  5. 轻盈之羽 (Light Feather)
  6. 螺旋星系 (Spiral Galaxy)
  7. 迷你曼德勃罗 (Mini Mandelbrot)
  8. 海马群岛 (Seahorse Islands)
  9. 闪电峡谷 (Lightning Canyon)
  10. 螺旋花 (Spiral Flower)
颜色主题

7 种精心设计的颜色方案:

  • 彩虹
  • 火焰
  • 海洋
  • 灰度
  • 霓虹
  • 日落
  • 森林
交互工具
  • 撤销功能:支持多步撤销,快捷键 Ctrl+Z
  • 书签管理:保存、分类、命名并快速跳转到感兴趣的视图
  • 移动端支持:单指拖拽平移,双指缩放
界面特性
  • 悬浮控制面板:可折叠,支持深色/浅色主题切换
  • 渲染进度指示器:实时显示渲染状态
  • 水印显示:多行填充水印,跟随图案移动,字体小巧淡雅

技术栈

  • 框架: Next.js 16.0.10 (App Router)
  • 语言: TypeScript 5
  • UI: React 19 + Tailwind CSS 4
  • 渲染: HTML5 Canvas
  • 组件库: shadcn/ui

快速开始

环境要求
  • Node.js 18+
  • npm

操作指南

基本操作
  • 拖拽:按住鼠标左键拖动视图
  • 放大:按住 Shift 键并拖拽选择区域
  • 缩小:按住 Ctrl 键并拖拽选择区域
  • 缩放滑块:在控制面板中拖动滑块快速缩放
  • 撤销:按 Ctrl+Z 或点击撤销按钮
预设位置

在控制面板的'上帝的指纹'下拉菜单中选择预设位置,快速跳转到经典分形区域。

颜色主题

在控制面板的'颜色主题'下拉菜单中选择不同的配色方案,探索不同的视觉风格。

书签管理
  1. 点击控制面板中的书签图标(黄色书签按钮)
  2. 点击'添加书签'保存当前视图
  3. 为书签命名并选择分类
  4. 点击书签条目快速跳转
移动端操作
  • 单指拖拽:平移视图
  • 双指捏合:缩放视图
主题切换

点击控制面板右上角的太阳/月亮图标切换深色/浅色主题。

项目结构

mandelbrot-set/
├── src/
│   ├── app/
│   │   └── page.tsx # 主页面组件
│   ├── components/
│   │   ├── ControlPanel.tsx # 控制面板
│   │   ├── MandelbrotCanvas.tsx # Canvas 渲染组件
│   │   ├── BookmarksPanel.tsx # 书签管理面板
│   │   ├── ProgressBar.tsx # 进度指示器
│   │   └── ui/ # shadcn/ui 组件
│   └── lib/
│       └── mandelbrot.ts # 核心算法和工具函数
├── public/ # 静态资源
└── package.json

核心算法

本项目使用经典的曼德勃罗集迭代算法:

z_{n+1} = z_n^2 + c

其中 c 是复平面上的点,z 从 0 开始迭代。如果 |z| 始终保持在 2 以内,则点 c 属于曼德勃罗集。

性能优化

  • 使用 Canvas 直接操作像素,避免 DOM 操作
  • 画质模式切换:预览模式降低分辨率提升性能
  • 分块渲染:大画布分块处理,避免界面卡顿
  • Web Worker 支持:后台计算,保持界面响应

浏览器支持

  • Chrome/Edge 90+
  • Firefox 88+
  • Safari 14+
  • 支持桌面和移动端

开发说明

代码规范
  • 使用 TypeScript 进行类型检查
  • 遵循 ESLint 规则
  • 使用 Prettier 格式化代码
构建检查
pnpm build

许可证

MIT

致谢

本应用受到曼德勃罗集的数学美学的启发,旨在为用户提供探索分形世界的沉浸式体验。

目录

  1. 曼德勃罗集可视化应用
  2. 功能特性
  3. 核心功能
  4. 预设位置(上帝的指纹)
  5. 颜色主题
  6. 交互工具
  7. 界面特性
  8. 技术栈
  9. 快速开始
  10. 环境要求
  11. 操作指南
  12. 基本操作
  13. 预设位置
  14. 颜色主题
  15. 书签管理
  16. 移动端操作
  17. 主题切换
  18. 项目结构
  19. 核心算法
  20. 性能优化
  21. 浏览器支持
  22. 开发说明
  23. 代码规范
  24. 构建检查
  25. 许可证
  26. 致谢

更多推荐文章

查看全部
  • 2024 年中国 AI 大模型 Top 10 进展与应用趋势分析
  • Python 实现手机号归属地查询工具
  • 现代C++与MASM协同开发实践:x64架构下的底层优化
  • Spring Boot Web 后端开发核心注解详解
  • WebODM 免费开源无人机影像处理全流程详解
  • C++红黑树原理与实现详解
  • AI 辅助编程工作流实践:Python 自动化处理 Excel 数据
  • Claude Code 模型配置详解
  • AI 热榜深度解读:平台生态、多智能体与评测体系的新风向
  • 大语言模型入门指南:学习计划与核心路线
  • PyTorch 模型训练完整工作流程详解
  • 网络安全入门指南:从基础原理到实战进阶
  • Python 与前端集成:构建全栈应用
  • 无人机 AI 算法全景图:7 大场景 50+ 算法详解
  • AI 编程新范式:Spec Coding 方法与工具
  • OpenClaw macOS 环境搭建与安装指南
  • 基于 Java 的百度地图路线规划服务开发指南
  • 前端开发三年职业经历总结:从迷茫到互联网转型
  • 图像处理常用 Python 库对比与选择指南
  • VS Code 插件搭建 AI 开发环境完全指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online