# VectorPaint 三位格雷码环：核对相邻一位变化与首尾闭合

语言：zh-CN
原文：[VectorPaint 三位格雷码环：核对相邻一位变化与首尾闭合](<https://allluckly.cn/guides/vectorpaint-three-bit-gray-cycle/>)
中文：[中文 HTML](<https://allluckly.cn/guides/vectorpaint-three-bit-gray-cycle/>)
English: [English HTML](<https://allluckly.cn/en/guides/vectorpaint-three-bit-gray-cycle/>)
发布于: 2026-11-10T00:00:00+08:00
内容更新于: 2026-11-10T00:00:00+08:00
署名：Bison

把八组固定宽度码字排成闭环，逐边比较改变位，区分序号、码字与普通二进制计数。

码字都只有零和一，不表示按普通数值顺序排就能每步只变一位。本篇手工排三位格雷码环，核八组唯一标签与八条相邻关系。它是静态编码图，不模拟传感器、不宣称抗干扰性能，也不要求应用自动生成码表或执行位运算。

## 先固定三位宽度与八个标签

外部清单按顺序写000、001、011、010、110、111、101、100，再回000闭合。每组恰三位，前导零保留，001不能写1，010不能写10。可参考[Gray原始编码专利](<https://patents.google.com/patent/US2632058A/en>)中的反射二进制编码背景，本文只取相邻码组变化的概念，不复制专利图或推导硬件功能。先给列表位置一至八，位置编号不等于码字的二进制数值，不能把两栏混写。所有文字由自己录入，字宽不一致时先解决排版。

## 环上节点与位序都用固定参照

画八个节点围成环或圆角矩形路线，按列表顺次放码字，起点明确标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 自设双旗编码卡：用行列核对十六种组合](<https://allluckly.cn/guides/vectorpaint-invented-two-flag-code/>)、[VectorPaint 七段数字卡：逐个核对零到九的亮段组合](<https://allluckly.cn/guides/vectorpaint-seven-segment-digit-cards/>)。

资料核对：2026 年 11 月 10 日，VectorPaint 公开版本 1.0.8，最低要求 iOS / iPadOS 17.0。功能依据[官方 App Store 说明](<https://apps.apple.com/cn/app/id1587272880>)和[Apple 公开版本查询](<https://itunes.apple.com/lookup?id=1587272880&country=cn>)。本文是自行执行的原创练习，具体控件以安装版本为准；手工构造与外部记录不等于应用新增自动分析。没有声称已完成真机、私人文件或所有输出环境的逐项测试。

