TEST_16 で「軸上配置なら同内面積の立方体が球より均一」,TEST_17 で「側壁 1 点への オフ軸配置では球のほうが頑健」と分かった.本実験は「積分球が使われる理由は照明配置への 依存が小さいからではないか」というユーザーの仮説を,LED の位置(極角 θ を 0〜120° で 13 段階)・向き(3 通り)・個数(1〜4 灯) を系統的に振って検証した(2026-09-14). 仮説は成立した.球の配置依存は同内面積の立方体の 1/2〜1/3 で,しかも球は軸上より 少しずらした位置(θ≈30°)のほうが均一になる.立方体の優位は軸上の 1 点に限られる. 一方,対向 2 灯以上の対称配置にすると形状差はほぼ消え,どちらも単灯軸上より均一になる.
関連:
TEST_17 は側壁の 1 点(軸中点の高さ)だけを測ったので,「ずれ量に対する感度曲線」が 無く,向きや灯数の影響も不明だった.実機では LED の位置・向き・個数は基板やケースの 都合で決まるため,「どの配置でもそこそこ均一」=配置依存の小ささは筐体形状の実用上の 性能である.本実験はそれを 3 軸で定量し,球と立方体のどちらが配置に寛容かを決める.
固定条件(材質 ρ=0.85 blendbsdf・spp=1024・max_depth=16・512²・評価板・LED 面積と 総光束・評価 YAML)は TEST_15〜17 と同一.球は similar_radial キャビティ. レンダは研究室サーバ Newton の cuda_ad_rgb(mitsuba 3.7.1).全 198 条件.
| ペア | 球 r mm | 立方体 L mm | 内面積 mm² |
|---|---|---|---|
| 1 | 100 | 141 | 120,607 / 119,880 |
| 2 | 135 | 187 | 211,286 / 210,408 |
| 3 | 170 | 234 | 328,508 / 329,130 |
| 4 | 250 | 340 | 696,005 / 694,194 |
キャビティ中心(球: 球中心,立方体: 立方体中心)から方向 (sinθ, 0, −cosθ) に伸ばした 半直線が内壁と交わる点に LED を置く.θ=0° が底の中心(=従来の軸上配置),90° が中心と 同じ高さの側壁,120° が評価板の直下(球は loft 接続の約 1° 下).立方体では θ<45° が 底面,θ>45° が側壁で,稜 45° はグリッドから外した.LED 円板は壁法線から発光方向へ傾け, 縁が壁を貫かない分だけ浮かせる(余裕 0.5mm を全条件で数値確認).
| 群 | 条件 | 数 |
|---|---|---|
| A 位置 | θ = 0, 10, …, 40, 50, …, 120°(13 段階)× 1 灯・板中心向き・バッフル | 104 |
| B 向き | θ = 60/90/120° × {板中心向き+バッフル, 壁法線向き+バッフル, 真下向き(バッフル無し)} | 48(うち 24 は A と共通) |
| C 個数 | θ=90° の輪に N=1/2/3/4 灯を等方位(総光束を保存=radiance/N)+ N=4 を θ=60/120° | 40(うち 8 は A と共通) |
| D 再現性 | ペア 3・θ=90°・1 灯を seed を変えて 3 回再レンダ | 6 |
バッフルは TEST_17 と同じ数値サイジング(発光面の前方にある板の全点を隠す最小半径 ×1.05).板の近く(θ が大きい)や壁法線向きでは円板が壁を貫かざるを得ないので,本実験は 外殻の貫通を許容して食い込み量を記録した(外側に出た部分はキャビティ内から見えない). 真下向き(−Z)は板が発光面の背後になるので直接光がゼロでバッフル不要.遮蔽率は バッフル付き全条件で 55,473〜221,892 本 100%(cuda でレイキャスト).
position_sensitivity.png.非対称は TEST_17 と同じ m=1 符号付き係数 a1(正=LED 側
(+X)が明るい)で,直交成分 b1 ≤0.33% がノイズ対照.
| 形状・サイズ | 構造 CoV 軸上 | θ 全域の平均 | 最大(最悪 θ) | 幅 max−min | max|a1| |
|---|---|---|---|---|---|
| 球 r=100 | 0.0311 | 0.0244 | 0.0311(0°) | 0.0153 | 4.1% |
| 球 r=135 | 0.0231 | 0.0199 | 0.0321(110°) | 0.0229 | 4.1% |
| 球 r=170 | 0.0193 | 0.0164 | 0.0289(120°) | 0.0232 | 3.8% |
| 球 r=250 | 0.0145 | 0.0121 | 0.0244(120°) | 0.0202 | 3.1% |
| 立方体 L=141 | 0.0280 | 0.0513 | 0.0951(120°) | 0.0671 | 9.6% |
| 立方体 L=187 | 0.0178 | 0.0403 | 0.0888(120°) | 0.0710 | 11.2% |
| 立方体 L=234 | 0.0139 | 0.0293 | 0.0652(120°) | 0.0514 | 8.3% |
| 立方体 L=340 | 0.0096 | 0.0182 | 0.0348(120°) | 0.0252 | 4.5% |
direction_comparison.png.θ=60/90/120° × 3 向き × 4 ペア × 2 形状.
count_comparison.png.θ=90° の輪に等方位・総光束一定.
| 形状・サイズ | N=1 | N=2 | N=3 | N=4 | 参考: 軸上 1 灯 |
|---|---|---|---|---|---|
| 球 r=100 | 0.0308 | 0.0084 | 0.0057 | 0.0059 | 0.0311 |
| 球 r=170 | 0.0202 | 0.0053 | 0.0044 | 0.0043 | 0.0193 |
| 球 r=250 | 0.0136 | 0.0054 | 0.0052 | 0.0054 | 0.0145 |
| 立方体 L=141 | 0.0554 | 0.0098 | 0.0208 | 0.0089 | 0.0280 |
| 立方体 L=234 | 0.0323 | 0.0049 | 0.0089 | 0.0047 | 0.0139 |
| 立方体 L=340 | 0.0208 | 0.0067 | 0.0062 | 0.0064 | 0.0096 |
seed を変えた 3 回の再レンダ(ペア 3・θ=90°・1 灯): 構造 CoV は球 0.0207±0.0007,
立方体 0.0326±0.0005,a1 は ±0.08%.本実験で論じた差はすべてこの 10 倍以上.
seed を変えずに再レンダしても指標は 4 桁まで一致する(画素はノイズ程度に変わるが
集計で消える)ため,再現性条件は render.seed を変えた YAML にした.
render.seed を変える(本実験で schema に追加)runner.ensure_variant で先に variant を確定してから呼ぶ)# 幾何生成のみ(3D 配置確認用)
uv run python scripts/sweep_led_placement.py --prepare-only
uv run python scripts/show_scene_cutaway.py --scene configs/_tmp_led_placement/scene_cube_L234_th090_board_n4.yaml \
--output output/led_placement_sweep/_placement_check/cutaway_cube_L234_th090_board_n4.png
# スイープ本体(研究室サーバ・GPU 1 枚・2 並列.1 条件 5〜6 秒)
uv run sm-remote push
uv run sm-remote run --name place --gpu 0 --threads 16 -- python scripts/sweep_led_placement.py --workers 2
uv run sm-remote pull led_placement_sweep
# 解析図 + 集約表
uv run python scripts/build_led_placement_comparison.py
出力: output/led_placement_sweep/(条件別 198 ディレクトリ + summary.csv + analysis.csv +
position_summary.csv + position_sensitivity.png / position_maps.png /
direction_comparison.png / count_comparison.png).レンダ前 3D 確認は
_placement_check/cutaway_*.png(代表 18 条件).