4. 网点设计原理:从密度到排布,把光“赶”出导光板

网点设计,说白了就是决定光从哪儿出去、出多少。我见过不少新手,一上来就猛调网点大小,结果均匀度一塌糊涂。其实,网点设计有四个核心维度:密度、大小、形状、排布方式。咱们一个一个拆开聊。

核心观点:网点不是“印上去的装饰”,而是光的“出口控制器”。每个网点都是一个微型散射单元,它的位置、尺寸、密度共同决定了导光板的出光特性。

4.1 网点密度与光提取效率的关系

网点密度,就是单位面积内网点的数量。密度越高,光被“拦截”的概率越大,提取效率自然就高。但这里有个陷阱——密度不是越高越好。

我做过一个项目,客户要求亮度极高,我把网点密度加到了 60% 以上。结果呢?靠近 LED 入光侧的网点太密,光还没走到中间就被“抢”光了,远端一片漆黑。这就是典型的“密度失控”。

光在导光板内传播时,能量是逐渐衰减的。所以,合理的密度分布应该是:近端稀、远端密。这样才能补偿光强的自然衰减,让整个面板亮度均匀。

密度区域 光强状态 推荐密度范围 典型应用场景
近端(入光侧) 强 5% - 15% 侧入式 LED 导光板
中部 中等 15% - 35% 常规照明面板
远端(出光侧) 弱 35% - 60% 大尺寸背光模组
我的习惯:做第一版设计时,我会先用线性密度梯度(从 5% 到 50%),然后根据实测亮度曲线做二次修正。这样比直接猜均匀分布靠谱得多。

4.2 网点大小与形状对均匀度的影响

网点大小直接影响散射强度。大网点散射强,但容易产生“亮斑”;小网点散射柔和,但提取效率低。这里需要找到一个平衡点。

我记得有一次,客户要求厚度只有 0.8mm 的超薄导光板。网点直径如果超过 0.3mm,从正面看就能看到一个个“光点”,均匀度完全没法看。最后我把网点直径控制在 0.1mm - 0.25mm 之间,配合密度渐变,才解决了问题。

至于形状,常见的就三种:

  • 圆形:加工最简单,散射各向同性,适合通用照明。
  • 方形/矩形:定向散射强,适合需要控制出光角度的场景。
  • 六边形:填充率高,适合高密度排布,但加工成本高。

你想想看,如果网点形状和导光板的光学结构不匹配,光就会“乱跑”。比如,在棱镜结构导光板上用圆形网点,效果往往不如用方形网点好。

避坑指南:我曾经在微结构导光板上用了圆形网点,结果出现了明显的摩尔纹。后来换成随机分布的六边形网点,问题才解决。形状选择一定要结合导光板的整体光学设计来考虑。

4.3 随机网点 vs 规则网点

这是个老生常谈的问题,但很多人理解有偏差。

规则网点,就是按固定间距、固定大小排布。优点是设计简单、加工方便。缺点是——容易产生干涉条纹和摩尔纹。尤其是当网点间距与 LED 间距成整数倍关系时,那画面简直没法看。

随机网点,不是完全乱排,而是用算法控制网点位置在一定范围内随机偏移。它能有效破坏周期性,消除摩尔纹。但随机度过大,又会导致局部密度不均,出现“斑块”。

对比项 规则网点 随机网点
设计复杂度 低 高
摩尔纹风险 高 低
均匀度控制 容易(但易出现条纹) 较难(需算法优化)
加工成本 低 中
适用场景 低端照明、对均匀度要求不高的场景 高端显示、医疗、车载背光

我个人习惯是:优先用随机网点。虽然设计麻烦点,但后期调试省心。规则网点我只有在客户明确要求低成本、且对均匀度容忍度较高时才会用。

4.4 网点排布算法基础

说到算法,很多人觉得高深。其实核心就几个套路。

4.4.1 均匀随机分布

最简单的方法。在指定区域内随机生成坐标点。但纯随机会导致局部聚集或稀疏,均匀度很差。我一般不用。

// 伪代码:均匀随机分布(不推荐单独使用)
for i = 1 to N:
    x = random(0, width)
    y = random(0, height)
    place_dot(x, y, size)

4.4.2 泊松盘采样

这是目前最主流的方法。它保证任意两个网点之间的距离不小于一个最小值(半径 r)。这样既能随机,又能避免局部过密或过疏。

// 伪代码:泊松盘采样核心逻辑
r = min_distance  // 最小间距
grid_size = r / sqrt(2)
active_list = [initial_point]

while active_list is not empty:
    pick random point p from active_list
    for k = 1 to K:  // K 为尝试次数,通常 30
        theta = random(0, 2π)
        radius = random(r, 2r)
        new_point = p + (radius * cos(theta), radius * sin(theta))
        if new_point is valid (距离所有已有点 ≥ r):
            add new_point to active_list and result
    if no valid point found after K tries:
        remove p from active_list
我的经验:泊松盘采样生成的网点,均匀度比纯随机好 3-5 倍。但计算量大,如果导光板尺寸很大(比如 100 寸以上),建议用网格加速或分块处理。

4.4.3 密度梯度控制

光靠泊松盘还不够,因为我们需要近端稀、远端密。所以要在算法里加入密度函数。

// 伪代码:密度梯度泊松盘
function density(x, y):
    // 根据位置计算目标密度
    distance_from_led = sqrt(x^2 + y^2)
    return base_density + (distance_from_led / max_distance) * density_range

// 在泊松盘采样中,根据密度函数动态调整最小间距 r
r = sqrt(1 / density(x, y)) * scale_factor

这样生成的网点,近端间距大、远端间距小,自然就实现了密度渐变。我做过对比,用密度梯度算法后,均匀度从 65% 提升到了 88%。

4.4.4 抖动与优化

算法生成的网点,有时候还是会有微弱的周期性。这时候可以加一个“抖动”步骤:对每个网点的位置做微小随机偏移(偏移量不超过间距的 10%)。

嗯,这里要注意:抖动不能太大,否则会破坏密度梯度。我一般控制在 5% 以内。

网点设计核心逻辑框架图 网点设计核心逻辑框架 网点密度 近端稀、远端密 网点大小 平衡散射与均匀度 网点形状 圆形/方形/六边形 排布方式 随机 vs 规则 网点排布算法 泊松盘采样 + 密度梯度 均匀随机分布 泊松盘采样 密度梯度控制 输出:高均匀度网点布局 关键指标 均匀度 ≥ 85%

最后总结一下:网点设计不是孤立的事。密度、大小、形状、排布算法,这四个要素要一起考虑。我见过太多人只盯着一个参数调,结果越调越乱。记住一句话:用算法控制密度梯度,用随机破坏周期性,用尺寸调节局部亮度。做到这三点,你的导光板均匀度不会差。