当前位置: 首页 > news >正文

十二月开发《宝贝涂鸦先生》:意外发现元胞自动机,实现像素加粗处理!

十二月开发成果概述

十二月的大部分时间用于开发专为幼儿设计的极简合作绘图应用《宝贝涂鸦先生》(Mr. Baby Paint),还意外发现基于泛洪填充的元胞自动机,并为位图字体开发像素加粗算法。

为幼儿设计软件:《宝贝涂鸦先生》

十二月成功开发并发布《宝贝涂鸦先生》。开发者三岁的孩子想参与使用电脑,但现有写字板和画图软件对孩子来说挫折多于乐趣,因孩子鼠标操作无章法,常需开发者介入。找不到合适软件,于是开发者决定自己开发。

《宝贝涂鸦先生》需求

最小可行产品是全屏空白画布,无菜单和工具栏,点击拖动鼠标绘图。开发者让孩子坐腿上控制鼠标,自己用左手操作键盘快捷键。为鼓励孩子绘图,每个操作有回报。具体操作包括左键绘图、滚动滚轮撒“沙子”、右键填充。绘图速度快,溅出颜料多。因幼儿鼠标移动快,开发者用 Catmull - Rom 样条曲线连接点创建平滑曲线,沿曲线绘图,对大画笔绘制距离加以限制。

《宝贝涂鸦先生》用户界面

利用不稳定鼠标移动,光标移到屏幕边缘可更改设置:屏幕左侧边缘分 16 个区域控制画笔大小和选择字体;底部边缘分 16 个区域选颜色;顶部边缘分 64 个区域选字符;右侧边缘分两个区域选圆形和方形画笔。

《宝贝涂鸦先生》合作绘图

这是家长和幼儿的合作绘图应用,复杂功能由家长用键盘快捷键激活,幼儿专注绘图。如孩子难按住鼠标左键,家长可按 Alt 键触发绘图功能。其他键盘快捷键包括绘图、填充、撒“沙子”、暂停、保存、擦除、撤销、恢复、闭合线条、选择画笔、更改颜色、打开/关闭菜单等操作。

填充工具与意外发现的元胞自动机

受《马里奥画板》启发,《宝贝涂鸦先生》的泛洪填充实时进行且向左和向右扩展,允许多个填充和绘图操作同时进行。实现此功能时意外发现基于泛洪填充的元胞自动机,在扩展的泛洪填充区域内边缘附近启动新填充,因共享“扩展预算”和扩展上限,新填充扩展快,与旧填充边缘碰撞、融合形成图案,状态半稳定。技术上在单线程 CPU 上计算,虽慢但有趣,朋友阿德尔建议尝试不同填充图案,开发者做了演示。操作说明为点击开始填充,在第一个填充区域内边缘附近开始另一次填充,或点击“自动”按钮,可设计和自定义填充图案,右键点击画布可下载图像。该应用已卖出约 30 份,支持 Mac、Windows 和 Linux 系统,售价 4.99 美元。

像素加粗处理

《宝贝涂鸦先生》有 16 种字体,部分来自老式计算机,开发者也想自制字体。单笔画字体编辑器有位图渲染器,但 1 像素笔画太细,开发者编写十几个实验性像素加粗脚本。尝试多种方法,包括对每个像素采样放置方块、跳跃泛洪算法(JFA)距离场结合不同处理方式等,最终选择方法 4 并在 Aseprite 中手动编辑和清理。该方法对绘图和图像有效,也用在了 Ruusut 宣传材料上。开发者对此满意,有了完整的基于位图的字体处理流程。

http://www.cnnetsun.cn/news/3188151.html

相关文章:

  • OpenCore Legacy Patcher技术深度解析:老Mac性能升级的原理揭秘与终极优化方案
  • 如何从零开始掌握R语言数据分析:14个实用模块带你快速上手
  • 5分钟快速上手REPENTOGON:终极《以撒的结合》脚本扩展器完整配置指南
  • 为什么每个Node.js开发者都需要nvm:3个核心优势解析
  • 3分钟搞定系统安装难题:Rufus USB启动盘制作全场景指南
  • 如何快速批量下载音乐歌词:163MusicLyrics完整使用指南
  • Sulphur-2视频生成模型终极指南:如何选择最适合你的GGUF量化版本
  • 掌握yuzu模拟器:从零开始构建高性能Switch游戏环境
  • 深入解析Windows Defender禁用工具:no-defender的工作原理与安全考量
  • EhViewer完整指南:开源漫画阅读器的终极Android解决方案
  • 鸿蒙远程真机工具:让鸿蒙开发调试告别卡顿延迟!
  • Rive渲染器:现代跨平台动画的底层引擎技术解析
  • 跨平台Minecraft模组开发:MultiLoader-Template核心理念与实战指南
  • 终极指南:三分钟为百度网盘Mac版解锁SVIP与下载加速
  • ZheTian社区与支持:如何参与项目维护与贡献代码的完整指南
  • Vision Transformer (ViT) 模型部署实战:PyTorch 实现 224x224 图像分类,Top-1 准确率 73.5%
  • 【计算机Java毕业设计案例】基于 SpringBoot 的快递包裹分类分拣管理系统的设计与实现 基于 SpringBoot 的快递分拣异常处理管理系统(程序+文档+讲解+定制)
  • ZheTian安全最佳实践:红队操作中的合规使用指南
  • OpenMontage:AI 调度 AI 的视频制作流水线架构与实践
  • Material Menu RTL布局支持:国际化应用的最佳实践指南
  • Material Menu替代方案:为什么项目被废弃及现代替代品推荐
  • FloatingView动画性能对比:传统动画vs物理动画的优劣分析
  • FloatingView跨版本兼容:从Android 3.0到最新系统的适配方案
  • three.quarks随机函数应用:创建自然随机的粒子效果
  • Android备份提取器终极指南:3个核心技巧快速掌握数据恢复
  • CMS备份自动化工具:Instatic脚本与服务
  • mark-sweep垃圾收集器测试用例解析:从基础到高级
  • 3步掌握ComfyUI-WanVideoWrapper视频生成实战指南
  • 如何快速上手PaddlePaddle-DeepSpeech:5分钟完成第一个语音识别项目
  • 如何配置vz虚拟机:网络、存储和共享目录的终极教程