E4 · 出版卷 26

体素与块模型

规则与旋转网格、子单元与稀疏存储

学习目标

  • 解释“规则与旋转网格、子单元与稀疏存储”的决定边界与证据边界。
  • 选择并实现相关表示或算法,不使用隐藏坐标、支撑或拓扑假设。
  • 区分精确谓词、近似误差、来源不确定性与视觉交付。
  • 使用合成证据产出一套带支撑与体积守恒测试的体素及块模型变换。

只有当学习者能够为表示、变换、谓词、测试与发布决定同时辩护时,本章才算完成。没有可执行不变量与来源记录的整洁地图或三维场景仍然未经验证。

这是一部通用、机构中立的教程,与任何公司或个人没有关系。本章中的坐标、几何、网格、点、曲面、体积、属性和审查事件全部为合成教学材料,不得用于实际业务决定。

决定情境

本章决定是三维索引单元如何表示空间支撑与属性。体素网格、矿业块模型与占用体可以都使用整数索引,却在方向、父子结构、活动状态、属性支撑与预期查询上不同。契约声明原点、基向量或旋转、单元尺寸、索引顺序、中心或角点约定、范围、子单元规则、父块身份、活动与非活动语义、空值政策、属性关联,以及存储值属于测量、估计、类别还是比例。

选择表示或转换前先写明预期用途、错误后果、所需证据、空间支撑与发布权限。适用性应针对版本化契约和用途评估,而不能永久附着在文件扩展名上。

核心概念

规则网格具有隐式拓扑与显式索引到世界的变换。旋转网格在索引空间仍规则,即使其世界空间包围范围不再轴对齐。单元中心值描述体积;点中心值描述格点,插值方式不同。子单元划分或选择性细化父块支撑,需要精确父子关系。稀疏存储要区分未分配、已存背景、非活动已知值、未知值与零;合并这些状态会同时改变体积核算和科学含义。

接收证据、合格分析视图与派生表示应保持为不同对象。这样,更正证据、改变变换或新增细节层级都能生成新结果而不改写历史。每个坐标和基元都同时回答空间问题与来源问题。

算法与数据模型

变换可表示为原点加三个基向量,也可表示为原点、旋转与单元尺度。逻辑索引保持整数,世界角点与中心按需派生。父单元存储子索引范围、尺寸与父支撑比例;除非模型明确允许备选情景,否则应验证子单元不重叠也不超出父单元。属性标识单元支撑及估计或分类版本。稀疏层级把背景语义与活动拓扑同压缩字节布局分开,使另一实现能够重建同一逻辑网格。

把解析、语义验证、规范化、索引、精确或近似计算、质量评估与编码定义为不同阶段。每个阶段输出结构化结果,不依赖界面状态、文件顺序、图形驱动行为或无文档默认值。

约束与不变量

| 不变量 | 可执行或审查测试 | | --- | --- | | 索引到世界变换、单元支撑与索引顺序均显式声明。 | 拒绝或隔离精确受影响对象,并保留接收表示。 | | 非活动、背景、未知与零保持为不同值状态。 | 在创建任何派生几何、网格、曲面或体积前评估该条件。 | | 子单元关系保留父块身份与声明支撑体积。 | 记录谓词、容差政策、观测值与坐标框架。 | | 稀疏编码往返后得到相同逻辑活动拓扑。 | 把每次修复创建为新版本,并重跑全部依赖黄金用例。 |

不变量必须在导入、变换、处理、导出与重跑中持续成立。硬不变量失败时,不得生成表面有效的替代结果。诊断保留谓词、阈值、坐标框架、作用域与证据,只有经审查规则允许时才能触发修复。

定量推理

设原点为 \mathbf{o}、旋转为 R、单元尺度矩阵为 S、整数索引为 \mathbf{i},则单元中心为 \mathbf{x}_c=\mathbf{o}+RS(\mathbf{i}+\tfrac12\mathbf{1})。单元体积为 |\det(RS)|;纯旋转时化为三维尺寸乘积。应报告逻辑维度、活动与非活动数、已分配节点数、父块与子块体积、重叠与未覆盖体积、属性覆盖率及压缩比。父块细分应在声明政策内满足 \sum_j V_j=V_{parent}。测试覆盖负索引、单单元网格、旋转各向异性单元、嵌套子块、全背景稀疏区域与索引—世界坐标往返。

每项指标都包含单位、支撑、适用时的分子与分母、排除项、比较政策与评估版本。若汇总会掩盖局部几何失败,应分层报告。性能提升不能推翻无效拓扑、参考元数据缺失或血缘断裂。

证据与不确定性

采集不确定性、解释不确定性、离散误差、数值舍入与交付误差应保持分离。增加坐标位数或三角形数量不会改善原始证据。采样曲面可以平滑且水密,却在观测之间仍缺乏约束。应按误差所属的量和支撑报告不确定性。

证据包应包含不可变接收对象、语义声明、验证发现、变换输入输出、测量误差、测试结果、审查决定与指纹。矛盾证据继续保留。必需参考、拓扑状态或分类无法解析时,返回未知、冲突或阻止,而不是编造几何。

接口与存储

接口在坐标旁传递身份、坐标参考、单位、轴顺序、支撑、拓扑预期、属性关联、空值状态、版本与血缘。结构化错误标识对象、基元、谓词、观测值、预期条件与规则。只传顶点却丢弃变换或面方向的接口并未保留对象。

权威接收证据与可复现分析派生物、可丢弃交付制品分开存储。索引、缓存、金字塔与渲染网格可改善访问,但不能成为来源属性或坐标元数据的唯一副本。编码变化后,用往返测试验证身份、精度、拓扑、顺序、缺失与关联。

治理与审查

责任分配给角色,而不是具名机构或个人:证据保管角色、表示编写角色、算法维护角色、独立验证角色与发布审查角色。角色可以提出修复,但不能抹去接收几何。变换、谓词与容差变更在发布前都要版本化,并针对固定回归夹具评估。

例外是显式决定,包含作用域、理由、证据、批准角色、受影响版本与复审触发条件。例外不能只靠改标签把无效拓扑变成有效拓扑。承载教程的网站在该工作流中没有所有权或科学权威角色,只负责内容交付。

综合检查点

一套带支撑与体积守恒测试的体素及块模型变换
一套带支撑与体积守恒测试的体素及块模型变换

把本图视为从保留证据,经声明支撑与坐标、受控转换和验证,通向有作用域发布的推理地图。每条箭头代表声明关系。把一套带支撑与体积守恒测试的体素及块模型变换整合到 SYN-SPATIAL,重跑此前夹具,并记录每项变化的假设。

合成算例

合成块模型 SYN-BM01 含 20×10×6 个父块,绕垂轴旋转 30°。某导入把世界轴对齐最小范围当作原点,导致中心位移,并与合成曲面产生表观重叠。修复派生物恢复声明旋转与中心约定。一个父块含八个等体积子块,其体积之和恰等于父块;第九个重复子块被识别为重叠,隔离并从属性加权聚合中排除,同时保留接收记录。

  1. 保留接收对象,在不修复的情况下声明预期决定。
  2. 解析身份、参考、单位、支撑、拓扑与证据资格。
  3. 运行版本化变换或谓词,同时保留中间诊断。
  4. 作出接受、拒绝或隔离决定,并展示独立审查者如何复现。

练习任务

针对一个合成夹具实现本章成果。夹具至少包含正常、边界、无效与证据未解决用例各一个。保留接收夹具,并产出规范输入、验证发现、派生输出、处理清单、测量误差与简短发布决定。

验收条件:

  • 每个必需身份、坐标参考、单位、支撑与约定均显式声明。
  • 实现在稳定排序与声明数值政策下具有确定性。
  • 任何修复都不覆盖接收证据,也不把未知变成猜测值。
  • 所有硬失败均阻止受影响派生物,并保持机器可读。
  • 第二个实现或审查者可只依靠数据包复现结果。

提交一套带支撑与体积守恒测试的体素及块模型变换、黄金与对抗夹具、精确发现项、测量误差和限制说明。截图不能作为充分证据,因为它不标识输入版本、变换、算法或规则配置。

常见失败模式

  • 根据包围盒把旋转网格当作轴对齐。
  • 混淆单元中心属性与点中心样本。
  • 把稀疏存储中的缺席当作科学零值。
  • 聚合子单元时不检查重叠或父支撑未覆盖。

这些失败具有共同模式:用隐含便利替代证据。应定位假设最早进入的边界,恢复来源主张,把变换或谓词显式化,重跑全部依赖派生物,并以替代方式更新受影响发布,而不是覆盖。

复习问题

  1. 旋转规则网格为何仍然规则?
  2. 单元中心值与点中心值有何区别?
  3. 稀疏存储必须区分哪些状态?
  4. 如何测试子单元体积守恒?

每个答案都要指出支配不变量、评估所需证据、涉及的数值或语义政策,以及条件失败时的正确行为。

来源与延伸阅读