ããªããææå°çã«ååé·ãäœãã§ãããªãã空ã¯éåžžéãã®ã«ãªãæ¥æ²¡ã§èµ€é¢ããã®ãçåã«æãã§ãããã ããã®ïŒäž»ãªïŒçç±ãšãªã£ãå
åŠçŸè±¡ã¯ã
ã¬ã€ãªãŒæ£ä¹±ãšåŒã°ããŸãã ãã®èšäºã§ã¯ãå€§æ°æ£ä¹±ãã·ãã¥ã¬ãŒãããŠãææã«çŸããå€ãã®èŠèŠå¹æãã·ãã¥ã¬ãŒãããæ¹æ³ã説æããŸãã ãšã€ãªã¢ã³ã®ææã®ç©ççã«æ£ç¢ºãªç»åãã¬ã³ããªã³ã°ããæ¹æ³ãåŠã³ããå Žåããã®ãã¥ãŒããªã¢ã«ã¯
ééããªãæ¢çŽ¢ãã䟡å€ããããŸãã
ãã®èšäºã¯ã次ã®ããŒãã«åãããŠããŸãã
- ããŒã1.倧æ°ã®äœç©æ£ä¹±
- ããŒã2.å€§æ°æ£ä¹±ã®çè«
- ããŒã3.ã¬ã€ãªãŒæ£ä¹±ã®æ°åŠ
- ããŒã4.倧æ°åãæ
ãã
- ããŒã5.倧æ°ã·ã§ãŒããŒ
- ããŒã6.倧æ°ã®äº€å·®ç¹
- ããŒã7.倧æ°åæ£ã·ã§ãŒããŒ
ããŒã1.倧æ°ã®äœç©æ£ä¹±
ã¯ããã«
空ã¯äžéæãªç©äœã§ã¯ãªãããã倧æ°çŸè±¡ãåçŸããããšã¯éåžžã«å°é£ã§ãã åŸæ¥ã®ã¬ã³ããªã³ã°ææ³ã§ã¯ããªããžã§ã¯ãã¯åã«ç©ºã®ã·ã§ã«ã§ãããšæ³å®ããŠããŸãã ãã¹ãŠã®ã°ã©ãã£ãã¯èšç®ã¯ææã®è¡šé¢ã§å®è¡ãããå
éšã®å
容ã«äŸåããŸããã ãã®åŒ·åãªåçŽåã«ãããäžéæãªãªããžã§ã¯ããéåžžã«å¹ççã«ã¬ã³ããªã³ã°ã§ããŸãã ãã ããäžéšã®ææã®ç¹æ§ã¯ãå
ãããããééã§ãããšããäºå®ã«ãã£ãŠæ±ºãŸããŸãã
åéæã®ãªããžã§ã¯ãã®æçµçãªå€èгã¯ãå
ãšå
éšæ§é ã®çžäºäœçšã®çµæã§ãã ã»ãšãã©ã®å Žåããã¥ãŒããªã¢ã«ã
Unityã§ã®è¡šé¢äžæ£ä¹±ã®é«éã·ã§ãŒã㌠ãã§èŠãããããã«ããã®çžäºäœçšã¯éåžžã«å¹æçã«ã·ãã¥ã¬ãŒãã§ããŸãã æ®å¿µãªãããç§ãã¡ã®å Žåã説åŸåã®ãã空ãäœæãããå Žåãããã¯ããã§ã¯ãããŸããã ææã®ã倿®»ãã ããã¬ã³ããªã³ã°ãã代ããã«ã倧æ°ãééããå
ç·ãã©ããªãããã·ãã¥ã¬ãŒãããå¿
èŠããããŸãã ãªããžã§ã¯ãå
ã§èšç®ãå®è¡ããããšã
ããªã¥ãŒã ã¬ã³ããªã³ã°ãšåŒã³
ãŸã ã ãã®ãããã¯ã«ã€ããŠã¯ãäžé£ã®
ããªã¥ãŒã ã¬ã³ããªã³ã°ã®èšäºã§è©³ãã説æããŸããã ãã®äžé£ã®èšäºã§ã¯ãå€§æ°æ£ä¹±ã®ã·ãã¥ã¬ãŒã·ã§ã³ã«å¹æçã«äœ¿çšã§ããªã2ã€ã®ææ³ïŒ
ã¬ã€ããŒãã³ã°ãš
笊å·è·é¢é¢æ° ïŒã«ã€ããŠèª¬æããŸããã ãã®èšäºã§ã¯ãå€ãã®å Žå
åäœäœç©æ£ä¹±ãšåŒã°ãããåéæã®ãœãªãããªããžã§ã¯ãã®ã¬ã³ããªã³ã°ã«é©ããææ³ã«ã€ããŠåŠç¿ããŸãã
åäžæ£ä¹±
å
ã®ãªãéšå±ã§ã¯ãäœãèŠããŸããã ãªããžã§ã¯ãã¯ãå
ç·ãåå°ãããŠç®ã«å
¥ããšãã«ã®ã¿è¡šç€ºãããŸãã ã»ãšãã©ã®ã²ãŒã ãšã³ãžã³ïŒUnityãUnrealãªã©ïŒã¯ãå
ããç空ãå
ãç§»åããããšãæ³å®ããŠããŸãã ããã¯ããªããžã§ã¯ãã®ã¿ãå
ã«åœ±é¿ãäžããããšãã§ããããšãæå³ããŸãã å®éãå
ã¯åžžã«ç°å¢å
ãç§»åããŸãã ç§ãã¡ã®å Žåããã®ãããªåªäœã¯ç§ãã¡ãåžå
¥ãã空æ°ã§ãã ãããã£ãŠã空æ°äžã®å
ãç§»åããè·é¢ã¯ããªããžã§ã¯ãã®å€èгã«åœ±é¿ããŸãã å°çã®è¡šé¢ã§ã¯ã空æ°å¯åºŠã¯æ¯èŒçå°ããããã®åœ±é¿ã¯éåžžã«å°ãããããå
ãé·è·é¢ãç§»åããå Žåã«ã®ã¿èæ
®ããå¿
èŠããããŸãã é ãã®å±±ã¯ç©ºãšåæµããŸãããå€§æ°æ£ä¹±ã¯è¿ãã®ãªããžã§ã¯ãã«ã¯ã»ãšãã©åœ±é¿ããŸããã
å€§æ°æ£ä¹±ã®å
åŠå¹æãåçŸããæåã®ã¹ãããã¯ãå
ã空æ°ãªã©ã®åªäœãã©ã®ããã«ééããããåæããããšã§ãã äžã§è¿°ã¹ãããã«ãç§ãã¡ã¯å
ãç®ã«å
¥ã£ããšãã«ã®ã¿ãªããžã§ã¯ããèŠãããšãã§ããŸãã 3Dã°ã©ãã£ãã¯ã¹ã®ã³ã³ããã¹ãã§ã¯ãç§ãã¡ã®ç®ã¯ã·ãŒã³ã®ã¬ã³ããªã³ã°ã«äœ¿çšãããã«ã¡ã©ã§ãã ç§ãã¡ã®åšãã®ç©ºæ°ãæ§æããååã¯ãããããééããå
ç·ãåå°ã§ããŸãã ãã®ããããªããžã§ã¯ãã®èªèæ¹æ³ã倿Žã§ããŸãã 倧å¹
ã«ç°¡ç¥åãããšãååãèŠåã«åœ±é¿ãäžããå¯èœæ§ããã2ã€ã®æ¹æ³ããããŸãã
倿¹æ£ä¹±
ååãå
ãšçžäºäœçšããæãæçœãªæ¹æ³ã¯ãå
ãåå°ããŠæ¹åãå€ããããšã§ãã ã«ã¡ã©ã«åããããå
ç·ãåå°ãããå Žåã
å€åŽã«
æ£ä¹±ããããã»ã¹ã芳å¯ããŸãã
å®éã®å
æºã¯1ç§éã«4å
åã®å
åãæŸåºããäžå®ã®ç¢ºçã§ããããã空æ°ååãšè¡çªããå¯èœæ§ããããŸãã å
ãç§»åããåªäœã®å¯åºŠãé«ãã»ã©ãåäžå
åã®åå°ãèµ·ããããããªããŸãã 倿¹æ£ä¹±ã®å¹æã¯ãå
ã®ç§»åè·é¢ã«ãäŸåããŸãã
倿¹æ£ä¹±ã¯ãå
ãåŸã
ã«èæããªããšããäºå®ã«ã€ãªããããã®ç¹æ§ã¯ç§»åè·é¢ãšç©ºæ°å¯åºŠã«äŸåããŸãã
å
åŽãžã®æ£ä¹±
å
ãç²åã«ãã£ãŠåå°ããããšãã«ã¡ã©ã«ãªãã€ã¬ã¯ããããããšããããŸãã ãã®ãããªå¹æã¯å€æ¹æ£ä¹±ã®å察ã§ããã
å
æ¹æ£ä¹±ãšåŒã°ããã®ã¯è«ççã§ãã
ç¹å®ã®æ¡ä»¶äžã§ã¯ãå
åŽãžã®æ£ä¹±ã«ãããã«ã¡ã©ã®çŽæ¥ã®èŠéå
ã«ãªãå
æºãèŠãããšãã§ããŸãã ããã®æãæãããªçµæã¯ãå
åŠå¹æ-å
æºã®åšãã®å
ã®ãããŒã§ãã ãããã¯ãã«ã¡ã©ã1ã€ã®å
æºããçŽæ¥å
ç·ãšéæ¥å
ç·ã®äž¡æ¹ãåãåããšããäºå®ã«ããçºçããäºå®äžãåãåãå
åã®æ°ãå¢å ããŸãã
åäœäœç©æ£ä¹±
1ã€ã®å
ç·ã¯ãä»»æã®åæ°ã ãåå°ã§ããŸãã ã€ãŸããã«ã¡ã©ã«å
¥ãåã§ãã ããŒã ã¯éåžžã«é£ããã«ãŒããééã§ããŸãã é«å質ã®åéæã®ãããªã¢ã«ãã¬ã³ããªã³ã°ããã«ã¯ãåã
ã®å
ç·ã®ããããã®ãã¹ãã·ãã¥ã¬ãŒãããå¿
èŠããããããããã¯ç§ãã¡ã«ãšã£ãŠæ·±å»ãªå°é£ã«ãªããŸãã ãã®ææ³ã¯
ã¬ã€ãã¬ãŒã·ã³ã°ãšåŒã°ããçŸåšããªã¢ã«ã¿ã€ã ã§å®è£
ããã«ã¯ã³ã¹ããããããããŸãã ãã®ãã¥ãŒããªã¢ã«ã§ç޹ä»ãã
ãŠãããæ£ä¹±æè¡ã§ã¯ãåäžã®å
ããŒã æ£ä¹±ã€ãã³ããèæ
®ããŸãã åŸã§ããã®ãããªåçŽåã«ãããå®éã®ã¬ã€ãã¬ãŒã·ã³ã°ã«å¿
èŠãªèšç®ã®ã»ãã®äžéšã§çŸå®çãªçµæãåŸãããšãã§ããããšãããããŸãã
çŸå®çãªç©ºãã¬ã³ããªã³ã°ããåºç€ã¯ãææã®å€§æ°ãééãããšãã«å
ç·ã«äœãèµ·ããããã·ãã¥ã¬ãŒãããããšã§ãã äžã®å³ã¯ãææãèŠãã«ã¡ã©ã瀺ããŠããŸãã ãã®ã¬ã³ããªã³ã°ææ³ã®äž»ãªã¢ã€ãã¢ã¯ãå
ãã©ã®ããã«ç§»åããããèšç®ããããšã§ã
A ã§
B æ£ä¹±ã圱é¿ããŸãã ããã¯ãã«ã¡ã©ã«å
¥å°ããããŒã ã«å¯Ÿããæ£ä¹±ã®åœ±é¿ãèšç®ããå¿
èŠãããããšãæå³ããŸãã äžèšã®ããã«ãå€éšãžã®æ£ä¹±ã«ãããæžè¡°ã芳å¯ãããŸãã åãã€ã³ãã«ååšããå
ã®é
P in\äžç·AB ã«ã¡ã©ããã®åå°ã®å¯èœæ§ã¯ãããã§ãã
åãã€ã³ãã§çºçãã倿¹æ£ä¹±ã®éãæ£ããèæ
®ãã
P ãæåã«ã©ã®ãããã®å
ãååšããŠããããç¥ãå¿
èŠããããŸã
P ã 1ã€ã®æã ããææãç
§ãããŠãããšä»®å®ãããšãåãåã£ããã¹ãŠã®å
P 倪éœããæ¥ãªããã°ãªããŸããã ãã®å
ã®äžéšã¯å
åŽã«æ£ä¹±ããã«ã¡ã©ã§åå°ãããŸãã
ãããã®2ã€ã®ã¹ãããã¯ã倧æ°ã§èŠ³æž¬ãããã»ãšãã©ã®åœ±é¿ãè¿äŒŒããã®ã«ååã§ãã ãã ããå
ã®éã
P å
ã倧æ°ãééãããšãã倪éœãããå€ã«æ£ä¹±ãã
C ã§
P ã
å¿
èŠãªããšããŸãšãããšïŒ
- ã«ã¡ã©ã®ã¹ã³ãŒãã¯å€§æ°äžã«äŸµå
¥ããŸã A ã«ãããŸã B ;
- è¿äŒŒãšããŠãåç¹ã§çºçããæ£ä¹±ã®åœ±é¿ãèæ
®ããŸã P in\äžç·AB ;
- åå
é P 倪éœãã;
- åå
é P 倧æ°äžãééãããšãã«å€åŽã«æ£ä¹±ãã CPã®äž ;
- åããå
ã®äžéš P å
åŽã«æ£ä¹±ããåŸåããããå
ç·ããã£ã³ããŒã«ãªãã€ã¬ã¯ãããŸãã
- äžçã®äžéš P ãã£ã³ããŒã«åããããå
ã¯å€ã«æ£ä¹±ããèŠéããåå°ãããŸãã

ããã¯å
ç·ãã«ã¡ã©ã«å
¥ãå¯äžã®æ¹æ³ã§ã¯ãããŸããïŒãã®ãã¥ãŒããªã¢ã«ã§ææ¡ãã解決çã¯ãèŠéã«æ²¿ã£ãå
éšæ£ä¹±ãèæ
®ã«å
¥ããŠããŸã
\äžç·AB ã ãã€ã³ãã«å°éããå
P 倪éœãããç¹å®ã®ç¢ºçã§ã«ã¡ã©ã«åæ ããããšãã§ããŸãã
ãã ããå
ç·ãã«ã¡ã©ã«å
¥ãæ¹æ³ã¯å€æ°ãããŸãã ããšãã°ãéäžã§å€åŽã«æ£ä¹±ããå
ç·ã®1ã€
P ã2åç®ã®è¡çªã§ã¯ãã«ã¡ã©ã«åãã£ãŠæ£ä¹±ããå¯èœæ§ããããŸãïŒäžã®å³ãåç
§ïŒã ãŸãã3åããŸãã¯4ååå°ããåŸãã«ã¡ã©ã«å°éããå
ç·ãããå ŽåããããŸãã
æ€èšããŠããææ³ã¯ã
åäžæ£ä¹±ãšåŒã°ããŸããããã¯ãèŠéã«æ²¿ã£ãå
åŽãžã®æ£ä¹±ã®ã¿ãèæ
®ããããã§ãã ããæŽç·Žãããæè¡ã¯ããã®ããã»ã¹ãæ¡åŒµããããŒã ãã«ã¡ã©ã«å°éããä»ã®æ¹æ³ãèæ
®ããããšãã§ããŸãã ãã ããå¯èœãªãã¹ã®æ°ã¯ãææ°é¢æ°çã«èæ
®ãããæ£ä¹±ã€ãã³ãã®æ°ã®å¢å ãšãšãã«å¢å ããŸãã 幞ããªããšã«ãã«ã¡ã©ã«å
¥ãå¯èœæ§ãææ°é¢æ°çã«æžå°ããŸãã
ããŒã2.å€§æ°æ£ä¹±ã®çè«
ãã®ããŒãã§ã¯ããã®è€éã§çŽ æŽãããå
åŠçŸè±¡ãæ¯é
ããæ¹çšåŒã®å°åºãéå§ããŸãã
éä¿¡æ©èœ
ã«ã¡ã©ã«éä¿¡ãããå
ã®éãèšç®ããã«ã¯ã倪éœããã®å
ç·ãééããã®ãšåãæ
ãããã®ã䟿å©ã§ãã äžã®å³ãèŠããšãå
ç·ãå±ãã®ã¯ç°¡åã§ã
C 空ãã¹ããŒã¹ãééããŸãã 圌ãã®éã«ã¯äœããªãã®ã§ããã¹ãŠã®å
ãå±ããŸã
C æ£ä¹±å¹æã¯åããŸããã 倿°ã瀺ããŸããã
Ic ããããåãåã鿣乱å
ã®é
C 倪éœããã åœŒã®æ
ã®éã«
P ãå
ç·ã¯ææã®å€§æ°ã«å
¥ããŸãã ããã€ãã®å
ç·ã¯ã空äžã«ã¶ãäžãã£ãŠããååãšè¡çªããããŸããŸãªæ¹åã«åå°ãããŸãã ãã®çµæãå
ã®äžéšãéªéã«ãªããªãããã«æ£ä¹±ãããŸãã å±ãå
ã®é
P ïŒãšããŠæå®
IP ïŒããå°ãã
Ic ã
æ¯ç
Ic ãããŠ
IP ãã¹ãšåŒã°ããïŒ
T\å·ŠïŒ\äžç·CP\å³ïŒ= fracIPIC
ããã䜿çšããŠãããã®ç§»åæã«æ£ä¹±ãããªãã£ãïŒã€ãŸãã
èŠéããã ïŒå
ã®å²åã瀺ãããšãã§ããŸã
C åã«
P ã åŸã§ããã®é¢æ°ã®æ§è³ªãæ¢ããŸãã ãããŸã§ã®ãšãããç§ãã¡ãç¥ãå¿
èŠãããã®ã¯ããããå€ã®å€§æ°æ£ä¹±ã®å¹æã«å¯Ÿå¿ããŠãããšããããšã ãã§ãã
ãã®çµæãåå
é
P çããïŒ
IP=IC\ãT\å·ŠïŒ\äžç·CP\å³ïŒ
æ£ä¹±é¢æ°
ãã€ã³ã
P 倪éœããçŽæ¥å
ãåããŸãã ãã ãããã®ãã¹ãŠã®å
ãééããããã§ã¯ãããŸãã
P ã«ã¡ã©ã«éä¿¡ãããŸãã ã«ã¡ã©ã«å®éã«å°éããå
ã®éãèšç®ããããã«ãæ°ããæŠå¿µãå°å
¥ã
ãŸã ïŒ
æ£ä¹±é¢æ° S ã ç¹å®ã®æ¹åã«åå°ããå
ã®éã瀺ããŸãã äžã®å³ãèŠããšãããè§åºŠã§åå°ããå
ç·ã®ã¿ãã«ã¡ã©ã«åããããŠããããšãããããŸãã
\ã·ãŒã¿ ã
䟡å€
S\å·ŠïŒ\ã©ã ãã\ã·ãŒã¿ãh\å³ïŒ åå°ããå
ã®å²åã瀺ããŸã
\ã·ãŒã¿ ã©ãžã¢ã³ã ãã®é¢æ°ã¯ç§ãã¡ã®äž»ãªåé¡ã§ãããæ¬¡ã®ããŒãã§ãã®æ§è³ªã調ã¹ãŸãã ãããŸã§ã®ãšãããããªããç¥ãå¿
èŠãããå¯äžã®ããšã¯ããããåä¿¡ããå
ã®è²ã«äŸåãããšããããšã§ãïŒ
æ³¢é·ã«ãã£ãŠæ±ºå®ãããŸãïŒ
\ã©ã ã ïŒã
æ£ä¹±è§ \ã·ãŒã¿ ãš
é«ã h ãã€ã³ã
P ã 倧æ°å¯åºŠã¯é«åºŠã®é¢æ°ãšããŠå€åãããããé«åºŠã¯éèŠã§ãã ãŸããå¯åºŠã¯æ£ä¹±å
ã®éãæ±ºå®ããèŠå ã®1ã€ã§ãã
ããã§ãééããå
ã®éã瀺ãäžè¬çãªæ¹çšåŒãæžãããã«å¿
èŠãªãã¹ãŠã®ããŒã«ãã§ããŸããã
P ã«
A ïŒ
IPA= boxedIP\ãS leftïŒ lambdaã thetaãh rightïŒ\ãT leftïŒ overlinePA rightïŒ
åã®å®çŸ©ã®ãããã§ãæ¡åŒµã§ããŸã
IP ïŒ
IPA= boxedIC\ãT leftïŒ overlineCP rightïŒ\ãS leftïŒ lambdaã thetaãh rightïŒ\ãT leftïŒ overlinePA\å³ïŒ=
= underset textinâscattering underbraceIC\ãS leftïŒ lambdaã thetaãh rightïŒã underset textoutâscattering\äžæ¬åŒ§T\å·ŠïŒ\äžç·CP\å³ïŒ\ãT\å·ŠïŒ\äžç·PA\å³ïŒ
æ¹çšåŒã¯ããèªäœãç©èªã£ãŠããŸãïŒ
- å
ã¯å€ªéœãã C 空éã®ç空å
ã§ã®æ£ä¹±ãªã;
- å
ã¯å€§æ°äžã«å
¥ãã C ã« P ã ãã®ããã»ã¹ã§ã¯ãäžéšã®ã¿ T\å·ŠïŒ\äžç·CP\å³ïŒ ç®çå°ã«å°çããŸãã
- 倪éœããã®å
ã®äžéš P ã«ã¡ã©ã«åæ ãããŸãã å
åãã®æ£ä¹±ãåããå
ã®å²å㯠S\å·ŠïŒ\ã©ã ãã\ã·ãŒã¿ãh\å³ïŒ ;
- æ®ãã®å
㯠P åã« A ããããŠãŸãäžéšã®ã¿ T\å·ŠïŒ\äžç·PA\å³ïŒ ã
æ°å€ç©å
åã®æ®µèœãæ³šææ·±ãèªãã å ŽåãèŒåºŠãããŸããŸãªæ¹æ³ã§èšé²ãããŠããããšã«æ°ä»ããããããŸããã èšå·
IPA ããéä¿¡ãããå
ã®éã瀺ããŸã
P ã«
A ã ãã ããå€ã¯åä¿¡ãããã¹ãŠã®å
ãèæ
®ããŠããŸãã
A ã å€§æ°æ£ä¹±ã®ãããã®åçŽåãããã¢ãã«ã§ã¯ã倧æ°äžã®ã«ã¡ã©ã®èŠéã«æ²¿ã£ãåãã€ã³ãããå
åŽãžã®æ£ä¹±ãèæ
®ããŸãã
åãåã£ãå
ã®ç·é
A ïŒ
Ia ïŒããã¹ãŠã®ãã€ã³ãã®åœ±é¿ãåèšããŠèšç®ãããŸã
P in\äžç·AB ã æ°åŠã®èгç¹ãããã»ã°ã¡ã³ãã§
\äžç·AB ç¡éã®æ°ã®ãã€ã³ãããããããããããã¹ãŠãå·¡åããããšã¯äžå¯èœã§ãã ãã ããåå²ããããšã¯ã§ããŸã
\äžç·AB é·ããçãå Žå
ds ïŒäžã®å³ãåç
§ïŒãããããã®åœ±é¿ãèŠçŽããŸãã
ãã®ãããªè¿äŒŒããã»ã¹ã¯
æ°å€ç©åãšåŒã°ããæ¬¡ã®åŒã«ã€ãªãããŸãã
IA= sumP in\ãªãŒããŒã©ã€ã³ABIPA\ãds
èæ
®ã«å
¥ãããã€ã³ããå€ãã»ã©ãæçµçµæã¯ããæ£ç¢ºã«ãªããŸãã å®éã«ã¯ã倧æ°ã·ã§ãŒããŒã§ã¯ãããã€ãã®ãã€ã³ããåçŽã«åŸªç°ããŸã
Pi 倧æ°ã®å
éšã§ãå
šäœã®çµæã«åãŒã圱é¿ãèŠçŽããŸãã
ãªãdsãæããã®ã§ããïŒããã§ã¯ãé£ç¶çŸè±¡ã®è¿äŒŒã䜿çšããŸãã æ€èšãããã€ã³ããå€ãã»ã©ãå®éã®çµæã«è¿ã¥ãããšãã§ããŸãã åãã€ã³ãã«ä¹ç®ãã ds ããã®é·ãã«å¿ããŠåœ±é¿åã®éã¿ãäžããŸãã ãã€ã³ããå€ãã»ã©ãããããã®éèŠæ§ã¯äœããªããŸãã
å¥ã®æ¹æ³ã§èŠãããšãã§ããŸãã ds ããã¹ãŠã®ãã€ã³ãã®åœ±é¿ããå¹³åãããŸãã
æåæ§ç
§æ
倪éœãæ¯èŒçè¿ãå Žåã
ç¹å
æºãšããŠã¢ãã«åããã®ãæåã§ãã ãã®å Žåãåãåã£ãéé¡
C å
ã¯å€ªéœãŸã§ã®è·é¢ã«äŸåããŸãã ããããç§ãã¡ãææã«ã€ããŠè©±ããŠããå Žåã倪éœã¯é ãã«ããããããã®å
ç·ã¯ããè§åºŠã§ææã«èœã¡ããšãã°ãã°æããŸãã ãããåœãŠã¯ãŸãå Žåã倪éœã
æåæ§å
æºãšããŠã¢ãã«åã§ã
ãŸã ã æåæ§å
æºããåãåã£ãå
ã¯ãç§»åè·é¢ã«é¢ä¿ãªãäžå®ã§ãã ãããã£ãŠããã¹ãŠã®ãã€ã³ã
C åãéã®å
ãåãåãã倪éœã«å¯Ÿããæ¹åã¯ãã¹ãŠã®ãã€ã³ãã§åãã§ãã
ãã®ä»®å®ã䜿çšããŠãæ¹çšåŒãåçŽåã§ããŸãã
亀æããŸããã
Ic äžå®
Is ããã
ã¯å€ªéœã®
æãããæ±ºå®ããŸãã
IA= sumP in\ãªãŒããŒã©ã€ã³AB boxedIPA\ãds=
= sumP in overlineAB boxedIC\ãS leftïŒ lambdaã thetaãh rightïŒ\ãT leftïŒ overlineCP rightïŒ ãT\å·ŠïŒ\äžç·PA\å³ïŒ\ãds=
=IS sumP in overlineABS leftïŒ lambdaã thetaãh rightïŒ\ãT leftïŒ overlineCP rightïŒ\ãT leftïŒ\äžç·PA\å³ïŒ\ãds=
å®è¡ã§ããå¥ã®æé©åããããŸããããã«ã¯æ£åžé¢æ°ãå«ãŸããŸã
S\å·ŠïŒ\ã©ã ãã\ã·ãŒã¿ãh\å³ïŒ ã æ¥å
ãåžžã«äžæ¹åããèœã¡ãå Žåãè§åºŠ
\ã·ãŒã¿ æ°žç¶çã«ãªããŸãã 以äžã§ã¯ãæç€ºããã圱é¿ãéé¡ããé€å€ã§ããããšãããããŸã
S\å·ŠïŒ\ã©ã ãã\ã·ãŒã¿ãh\å³ïŒ ã ããããä»ã®ãšãããç§ãã¡ã¯åœŒãå»ããŸãã
åžåä¿æ°
å
ãšç©ºæ°ååéã®çžäºäœçšã®èããããçµæã説æããéã«ãééãŸãã¯åå°ã®2ã€ã®ãªãã·ã§ã³ã®ã¿ãèš±å¯ããŸããã ãããã3çªç®ã®å¯èœæ§ããããŸãã äžéšã®ååç©ã¯å
ãåžåããŸãã å°çã®å€§æ°ã«ã¯ããã®æ§è³ªãæã€å€ãã®ç©è³ªããããŸãã ããšãã°ããªãŸã³ã¯äžå±€å€§æ°ã«ããã玫å€ç·ãšç©æ¥µçã«çžäºäœçšããŸãã ãã ããå¯èŠã¹ãã¯ãã«å€ã®å
ãåžåããããããã®ååšã¯ç©ºã®è²ã«ã¯å®è³ªçã«åœ±é¿ããŸããã ããå°çã§ã¯ãå
ãåžåããç©è³ªã®åœ±é¿ã¯ãã°ãã°ç¡èŠãããŸãã ããããä»ã®ææã®å ŽåããããæåŠããããšã¯äžå¯èœã§ãã ããšãã°ãæµ·çæãšå€©çæã®éåžžã®çè²ã¯ã倧æ°äžã®å€§éã®ã¡ã¿ã³ã®ååšã«ãã£ãŠåŒãèµ·ããããŸãã ã¡ã¿ã³ã¯èµ€ãå
ãåžåããéã¿ã垯ã³ãŸãã ãã¥ãŒããªã¢ã«ã®æ®ãã®éšåã§ã¯ãåžåä¿æ°ãç¡èŠããŸããã倧æ°ããè²ä»ããããæ¹æ³ã远å ããŸãã
ããªã±ãŒã³ãªãã£ãŒãªã¢2017幎ã«å€ªéœãèµ€ããªã£ãã®ã¯ãªãã§ããïŒè±åœã«äœãã§ããå Žåãããªã±ãŒã³ãªãã£ãŒãªã¢ã®éã«å€ªéœãèµ€ããªã£ãããšã«æ°ã¥ãããããããŸããã ããã¯ããªãã£ãŒãªã¢ããµãã©ããç ãæã£ãŠããããã«èµ·ãããŸããã 空æ°äžã«ã¶ãäžãã£ãŠãããããã®å°ããªç²åã¯ãæ£ä¹±å¹æãé«ããŸããã æ¬¡ã®ããŒãã§èŠãããã«ãéè²å
ã¯èµ€è²å
ãããæ£ä¹±ããŸãã
å¯èŠã¹ãã¯ãã«ã®è²ïŒäžïŒãèŠããšãååãªéè²å
ãæ£ä¹±ããŠããå Žåã空ãå®éã«é»è²ãŸãã¯èµ€ã«å€ããããšãç°¡åã«ããããŸãã
空ã®è²ã¯é»è²ãã°ã©ãã¥ãŒç³ã®è²åãã«é¢é£ããŠãããšèšãèªæããããŸãã ãã ããéåžžã¯é»ã«è¿ãç
ç²åãåå ã§ãå€§èŠæš¡ãªç«çœã§ãåã广ãèŠãããŸãã
ããŒã3ãã¬ã€ãªãŒæ£ä¹±ã®æ°åŠã
ãã®ããŒãã§ã¯ãã¬ã€ãªãŒæ£ä¹±ã®æ°åŠãã€ãŸã空ãéãèŠããå
åŠçŸè±¡ã«ç²ŸéããŸãã æ¹çšåŒã®ãã®éšåã§å°åºãããæ¹çšåŒã¯ã次ã®éšåã®ã·ã§ãŒããŒã³ãŒãã«è»¢éãããŸãã
ã¯ããã«
åã®ããŒãã§ã¯ãã·ã§ãŒããŒã§å€§æ°æ£ä¹±ãè¿äŒŒããããã®åªããåºç€ãæäŸããæ¹çšåŒãå°ãåºããŸããã ãã ãã1ã€ã®åŒã§ã¯èª¬åŸåã®ããçµæãåŸãããªããšããäºå®ãèŠéããŠããŸãã çŸããé°å²æ°ã®ã·ã§ãŒããŒãå¿
èŠãªå Žåã¯ãæ°åŠãå°ãæ·±ãããå¿
èŠããããŸãã
å
ãšç©è³ªã®çžäºäœçšã¯éåžžã«è€éã§ãããç°¡åãªæ¹æ³ã§å®å
šã«èª¬æããããšã¯ã§ããŸããã å®éãå€§æ°æ£ä¹±ã®ã¢ããªã³ã°ã«ã¯éåžžã«æéãããããŸãã åé¡ã®äžéšã¯ã倧æ°ãåäžãªç°å¢ã§ã¯ãªãããšã§ãã ãã®å¯åºŠãšçµæã¯é«ãã®é¢æ°ãšããŠå€§ããç°ãªãããããçæ³çãªãã¢ãã«ãäœæããããšã¯ã»ãšãã©äžå¯èœã§ãã
ãã®ãããããã€ãã®æ£ä¹±ã¢ãã«ãç§åŠæç®ã«èšèŒãããŠãããåã¢ãã«ã¯ç¹å®ã®æ¡ä»¶äžã§çºçããå
åŠçŸè±¡ã®ãµãã»ããã説æããããšãç®çãšããŠããŸãã ææã«ãã£ãŠç€ºãããå
åŠå¹æã®ã»ãšãã©ã¯ã
ã¬ã€ãªãŒæ£ä¹±ãš
çç¶ç²åã«ããå
æ£ä¹±ãšãã 2ã€ã®ç°ãªãã¢ãã«ã§åçŸã§ããŸãã ãããã®2ã€ã®æ°åŠããŒã«ã䜿çšãããšãããŸããŸãªãµã€ãºã®ãªããžã§ã¯ãã§ã®å
æ£ä¹±ãäºæž¬ã§ããŸãã æåã®ã¢ãã«ã§ã¯ã空æ°ã®ã»ãšãã©ãæ§æããé
žçŽ ããã³çªçŽ ååã«ããå
ã®åå°ãã¢ãã«åããŸãã åŸè
ã¯ãè±ç²ãã»ãããæ±æç©è³ªãªã©ãäžå±€å€§æ°ã«ååšãã倧ããªæ§é ç©ã§ã®å
ã®åå°ãã¢ãã«åããŸãã
ã¬ã€ãªãŒæ£ä¹±ã¯ãéã空ãšèµ€ãæ¥æ²¡ã®åå ã§ãã ç圢ã®ç²åã«ããå
ã®æ£ä¹±ã«ãããé²ã¯çœè²ã«ãªããŸãã ããã
ã©ã®ããã«çºçããããç¥ãããå Žåã¯ãæ£ä¹±ã®æ°åŠãããã«æ·±ãæãäžããå¿
èŠããããŸãã
ã¬ã€ãªãŒæ£ä¹±
ç²åã«è¡çªããå
åã®éåœã¯äœã§ããïŒ ãã®è³ªåã«çããã«ã¯ãããæ£åŒã«èšãæããå¿
èŠããããŸãã å
ç·ã空ã®ç©ºéãééããŠãçªç¶ç²åãšè¡çªããããšãæ³åããŠãã ããã ãã®ãããªè¡çªã®çµæã¯ãç²åã®ãµã€ãºãšå
ç·ã®è²ã«å€§ããäŸåããŸãã ç²åãååã«å°ããå ŽåïŒååãŸãã¯ååã®ãµã€ãºïŒãå
ã®æ¯ãèãã¯
ã¬ã€ãªãŒæ£ä¹±ã䜿çšããŠããé©åã«äºæž¬ãããŸãã
äœãèµ·ãã£ãŠããã®ïŒ äžçã®äžéšã¯ã圱é¿ããæããªããæ
ãç¶ããŠããŸãã ãã ãããã®å
æºå
ã®ããäžéšã¯ç²åãšçžäºäœçšãããã¹ãŠã®æ¹åã«æ£ä¹±ããŸãã ãã ãããã¹ãŠã®æ¹åãåãéã®å
ãåãåãããã§ã¯ãããŸããã å
åã¯ãç²åãçŽæ¥ééããããè·³ãè¿ãå¯èœæ§ãé«ããªããŸãã ã€ãŸããå
ååå°ãªãã·ã§ã³ã¯90床å°ãããªããŸãã ãã®åäœã¯ã次ã®å³ã§ç¢ºèªã§ããŸãã éãç·ã¯ãæ£ä¹±å
ã®æãå¯èœæ§ã®é«ãæ¹åã瀺ããŠããŸãã
ãã®å
åŠçŸè±¡ã¯æ°åŠç
ã«ã¬ã€ãªãŒæ£ä¹±æ¹çšåŒã§èšè¿°ã
ããŸã S\å·ŠïŒ\ã©ã ãã\ã·ãŒã¿ãh\å³ïŒ ããã¯ç§ãã¡ã«å
æºå
ã®ã·ã§ã¢ãäžããŸã
I0 æ¹åã«åæ
\ã·ãŒã¿ ïŒ
I=I0\ãS\å·ŠïŒ\ã©ã ãã\ã·ãŒã¿ãh\å³ïŒ
S\å·ŠïŒ\ã©ã ãã\ã·ãŒã¿ãh\å³ïŒ= frac pi2\å·ŠïŒn2â1\å³ïŒ22\ã¢ã³ããŒã»ãã textdensity\ã¢ã³ããŒãã¬ãŒã¹ frac rho\å·ŠïŒh\å³ïŒN\ãªãŒããŒã»ãã textwavelength\ãªãŒããŒãã¬ãŒã¹ frac1 lambda4\ã¢ã³ããŒã»ãã\ããã¹ããžãªã¡ããª\äžæ¬åŒ§\å·ŠïŒ1+ cos2\ã·ãŒã¿\å³ïŒ
ã©ãã§ïŒ
- \ã©ã ã ïŒå
¥å°å
ã®æ³¢é· ;
- \ã·ãŒã¿ ïŒ æ£ä¹±è§
- h ïŒãã€ã³ãã®é«åºŠ ;
- n=1.00029 ïŒç©ºæ°ã®å±æç ;
- N=2.504 cdot1025 ïŒæšæºå€§æ°ã®ç«æ¹ã¡ãŒãã«ãããã®ååæ°ã
- rho\å·ŠïŒh\å³ïŒ ïŒ å¯åºŠä¿æ° ãæµ·é¢ã§ã®ãã®æ°ã¯ 1 ãããã³å¢å ãšãšãã«ææ°é¢æ°çã«æžå°ããŸã h ã ãã®é¢æ°ã«ã€ããŠå€ãã®ããšãèšãããšãã§ããŸãã以äžã®éšåã§ãããæ€èšããŸãã
ããããããã¯ã¬ã€ãªãŒæ£ä¹±æ¹çšåŒã§ã¯ãããŸããïŒã³ã³ãã¥ãŒã¿ã°ã©ãã£ãã¯ã¹ã®åé以å€ã§ã¬ã€ãªãŒæ£ä¹±ã«ééããå Žåãå¥ã®æ¹çšåŒãèŠãå¯èœæ§ããããŸãã ããšãã°ã
ãRayleigh Scatterãèšäºã®ãŠã£ãããã£ã¢ã®èšäºã¯å€§ããç°ãªããŸãã
ãã®ãã¥ãŒããªã¢ã«ã§äœ¿çšãããåŒã¯ãç§åŠèšäºã
倧æ°ã®æ£ä¹±ãèæ
®ã«
å
¥ããå°çã®è¡šç€ºã ã西ç°
ä»ããåŒçšãããŠã
ãŸãã ãã®é¢æ°ã¯ã©ãããæ¥ãã®ã§ããïŒãã®ããã°ã®ç®çã®1ã€ã¯ãååŸãããã¹ãŠã®å€ã®åºåã説æããããšã§ãã æ®å¿µãªãããããã¯ã¬ã€ãªãŒæ£ä¹±ã«ã¯é©çšãããŸããã
空æ°ååããå
ã®ç²åãéåžžã«å¥åŠã«åå°ãããçç±ãçè§£ããããšã«ãŸã èå³ãããå Žåã¯ãäœãèµ·ãã£ãŠããã®ããçŽæçã«çè§£ããããšã§æ¬¡ã®èª¬æãåŸãããŸãã
ã¬ã€ãªãŒæ£ä¹±ã®çç±ã¯ãå®éã«ã¯ç²åã®ãåçºãã§ã¯ãããŸããã å
ã¯é»ç£æ³¢ã§ãããç¹å®ã®ååã«ååšããé»è·ã®äžå¹³è¡¡ãšçžäºäœçšããå¯èœæ§ããããŸãã ãããã®é»è·ã¯ãçµæãšããŠçããé»ç£æŸå°ã®åžåã«ãã飜åããåŸã«åã³æŸå°ãããŸãã è§åºŠé¢æ°ã«ç€ºãããäºéšåœ¢ç¶ã¯ã空æ°ååã埮å°ã¢ã³ããã®ããã«æŸå°ãã黿°å極åã«ãªãæ¹æ³ã瀺ããŠããŸãã
ã¬ã€ãªãŒæ£ä¹±ã§æåã«ç¢ºèªã§ããããšã¯ãããæ¹åã§ã¯ä»ã®æ¹åãããå€ãã®å
ãäŒæ¬ããããšã§ãã 2çªç®ã®éèŠãªåŽé¢ã¯ãæ£ä¹±å
ã®éãæ³¢é·ã«å€§ããäŸåããããšã§ãã
\ã©ã ã æ¥ãŠå
ã äžã®åã°ã©ãã¯ã¬ã³ããªã³ã°ããŸã
S\å·ŠïŒ\ã©ã ãã\ã·ãŒã¿ã0\å³ïŒ 3ã€ã®ç°ãªãæ³¢é·çšã èšç®
S ã§
h=0 ãã°ãã°
æµ·é¢æ£ä¹±ãšåŒã°ã
ãŸã ã
以äžã®å³ã¯ãå¯èŠã¹ãã¯ãã«ã®é£ç¶æ³¢é·/è²ç¯å²ã®æ£ä¹±ä¿æ°ã®èŠèŠåã瀺ããŠããŸãïŒã³ãŒãã¯
ShaderToyã§å©çšå¯èœã§ãïŒã
ãã®ç¯å²ã®æ³¢é·ã¯å¯èŠã¹ãã¯ãã«ã®å€åŽã«ãããããç»åã®äžå¿ã¯é»ãèŠããŸãã
ã¬ã€ãªãŒæ£ä¹±ä¿æ°
ã¬ã€ãªãŒæ£ä¹±æ¹çšåŒã¯ãç¹å®ã®æ¹åã«æ£ä¹±ãããå
ã®éã瀺ããŸãã ãã ããã©ã®ãããã®ãšãã«ã®ãŒãæ¶è²»ããããã¯ããããŸããã ãããèšç®ããã«ã¯ã
ãã¹ãŠã®æ¹åã®ãšãã«ã®ãŒæ£éžãèæ
®ããå¿
èŠããããŸãã æ¹çšåŒã®å°åºã¯ç°¡åã§ã¯ãããŸããã è€éãªåæããã¹ã¿ãŒããŠããªãå Žåãçµæã¯æ¬¡ã®ãšããã§ãã
beta leftïŒ lambdaãh rightïŒ= frac8 pi3 leftïŒn2â1 rightïŒ23 frac rho leftïŒh rightïŒN frac1 lambda4
ã©ãã§
beta leftïŒ lambdaãh rightïŒ åäžã®ç²åãšã®è¡çªåŸã®æ£ä¹±ã«ãã倱ããããšãã«ã®ãŒã®å²åã瀺ããŸãã å€ãã®å Žåããã®å€ã¯
ã¬ã€ãªãŒæ£ä¹±ä¿æ°ãšåŒã°ããŸãã
ãã¥ãŒããªã¢ã«ã®åã®éšåãèªãã å Žåãããªãã¯ãããæšæž¬ããããšãã§ããŸã
\ããŒã¿ å®éã«
㯠ãééçã®æ±ºå®ã«äœ¿çšãã
ãæžè¡°ä¿æ°ã§ã
T\å·ŠïŒ\äžç·AB\å³ïŒ ã»ã°ã¡ã³ãäž
\äžç·AB ã
æ®å¿µãªãããèšç®
\ããŒã¿ ãšãŠãé«ãã äœæããã·ã§ãŒããŒã§ã¯ãã§ããã ãå€ãã®èšç®ãä¿åããããšããŸãã ãã®ããã宿°ã§ãããã¹ãŠã®èŠå ãæ£ä¹±ä¿æ°ãããæœåºããããšäŸ¿å©ã§ãã ç§ãã¡ã«äžãããã®
\ããŒã¿\å·ŠïŒ\ã©ã ã\å³ïŒ ã
æµ·é¢ã§ã®ã¬ã€ãªãŒæ£ä¹±ä¿æ° ïŒ
h=0 ïŒïŒ
beta leftïŒ lambda rightïŒ= frac8 pi3 leftïŒn2â1 rightïŒ23 frac1N frac1 lambda4
èšç®ãèŠããŠãã ããïŒã¬ã€ãªãŒæ£ä¹±æ¹çšåŒã¯ãç¹å®ã®æ¹åã«æ£ä¹±ãããšãã«ã®ãŒã®å²åã瀺ããŠããŸãã ç·æå€±ãèšç®ããã«ã¯ãèãããããã¹ãŠã®æ¹åãèæ
®ããå¿
èŠããããŸãã é£ç¶ããééã§ã®åèšã«ã¯ã
ç©åãå¿
èŠã§ãã
çµ±åã詊ã¿ãããšãã§ããŸã
S\å·ŠïŒ\ã©ã ãã\ã·ãŒã¿ãh\å³ïŒ ã«ãã£ãŠ
\ã·ãŒã¿ ééã§
\å·Š[0.2 pi\å³] ããããããã¯ééãã§ãã
ã¬ã€ãªãŒæ£ä¹±ã2次å
ã§èŠèŠåãããšããäºå®ã«ãããããããããã¯å®éã«ã¯3次å
ã®çŸè±¡ã§ãã æ£ä¹±è§
\ã·ãŒã¿ 3D空éã§ä»»æã®æ¹åãåãããšãã§ããŸãã ã«äŸåãã颿°ã®å®å
šãªååžãèæ
®ããèšç®
\ã·ãŒã¿ äžæ¬¡å
空éã§
S ïŒã¯
ç«äœè§äžã®ç©åãšåŒã°
ããŸãïŒ
beta leftïŒ lambdaãh rightïŒ= int2 pi0 int pi0S leftïŒ lambdaã thetaãh rightïŒ sin theta\ãd thetad phi
å
éšç©åéå
\ã·ãŒã¿ XYå¹³é¢ã§ãå€åŽã®å¹³é¢ã¯çµæãX軞ã®åšãã«å転ãããŠã3çªç®ã®æ¬¡å
ãèæ
®ããŸãã 远å ããŸãã
sin theta çé¢è§åºŠã«äœ¿çšãããŸãã
çµ±åããã»ã¹ã¯ãäŸåãããã®ã®ã¿ã«é¢å¿ããããŸã
\ã·ãŒã¿ ã è€æ°ã®ã¡ã³ããŒ
S\å·ŠïŒ\ã©ã ãã\ã·ãŒã¿ãh\å³ïŒ 宿°ã§ãããããç©åèšå·ã®äžãã転éã§ããŸãã
beta leftïŒ lambdaãh rightïŒ= int2 pi0 int pi0 underset textconstant underbrace frac pi2\å·ŠïŒn2â1\å³ïŒ22 frac rho\å·ŠïŒh\å³ïŒN frac1 lambda4 leftïŒ1+ cos2 theta rightïŒ sin theta\ãd thetad phi=
= frac pi2 leftïŒn2â1 rightïŒ22 frac rho leftïŒh rightïŒN frac1 lambda4 int2 pi0 int pi0 leftïŒ1+ cos2 theta rightïŒ sin theta\ãd thetad phi
ããã«ãããå
éšç©åã倧å¹
ã«ç°¡çŽ åãããæ¬¡ã®åœ¢åŒã«ãªããŸãã
beta leftïŒ lambdaãh rightïŒ= frac pi2 leftïŒn2â1 rightïŒ22 frac rho leftïŒh rightïŒN frac1 lambda4 int2 pi0 boxed int pi0 leftïŒ1+ cos2 theta\å³ïŒ sin theta\ãd thetad phi=
= frac pi2 leftïŒn2â1 rightïŒ22 frac rho leftïŒh rightïŒN frac1 lambda4 int2 pi0 boxed frac83d phi
ããã§ãå€éšçµ±åãå®è¡ã§ããŸãã
beta leftïŒ lambdaãh rightïŒ= frac pi2 leftïŒn2â1 rightïŒ22 frac rho leftïŒh rightïŒN frac1 lambda4 boxed int2 pi0 frac83d phi=
= frac pi2 leftïŒn2â1 rightïŒ22 frac rho leftïŒh rightïŒN frac1 lambda4 boxed frac16 pi3
ããã«ãããæçµãã©ãŒã ã«å°éããŸãã
beta leftïŒ lambdaãh rightïŒ= frac8 pi3 leftïŒn2â1 rightïŒ23 frac rho leftïŒh rightïŒN frac1 lambda4
ããã¯ãã¹ãŠã®æ¹åã®æ£ä¹±ã®åœ±é¿ãèæ
®ããç©åãªã®ã§ãåŒã¯ãã¯ãäŸåããŠããŸãã
\ã·ãŒã¿ ã
ãã®æ°ããæ¹çšåŒã¯ãç°ãªãè²ãã©ã®ããã«æ£ãã°ã£ãŠããã®ããçè§£ããå¥ã®æ¹æ³ãæäŸããŸãã 以äžã®ã°ã©ãã¯ãå
ããããããæ£ä¹±ã®éããã®æ³¢é·ã®é¢æ°ãšããŠç€ºããŠããŸãã
ããã¯æ£ä¹±ä¿æ°éã®åŒ·ãé¢ä¿ã§ãã
\ããŒã¿ ãããŠ
\ã©ã ã ããã¯æ¥æ²¡æã«èµ€ã空ãåŒãèµ·ãããŸãã 倪éœããåãåã£ãå
åã¯ãããåºãç¯å²ã®æ³¢é·ã«ååžããŸãã ã¬ã€ãªãŒæ£ä¹±ã¯ãå°çã®å€§æ°ã®ååãååãç·ãèµ€ãããéãåŒ·ãæ£ä¹±ããããšã瀺ããŠããŸãã å
ãååã«é·ãç§»åã§ããå Žåãæ£ä¹±ã®ããã«ãã®éè²æåå
šäœã倱ãããŸãã ããã¯ãæ¥æ²¡æã«å
ã衚é¢ãšã»ãŒå¹³è¡ã«ç§»åãããšãã«èµ·ããããšã§ãã
åãããã«æšè«ãããšã空ãéãèŠããçç±ãçè§£ã§ããŸãã 倪éœã®å
ã¯äžæ¹åããèœã¡ãŠããŸãã ãã ãããã®éè²æåã¯ãã¹ãŠã®æ¹åã«æ£åšããŠããŸãã 空ãèŠããšããã¹ãŠã®æ¹åããéãå
ãåœãããŸãã
ã¬ã€ãªãŒäœçžé¢æ°
ã¬ã€ãªãŒæ£ä¹±ãèšè¿°ããå
ã®æ¹çšåŒã
S\å·ŠïŒ\ã©ã ãã\ã·ãŒã¿\å³ïŒ ã2ã€ã®ã³ã³ããŒãã³ãã«åè§£ã§ããŸãã æåã¯ãå°åºããã°ããã®æ£ä¹±ä¿æ°ã§ãã
\ããŒã¿\å·ŠïŒ\ã©ã ã\å³ïŒ ãã®åŒ·åºŠãå€èª¿ããŸãã 2çªç®ã®éšåã¯æ£ä¹±ãžãªã¡ããªã«é¢é£ãããã®æ¹åãå¶åŸ¡ããŸãã
S leftïŒ lambdaã thetaãh rightïŒ= beta leftïŒ lambdaãh rightïŒ gamma leftïŒ theta rightïŒ
ãã®æ°ãã䟡å€
\ã¬ã³ã\å·ŠïŒ\ã·ãŒã¿\å³ïŒ åå²ããããšã§ååŸã§ããŸã
S\å·ŠïŒ\ã©ã ãã\ã·ãŒã¿ãh\å³ïŒ ã«
\ããŒã¿\å·ŠïŒ\ã©ã ã\å³ïŒ ïŒ
gamma leftïŒ theta rightïŒ= fracS leftïŒ lambdaã thetaãh rightïŒ beta leftïŒ lambda rightïŒ=
= undersetS leftïŒ lambdaã thetaãh rightïŒ underbrace frac pi2 leftïŒn2â1 rightïŒ22 frac rho leftïŒh rightïŒN frac1 lambda4 leftïŒ1+ cos2 theta rightïŒã underset frac1 beta leftïŒ lambda rightïŒ underbrace frac38 pi3 leftïŒn2â1 rightïŒ2 fracN rho\å·ŠïŒh\å³ïŒ\ã©ã ã4=
= frac316 pi leftïŒ1+ cos2 theta rightïŒ
ãã®æ°ããåŒã¯ãå
¥å°å
ã®æ³¢é·ã«äŸåããªãããšãããããŸãã ããã¯ãã¬ã€ãªãŒæ£ä¹±ãçæ³¢ã«ãã匷ã圱é¿ããããšã確å®ã«ããã£ãŠãããããçŽæã«åããããã«æãããŸãã
ããã
\ã¬ã³ã\å·ŠïŒ\ã·ãŒã¿\å³ïŒ äžã§èŠã忥µåã®åœ¢ç¶ãã¢ãã«åããŸãã äŒå¡
frac316 pi æ£èŠåä¿æ°ãšããŠæ©èœãããã¹ãŠã®å¯èœãªè§åºŠã«ãããç©å
\ã·ãŒã¿ èŠçŽ
1 ã æè¡çã«å®åŒåãããå Žåãç©åã¯
4 pi ã¹ãã©ãžã¢ã³ãçãã
1 ã
次ã®ããŒãã§ã¯ãããã2ã€ã®ã³ã³ããŒãã³ããåé¢ããããšã§ãããå¹ççãªæ¹çšåŒãå°ãåºãæ¹æ³ã説æããŸãã
ãŸãšãããš
- ã¬ã€ãªãŒæ£ä¹±æ¹çšåŒ ïŒæ¹åã«åå°ããå
ã®å²åã瀺ããŸã \ã·ãŒã¿ ã æ£ä¹±ã®éã¯æ³¢é·ã«ãã£ãŠç°ãªããŸãã \ã©ã ã å
¥ã£ãŠããå
ã
S leftïŒ lambdaã thetaãh rightïŒ= frac pi2 leftïŒn2â1 rightïŒ22 frac rho leftïŒh rightïŒN frac1 lambda4 leftïŒ1+ cos2 theta rightïŒ
ããã«ïŒ
S leftïŒ lambdaã thetaãh rightïŒ= beta leftïŒ lambdaãh rightïŒ gamma leftïŒ theta rightïŒ
- ã¬ã€ãªãŒæ£ä¹±ä¿æ° ïŒæåã®è¡çªåŸã®æ£ä¹±ã«ãã倱ãããå
ã®å²åã瀺ããŸãã
beta leftïŒ lambdaãh rightïŒ= frac8 pi3 leftïŒn2â1 rightïŒ23 frac rho leftïŒh rightïŒN frac1 lambda4
- æµ·é¢ã§ã®ã¬ã€ãªãŒæ£ä¹±ä¿æ° ïŒããã¯ã¢ããã°ã§ã \ããŒã¿\å·ŠïŒ\ã©ã ãã0\å³ïŒ ã ãã®è¿œå ã®ä¿æ°ãäœæãããšãããå¹ççãªæ¹çšåŒãå°ãåºãã®ã«éåžžã«åœ¹ç«ã¡ãŸãã
beta leftïŒ lambda rightïŒ= beta leftïŒ lambdaã0 rightïŒ= frac8 pi3 leftïŒn2â1 rightïŒ23 frac1N frac1 lambda4
èµ€ãç·ãéã®è²ã«ã»ãŒå¯Ÿå¿ããæ³¢é·ãèæ
®ãããšã次ã®çµæãåŸãããŸãã
\ããŒã¿\å·ŠïŒ680nm\å³ïŒ=0.00000519673
\ããŒã¿\å·ŠïŒ550nm\å³ïŒ=0.0000121427
\ãã¹ããŒã¿ \å·ŠïŒ 440 N M \å³ïŒ = 0.0000296453
ãããã®çµæã¯ã次ã®ä»®å®ã®äžã§èšç®ãããŸãã
h = 0 ïŒããã¯ã
r h o = 1 ïŒ ããã¯ãåæ£ä¿æ°ãæå€§å€ããšãæµ·é¢ã§ã®ã¿çºçããŸãã ãããã£ãŠãå
æ£ä¹±ã®éã®ãã¬ã€ãããšããŠæ©èœããŸãã
- ã¬ã€ãªãŒäœçžé¢æ° ïŒæ£ä¹±ãžãªã¡ããªãå¶åŸ¡ããŸã ãããã¯ãç¹å®ã®æ¹åã§å€±ãããå
ã®çžå¯Ÿçãªå²åã瀺ããŸãã ä¿æ° f r a c 3 16 p i æ£èŠåä¿æ°ãšããŠæ©èœãããããåäœçäžã®ç©å㯠1 ã
gamma leftïŒ theta rightïŒ= frac316 pi leftïŒ1+ cos2 theta rightïŒ
- å¯åºŠä¿æ° ïŒãã®é¢æ°ã¯ã倧æ°ã®å¯åºŠãã·ãã¥ã¬ãŒãããããã«äœ¿çšãããŸãã ãã®æ£åŒãªå®çŸ©ã以äžã«ç€ºããŸãã æ°åŠçãã¿ãã¬ã«å察ã§ãªãå Žåã¯ã次ã®ããã«å®çŸ©ãããŸãã
\ rho \ leftïŒh \ rightïŒ= exp \ left \ {-\ frac {h} {H} \ right \}
ã©ãã§
H=$850 ã¡ãŒãã«ã¯
é«ãã®
æžå°ãšåŒã°ããŸãã
ããŒã4ã倧æ°äžãæ
ããŸãã
ãã®ããŒãã§ã¯ãç°ãªãé«ãã§ã®å€§æ°å¯åºŠã®ã¢ããªã³ã°ãæ€èšããŸãã 倧æ°ã®å¯åºŠã¯ã¬ã€ãªãŒæ£ä¹±ã®æ£ããèšç®ã«å¿
èŠãªãã©ã¡ãŒã¿ãŒã®1ã€ã§ãããããããã¯å¿
èŠãªæé ã§ãã
倧æ°å¯åºŠä¿æ°
ãããŸã§ã®ãšããã倧æ°å¯åºŠä¿æ°ã®åœ¹å²ã¯èæ
®ããŠããŸãã
rho ã æ£ä¹±åã¯å€§æ°ã®å¯åºŠã«æ¯äŸããããšã¯è«ççã§ãã 1ç«æ¹ã¡ãŒãã«ãããã®ååãå€ãã»ã©ãå
忣乱ã®å¯èœæ§ãé«ããªããŸãã å°é£ãªã®ã¯ã倧æ°ã®æ§é ãéåžžã«è€éã§ãããå§åãå¯åºŠã枩床ãç°ãªãè€æ°ã®å±€ã§æ§æãããŠããããšã§ãã 幞ããªããšã«ãã¬ã€ãªãŒæ£ä¹±ã®å€§éšåã¯å€§æ°ã®æåã®60 kmã§çºçããŸãã
察æµåã§ã¯ã枩床ã¯çŽç·çã«äœäžããå§åã¯ææ°é¢æ°çã«äœäžããŸãã
äžã®å³ã¯ãäžå±€å€§æ°ã®å¯åºŠãšé«ãã®é¢ä¿ã瀺ããŠããŸãã
䟡å€
rho\å·ŠïŒh\å³ïŒ é«åºŠã§ã®å€§æ°ã®æž¬å®å€ã§ã
h ãŒãããå§ãŸãæ¹æ³ã§æ£èŠåãããã¡ãŒãã«ã å€ãã®ç§åŠèšäºã§
rho 次ã®ããã«å®çŸ©ããããšãã§ãããã
ãå¯åºŠä¿æ°ãšãåŒã°ããŸãã
rho leftïŒh rightïŒ= fracdensity leftïŒh rightïŒdensity leftïŒ0 rightïŒ
çã®å¯åºŠã
å¯åºŠ\å·ŠïŒ0\å³ïŒ ç§ãã¡ã¯ãããåŸã
rho\å·ŠïŒh\å³ïŒ æµ·é¢ã§çãã
1 ã ãã ããäžèšã§åŒ·èª¿ããããã«ãèšç®
å¯åºŠ\å·ŠïŒh\å³ïŒ äºçްãªããšããã»ã©é ãã ãããææ°æ²ç·ãšããŠè¿äŒŒã§ããŸãã ããªãæ¹ã®äœäººãã¯ãäœæ°å§ã®å¯åºŠã
ææ°é¢æ°çã«æžå°ããŠããããšã«æ¢ã«æ°ä»ããŠãããããããŸããã
å¯åºŠæ²ç·ãææ°æ²ç·ã§è¿äŒŒãããå Žåã¯ã次ã®ããã«ããŸãã
\ rho \ leftïŒh \ rightïŒ= exp \ left \ {-\ frac {h} {H} \ right \}
ã©ãã§
H0 çž®å°é«ããšåŒã°ããã¹ã±ãŒã«ä¿æ°ã§ãã å°çã®äœå±€å€§æ°ã«ãããã¬ã€ãªãŒæ£ä¹±ã«ã€ããŠã¯ããã°ãã°
H=$850 ã¡ãŒãã«ïŒäžå³ãåç
§ïŒã çç¶ç²åã«ããå
ã®æ£ä¹±ã®å Žåãå€ãã®å Žåãå€ã¯ã»ãŒçãã
1200 ã¡ãŒãã«ã
ã«äœ¿çšãããå€
H æè¯ã®è¿äŒŒãäžããªã
rho\å·ŠïŒh\å³ïŒ ã ãã ããããã¯å®éã«ã¯åé¡ã§ã¯ãããŸããã ãã®ãã¥ãŒããªã¢ã«ã§æç€ºãããå€ã®ã»ãšãã©ã¯ãæ·±å»ãªè¿äŒŒãåããŠããŸãã èŠèŠçã«å¿«é©ãªçµæãäœæããã«ã¯ãåç
§ç»åã«äœ¿çšå¯èœãªãã©ã¡ãŒã¿ãŒã調æŽããæ¹ãã¯ããã«å¹ççã§ãã
ææ°é¢æ°çãªæžå°
ãã¥ãŒããªã¢ã«ã®åã®éšåã§ãåã
ã®ç²åãšçžäºäœçšããåŸã«å
ç·ãããããã倿¹æ£ä¹±ãèæ
®ããæ¹æ³ãç€ºãæ¹çšåŒãæãã€ããŸããã ãã®çŸè±¡ãã¢ãã«åããããã«äœ¿çšãããå€ã¯
ãæ£ä¹±ä¿æ°ãšåŒã°ããŠããŸã
ãã \ããŒã¿ ã ãããèæ
®ããããã«ãä¿æ°ãå°å
¥ããŸãã
\ããŒã¿ ã
ã¬ã€ãªãŒæ£ä¹±ã®å Žåã1åã®çžäºäœçšã§å€§æ°æ£ä¹±ã®åœ±é¿ãåããå
ã®éãèšç®ããããã®é圢åŒãå°åºããŸããã
beta leftïŒ lambdaãh rightïŒ= frac8 pi3 leftïŒn2â1 rightïŒ23 frac rho leftïŒh rightïŒN frac1 lambda4
æµ·é¢ã§èšç®ãããšããã€ãŸã
h=0 ãæ¹çšåŒã¯æ¬¡ã®çµæãäžããŸãïŒ
\ããŒã¿\å·ŠïŒ680nm\å³ïŒ=0.00000519673
\ããŒã¿\å·ŠïŒ550nm\å³ïŒ=0.0000121427
\ããŒã¿\å·ŠïŒ440nm\å³ïŒ=0.0000296453
ã©ãã§
680 ã
550 ãããŠ
440 -èµ€ãç·ãéã«ã»ãŒå¯Ÿå¿ããæ³¢é·ã
ãããã®æ°åã®æå³ã¯äœã§ããïŒ ãããã¯ãç²åãšã®åäžã®çžäºäœçšã§å€±ãããå
ã®å²åã衚ããŸãã å
ç·ãæåã«æãããæã£ãŠãããšä»®å®ããŠ
I0 ïŒäžè¬çãªïŒæ£ä¹±ä¿æ°ã§å€§æ°ã®äžéšãééãããŸã
\ããŒã¿ ããã®åŸãæ£ä¹±åŸã«æ®ãå
ã®éã¯æ¬¡ã®ãšããã§ãã
I1=I0âinitial energyâI0βâenergy lost=I0(1âβ)
ããã¯1åã®è¡çªã®å Žåã«åœãŠã¯ãŸããŸãããç¹å®ã®è·é¢å
ã§ã©ã®ãããªãšãã«ã®ãŒãæ¶è²»ããããã«ã€ããŠé¢å¿ããããŸããããã¯ãæ®ãã®å
ããã¹ãŠã®ç¹ã§ãã®ããã»ã¹ãçµãããšãæå³ããŸããå
ãæ£ä¹±ä¿æ°ãæã€åäžãªåªäœãééãããšã\ããŒã¿ãç¹å®ã®è·é¢ãç§»åãããšãã«ã©ãã ãæ®ãããã©ã®ããã«èšç®ã§ããŸããïŒåæãåŠãã 人ã«ãšã£ãŠã¯ãããã¯ããªãã¿ã®ããã«æãããããããŸãããé£ç¶çãªã»ã°ã¡ã³ãã§ä¹ç®ããã»ã¹ãç¹°ãè¿ãããå Žå(1âβ)ãæ¬¡ã«ãªã€ã©ãŒæ°ãã·ãŒã³ã«å
¥ããŸããééåŸã®æ£ä¹±åŸã«æ®ã£ãŠããå
ã®éx ã¡ãŒãã«ãçããïŒI=I0exp{âβx}
ç¹°ãè¿ããŸãããææ°é¢æ°ã«çŽé¢ããŠããŸããå¯åºŠä¿æ°ãè¡šãææ°é¢æ°ãšã¯é¢ä¿ãããŸãããÏ ã
ã©ã¡ãã®çŸè±¡ãææ°é¢æ°çã§ãããããäž¡æ¹ã®çŸè±¡ã¯ææ°é¢æ°ã§èšè¿°ãããŸãããã以å€ã¯ããããã®éã«é¢ä¿ã¯ãããŸãããexpã¯ã©ãããæ¥ãã®ã§ããïŒ, , ,
I 1 = I 0 ïŒ1 - β ïŒ ç§= I 0ãE X P { - β X } ã
. , , :
I 1 = I 0 ïŒ 1 - β2ïŒ
I 2 = I 1ïŒ 1 - β2ïŒ
:
I 2 = I 0 ïŒ 1 - β2)(1âβ2)=
=I0(1âβ2)2
I2 . ? ? ? :
I=limnââI0(1âβn)n
ã©ãã§
limnââ â , . ,
â , -
βâ ã
:
limnââ(1âβNïŒN=E-β=EXP{-β}
, .
åäžãªééç
ãã¥ãŒããªã¢ã«ã®åŸåã§ã¯ãäŒéã®æŠå¿µã玹ä»ããŸãã Tæ£ä¹±ããã»ã¹åŸã«å€§æ°ãééãããšãã«æ®ãå
ã®å²åãšããŠãããã§ããããèšè¿°ããæ¹çšåŒãæšå®ããããã®ãã¹ãŠã®èŠçŽ ãã§ããŸãããäžã®å³ãèŠãŠãã»ã°ã¡ã³ãã®ééçãèšç®ããæ¹æ³ãèããŠã¿ãŸããã CPã®äž ã
å
ç·ãå±ãããšãç°¡åã«ããããŸã C空ã®ã¹ããŒã¹ãééããŸãããããã£ãŠããããã¯æ£ãã°ã£ãŠããŸããããã®çµæãCå®éã«å€ªéœã®æããã«çãã IS ã
ãã®æ
ã®éã« På
ã®äžéšã¯éªéã«ãªããªãããã«æ£ä¹±ãããŸãããããã£ãŠãå°éããå
ã®éP ïŒ
IP ïŒããå°ãã IS ã
æ£ä¹±å
ã®éã¯ãç§»åè·é¢ã«ãã£ãŠç°ãªããŸãããã¹ãé·ãã»ã©ãæžè¡°ã倧ãããªããŸããææ°é¢æ°çæžå°ã®æ³åã«ããã°ãããç¹ã§ã®å
éIP 次ã®ããã«èšç®ã§ããŸããIP=ISexp{âβ¯CP}
ã©ãã§
CPã®äž -ã»ã°ã¡ã³ãã®é·ã C åã«
P ããããŠ
exp{x}- ææ°é¢æ° ex ã
倧æ°äŒé
åå°ã®ç¢ºçïŒæ£ä¹±ä¿æ° \ããŒã¿ ã«æ²¿ã£ãŠåç¹ã§åã CPã®äž ã æ®å¿µãªãããããã§ã¯ãããŸããã
æ£ä¹±ä¿æ°ã¯ã倧æ°ã®å¯åºŠã«å€§ããäŸåããŸããç«æ¹ã¡ãŒãã«ãããã®ç©ºæ°ååãå€ãã»ã©ãè¡çªã®å¯èœæ§ãé«ããªããŸããææã®å€§æ°ã®å¯åºŠã¯äžåäžã§ãããé«åºŠã«ãã£ãŠç°ãªããŸããããã¯ãŸããå€åãæ£ä¹±ãèšç®ã§ããªãããšãæå³ããŸã CPã®äžã¯ã³ã¹ãããã§ããã®åé¡ã解決ããã«ã¯ãæ£ä¹±ä¿æ°ã䜿çšããŠåãã€ã³ãã§å€åãã®åæ£ãèšç®ããå¿
èŠããããŸãããããã©ã®ããã«æ©èœããããçè§£ããããã«ãè¿äŒŒããå§ããŸããããç·å CPã®äž 2ã€ã«åãããŠããŸã ¯CQ ãããŠ
¯QP ã
ãŸããå
ã®éãèšç®ããŸã C å°éãã Q ïŒ
IQ=ISexp{âβ(λ,h0)¯CQ}
次ã«ãåãã¢ãããŒãã䜿çšããŠãå°éããå
ã®éãèšç®ããŸã P ãã
Q ïŒ
IP=IQexp{âβ(λ,h1)¯QP}
代çšããã° IQ 2çªç®ã®æ¹çšåŒã«å
¥ããŠåçŽåãããšããã
¯CQ ãããŠ
¯QP åãé·ããæã£ãŠãã ds ãåŒãããã«ç°¡ç¥åã§ããŸããç°ãªãæ£ä¹±ä¿æ°ãæã€åãé·ãã®2ã€ã®ã»ã°ã¡ã³ãã®å Žåãå€åãã®æ£ä¹±ã¯ãåã
ã®ã»ã°ã¡ã³ãã®æ£ä¹±ä¿æ°ãåèšããã»ã°ã¡ã³ãã®é·ããæããããšã«ãã£ãŠèšç®ãããŸããä»»æã®æ°ã®ã»ã°ã¡ã³ãã§ãã®ããã»ã¹ãç¹°ãè¿ããçã®å€ã«ãŸããŸãè¿ã¥ããŠãããŸããããã«ãããæ¬¡ã®æ¹çšåŒãå°ãããŸããIP=ISexp{ââQâ¯CPβ(λ,hQ)ds}
ã©ãã§
hQ -ãã€ã³ãã®é«ã Q ã
å
ã»ã©äœ¿çšããçŽç·ãå€ãã®ã»ã°ã¡ã³ãã«åå²ããæ¹æ³ã¯ãæ°å€ç©åãšåŒã°ããŸããæåã«åãåã£ãå
ã®éã1 ãä»»æã®ã»ã°ã¡ã³ããéã倧æ°ééã®æ¹çšåŒãååŸããŸããT(¯CP)=exp{ââQâ¯CPβ(λ,hQ)ds}
ãã®åŒãããã«æ¡åŒµã§ããŸããåèšã眮ãæãã\ããŒã¿ ã¬ã€ãªãŒæ£ä¹±ã§äœ¿çšãããå®éã®å€ã \ããŒã¿ ïŒ
T(¯CP)=exp{ââQâ¯CP8Ï3(n2â1)23Ï(hQ)N1λ4ds}
å€ãã®èŠå \ããŒã¿ 以äžã®éã§å®è¡ã§ããããã«ã宿°T(¯CP)=exp{â8Ï3(n2â1)231N1λ4âconstantβ(λ)optical depthD(¯CP)ââQâ¯CPÏ(hQ)ds}
åèšã§è¡šãããå€ã¯ãå
åŠçåããšåŒã°ããŸã D(¯CP)ãããã·ã§ãŒããŒã§èšç®ããŸããæ®ãã¯ãäžåºŠããèšç®ã§ããªãåçã§ãããæµ·é¢ã§ã®æ£ä¹±ä¿æ°ã«å¯Ÿå¿ããŸãã宿ããã·ã§ãŒããŒã§ã¯ãæµ·é¢ã§ã®å
åŠçåããšæ£ä¹±ä¿æ°ã®ã¿ãèšç®ããŸã\ããŒã¿å
¥åãšããŠéä¿¡ããŸããèŠçŽãããšïŒT(¯CP)=exp{âβ(λ)D(¯CP)}
ããŒã5.倧æ°ã·ã§ãŒããŒã
ã¯ããã«
ã·ã§ãŒããŒãæžã
ãã®ãšãã§ã¯ãã®ã·ã§ãŒããŒã®äœæãç¡æ°ã®æ¹æ³ã§éå§ã§ããŸããå€§æ°æ£ä¹±ãææã«ã¬ã³ããªã³ã°ãããã®ã§ãçäœã§äœ¿çšããããšä»®å®ããã®ã¯è«ççã§ãããã®ãã¥ãŒããªã¢ã«ã䜿çšããŠã²ãŒã ãäœæããå Žåãæ¢åã®ææã«ã·ã§ãŒããŒãé©çšããå¯èœæ§ããããŸããã¹ãŠã©ããã®äžã«å€§æ°æ£ä¹±èšç®ã远å ããããšã¯å¯èœã§ãããéåžžã¯çµæãè¯ããããŸããããã®çç±ã¯ã倧æ°ãææã®ååŸããã倧ããããããããã«å€§ãããµã€ãºã®éæãªçäœã«ã¬ã³ããªã³ã°ããå¿
èŠãããããã§ããäžã®å³ã¯ã倧æ°ãææã®è¡šé¢äžã«åºãããèåŸã®ç©ºã®ç©ºéãšæ··ããåã£ãŠããæ§åã瀺ããŠããŸããå¥ã®çäœãžã®åæ£æ§ææã®é©çšã¯å¯èœã§ãããåé·ã§ãããã®ãã¥ãŒããªã¢ã«ã§ã¯ã倧æ°ããããã«å€§ããªçäœã«ã¬ã³ããªã³ã°ããã·ã§ãŒããŒããã»ãŒãžã远å ããŠãStandard Surface Shader Unityãæ¡åŒµããããšããå§ãããŸããããã倧æ°åãšåŒã³ãŸãã2ãã¹ã·ã§ãŒããŒ
Unity
ãµãŒãã§ã¹ã·ã§ãŒããŒã䜿çšããŠããå Žåã
é ç¹ããã³ãã©ã°ã¡ã³ã ã·ã§ãŒããŒã§è€æ°ã®ãã¹ãèšå®ããã
Pass
ãããã¯ããµããŒãããŠããªãããšã«æ°ä»ããããããŸããã
2ã€ã®ãã¹ã§ã·ã§ãŒããŒãäœæããããšãã§ããŸã
SubShader
ã³ãŒãã®2ã€ã®åå¥ã®ã»ã¯ã·ã§ã³ã1ã€ã®
SubShader
ãããã¯ã«è¿œå ããã ãã§ãã
Shader "Custom/NewSurfaceShader" { Properties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Albedo (RGB)", 2D) = "white" {} _Glossiness ("Smoothness", Range(0,1)) = 0.5 _Metallic ("Metallic", Range(0,1)) = 0.0 } SubShader { // --- --- Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM // Cg ENDCG // ------------------ // --- --- Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM // Cg ENDCG // ------------------- } FallBack "Diffuse" }
æåã®ãã¹ã倿ŽããŠãææãã¬ã³ããªã³ã°ã§ããŸãã ããããã¯ã2åç®ã®ãã¹ã«çŠç¹ãåœãŠã倧æ°äžã®æ£ä¹±ãå®çŸããŸãã
éåžžã®æŒãåºã
倧æ°åã¯ææãããããã«å€§ããã ããã¯ã2çªç®ã®éè·¯ãçäœãæŒãåºãããšãæå³ããŸãã ã¢ãã«ãæ»ãããªæ³ç·ã䜿çšããŠããå Žåãæ³ç·ã®
æŒãåºããšåŒã°ããææ³ã䜿çšããŠãã®å¹æãå®çŸã§ããŸãã
éåžžã®æŒãåºãã¯ãæãå€ãã·ã§ãŒããŒããªãã¯ã®1ã€ã§ãããéåžžãæåã«èª¿æ»ããããã®ã®1ã€ã§ãã ç§ã®ããã°ã«ã¯å€ãã®åç
§ããããŸãã è¯ãåºçºç¹ã¯ã
ã ã·ã§ãŒã㌠å
¥éãã·ãªãŒãºã®
Surface Shaderã®æçš¿ã§ãããã
æ³ç·ã®æŒãåºãã®ä»çµã¿ã«æ
£ããŠããªãå Žåã¯ã説æããŸãããã¹ãŠã®é ç¹ã¯ã
é ç¹é¢æ°ã䜿çšããŠã·ã§ãŒããŒã«ãã£ãŠåŠçãã
ãŸã ã ãã®é¢æ°ã䜿çšããŠåé ç¹ã®äœçœ®ã倿Žããçäœã倧ããããããšãã§ããŸãã
æåã®ã¹ãããã¯ã
vertex:vert
ã远å ããŠ
pragma
ãã£ã¬ã¯ãã£ãã倿Žããããšã§ã
vertex:vert
; ããã«ãããUnityã¯åé ç¹ã«å¯ŸããŠ
vert
颿°ãå®è¡ããŸãã
#pragma surface surf StandardScattering vertex:vert void vert (inout appdata_full v, out Input o) { UNITY_INITIALIZE_OUTPUT(Input,o); v.vertex.xyz += v.normal * (_AtmosphereRadius - _PlanetRadius); }
ãã®ã³ãŒããã©ã°ã¡ã³ãã¯ãæ³ç·ã«æ²¿ã£ãŠçãæŒãåºãé ç¹é¢æ°ã瀺ããŠããŸãã çã®æŒãåºãé床ã¯ã倧æ°ã®ãµã€ãºãšææã®ãµã€ãºã«äŸåããŸãã ãããã®å€ã¯äž¡æ¹ãšãã
ãããªã¢ã«ã€ã³ã¹ãã¯ã¿ãŒããã¢ã¯ã»ã¹ã§ãã
ããããã£ãšããŠã·ã§ãŒããŒã«æž¡ãå¿
èŠããããŸãã
ã·ã§ãŒããŒã¯ãææã®äžå¿ãã©ãã«ããããç¥ãå¿
èŠããããŸãã é ç¹é¢æ°ã«ãèšç®ã远å ã§ããŸãã èšäºã
é ç¹ãšãã©ã°ã¡ã³ãã·ã§ãŒã㌠ãã§èª¬æããäžçã®ç©ºéã§ãªããžã§ã¯ãã®äžå¿ç¹ãèŠã€ããã
struct Input { float2 uv_MainTex; float3 worldPos; // Unity float3 centre; // }; void vert (inout appdata_full v, out Input o) { UNITY_INITIALIZE_OUTPUT(Input,o); v.vertex.xyz += v.normal * (_AtmosphereRadius - _PlanetRadius); o.centre = mul(unity_ObjectToWorld, half4(0,0,0,1)); }
UNITY_INITIALIZE_OUTPUTãšã¯äœã§ããïŒé ç¹é¢æ°ãèŠããšãåžžã«è¬ã®åŒã³åºãUNITY_INITIALIZE_OUTPUT
ãå«ãŸããŠããããšãUNITY_INITIALIZE_OUTPUT
ãŸãã ã·ã§ãŒããŒã¯ãªããžã§ã¯ãã®ç©ºéå
ã®é ç¹ã®äœçœ®ãååŸããUnityãæäŸããäœçœ®ãã¹ã±ãŒã«ãå転ã䜿çšããŠãã¯ãŒã«ãã®åº§æšã«ããããæåœ±ããå¿
èŠããããŸãã
ãããŠãããã¯UNITY_INITIALIZE_OUTPUT
ã«ãã£ãŠå®è¡ãããæäœã®1ã€ã§ãã ããããªããã°ããããã®èšç®ã«å¿
èŠãªã³ãŒããèªåã§èšè¿°ããå¿
èŠããããŸãã
æ·»å å€ãã¬ã³ã
察åŠããå¿
èŠããããã1ã€ã®è峿·±ãæ©èœã¯ãéææ§ã§ãã éåžžãéæãªçŽ æã䜿çšãããšããªããžã§ã¯ãã®èåŸã«ãããã®ã確èªã§ããŸãã ç§ãã¡ã®å Žåããã®è§£æ±ºçã¯æ©èœããŸããã倧æ°ã¯åãªãéæãªãã©ã¹ããã¯ã§ã¯ãªãããã§ãã å
ãééãããã
ãå ç®æ··åã¢ãŒãã䜿çš
ããŠææã®å
床ãäžããå¿
èŠããã
ãŸã ã
æšæºã®Unity Surface Shaderã§ã¯ãããã©ã«ãã§ãã¬ã³ãã¢ãŒãã¯æå¹ã«ãªã£ãŠããŸããã ç¶æ³ã倿Žããã«ã¯ã2çªç®ã®ãã¹ã®ã©ãã«ã次ã®ãã®ã«çœ®ãæããå¿
èŠããããŸãã
Tags { "RenderType"="Transparent" "Queue"="Transparent"} LOD 200 Cull Back Blend One One
Blend One One
ãšã¯ã¹ãã¬ãã·ã§ã³ã¯ã·ã§ãŒããŒã«ãã£ãŠäœ¿çšãããå ç®ãã¬ã³ãã£ã³ã°ã¢ãŒãã«ã¢ã¯ã»ã¹ããŸãã
ãã€ãã£ãç
§ææ©èœ
ã»ãšãã©ã®å ŽåããµãŒãã§ã¹ã·ã§ãŒããŒãèšè¿°ãããšããããã°ã©ãã¯ãã®
surf
颿°ã倿ŽããŸããããã¯ãã¢ã«ããã衚é¢ã®æ»ããããéå±ç¹æ§ãªã©ã®ãç©ççãªãç¹æ§ãæäŸããããã«äœ¿çšãããŸãã ãããã®ããããã£ã¯ãã¹ãŠãã·ã§ãŒããŒã«ãã£ãŠãªã¢ã«ãªã·ã§ãŒãã£ã³ã°ãèšç®ããããã«äœ¿çšãããŸãã
ç§ãã¡ã®å Žåããããã®èšç®ã¯å¿
èŠãããŸããã ããããåãé€ãã«
㯠ãã·ã§ãŒããŒã§äœ¿çšãããŠ
ããç
§æã¢ãã«ãåé€
ããå¿
èŠããããŸãã ãã®ãããã¯ã詳现ã«èª¿ã¹ãŸããã æ¬¡ã®æçš¿ã調ã¹ãŠããããè¡ãæ¹æ³ãçè§£ã§ããŸãã
æ°ããç
§æã¢ãã«ã¯
StandardScattering
ãšåŒã°ããŸãã ãªã¢ã«ã¿ã€ã ç
§æãšã°ããŒãã«ç
§æçšã®é¢æ°ãã€ãŸã
LightingStandardScattering
ãš
LightingStandardScattering_GI
ãããããäœæããå¿
èŠããããŸãã
èšè¿°ããå¿
èŠãããã³ãŒã
ã¯ãç
§æã®
æ¹åããã¥ãŒã®
æ¹åãªã©ã®ããããã£ã䜿çšããŸãã ãããã¯ã次ã®ã³ãŒãã¹ããããã䜿çšããŠååŸã§ããŸãã
#pragma surface surf StandardScattering vertex:vert #include "UnityPBSLighting.cginc" inline fixed4 LightingStandardScattering(SurfaceOutputStandard s, fixed3 viewDir, UnityGI gi) { float3 L = gi.light.dir; float3 V = viewDir; float3 N = s.Normal; float3 S = L;
In
...
ã«ã¯ããã®å¹æãå®è£
ããããã«å¿
èŠãªã·ã§ãŒããŒã³ãŒãèªäœãå«ãŸããŸãã
æµ®åå°æ°ç¹ç²ŸåºŠ
ãã®ãã¥ãŒããªã¢ã«ã§ã¯ããã¹ãŠã®èšç®ãã¡ãŒãã«åäœã§å®è¡ããããšä»®å®ããŸãã ããã¯ãå°çãã·ãã¥ã¬ãŒãããå¿
èŠãããå ŽåãååŸ6371000ã¡ãŒãã«ã®çäœãå¿
èŠã§ããããšãæå³ããŸãã å®éãUnityã§ã¯ãéåžžã«å€§ããªæ°ãšéåžžã«å°ããªæ°ãåæã«åŠçããå¿
èŠãããå Žåã«çºçããæµ®åå°æ°ç¹ãšã©ãŒã®ãããããã¯äžå¯èœã§ãã
ãããã®å¶éãåé¿ããããã«ãæ£ä¹±ä¿æ°ã調æŽããŠè£æ£ã§ããŸãã ããšãã°ãææã®ååŸãããã6.371ã¡ãŒãã«ã®å Žåãæ£ä¹±ä¿æ°ã¯
\ããŒã¿\å·ŠïŒ\ã©ã ã\å³ïŒ 1,000,000åãè¶
ããå¿
èŠããããŸãã
H -1,000,000åå°ãªãã
ç§ã®Unityãããžã§ã¯ãã§ã¯ããã¹ãŠã®ããããã£ãšèšç®ã¯ã¡ãŒãã«ã§è¡šãããŸãã ããã«ãããæ£ä¹±ä¿æ°ãšæžå°ããé«ãã«å®éã®ç©çå€ã䜿çšã§ããŸãã ãã ããã·ã§ãŒããŒã¯çã®ãµã€ãºãã¡ãŒãã«åäœã§ååŸãããããUnityãŠãããããå®éã®ã¡ãŒãã«ãŸã§ã¹ã±ãŒã«ã§ããŸãã
ããŒã6ã倧æ°ã®äº€å·®ç¹ã
åè¿°ã®ããã«ã倧æ°ãéé
ããã»ã°ã¡ã³ãã®
å
åŠçåããèšç®ããå¯äžã®æ¹æ³ã¯ã
æ°å€ç©åã«ãããã®ã§ãã ããã¯ãééãããçãé·ãã«åå²ããå¿
èŠãããããšãæå³ããŸã
ds å¯åºŠå®æ°ãèæ
®ããŠãããããã®å
åŠçåããèšç®ããŸãã
äžèšã¯å
åŠçåãã§ãã
\äžç·AB ããã¯4ã€ã®ãµã³ãã«ã§èšç®ãããåãµã³ãã«ã§ã¯ã»ã°ã¡ã³ãèªäœã®äžå¿ã®å¯åºŠãèæ
®ãããŸãã
æåã®ã¹ãããã¯æããã«ãã€ã³ããèŠã€ããããšã§ã
A ãããŠ
B ã ã¬ã³ããªã³ã°ãããªããžã§ã¯ããçäœã§ãããšä»®å®ãããšãUnityã¯ãã®è¡šé¢ãã¬ã³ããªã³ã°ããããšããŸãã ç»é¢äžã®åãã¯ã»ã«ã¯ãçäžã®ç¹ã«å¯Ÿå¿ããŠããŸãã 以äžã®å³ã§ã¯ããã®ãã€ã³ãã¯
O ïŒ
èµ·æºããïŒã ãµãŒãã§ã¹ã·ã§ãŒããŒå
O Input
æ§é ã®
worldPos
倿°ãšäžèŽããŸãã ããã¯ãã·ã§ãŒããŒãè¡ãäœæ¥éã§ãã ç§ãã¡ãå©çšã§ããå¯äžã®æ
å ±ã¯
O æ¹å
D ãããã¯
èŠç·ã®æ¹åã瀺ãã倧æ°åã¯äžå¿ã«ãããŸã
C ããã³ååŸ
R ã å°é£ã¯ã³ã³ãã¥ãŒãã£ã³ã°ã«ãããŸã
A ãããŠ
B ã ãžãªã¡ããªãæéã§äœ¿çšããã
倧æ°åçãšã«ã¡ã©ã®
å¯èŠå
ç·ã®äº€å·®ç¹ãèŠã€ããåé¡ã軜æžãããŸãã
ãŸããããã¯æ³šç®ã«å€ãã
O ã
A ãããŠ
B èŠç·äžã«ãããŸãã ããã¯ããããã®äœçœ®ã3D空éã®ç¹ãšããŠã§ã¯ãªããèŠç·ããåç¹ãŸã§ã®è·é¢ãšããŠæ±ãããšãã§ããããšãæå³ããŸãã
A å®éã®ãã€ã³ãïŒã·ã§ãŒããŒã§ã¯
float3
ãšããŠ
float3
ïŒã§ããã
Ao -éå§ç¹ãŸã§ã®è·é¢
O ïŒ
float
ãšããŠä¿åãã
float
ïŒã
A ãããŠ
Ao -åããã€ã³ããæå®ãã2ã€ã®çããæ£ããæ¹æ³ãã€ãŸããããã¯çå®ã§ãã
A=O+\äžç·AO\ãD
B=O+\äžç·BO\ãD
äžã«ããŒã®ãããšã³ããªã¯ã©ãã§ãã
XY$ã®äž ä»»æã®2ç¹éã®ã»ã°ã¡ã³ãã®é·ãã瀺ããŸã
X ãããŠ
Y ã
å¹çåã®ããã®ã·ã§ãŒããŒã³ãŒãã§ã¯ã
Ao ãããŠ
Bo ãããããèšç®ããŸã
Ot ïŒ
\äžç·AO=\äžç·OTâ\äžç·AT
\äžç·BO=\äžç·OT+\äžç·BT
ãŸããã»ã°ã¡ã³ãã
\äžç·AT ãããŠ
BT$ã«äžç·ãåŒã㟠åãé·ãã§ãã æ¬¡ã«ã亀ç¹ãèŠã€ããããã«ãèšç®ããå¿
èŠããããŸã
\äžç·AO ãããŠ
\äžç·AT ã
ç·å
\äžç·OT èšç®ããæãç°¡åãªæ¹æ³ã äžã®å³ãèŠããšã次ã®ããšãããããŸãã
\äžç·OT ãã¯ãã«ã®æåœ±
CO èŠç·äžã æ°åŠçã«ã¯ããã®æåœ±ã¯
ã¹ã«ã©ãŒç©ã䜿çšããŠå®è¡ã§ããŸãã ã·ã§ãŒããŒã«ç²ŸéããŠããå Žåã¯ãã¹ã«ã©ãŒç©ã2ã€ã®æ¹åã®ãæŽåãã®å°ºåºŠã§ããããšãç¥ã£ãŠãããããããŸããã ããã2ã€ã®ãã¯ãã«ã«é©çšããããã®ãã¡ã®1ã€ãåäœé·ãæã€å Žåãããã¯å°åœ±æŒç®åã«ãªããŸãã
\äžç·OT=\å·ŠïŒCâO\å³ïŒ cdotD
ããã¯ãŸã泚ç®ã«å€ãã
\å·ŠïŒCâO\å³ïŒ éã®ã»ã°ã¡ã³ãã®é·ãã§ã¯ãªãã3次å
ãã¯ãã«ã§ã
C ãããŠ
O ã
次ã«ãã»ã°ã¡ã³ãã®é·ããèšç®ããå¿
èŠããããŸã
\äžç·AT ã äžè§åœ¢ã®
ãã¿ãŽã³å®çã䜿çšã
ãŠèšç®ã§ããŸã
\ãªãŒããŒã»ãã\ãã©ã€ã¢ã³ã°ã«ACT ã åœŒå¥³ã¯æ¬¡ã®ããã«äž»åŒµããŠããŸãïŒ
R2=\ãªãŒããŒã©ã€ã³AT2+\ãªãŒããŒã©ã€ã³CT
ãããŠããã¯ãããæå³ããŸãïŒ
overlineAT= sqrtR2â overlineCT
é·ã
CT$ã®äž ãŸã äžæã§ãã ãã ãããã¿ãŽã©ã¹ã®å®çãäžè§åœ¢ã«å床é©çšããããšã§èšç®ã§ããŸã
\ãªãŒããŒã»ãã\ãã©ã€ã¢ã³ã°ã«OCT ïŒ
\äžç·CO2=\äžç·OT2+\äžç·CT2
\äžç·CT= sqrt\äžç·CO2â\äžç·OT2
ããã§ãå¿
èŠãªæ°éããã¹ãŠæããŸããã èŠçŽãããšïŒ
\äžç·OT=\å·ŠïŒCâO\å³ïŒ cdotD
\äžç·CT= sqrt\äžç·CO2â\äžç·OT2
\äžç·AT= sqrtR2â\äžç·CT2
\äžç·AO=\äžç·OTâ\äžç·AT
\ãªãŒããŒã©ã€ã³BO=\ãªãŒããŒã©ã€ã³OT+\ãªãŒããŒã©ã€ã³AT
ãã®æ¹çšåŒã®ã»ããã«ã¯å¹³æ¹æ ¹ããããŸãã ãããã¯ãè² ã§ãªãæ°ã«å¯ŸããŠã®ã¿å®çŸ©ãããŸãã ãã
R2>\äžç·CT2 ã解決çã¯ãããŸãããããã¯ãèŠç·ãçäœãšäº€å·®ããªãããšãæå³ããŸãã
ãããæ¬¡ã®Cg颿°ã«å€æã§ããŸãã
bool rayIntersect ( // Ray float3 O, // Origin float3 D, // // float3 C, // float R, // out float AO, // out float BO // ) { float3 L = C - O; float DT = dot (L, D); float R2 = R * R; float CT2 = dot(L,L) - DT*DT; // if (CT2 > R2) return false; float AT = sqrt(R2 - CT2); float BT = AT; AO = DT - AT; BO = DT + BT; return true; }
1ã€ã§ã¯ãªã3ã€ã®å€ãè¿ããŸã
\äžç·AO ã
BO$ã®äž 亀差ç¹ã®ãã€ããªå€ã ãããã®2ã€ã®ã»ã°ã¡ã³ãã®é·ãã¯outããŒã¯ãŒãã䜿çšããŠè¿ããã颿°ããããã®ãã©ã¡ãŒã¿ãŒã«å ãã倿Žãå®äºããåŸã«ä¿åãããŸãã
ææãšã®è¡çª
èæ
®ãã¹ãå¥ã®åé¡ããããŸãã ããã€ãã®å¯èŠå
ç·ãææãšè¡çªããããã倧æ°åãéã圌ãã®æ
ã¯æ©ãçµãããŸãã 1ã€ã®è§£æ±ºçã¯ãäžèšã確èªããããšã§ãã
ããåçŽã§ããå¹çã®æªãã¢ãããŒãã¯ã
rayIntersect
2åå®è¡ããå¿
èŠã«å¿ããŠãšã³ããã€ã³ãã倿Žããããšã§ãã
ããã¯ã次ã®ã³ãŒãã«å€æãããŸãã
// float tA; // (worldPos + V * tA) float tB; // (worldPos + V * tB) if (!rayIntersect(O, D, _PlanetCentre, _AtmosphereRadius, tA, tB)) return fixed4(0,0,0,0); // // ? float pA, pB; if (rayIntersect(O, D, _PlanetCentre, _PlanetRadius, pA, pB)) tB = pA;
ããŒã7.倧æ°åæ£ã·ã§ãŒããŒã
ãã®ããŒãã§ã¯ãæçµçã«ãææã®å€§æ°äžã®ã¬ã€ãªãŒæ£ä¹±ã®ã·ãã¥ã¬ãŒã·ã§ã³ã«é¢ããäœæ¥ãå®äºããŸãã
å¯èŠããŒã ãµã³ããªã³ã°
æè¿å°åºããå€§æ°æ£ä¹±ã®æ¹çšåŒãæãåºããŠã¿ãŸãããã
I=IS sumP in overlineABS leftïŒ lambdaã thetaãh rightïŒT leftïŒ overlineCP rightïŒT leftïŒ overlinePA\å³ïŒds
ç§ãã¡ãåãåãå
ã®éã¯ã倪éœãçºããå
ã®éã«çããã
Is åãã€ã³ãã®åã
ã®å¹æã®åèšã§ä¹ç®
P ã»ã°ã¡ã³ãäž
\äžç·AB ã
ãã®é¢æ°ãã·ã§ãŒããŒã«çŽæ¥å®è£
ã§ããŸãã ãã ããããã§ããã€ãã®æé©åãè¡ãå¿
èŠããããŸãã åã®éšåã§ãåŒãããã«ç°¡ç¥åã§ãããšè¿°ã¹ãŸããã æåã«è¡ãããšã¯ãæ£ä¹±é¢æ°ã2ã€ã®äž»èŠãªã³ã³ããŒãã³ãã«åå²ããããšã§ãã
S leftïŒ lambdaã thetaãh rightïŒ= beta leftïŒ lambdaãh rightïŒ gamma leftïŒ theta rightïŒ= beta leftïŒ lambda rightïŒ rho leftïŒh rightïŒ gamma leftïŒ theta rightïŒ
äœçžé¢æ° \ã¬ã³ã\å·ŠïŒ\ã·ãŒã¿\å³ïŒ ããã³
æµ·é¢åæ£ä¿æ° \ããŒã¿\å·ŠïŒ\ã©ã ã\å³ïŒ è§åºŠã«å¯ŸããŠ
\ã·ãŒã¿ ãšæ³¢é·
\ã©ã ã ãµã³ããªã³ã°ããããã€ã³ãããç¬ç«ããŠããŸãã ãããã£ãŠããããã¯æ¬¡ã®éã§å®è¡ã§ããŸãã
I=IS\ã beta leftïŒ lambda rightïŒ gamma leftïŒ theta rightïŒ sumP in overlineABT leftïŒ overlineCP rightïŒT\å·ŠïŒ\äžç·PA\å³ïŒ rho\å·ŠïŒh\å³ïŒds
ãã®æ°ããåŒã¯ãåã®åŒãšæ°åŠçã«äŒŒãŠããŸãããæããéããéšåãåèšããå°åºããããããèšç®ãããå¹ççã§ãã
ãŸã å®è£
ã®æºåãã§ããŠããŸããã ç¡éã®æ°ã®ãã€ã³ãããããŸã
P èæ
®ããªããã°ãªããŸããã åççãªè¿äŒŒ
I åå²ãããŸã
\äžç·AB ããã€ãã®çãã»ã°ã¡ã³ãã«
ds åã»ã°ã¡ã³ãã®åœ±é¿ã®è¿œå ã ããããããšã§ãåã»ã°ã¡ã³ããäžå®ã®å¯åºŠãæã€ã®ã«ååå°ãããšä»®å®ã§ããŸãã äžè¬çã«ãããã¯ããã§ã¯ãããŸãããã
ds ååã«å°ããå Žåãããªãè¯ãè¿äŒŒãéæã§ããŸãã
ã®ã»ã°ã¡ã³ãæ°
\äžç·AB ãã¹ãŠã®ã»ã°ã¡ã³ããèŠç·äžã«ãããã
ãå¯èŠæ§ã®
ãµã³ãã«ãåŒã³åºããŸãã ã·ã§ãŒããŒã§ã¯ãããã¯
_ViewSamples
ããããã£ã«ãªããŸãã ããã¯ããããã£ã§ããããããããªã¢ã«ã€ã³ã¹ãã¯ã¿ãŒããã¢ã¯ã»ã¹ã§ããŸãã ããã«ãããã·ã§ãŒããŒã®ããã©ãŒãã³ã¹ã®ç²ŸåºŠãäžããããšãã§ããŸãã
次ã®ã³ãŒããã©ã°ã¡ã³ãã䜿çšãããšã倧æ°äžã®ãã¹ãŠã®ã»ã°ã¡ã³ãããã€ãã¹ã§ããŸãã
// // P AB float3 totalViewSamples = 0; float time = tA; float ds = (tB-tA) / (float)(_ViewSamples); for (int i = 0; i < _ViewSamples; i ++) { // // ( ) float3 P = O + D * (time + ds * 0.5); // T(CP) * T(PA) * Ï(h) * ds totalViewSamples += viewSampling(P, ds); time += ds; } // I = I_S * β(λ) * γ(Ξ) * totalViewSamples float3 I = _SunIntensity * _ScatteringCoefficient * phase * totalViewSamples;
time
倿°ã¯ãéå§ç¹ããã®è·é¢ã远跡ããããã«äœ¿çšãããŸãã
O ã åå埩åŸã
ds
ã ãå¢å ããŸãã
å
åŠçåãPA
èŠç·äžã®ãã¹ãŠã®ãã€ã³ã
\äžç·AB æç»ãããã¯ã»ã«ã®æçµè²ã«è²¢ç®ããŸãã æ°åŠçã«è¡šçŸããããã®å¯äžã¯ãåèšå
ã®å€ã§ãã
I=IS\ã beta leftïŒ lambda rightïŒ gamma leftïŒ theta rightïŒ sumP in overlineAB underset textlightcontributionof\ãL\å·ŠïŒP\å³ïŒ\äžæ¬åŒ§T\å·ŠïŒ\äžç·CP\å³ïŒT\å·ŠïŒ\äžç·PA\å³ïŒ rho\å·ŠïŒh\å³ïŒds
æåŸã®æ®µèœã®ããã«ããã®åŒãåçŽåããŠã¿ãŸãããã äžèšã®åŒãããã«å±éãããšã
T ãã®å®çŸ©ïŒ
T \å·ŠïŒ\äžç·{XY} \å³ïŒ= \ exp \å·Š\ {-\ beta \å·ŠïŒ\ã©ã ã\å³ïŒD \å·ŠïŒ\äžç·{XY} \å³ïŒ\å³\}
ã¹ãããããçµæ
CPã®äž ãããŠ
\äžç·PA ã«ãªããŸãïŒ
T\å·ŠïŒ\äžç·CP\å³ïŒT\å·ŠïŒ\äžç·PA\å³ïŒ=
= \ underset {T \ leftïŒ\ overline {CP} \ rightïŒ} {\ underbrace {\ exp \ left \ {-\ beta \ leftïŒ\ lambda \ rightïŒD \ leftïŒ\ overline {CP} \ right ïŒ\ right \}}} \ã\ underset {T \ leftïŒ\ overline {PA} \ rightïŒ} {\ underbrace {\ exp \ left \ {-\ beta \ leftïŒ\ lambda \ rightïŒD \ leftïŒ \äžç·{PA} \å³ïŒ\å³\}}} =
= \ exp \ left \ {-\ beta \ leftïŒ\ lambda \ rightïŒ\ leftïŒD \ leftïŒ\ overline {CP} \ rightïŒ+ D \ leftïŒ\ overline {PA} \ rightïŒ\ rightïŒ \å³\}
çµåãããééã¯ææ°é¢æ°çãªæžå°ãšããŠã¢ãã«åããããã®ä¿æ°ã¯å
ãç§»åããçµè·¯ã«æ²¿ã£ã
å
åŠçåãã®åèšã§ãïŒ
CPã®äž ãããŠ
\äžç·PA ïŒ
æµ·é¢ã¬ãã«ã§ã®åæ£ä¿æ° ïŒ
\ããŒã¿ ã§
h=0 ïŒ
èšç®ãéå§ããæåã®å€ã¯ãã»ã°ã¡ã³ãã®å
åŠçåãã§ã
\äžç·PA ã倧æ°åãžã®é²å
¥å°ç¹ããçŸåšforã«ãŒãã§ãµã³ããªã³ã°ããŠããå°ç¹ã«ç§»åããŸãã å
åŠçåãã®å®çŸ©ãæãåºããŸãããïŒ
D \å·ŠïŒ\äžç·{PA} \å³ïŒ= \ sum_ {Q \ in \äžç·{PA}} {\ exp \å·Š\ {-\ frac {h_Q} {H} \å³\}} \ãds
ãé¡ããå®è£
ããå¿
èŠãããå Žåã¯ãã«ãŒãå
ã®ãã€ã³ããã«ãŒãã§ãµã³ããªã³ã°ãã
opticalDepth
颿°ãäœæããŸã
P ãããŠ
A ã å¯èœã§ãããéåžžã«éå¹ççã§ãã å®éã
D\å·ŠïŒ\äžç·PA\å³ïŒ ãã§ã«æå€åŽã®forã«ãŒãã§åæããŠããã©ã€ã³ã»ã°ã¡ã³ãã®å
åŠçåãã§ãã äžå¿ã«ããçŸåšã®ã»ã°ã¡ã³ãã®å
åŠçåããèšç®ããã°ãå€ãã®èšç®ãä¿åã§ããŸã
P ïŒ
opticalDepthSegment
ïŒãããã³forã«ãŒãïŒ
opticalDepthPA
ïŒã«èŠçŽãç¶ããŸãã
// float opticalDepthPA = 0; // // P AB float time = tA; float ds = (tB-tA) / (float)(_ViewSamples); for (int i = 0; i < _ViewSamples; i ++) { // // ( ) float3 P = O + D * (time + viewSampleSize*0.5); // // Ï(h) * ds float height = distance(C, P) - _PlanetRadius; float opticalDepthSegment = exp(-height / _ScaleHeight) * ds; // // D(PA) opticalDepthPA += opticalDepthSegment; ... time += ds; }
å
ãµã³ããªã³ã°
å
ã®åœ±é¿ã®è¡šçŸã«æ»ããš
P ãå¿
èŠãªå€ã¯ã»ã°ã¡ã³ãã®å
åŠçåãã ãã§ã
CPã®äž ã
L \å·ŠïŒP \å³ïŒ= \ã¢ã³ããŒã»ãã{\ããã¹ã{è€åééç}} {\ã¢ã³ããŒãã¬ãŒã¹{\ exp \å·Š\ {-\ããŒã¿\å·ŠïŒ\ã©ã ã\å³ïŒ\å·ŠïŒD \å·ŠïŒ\ãªãŒããŒã©ã€ã³{CP} \å³ïŒ+ D \å·ŠïŒ\äžç·{PA} \å³ïŒ\å³ïŒ\å³\}}} \ã\ã¢ã³ããŒã»ãã{\ text {optical depth of} \ãds} {\ã¢ã³ããŒãã¬ãŒã¹{\ rho \å·ŠïŒh \å³ïŒds}}
ã»ã°ã¡ã³ãã®å
åŠçåããèšç®ããã³ãŒããç§»åããŸã
CPã®äž lightSampling
ãšåŒã°ãã
lightSampling
ã ååã¯ã
å
ç·ããåãããŸãã
å
ç·ã¯ã
P 倪éœã«åãã£ãŠããŸãã 倧æ°åå€ã«åºããã€ã³ããåŒã³åºããŸãã
C ã
ãã ãã
lightSampling
颿°
lightSampling
å
åŠçåããèšç®ããã ãã§
lightSampling
ã
CPã®äž ã ãããŸã§ã®ãšããã倧æ°ã®åœ±é¿ã®ã¿ãèæ
®ããææèªäœã®åœ¹å²ãç¡èŠããŸããã ç§ãã¡ã®æ¹çšåŒã¯ãå
ç·ãããç§»åããå¯èœæ§ãèæ
®ããŠããŸãã
P 倪éœã«ãææãšè¡çªãããããããŸããã ãã®å Žåãå
ã¯å®éã«ã¯ã«ã¡ã©ã«å°éããªãããããã®æç¹ãŸã§ã«å®è¡ããããã¹ãŠã®èšç®ã¯é©çšãããŸããã
äžã®å³ã§ã¯ãå
ã®åœ±é¿ããããããã
P0 倪éœã®å
ãå±ããªãã®ã§ç¡èŠããå¿
èŠããããŸã
P0 ã éã®ãã€ã³ãã埪ç°ãããšã
P ãããŠ
C lightSampling
ã¯ãææãšã®è¡çªããã§ãã¯ããŸãã ããã¯ããã¬ãã£ãæ§ã®ãã€ã³ãã®é«ãããã§ãã¯ããããšã§å®è¡ã§ããŸãã
bool lightSampling ( float3 P, // float3 S, // out float opticalDepthCA ) { float _; // float C; rayInstersect(P, S, _PlanetCentre, _AtmosphereRadius, _, C); // PC float time = 0; float ds = distance(P, P + S * C) / (float)(_LightSamples); for (int i = 0; i < _LightSamples; i ++) { float3 Q = P + S * (time + lightSampleSize*0.5); float height = distance(_PlanetCentre, Q) - _PlanetRadius; // if (height < 0) return false; // opticalDepthCA += exp(-height / _RayScaleHeight) * ds; time += ds; } return true; }
äžèšã®é¢æ°ã¯ãæåã«ãã€ã³ããèšç®ããŸã Cã®å©ããåããŠrayInstersect
ãæ¬¡ã«ã圌女ã¯ã»ã°ã¡ã³ããåå²ããŸã¯PAã»ã°ã¡ã³ãã«_LightSamples
é·ãã®ds
ãå
åŠçåãã®èšç®ã¯ãæãå€åŽã®ã«ãŒãã§äœ¿çšããããã®ãšåãã§ãããã®é¢æ°ã¯ãææãšã®è¡çªãçºçããå Žåã«falseãè¿ããŸããããã䜿çšããŠãã眮ãæããããšã«ãããæãå€åŽã®ã«ãŒãã®æ¬ èœã³ãŒããæŽæ°ã§ããŸã...
ã // D(CP) float opticalDepthCP = 0; bool overground = lightSampling(P, S); if (overground) { // // T(CP) * T(PA) = T(CPA) = exp{ -β(λ) [D(CP) + D(PA)]} float transmittance = exp ( -_ScatteringCoefficient * (opticalDepthCP + opticalDepthPA) ); // // T(CPA) * Ï(h) * ds totalViewSamples += transmittance * opticalDepthSegment; }
ãã¹ãŠã®èŠçŽ ãèæ
®ããã®ã§ãã·ã§ãŒããŒã®æºåãã§ããŸããã[泚 ã¬ãŒã³ïŒèè
ã®PatreonããŒãžã§ã宿ããã·ã§ãŒããŒã®Standardããã³PremiumããŒãžã§ã³ãžã®ã¢ã¯ã»ã¹ã賌å
¥ã§ããŸãã]