51.htm 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <!--
  2. demo.design 3D programming FAQ
  3. Idea, texts, screenshots:
  4. Andrew A. Aksyonoff,
  5. shodan@chat.ru
  6. Web-design, illustrations:
  7. Andrey Samoilov,
  8. asy@sense.simbirsk.su
  9. -->
  10. <html>
  11. <head>
  12. <title>demo.design 3D programming FAQ. Îñâåùåíèå. Ìîäåëü îñâåùåíèÿ.</title>
  13. <link rel=stylesheet href="../style.css" type="text/css">
  14. </head>
  15. <script language="javascript">
  16. <!--//
  17. browser = navigator.appName;
  18. version = parseFloat(navigator.appVersion);
  19. if (browser == "Netscape" && version >= 3.0) { jsenabled = 1; } else
  20. if (browser == "Microsoft Internet Explorer" && version >= 3.0) { jsenabled = 1; } else { jsenabled = 0; }
  21. function swap(img,ref) { if (jsenabled) {document.images[img].src = ref;} }
  22. function loadtocache(img,ref) { cache[img] = new Image(); cache[img].src = ref; }
  23. if (jsenabled) {
  24. cache = new Array();
  25. loadtocache(0,"../img/xdl.gif");
  26. loadtocache(1,"../img/xfaq.gif");
  27. loadtocache(2,"../img/xlinks.gif");
  28. loadtocache(3,"../img/xauthor.gif");
  29. loadtocache(4,"../img/xe.gif");
  30. loadtocache(5,"../img/xprev.gif");
  31. loadtocache(6,"../img/xnext.gif");}
  32. //-->
  33. </script>
  34. <body bgcolor=white><center>
  35. <!-- Title -->
  36. <img src="../img/b.gif" width=500 height=1 alt=""><br>
  37. <img src="../img/t.gif" width=500 height=1 alt=""><br>
  38. <img src="../img/b.gif" width=500 height=1 alt=""><br>
  39. <img src="../img/t.gif" width=500 height=2 alt=""><br>
  40. <table width=500 cellpadding=0 cellspacing=0 border=0>
  41. <td><img src="../img/t.gif" width=5 height=1 alt=""><a href="../main.htm" onmouseover="swap('logo','../img/xe.gif');" onmouseout="swap('logo','../img/e.gif');"><img src="../img/e.gif" name=logo width=60 height=50 hspace=10 border=0 alt=" â ñàìîå íà÷àëî "></a></td>
  42. <td><p class=pagetitle><img src="../img/t.gif" width=265 height=1 alt=""><br>demo.design<br>3D programming FAQ</td>
  43. <td align=center><p class=navy><a href="../download.htm" onmouseover="swap('dl','../img/xdl.gif');" onmouseout="swap('dl','../img/dl.gif');"><img src="../img/dl.gif" name=dl width=40 height=40 border=0 hspace=5 alt=" download "></a><br>download</td>
  44. <td align=center><p class=navy><a href="../links.htm" onmouseover="swap('links','../img/xlinks.gif');" onmouseout="swap('links','../img/links.gif');"><img src="../img/links.gif" name=links width=40 height=40 border=0 hspace=5 alt=" êîëëåêöèÿ ëèíêîâ "></a><br>links</td>
  45. <td align=center><p class=navy><a href="../author.htm" onmouseover="swap('author','../img/xauthor.gif');" onmouseout="swap('author','../img/author.gif');"><img src="../img/author.gif" name=author width=40 height=40 border=0 hspace=5 alt=" àâòîðà! "></a><br>author</td>
  46. </table>
  47. <img src="../img/t.gif" width=500 height=4 alt=""><br><img src="../img/b.gif" width=500 height=1 alt=""><br>
  48. <!-- Head -->
  49. <table width=500 cellpadding=0 cellspacing=10 border=0><td><div align=justify>
  50. <p class=title>
  51. <img src="../img/b5.gif" width=70 height=70 align=left hspace=0 alt="">
  52. <img src="../img/t.gif" width=5 height=70 align=left hspace=0 alt="">
  53. ÎÑÂÅÙÅÍÈÅ<br>5.1. Ìîäåëü îñâåùåíèÿ
  54. <!-- Article -->
  55. <p>Îñâåùåííîñòü ïðîèçâîëüíî âçÿòîé òî÷êè P, ïîÿâèâøóþñÿ èç-çà èñòî÷íèêà ñâåòà,
  56. èçëó÷àþùåãî âî âñå ñòîðîíû (omnilight) â îáùåì ñëó÷àå áóäåì âû÷èñëÿòü ïî
  57. óðàâíåíèþ Ôîíãà:
  58. <p class=expression>ambient = Ka,<br>
  59. diffuse = Kd * cos(N, L),<br>
  60. specular = Ks * pow(cos(R, V), Ns),<br>
  61. intensity = ambient + amp * (diffuse + specular).<br>
  62. <p><center><img src="illu/illu51a.gif" width=270 height=180 alt="ðèñóíîê (illu/illu51a.gif)"></center>
  63. <p>Çäåñü èñïîëüçîâàíû ñëåäóþùèå îáîçíà÷åíèÿ:
  64. <p><table width=480 cellspacing=0 cellpadding=0 border=0 align=center>
  65. <tr><td valign=top><p class=expression>Ka</div></td><td>êîýôôèöèåíò ôîíîâîé èíòåíñèâíîñòè (õàðàêòåðèñòèêà îêðóæàþùåé ñðåäû)</td></tr>
  66. <tr><td><p class=expression>Kd</td><td>êîýôôèöèåíò ðàññåÿíèÿ (õàðàêòåðèñòèêà ïîâåðõíîñòè)</td></tr>
  67. <tr><td><p class=expression>Ks</td><td>êîýôôèöèåíò îòðàæåíèÿ (õàðàêòåðèñòèêà ïîâåðõíîñòè)</td></tr>
  68. <tr><td><p class=expression>Ns</td><td>êîýôôèöèåíò âèäà îòðàæåíèÿ (õàðàêòåðèñòèêà ïîâåðõíîñòè)</td></tr>
  69. <tr><td><p class=expression>amp</td><td>"ìîùíîñòü" èñòî÷íèêà ñâåòà</td></tr>
  70. <tr><td><p class=expression>P</td><td>ðàññìàòðèâàåìàÿ òî÷êà</td></tr>
  71. <tr><td><p class=expression>N</td><td>íîðìàëü ê ïîâåðõíîñòè èçîáðàæàåìîãî îáúåêòà â òî÷êå P</td></tr>
  72. <tr><td><p class=expression>L</td><td>âåêòîð, ïðîâåäåííûé èç òî÷êè P â èñòî÷íèêà ñâåòà (ëó÷ ñâåòà)</td></tr>
  73. <tr><td><p class=expression>V</td><td>âåêòîð, ïðîâåäåííûé èç òî÷êè P â "òî÷êó çðåíèÿ" êàìåðû</td></tr>
  74. <tr><td><p class=expression>R</td><td>îòðàæåííûé ëó÷ ñâåòà (îòðàæåíèå L îòíîñèòåëüíî N)</td></tr>
  75. <tr><td><p class=expression>ambient</td><td>"ôîíîâàÿ" îñâåùåííîñòü</td></tr>
  76. <tr><td><p class=expression>diffuse</td><td>"ðàññåÿííàÿ" îñâåùåííîñòü</td></tr>
  77. <tr><td><p class=expression>specular</td><td>"îòðàæåííàÿ" îñâåùåííîñòü</td></tr>
  78. <tr><td><p class=expression>intensity</td><td>îñâåùåííîñòü (ñóììàðíàÿ)</td></tr>
  79. <tr><td><p class=expression>cos(A,B)</td><td>êîñèíóñ óãëà ìåæäó âåêòîðàìè A è B</td></tr>
  80. </table>
  81. <p>Ýòî óðàâíåíèå äàæå ïîääàåòñÿ îòíîñèòåëüíî ïðîñòîìó îáúÿñíåíèþ - îñâåùåííîñòü
  82. êàê áû ñêëàäûâàåòñÿ èç ôîíîâîãî óðîâíÿ îñâåùåííîñòè, ðàññåÿííîãî (ïî âñåì
  83. íàïðàâëåíèÿì - à çíà÷èò, è ïî íàïðàâëåíèþ ãëàçà) â ýòîé òî÷êå ñâåòà îò
  84. èñòî÷íèêà è îòðàæåííîãî (òîæå â ãëàç) ñâåòà îò èñòî÷íèêà.
  85. <p>Êàê îáû÷íî, ðàñ÷åòû ïî ýòîé ôîðìóëå äàäóò äîâîëüíî ðåàëèñòè÷íûé ðåçóëüòàò,
  86. íî ñ÷èòàòü âñå ýòî äëÿ êàæäîé òî÷êè ãðàíè ñëèøêîì ìåäëåííî.
  87. <p>Äà, êîñèíóñ óãëà ìåæäó âåêòîðàìè ñ÷èòàåòñÿ êàê
  88. <p class=expression>cos(A,B) = A*B/(|A|*|B|),<br>
  89. <p>ãäå A*B - ñêàëÿðíîå ïðîèçâåäåíèå âåêòîðîâ, |A| è |B| - èõ äëèíû. Ïîýòîìó
  90. èìååò ñìûñë âñå âåêòîðû ïåðåä èñïîëüçîâàíèåì ïðèâåñòè ê äëèíå 1, òîãäà
  91. êîñèíóñ óãëà ìåæäó âåêòîðàìè áóäåò ðàâåí èõ ñêàëÿðíîìó ïðîèçâåäåíèþ.
  92. Íåáîëüøàÿ îïòèìèçàöèÿ.
  93. </div>
  94. </td></table>
  95. <!-- Bottom Navigation -->
  96. <img src="../img/b.gif" width=500 height=1 alt=""><br><img src="../img/t.gif" width=500 height=2 alt=""><br>
  97. <table width=500 cellpadding=0 cellspacing=0 border=0>
  98. <td><img src="../img/t.gif" width=5 height=1 alt=""><a href="../main.htm" onmouseover="swap('logo2','../img/xe.gif');" onmouseout="swap('logo2','../img/e.gif');"><img src="../img/e.gif" name=logo2 width=60 height=50 hspace=10 border=0 alt=" â ñàìîå íà÷àëî "></a></td>
  99. <td><p class=pagetitle><img src="../img/t.gif" width=265 height=1 alt=""><br>demo.design<br>3D programming FAQ</td>
  100. <td align=center><p class=navy><a href="46.htm" onmouseover="swap('prev','../img/xprev.gif');" onmouseout="swap('prev','../img/prev.gif');"><img src="../img/prev.gif" name=prev width=40 height=40 border=0 hspace=5 alt=" ïðåäûäóùàÿ ñòàòüÿ "></a><br>previous</td>
  101. <td align=center><p class=navy><a href="../content.htm" onmouseover="swap('faq','../img/xfaq.gif');" onmouseout="swap('faq','../img/faq.gif');"><img src="../img/faq.gif" name=faq width=40 height=40 border=0 hspace=5 alt=" ñîäåðæàíèå "></a><br>content</td>
  102. <td align=center><p class=navy><a href="52.htm" onmouseover="swap('next','../img/xnext.gif');" onmouseout="swap('next','../img/next.gif');"><img src="../img/next.gif" name=next width=40 height=40 border=0 hspace=5 alt=" ñëåäóþùàÿ ñòàòüÿ "></a><br>next</td>
  103. </table>
  104. <img src="../img/t.gif" width=500 height=4 alt=""><br>
  105. <img src="../img/b.gif" width=500 height=1 alt=""><br>
  106. <img src="../img/t.gif" width=500 height=1 alt=""><br>
  107. <img src="../img/b.gif" width=500 height=1 alt=""><br>
  108. </center></body>
  109. </html>