#author("2018-06-28T12:52:03+09:00","default:kyo-in","kyo-in") **¥é¥¤¥Æ¥£¥ó¥° [#ddfef71a] ¥é¥¤¥Æ¥£¥ó¥°¤Ë¤è¤ê¡¤¤è¤êɽ¸½ÎϤΤ¢¤ë3DCG¤òÉÁ²è¤·¤Þ¤¹¡¥ **ambientLight [#y7337fff] ÆüËܸì¤Ç¤Ï´Ä¶¸÷¤È¸Æ¤Ð¤ì¤Þ¤¹¡¥¿Þ·Á¤ÎÌ̤ΰÌÃÖ¤ä¸þ¤¤Ë´Ø·¸¤Ê¤¯¡¤Åù¤·¤¯¾È¤é¤¹¸÷¤Ç¤¹¡¥ void setup() { size(640, 480, P3D); } void draw() { background(127, 127, 127); camera(100, -100, 100, 0, 0, 0, 0, 1, 0); axis(100); fill(255, 0, 0); noStroke(); ambientLight(127, 127, 127); sphere(30); } void axis(float l) { stroke(255, 0, 0); line(0, 0, 0, l, 0, 0); stroke(0, 255, 0); line(0, 0, 0, 0, l, 0); stroke(0, 0, 255); line(0, 0, 0, 0, 0, l); } #ref(./ambient.png,50%); µå¤Ïfill(255,0,0)¤ÇÀÖ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¤´Ä¶¸÷¤Î¿§¡Ê127¡¤127¡¤127¡Ë¤Èµå¤Î¿§¤¬¾è»»¤µ¤ì¡¤·ë²ÌŪ¤Ë°Å¤á¤ÎÀ֤Ȥʤê¤Þ¤¹¡¥ **directionalLight [#fc3a3114] ¸÷¤Î¿§¤È¡¤¸þ¤¤Î¤ß¤ò»ý¤Ä´ðËÜŪ¤Ê¥é¥¤¥È¤Ç¤¹¡¥Ê¿¹Ô¸÷¸»¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡¥~ ¸÷¤Î¸þ¤¤È¡¤¿Þ·Á¤ÎÌ̤οâľÊý¸þ¤Î¸þ¤¡ÊË¡Àþ¡Ë¤Î¸þ¤¤À¤±¤Ç·×»»¤µ¤ì¤Þ¤¹¡¥ void setup() { size(640, 480, P3D); } void draw() { background(127, 127, 127); camera(100, -100, 100, 0, 0, 0, 0, 1, 0); axis(100); fill(255, 0, 0); noStroke(); directionalLight(255, 255, 255, -1, 0, 0); sphere(30); } void axis(float l) { stroke(255, 0, 0); line(0, 0, 0, l, 0, 0); stroke(0, 255, 0); line(0, 0, 0, 0, l, 0); stroke(0, 0, 255); line(0, 0, 0, 0, 0, l); } #ref(./directional.png,50%); ¾åµ¤ÎÎã¤Ç¤Ï¡¤¸¶ÅÀ¤«¤é¡Ê-1,0,0¡Ë¤Ø¤Î¸þ¤¤ÇÇò¿§¤Î¸÷¸»¤òÀßÄꤷ¤Æ¤¤¤Þ¤¹¡¥¤¿¤À¤·¡¤µå¤Ïfill(255,0,0)¤ÇÀÖ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¤¸÷¸»¤Î¿§¤Èµå¤Î¿§¤¬¾è»»¤µ¤ì¡¤·ë²ÌŪ¤ËÀ֤Ȥʤê¤Þ¤¹¡¥ **pointLight [#d6a1d81f] ÅÀ¸÷¸»¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡¥¿§¤È°ÌÃÖ¤ò»ý¤Á¡¤¸÷¸»¤«¤éÎ¥¤ì¤ë¤È¸÷¤¬¸º¿ê¤·¤Þ¤¹¡¥Æ¦Åŵå¤ò»×¤¤É⤫¤Ù¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡¥ void setup() { size(640, 480, P3D); } void draw() { background(127, 127, 127); camera(100, -100, 100, 0, 0, 0, 0, 1, 0); axis(100); fill(255, 0, 0); noStroke(); pointLight(255, 255, 255, 50, 0, 0); sphere(30); } void axis(float l) { stroke(255, 0, 0); line(0, 0, 0, l, 0, 0); stroke(0, 255, 0); line(0, 0, 0, 0, l, 0); stroke(0, 0, 255); line(0, 0, 0, 0, 0, l); } #ref(./point.png,50%); ¸÷¤Î¸º¿êΨ¤ÏlightFalloff´Ø¿ô¤Ë¤è¤êÀßÄê¤Ç¤¤Þ¤¹¡¥ -http://www.processing.org/reference/lightFalloff_.html **spotLight [#i49c0daf] ̾Á°¤ÎÄ̤ꡤ¸½¼Â¤Î¥¹¥Ý¥Ã¥È¥é¥¤¥È¤ÈƱÅù¤Îµ¡Ç½¤ò»ý¤Ä¸÷¸»¤Ç¤¹¡¥¿§¡¤°ÌÃÖ¡¤¸þ¤¡¤¥¹¥Ý¥Ã¥È¤òÅö¤Æ¤ëÉôʬ¤Î¹¤µ¡¤¥¹¥Ý¥Ã¥È¤ÎÃæ¿´¤«¤é¤Î¸÷¤Î¸º¿êΨ¤ò»ØÄꤷ¤Þ¤¹¡¥ -http://www.processing.org/reference/spotLight_.html **¸÷¸»¤Î°ÌÃÖ¡¤¸þ¤¤ÎÊÑ´¹ [#f7971619] ¸÷¸»¤Î°ÌÃÖ¤ä¸þ¤¤â¡¤translation¤ärotate´Ø¿ô¤Ë¤è¤êÊÑ´¹¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡¥ void setup() { size(640, 480, P3D); } void draw() { background(127, 127, 127); camera(100, -100, 100, 0, 0, 0, 0, 1, 0); axis(100); fill(255, 0, 0); noStroke(); pushMatrix(); rotateZ(-PI/4); directionalLight(255, 255, 255, -1, 0, 0); popMatrix(); sphere(30); } void axis(float l) { stroke(255, 0, 0); line(0, 0, 0, l, 0, 0); stroke(0, 255, 0); line(0, 0, 0, 0, l, 0); stroke(0, 0, 255); line(0, 0, 0, 0, 0, l); } #ref(./lightrot.png,50%); ¾åµ¤ÎÎã¤Ç¤Ï¡¤(-1,0,0)¤Î¸þ¤¤Î¸÷¸»¤òZ¼´Ãæ¿´¤Ë45Åٲ󞤷¡¤¼Ð¤á¾å¤«¤é¸÷¤¬Åö¤¿¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡¥ **²ÝÂê¤ÎÄó½ÐÀ衦Äó½ÐÊýË¡ [#dc136f9e] \\nas002.term.usmc.dendai.ac.jp\¼ø¶ÈÍѥ¥¯¥¹¥Ú¡¼¥¹\Àé½»¥¥ã¥ó¥Ñ¥¹\¸å´ü\̤Íè²Ê³ØÉô\¢¾ðÊó¥á¥Ç¥£¥¢³Ø²Ê\FI3¥á¥Ç¥£¥¢±é½¬C(CG)(¿¹Ã«Í§¾¼)·î34\Âè04²ó »ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ç¡¤''.pde¥Õ¥¡¥¤¥ë¤Î¤ßÄó½Ð¤·¤Æ¤¯¤À¤µ¤¤¡¥'' ''Äó½ÐÄù¤áÀڤꡧ7·î3Æü¡Ê²Ð¡Ë 18:00'' **²ÝÂê1 [#g01cc35a] °Ê²¼¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤òºîÀ®¤·¤Ê¤µ¤¤¡¥¸«¤¿Ìܤ¬Æ±¤¸¤Ç¤¢¤ì¤Ð»ÈÍѤ¹¤ë¸÷¸»¤Î¼ïÎà¤ÏÌä¤ï¤Ê¤¤¡¥ Äó½Ð¥Õ¥¡¥¤¥ë̾¡§BASIC4_1.pde #ref(./kadai.mp4); ¥Ò¥ó¥È¡§ ¸÷¸»¤Ë¤è¤ë¿Þ·Á¤Î¿§¤Î·×»»¤Ï¡¤¿Þ·Á¤ÎĺÅÀ¤´¤È¤Ë¹Ô¤ï¤ì¤ë¤¿¤á¡¤¾åµ¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤òºî¤ë¤¿¤á¤Ë¤Ï¡¤¾®¤µ¤Ê»°³Ñ¡¤¤â¤·¤¯¤Ï»Í³Ñ¤òÉߤµÍ¤á¤¿Ê¿Ì̤òÍÑ°Õ¤¹¤ëɬÍפ¬¤¢¤ë¡¥ #ref(./plane.png,50%); **²ÝÂê2 [#uafb2ca8] ¥À¥ó¥¹¥Û¡¼¥ë¡Ê¤Ã¤Ý¤¤¡Ë¶õ´Ö¤òºî¤ì¡¥ Äó½Ð¥Õ¥¡¥¤¥ë̾¡§ADVANCE4_1.pde #ref(exa.mp4); #ref(exa.png); ¥Ò¥ó¥È¡§¾åµ¤Î¥é¥¤¥È¤ÏÁ´¼ïÎà¹ç¤ï¤»¤Æ·×8¸Ä¤Þ¤Çºî¤ì¤ë ¥Ò¥ó¥È¡§¥é¥ó¥À¥à¤Ê¸þ¤¤Î¥Ù¥¯¥È¥ë¤òÀ¸À®¤¹¤ë¥³¡¼¥ÉÎã¤ò¼¨¤¹¡¥Àµµ¬²½¡Ê¥Ù¥¯¥È¥ë¤ÎŤµ¤ò1¤Ë¤¹¤ë¤³¤È¡Ë¤·¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤¹¤ë¡¥ float ldx = random(-1, 1); float ldy = random(-1, 1); float ldz = random(-1, 1); float l = sqrt(ldx * ldx + ldy * ldy + ldz * ldz); ldx /= l; ldy /= l; ldz /= l;