TEST_16 で「軸上配置なら同内面積の立方体が球より均一」,TEST_17 で「側壁 1 点への オフ軸配置では球のほうが頑健」と分かった.本実験は「積分球が使われる理由は照明配置への 依存が小さいからではないか」というユーザーの仮説を,LED の位置(極角 θ を 0〜120° で 13 段階)・向き(3 通り)・個数(1〜4 灯) を系統的に振って検証した(2026-09-14). 仮説は成立した.球の配置依存は同内面積の立方体の 1/2〜1/3 で,立方体の優位は軸上の 1 点に限られる.一方,対向 2 灯以上の対称配置にすると形状差はほぼ消え,どちらも単灯軸上より 均一になる.校正材質(純 diffuse ρ=0.81)で主要条件を引き直しても(結果 7)この結論は変わらない. ※ 旧材質(光沢 5% の blendbsdf)では「球は軸上より θ≈30° が均一」に見えたが,これは光沢成分が 作る軸上のリング構造によるもので,校正材質では両形状とも軸上が最良になる.
関連:
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 条件 + 追加実験 57 条件(結果 5・6).
| ペア | 球 内径 φ mm | 立方体 内寸 L mm | 内面積 mm² |
|---|---|---|---|
| 1 | 200 | 141 | 120,607 / 119,880 |
| 2 | 270 | 187 | 211,286 / 210,408 |
| 3 | 340 | 234 | 328,508 / 329,130 |
| 4 | 500 | 340 | 696,005 / 694,194 |
球のサイズは内径 φ で表す(TEST_15/17 の半径 r との対応: φ200=r100,φ270=r135,φ340=r170,
φ500=r250.条件名・出力ディレクトリ名は内部識別子として sphere_r100 等の半径表記のまま).
キャビティ中心(球: 球中心,立方体: 立方体中心)から方向 (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 |
| E 方位角(追加) | θ=90°・1 灯・板中心向きで方位角 φ = 15/30/40°(立方体: 面の中央→稜寄り).球は φ=45° が対照,立方体 L=234 φ=90° は符号較正 | 17 |
| F 真下向き多灯(追加) | 真下向き(バッフル無し)N=2/4/8 灯を θ=90° の輪に,N=4 を θ=60° にも.比較用に板中心向き N=8 | 40 |
バッフルは TEST_17 と同じ数値サイジング(発光面の前方にある板の全点を隠す最小半径 ×1.05).板の近く(θ が大きい)や壁法線向きでは円板が壁を貫かざるを得ないので,本実験は 外殻の貫通を許容して食い込み量を記録した(外側に出た部分はキャビティ内から見えない). 真下向き(−Z)は板が発光面の背後になるので直接光がゼロでバッフル不要.遮蔽率は バッフル付き全条件で 55,473〜221,892 本 100%(cuda でレイキャスト).
evaluation/fullimage.py).σ=12 px のガウス平滑化後の min/max から,ノイズだけの場
(残差を空間シャッフルして同じ平滑化を掛けたもの)の極値を差し引く.画像全体で評価するので
同心円状でない分布でも正しく,対称な分布では従来の輪帯平均 min/max と ±0.01 以内で一致し,
ノイズ床は ±0.004(軸上スイープ 20 条件で検証.scripts/build_fullimage_minmax.py).
従来の輪帯平均 min/max は方位方向に平均するため,オフ軸配置では非対称を見逃して 0.97〜0.99 に
張り付く(minmax_asymmetry.png.差と |a1| の相関 0.93〜0.95)ので本実験では使わない.
輝度マップパネル(maps/)の各マップに書いた min もこの値.position_sensitivity.png.非対称は TEST_17 と同じ m=1 符号付き係数 a1(正=LED 側
(+X)が明るい)で,直交成分 b1 ≤0.33% がノイズ対照.
| 形状・サイズ | 構造 CoV 軸上 | θ 全域の平均 | 最大(最悪 θ) | 幅 max−min | max|a1| | min 軸上 | min 最良(θ) | min 最悪(θ) | min の幅 |
|---|---|---|---|---|---|---|---|---|---|
| 球 φ200 | 0.0311 | 0.0244 | 0.0311(0°) | 0.0153 | 4.1% | 0.866 | 0.922(40°) | 0.866(0°) | 0.056 |
| 球 φ270 | 0.0231 | 0.0199 | 0.0321(110°) | 0.0229 | 4.1% | 0.909 | 0.958(30°) | 0.886(110°) | 0.072 |
| 球 φ340 | 0.0193 | 0.0164 | 0.0289(120°) | 0.0232 | 3.8% | 0.931 | 0.978(30°) | 0.898(120°) | 0.080 |
| 球 φ500 | 0.0145 | 0.0121 | 0.0244(120°) | 0.0202 | 3.1% | 0.951 | 0.980(20°) | 0.905(120°) | 0.075 |
| 立方体 L=141 | 0.0280 | 0.0513 | 0.0951(120°) | 0.0671 | 9.6% | 0.887 | 0.887(0°) | 0.646(120°) | 0.240 |
| 立方体 L=187 | 0.0178 | 0.0403 | 0.0888(120°) | 0.0710 | 11.2% | 0.932 | 0.932(0°) | 0.732(120°) | 0.200 |
| 立方体 L=234 | 0.0139 | 0.0293 | 0.0652(120°) | 0.0514 | 8.3% | 0.948 | 0.948(0°) | 0.790(120°) | 0.158 |
| 立方体 L=340 | 0.0096 | 0.0182 | 0.0348(120°) | 0.0252 | 4.5% | 0.964 | 0.964(0°) | 0.875(120°) | 0.088 |
min でも同じ結論: θ 全域での min の幅は球 0.056〜0.080,立方体 0.088〜0.240(1.1〜4.3 倍). 最悪配置の min は球 0.87〜0.91 に対し立方体 0.65〜0.88.立方体は全サイズで軸上(θ=0)が最良で, 球は θ=20〜40° が最良(旧材質.結果 7 参照)
配置依存の幅は立方体が球の 1.2〜3.1 倍,非対称の最大は 1.5〜2.7 倍.θ 全域の平均 構造 CoV も全ペアで立方体が悪い(1.5〜2.1 倍)
立方体は θ とともに単調に悪化し,板の直下(θ=120°)で軸上の 3.4〜5.0 倍.底面上 (θ≤40°)でも a1 は既に −2〜−6% ある(平らな床に置いた LED は近い側壁を強く照らす)
球は(旧材質では)軸上が最良ではない.θ=20〜40° で構造 CoV が最小(φ340: 0.0193 → 0.0057,φ500: 0.0145 → 0.0043)になり,軸上の同心円状のリング構造(TEST_15 のドーム)が 崩れて平坦になる.θ≥90° で軸上と同程度に戻り,最悪でも軸上の 1.0〜1.7 倍. ただしこのリング構造は旧材質の光沢成分が作るもので,校正材質では消える(結果 7)
立方体の軸上の優位(TEST_16)は確認できる(ペア 2〜4 で球の 0.66〜0.77 倍)が, 軸上の 1 点だけであり,θ=10° でも立方体は a1 が −1.7〜−2.5% 出る
a1 の符号: 球は θ=10〜20°(r≥135)で 正(LED 側が明るい)になり,θ が大きくなると 負に転じる.小さな傾きでは LED に近い壁の一次照射が勝ち,傾きが増すと反対側の壁の 一次照射キャップ(TEST_11/17)が支配する,と解釈できる(未検証)
direction_comparison.png.θ=60/90/120° × 3 向き × 4 ペア × 2 形状.
count_comparison.png.θ=90° の輪に等方位・総光束一定.
| 形状・サイズ | N=1 | N=2 | N=3 | N=4 | 参考: 軸上 1 灯 |
|---|---|---|---|---|---|
| 球 φ200 | 0.0308 | 0.0084 | 0.0057 | 0.0059 | 0.0311 |
| 球 φ340 | 0.0202 | 0.0053 | 0.0044 | 0.0043 | 0.0193 |
| 球 φ500 | 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 |
同じ条件の min(最大を 1 としたときの最小値):
| 形状・サイズ | N=1 | N=2 | N=3 | N=4 | 参考: 軸上 1 灯 |
|---|---|---|---|---|---|
| 球 φ200 | 0.884 | 0.961 | 0.959 | 0.967 | 0.866 |
| 球 φ340 | 0.933 | 0.958 | 0.976 | 0.988 | 0.931 |
| 球 φ500 | 0.942 | 0.975 | 0.976 | 0.979 | 0.951 |
| 立方体 L=141 | 0.822 | 0.959 | 0.926 | 0.969 | 0.887 |
| 立方体 L=234 | 0.897 | 0.978 | 0.962 | 0.974 | 0.948 |
| 立方体 L=340 | 0.905 | 0.982 | 0.943 | 0.970 | 0.964 |
seed を変えた 3 回の再レンダ(ペア 3・θ=90°・1 灯): 構造 CoV は球 0.0207±0.0007,
立方体 0.0326±0.0005,a1 は ±0.08%,min は球 0.933±0.007・立方体 0.891±0.007.
本実験で論じた差はすべてこの 10 倍以上(min は 5 倍以上).
seed を変えずに再レンダしても指標は 4 桁まで一致する(画素はノイズ程度に変わるが
集計で消える)ため,再現性条件は render.seed を変えた YAML にした.
azimuth_comparison.png.θ=90°・1 灯・板中心向きのまま,方位角 φ を面の中央(0°)から
稜寄り(40°.稜は 45°)へ振った.m=1 は LED の方位へ投影した符号付き成分 a1_led で見る
(較正: φ=90° の投影 −4.10% が φ=0° の −4.10% と一致=投影の符号は正しい).
| 立方体 | φ=0° | 15° | 30° | 40° | 40°/0° |
|---|---|---|---|---|---|
| L=141 構造 CoV | 0.0554 | 0.0649 | 0.0855 | 0.0972 | 1.75 |
| L=187 | 0.0459 | 0.0507 | 0.0596 | 0.0654 | 1.42 |
| L=234 | 0.0323 | 0.0355 | 0.0421 | 0.0460 | 1.42 |
| L=340 | 0.0208 | 0.0221 | 0.0247 | 0.0277 | 1.33 |
| L=141 a1_led | −7.1% | −7.7% | −9.6% | −11.2% | |
| L=141 min | 0.822 | 0.734 | 0.663 | 0.629 | 0.77 |
| L=187 min | 0.850 | 0.808 | 0.766 | 0.731 | 0.86 |
| L=234 min | 0.897 | 0.847 | 0.801 | 0.797 | 0.89 |
| L=340 min | 0.905 | 0.910 | 0.896 | 0.885 | 0.98 |
ring_comparison.png.真下向き(板が発光面の背後=バッフル無し)で N=2/4/8 灯を
θ=90° の輪に等方位に置いた(立方体 N=8 は稜を避けて 22.5° ずらす).
| 構造 CoV | N=1 | N=2 | N=4 | N=8 | 板向き N=8(バッフル付き) | 単灯軸上 |
|---|---|---|---|---|---|---|
| 球 φ200 | 0.0268 | 0.0118 | 0.0100 | 0.0093 | 0.0052 | 0.0311 |
| 球 φ340 | 0.0183 | 0.0101 | 0.0078 | 0.0072 | 0.0045 | 0.0193 |
| 球 φ500 | 0.0145 | 0.0118 | 0.0110 | 0.0092 | 0.0050 | 0.0145 |
| 立方体 L=141 | 0.0494 | 0.0239 | 0.0220 | 0.0186 | 0.0076 | 0.0280 |
| 立方体 L=234 | 0.0332 | 0.0106 | 0.0095 | 0.0075 | 0.0053 | 0.0139 |
| 立方体 L=340 | 0.0242 | 0.0109 | 0.0098 | 0.0094 | 0.0066 | 0.0096 |
同じ条件の min:
| min | N=1 | N=2 | N=4 | N=8 | 板向き N=8(バッフル付き) |
|---|---|---|---|---|---|
| 球 φ200 | 0.889 | 0.942 | 0.956 | 0.950 | 0.981 |
| 球 φ340 | 0.922 | 0.958 | 0.979 | 0.970 | 0.978 |
| 球 φ500 | 0.902 | 0.928 | 0.929 | 0.956 | 0.983 |
| 立方体 L=141 | 0.821 | 0.912 | 0.910 | 0.915 | 0.972 |
| 立方体 L=234 | 0.869 | 0.957 | 0.954 | 0.973 | 0.973 |
| 立方体 L=340 | 0.900 | 0.941 | 0.945 | 0.953 | 0.977 |
TEST_14 で確定した内壁材質(純 diffuse ρ=0.81.旧材質は blendbsdf ρ=0.85・光沢 5%)で
主要 60 条件(位置スイープをペア 1・3,多灯 N=2/4・真下向きをペア 3)を引き直した
(output/led_placement_sweep_rho081/).
| 位置スイープ(θ 全域) | 旧材質 → 校正材質 |
|---|---|
| 球 φ200: 軸上 / 平均 / 幅 / max|a1| | 0.0311 / 0.0244 / 0.0153 / 4.1% → 0.0117 / 0.0267 / 0.0296 / 5.7% |
| 球 φ340 | 0.0193 / 0.0164 / 0.0232 / 3.8% → 0.0039 / 0.0172 / 0.0298 / 4.5% |
| 立方体 L=141 | 0.0280 / 0.0513 / 0.0671 / 9.6% → 0.0199 / 0.0522 / 0.0975 / 11.3% |
| 立方体 L=234 | 0.0139 / 0.0293 / 0.0514 / 8.3% → 0.0056 / 0.0294 / 0.0773 / 10.8% |
同じ条件の min(軸上 / θ=30° / θ=90° / θ=120° / θ 全域の幅):
| 位置スイープ | 旧材質 → 校正材質 |
|---|---|
| 球 φ200 | 0.866 / 0.907 / 0.884 / 0.907 / 0.056 → 0.940 / 0.923 / 0.864 / 0.866 / 0.085 |
| 球 φ340 | 0.931 / 0.978 / 0.933 / 0.898 / 0.080 → 0.987 / 0.968 / 0.913 / 0.884 / 0.103 |
| 立方体 L=141 | 0.887 / 0.849 / 0.822 / 0.646 / 0.240 → 0.913 / 0.862 / 0.797 / 0.593 / 0.320 |
| 立方体 L=234 | 0.948 / 0.925 / 0.897 / 0.790 / 0.158 → 0.980 / 0.952 / 0.866 / 0.751 / 0.230 |
多灯(ペア 3・θ=90°)の min: 板向き N=2 は球 0.958 → 0.970・立方体 0.978 → 0.970,N=4 は 球 0.988 → 0.988・立方体 0.974 → 0.981,真下向き N=4 は球 0.979 → 0.979・立方体 0.954 → 0.958.
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 秒)
# 校正材質で主要条件だけ: ... -- python scripts/sweep_led_placement.py --material calibrated --key-subset --workers 2
# → uv run sm-remote pull led_placement_sweep_rho081 → build_led_placement_comparison.py --material calibrated
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/(条件別 255 ディレクトリ + summary.csv + analysis.csv +
position_summary.csv + position_sensitivity.png / position_maps.png /
direction_comparison.png / count_comparison.png / azimuth_comparison.png /
ring_comparison.png).レンダ前 3D 確認は _placement_check/cutaway_*.png(代表 23 条件).