#author("2017-10-07T00:35:05+09:00","default:kyo-in","kyo-in")
#author("2023-11-20T12:06:50+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\¼ø¶ÈÍѥ¥¯¥¹¥Ú¡¼¥¹\Àé½»¥­¥ã¥ó¥Ñ¥¹\¸å´ü\̤Íè²Ê³ØÉô\­¢¾ðÊó¥á¥Ç¥£¥¢³Ø²Ê\FI1¥á¥Ç¥£¥¢±é½¬C(CG)(¿¹Ã«Í§¾¼)·î34\Âè04²ó
**²ÝÂê¤ÎÄó½ÐÀ衦Äó½ÐÊýË¡ [#h475884f]
¾·ÂÔ¤µ¤ì¤Æ¤¤¤ëBox¥¢¥Ã¥×¥í¡¼¥É¥Õ¥©¥ë¥À¡ÖÂè04²ó¡×¤Ë¼«¿È¤Î³ØÀÒÈÖ¹æ¤Î¥Õ¥©¥ë¥À¡Ê¥¢¥ë¥Õ¥¡¥Ù¥Ã¥ÈÂçʸ»ú¡¤Î㡧20FI999¡Ë¤ò''¼«¿È¤ÇºîÀ®¤·''¡¤¤½¤ÎÃæ¤Ë³Æ²ÝÂꡤ»ØÄꤵ¤ì¤¿Ì¾Á°¤Ç´°À®¤µ¤»¤¿¥¹¥±¥Ã¥Á¥Õ¥©¥ë¥À¤´¤È¥¢¥Ã¥×¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡¥

»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ç¡¤''.pde¥Õ¥¡¥¤¥ë¤Î¤ßÄó½Ð¤·¤Æ¤¯¤À¤µ¤¤¡¥''
''Äó½ÐÄù¤áÀڤꡧ12·î15Æü¡Ê¶â¡Ë 23:59''

''Äó½ÐÄù¤áÀڤꡧ10·î20Æü¡Ê¶â¡Ë 18:00''
BOX¥¢¥Ã¥×¥í¡¼¥É¥Õ¥©¥ë¥À¤Î¾·Âԥ᡼¥ë¤¬Íè¤Æ¤¤¤Ê¤¤¡¤¤Þ¤¿¡¤WebClass¤ÇËֵܹÁ¤¬¸«¤¨¤Ê¤¤Êý¤Ï¿¹Ã«¤Þ¤ÇÏ¢Íí¤¯¤À¤µ¤¤¡¥

**²ÝÂê1 [#g01cc35a]
°Ê²¼¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤òºîÀ®¤·¤Ê¤µ¤¤¡¥¸«¤¿Ìܤ¬Æ±¤¸¤Ç¤¢¤ì¤Ð»ÈÍѤ¹¤ë¸÷¸»¤Î¼ïÎà¤ÏÌä¤ï¤Ê¤¤¡¥

Äó½Ð¥Õ¥¡¥¤¥ë̾¡§BASIC4_1.pde
Äó½Ð¥¹¥±¥Ã¥Á¥Õ¥©¥ë¥À̾¡§BASIC4_1

#ref(./kadai.mp4);

¥Ò¥ó¥È¡§
¸÷¸»¤Ë¤è¤ë¿Þ·Á¤Î¿§¤Î·×»»¤Ï¡¤¿Þ·Á¤ÎĺÅÀ¤´¤È¤Ë¹Ô¤ï¤ì¤ë¤¿¤á¡¤¾åµ­¤Î¥¢¥Ë¥á¡¼¥·¥ç¥ó¤òºî¤ë¤¿¤á¤Ë¤Ï¡¤¾®¤µ¤Ê»°³Ñ¡¤¤â¤·¤¯¤Ï»Í³Ñ¤òÉߤ­µÍ¤á¤¿Ê¿Ì̤òÍÑ°Õ¤¹¤ëɬÍפ¬¤¢¤ë¡¥

#ref(./plane.png,50%);

**²ÝÂê2 [#uafb2ca8]
**Ǥ°Õ²ÝÂê[#uafb2ca8]
¥À¥ó¥¹¥Û¡¼¥ë¡Ê¤Ã¤Ý¤¤¡Ë¶õ´Ö¤òºî¤ì¡¥

Äó½Ð¥Õ¥¡¥¤¥ë̾¡§ADVANCE4_1.pde
Äó½Ð¥¹¥±¥Ã¥Á¥Õ¥©¥ë¥À̾¡§ADVANCE4_1

#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;


¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS