上海市浦东新区成山路800号云顶广场A座5楼 16661155584 j9laoge@j909.vip

资讯中心

游戏知识实验课:半透明层叠加的先后次序——底灰度14上的九组三层覆盖(练习05)

2026-10-31

两层半透明图形即使使用相同的透明度,前后顺序不同也可能显示不同颜色。每层都混合自己与后面的结果,所以不能只把所有颜色简单相加。

本篇用一组独立输入把规则展开为可重复核对的记录。先确认单位、编号及边界,再自行尝试推演,然后寻找与下面过程第一次不同的位置。所有结果只在这里写明的规则下成立,不能当作所有游戏的统一实现。

规则与输入

使用零到一百的线性灰度单位,底层完全不透明。每覆盖一层,结果等于该层灰度乘透明度,加下方结果乘一减透明度;三层按给定顺序从下到上叠加,并与完全倒序比较。

不透明底层灰度14 [[[50, '1/2'], [95, '3/4'], [18, '1/4']], [[22, '3/4'], [97, '1/4'], [11, '1/4']], [[78, '1/2'], [12, '1/4'], [76, '1/4']], [[27, '3/4'], [67, '1/4'], [28, '1/2']], [[63, '3/4'], [54, '1/4'], [63, '1/2']], [[78, '1/4'], [1, '1/2'], [48, '1/4']], [[99, '1/2'], [75, '1/4'], [88, '1/4']], [[32, '3/4'], [81, '3/4'], [59, '3/4']], [[76, '1/4'], [70, '1/2'], [70, '3/4']]]

逐步推演

第1组从底向上图层[[50, '1/2'], [95, '3/4'], [18, '1/4']],逐层正序结果['32', '317/4', '1023/16'],倒序结果['15', '75', '125/2'],最终差23/16。

第2组从底向上图层[[22, '3/4'], [97, '1/4'], [11, '1/4']],逐层正序结果['20', '157/4', '515/16'],倒序结果['53/4', '547/16', '1603/64'],最终差457/64。

第3组从底向上图层[[78, '1/2'], [12, '1/4'], [76, '1/4']],逐层正序结果['46', '75/2', '377/8'],倒序结果['59/2', '201/8', '825/16'],最终差-71/16。

第4组从底向上图层[[27, '3/4'], [67, '1/4'], [28, '1/2']],逐层正序结果['95/4', '553/16', '1001/32'],倒序结果['21', '65/2', '227/8'],最终差93/32。

第5组从底向上图层[[63, '3/4'], [54, '1/4'], [63, '1/2']],逐层正序结果['203/4', '825/16', '1833/32'],倒序结果['77/2', '339/8', '1851/32'],最终差-9/16。

第6组从底向上图层[[78, '1/4'], [1, '1/2'], [48, '1/4']],逐层正序结果['30', '31/2', '189/8'],倒序结果['45/2', '47/4', '453/16'],最终差-75/16。

第7组从底向上图层[[99, '1/2'], [75, '1/4'], [88, '1/4']],逐层正序结果['113/2', '489/8', '2171/32'],倒序结果['65/2', '345/8', '1137/16'],最终差-103/32。

第8组从底向上图层[[32, '3/4'], [81, '3/4'], [59, '3/4']],逐层正序结果['55/2', '541/8', '1957/32'],倒序结果['191/4', '1163/16', '2699/64'],最终差1215/64。

第9组从底向上图层[[76, '1/4'], [70, '1/2'], [70, '3/4']],逐层正序结果['59/2', '199/4', '1039/16'],倒序结果['56', '63', '265/4'],最终差-21/16。

正序与倒序都由各自的覆盖顺序推导,灰度保持在零到一百范围内。

怎样独立检查

将三次混合展开为底层及各图层灰度的加权和;系数应非负且总和为一。独立计算这些最终权重,可核对逐层更新的结果及其为何受顺序影响。

灰度是本例的线性数值模型,不把真实图像编码值当作已经校正的亮度。其他混合模式、预乘表示或透明背景都需要另写公式。倒序结果有时恰好相同,并不证明一般情况下层序无关。

练习时先保存原始输入及中间结果,再只改变一个条件观察差异。重点检查空状态、相同数值、恰好到达边界和最后一步。不要为了凑出相同的最终结果而忽略较早出现的偏差,过程和结论都应能由同一套规则解释。