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).
| ペア | 球 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 |
| 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 でレイキャスト).
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 にした.
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% |
ring_comparison.png.真下向き(板が発光面の背後=バッフル無し)で N=2/4/8 灯を
θ=90° の輪に等方位に置いた(立方体 N=8 は稜を避けて 22.5° ずらす).
| 構造 CoV | N=1 | N=2 | N=4 | N=8 | 板向き N=8(バッフル付き) | 単灯軸上 |
|---|---|---|---|---|---|---|
| 球 r=100 | 0.0268 | 0.0118 | 0.0100 | 0.0093 | 0.0052 | 0.0311 |
| 球 r=170 | 0.0183 | 0.0101 | 0.0078 | 0.0072 | 0.0045 | 0.0193 |
| 球 r=250 | 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 |
TEST_14 で確定した内壁材質(純 diffuse ρ=0.81.旧材質は blendbsdf ρ=0.85・光沢 5%)で
主要 60 条件(位置スイープをペア 1・3,多灯 N=2/4・真下向きをペア 3)を引き直した
(output/led_placement_sweep_rho081/).
| 位置スイープ(θ 全域) | 旧材質 → 校正材質 |
|---|---|
| 球 r=100: 軸上 / 平均 / 幅 / max|a1| | 0.0311 / 0.0244 / 0.0153 / 4.1% → 0.0117 / 0.0267 / 0.0296 / 5.7% |
| 球 r=170 | 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% |
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 条件).