news 2026/7/6 16:53:04

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
十二月开发《宝贝涂鸦先生》:意外发现元胞自动机,实现像素加粗处理!

十二月开发成果概述

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

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

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

《宝贝涂鸦先生》需求

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

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

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

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

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

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

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

像素加粗处理

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/6 16:52:05

如何从零开始掌握R语言数据分析:14个实用模块带你快速上手

如何从零开始掌握R语言数据分析:14个实用模块带你快速上手 【免费下载链接】Online_R_learning Online R learning for applied statistics 项目地址: https://gitcode.com/gh_mirrors/on/Online_R_learning 想要学习数据分析却不知从何入手?Onl…

作者头像 李华
网站建设 2026/7/6 16:51:06

为什么每个Node.js开发者都需要nvm:3个核心优势解析

为什么每个Node.js开发者都需要nvm:3个核心优势解析 【免费下载链接】nvm Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions 项目地址: https://gitcode.com/GitHub_Trending/nv/nvm 在Node.js开发的世界中&…

作者头像 李华
网站建设 2026/7/6 16:49:12

3分钟搞定系统安装难题:Rufus USB启动盘制作全场景指南

3分钟搞定系统安装难题:Rufus USB启动盘制作全场景指南 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus 想象一下,你正面临这样的困境:公司新采购的电脑需要批量…

作者头像 李华
网站建设 2026/7/6 16:44:13

如何快速批量下载音乐歌词:163MusicLyrics完整使用指南

如何快速批量下载音乐歌词:163MusicLyrics完整使用指南 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为本地音乐缺少歌词而烦恼吗?想要一次…

作者头像 李华