投影、网络与阶梯
VectorPaint 三位格雷码环:核对相邻一位变化与首尾闭合
把八组固定宽度码字排成闭环,逐边比较改变位,区分序号、码字与普通二进制计数。
本文目录
码字都只有零和一,不表示按普通数值顺序排就能每步只变一位。本篇手工排三位格雷码环,核八组唯一标签与八条相邻关系。它是静态编码图,不模拟传感器、不宣称抗干扰性能,也不要求应用自动生成码表或执行位运算。
先固定三位宽度与八个标签
外部清单按顺序写000、001、011、010、110、111、101、100,再回000闭合。每组恰三位,前导零保留,001不能写1,010不能写10。可参考Gray原始编码专利中的反射二进制编码背景,本文只取相邻码组变化的概念,不复制专利图或推导硬件功能。先给列表位置一至八,位置编号不等于码字的二进制数值,不能把两栏混写。所有文字由自己录入,字宽不一致时先解决排版。
环上节点与位序都用固定参照
画八个节点围成环或圆角矩形路线,按列表顺次放码字,起点明确标000。码字内部从左到右定义第一、第二、第三位,不因节点在环下方就倒读文字。节点可同大小,路径长度不编码数值。文字保持正向可读,不为沿圆周排列把每组旋转到难辨。先关连接线数八节点,再逐个与外部清单配对,确认没有少一组或重复两次011。闭合连接是100回000,不是自动跳回列表最小的某个其他解释。
逐边比较八次而不是七次
变化位依次为第三、第二、第三、第一、第三、第二、第三、第一。前七条来自列表相邻,最后一条100到000也要检查,只改左位。八节点闭环有八条关系,不能只做七次核对就宣布循环成立。每条边旁可临时标改变位编号,再对三位逐字比较,恰有一位不同。不要只看两组的数值差是否一,011到010数值差一只是巧合,010到110同样只变一位却不是普通相邻整数。比较对象是位位置,不是十进制差。
八组唯一也要独立检查
三位零一码共有八种组合,本例列表每种出现一次。可另按普通二进制排序成000、001、010、011、100、101、110、111作为全集清单,只用于对照有没有漏组,不把这排序直接替环顺序。相邻一位变化与码字唯一是两条件,来回交替000与001也能每次变一位,却不是八组完整环。先核集合,再核顺序,不能因为节点数八就推所有标签都不同。闭合时重复写起点只作为回返标记,不计第九种码字。
与普通计数作明确反例
普通二进制计数001到010要改两位,011到100改三位,所以不是本题每边一位的环。另存对照,标出改变位而非只把这两组涂红。不要为让计数看似通过删去进位时变化的零;三位宽度必须始终不变。此比较不说普通二进制错误,只说明目标条件不同。也不能把格雷码标签直接按位置编号当同值二进制数使用,若要编码和解码映射需另定义,本篇没有承诺所有数值运算可沿环完成。
旋转排列时保留邻接关系
若为版式把起点换到右上,沿环整体移位即可,列表中的相邻对仍保持;文字方向可单独调整但内容不反写。反向沿同一环走也每次变一位,需明确读取方向,不能把节点随意洗牌后沿用旧说明。先保留原顺序版本,再在副本移动节点,连接线端点与箭头逐条核。环形只是展示方式,不表示应用真的沿码字运行或控制设备,节点间曲线长短也不代表转换时间。所有改动先按码字身份追踪而非屏幕左右。若只改起点标记而没有移动标签,读取清单也需从新起点同步改写。
导出要看前导零与最后一条边
保存原稿,导出PNG后逐组三位回读,尤其001、010前导零和100回000的闭合边。字体零与字母O要分清,不能用看似相近的字母代替。若小图读不清,扩大节点或减少装饰,不删首位缩短标签。临时改变位编号不交付时主动隐藏,正式码字与起点保留。单色版本也应能沿路径核,不靠颜色猜哪一位变了。另一格式输出需独立打开,不能仅因原稿文字可编辑就认定所有数字会原样呈现。
从位宽全集相邻闭合复核
缺组先查全集,某边改两位先查顺序,最后一边失败先查100是否接回000,不能只修前七边。每次调节点后重新做八次比较,不把一种外观环当所有格雷码的通用布局。完成保留三位约定、八标签、变化位清单、普通计数对照与实际输出。图说明一个明确码环性质,不证明硬件可靠性、通信安全或软件自动执行位运算,更不能把静态相邻规则当真实传感器已经通过测试。
相关教程与资料
VectorPaint 自设双旗编码卡:用行列核对十六种组合、VectorPaint 七段数字卡:逐个核对零到九的亮段组合。
资料核对:2026 年 11 月 10 日,VectorPaint 公开版本 1.0.8,最低要求 iOS / iPadOS 17.0。功能依据官方 App Store 说明和Apple 公开版本查询。本文是自行执行的原创练习,具体控件以安装版本为准;手工构造与外部记录不等于应用新增自动分析。没有声称已完成真机、私人文件或所有输出环境的逐项测试。