<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,15 +1,15 @@
 OBJS = [
   # &#402;I&#402;u&#402;W&#402;F&#402;N&#402;g&#381;&#237;&#8212;&#222;     &#8217;&#8224;*S*&#192;&#8226;W          &#402;p&#402;&#8240;&#402;**[&#402;^      &#8221;&#189;&#381;&#203;&#8212;&#166;  *F(1&#8221;&#8217; 0*&#8226;)
-  [:BALL,         -6.0,     2.0,   20.0,   7.0, 0, 0,       1,      1],
-  [:BALL,          -2.0,   -2.0,   6.0,   2.0, 0, 0,      0,   1],
-  [:BALL,          1.0,    -1.0,   15.0,    2.0, 0, 0,       1,    1],
+  [:BALL,         -6.0,     2.0,   20.0,   7.0, 0, 0,       0,      1],
+  [:BALL,          -2.0,   -2.0,   6.0,   2.0, 0, 0,      0.5,   1],
+  [:BALL,          1.0,    -1.0,   15.0,    2.0, 0, 0,    0.5,    1],
   # PLANE(&#8226;&#189;&#8211;&#202;)&#8218;&#205;&#8226;&#189;&#8211;&#202;*&#227;&#8218;&#204;1&#8220;_&#8218;&#198;&#8211;@*&#252;&#402;x&#402;N&#402;g&#402;&#8249;&#8218;&#240;&#381;w&#8217;&#232;&#8218;&#183;&#8218;&#233;
   [:PLANE,         0.0, -35.0, 0.0,   0.0, 1.0, 0,   0,    1],
 ]
 
 LIGHTS = [
   # &#338;&#245;&#338;&#185;&#381;&#237;&#8212;&#222;       *&#192;&#8226;W              &#402;p&#402;&#8240;&#402;**[&#402;^    &#338;&#245;&#338;&#185;&#8249;&#173;&#8218;&#179;
-  [:POINT,         0.0, 0.0, 0.0,     0, 0, 0, 0,   1]
+  [:POINT,         10.0, 30.0, 0.0,     0, 0, 0, 0,   1]
 ]
 
 OBJ_KIND = 0
@@ -46,8 +46,11 @@ def make_bmp(image)
 end
 
 def get_color(sx, sy, sz, ox, oy, oz, objlst, refnum)
-  cox, coy, coz, cobj = collision(sx, sy, sz, ox, oy, oz, objlst)
+  t, cox, coy, coz, cobj = intersect(sx, sy, sz, ox, oy, oz, objlst)
   # &#381;&#8249;&#8220;_&#8218;&#169;&#8218;&#231;*&#213;&#8220;&#203;&#8240;&#211;*&#352;&#8218;&#220;&#8218;&#197;&#8218;&#204;&#402;x&#402;N&#402;g&#402;&#8249;&#8218;&#240;&#8220;&#190;&#8218;&#233;
+  if t == 0 then
+    return 1.0
+  end
   covx = cox - ox
   covy = coy - oy
   covz = coz - oz
@@ -103,20 +106,43 @@ def get_color(sx, sy, sz, ox, oy, oz, objlst, refnum)
     return 1.0
   end
 
+  # &#338;&#245;&#338;&#185;
+  ip = covx * hvx + covy * hvy + covz * hvz
+  ip = -ip
+  rvx = 2 * ip * hvx - covx
+  rvy = 2 * ip * hvy - covy
+  rvz = 2 * ip * hvz - covz
+#=begin
+   bcol = bcol * 0.5
+   LIGHTS.each do |lit|
+     lposx = lit[OBJ_CENTER_X]
+     lposy = lit[OBJ_CENTER_Y]
+     lposz = lit[OBJ_CENTER_Z]
+     lvx = cox - lposx
+     lvy = coy - lposy
+     lvz = coz - lposz
+     lvs = Math.sqrt(lvx * lvx + lvy * lvy + lvz * lvz)
+
+     t, dmyx, dmyy, dmyz, dmyo = intersect(lvx, lvy, lvz, lposx, lposy, lposz, objlst)
+     if t and  (t - 1).abs &lt; 0.001 then
+       c = (lvx * sx + lvz * sy + lvz * sz) / lvs * 0.5
+#       c = -c.abs
+       if c &gt; 0 then
+         bcol += c
+       end
+     else
+     end
+  end
+#=end
   # &#8221;&#189;&#381;&#203;
   if refnum &lt; MAX_REF_NUM then
-    ip = covx * hvx + covy * hvy + covz * hvz
-    ip = -ip
-    rvx = 2 * ip * hvx - covx
-    rvy = 2 * ip * hvy - covy
-    rvz = 2 * ip * hvz - covz
     return (bcol * (1.0 - cobj[OBJ_REFRECT_RATIO])) + (get_color(rvx, rvy, rvz, cox, coy, coz, objlst, refnum + 1) * cobj[OBJ_REFRECT_RATIO])
   else
     return bcol * (1.0 - cobj[OBJ_REFRECT_RATIO])
   end
 end
 
-def collision(sx, sy, sz, ox, oy, oz, objlst)
+def intersect(sx, sy, sz, ox, oy, oz, objlst)
   # &#8212;^&#8218;&#166;&#8218;&#231;&#8218;&#234;&#8218;&#189;*&#192;&#8226;W&#402;f*[&#402;^&#8218;&#169;&#8218;&#231;*&#179;&#8249;K&#8240;&#187;&#8218;&#179;&#8218;&#234;&#8218;&#189;&#381;&#8249;*&#252;&#402;x&#402;N&#402;g&#402;&#8249;&#8218;&#240;&#8220;&#190;&#8218;&#233;
   vx = sx
   vy = sy
@@ -184,9 +210,9 @@ def collision(sx, sy, sz, ox, oy, oz, objlst)
   end
 
   if mint then
-    [mint * vx + ox, mint * vy + oy , mint * vz + oz, cobj]
+    [mint / vs, mint * vx + ox, mint * vy + oy , mint * vz + oz, cobj]
   else
-    [0, 0, 0, [nil]]
+    [nil, 0, 0, 0, [nil]]
   end
 end
     </diff>
      <filename>lib/ray.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>e8f6e160f11a1cddcc8c5ffabb19aa0b900a0fbc</id>
    </parent>
  </parents>
  <author>
    <name>U-KOZUE\kozue</name>
    <email>m-72@tf6.so-net.ne.jp</email>
  </author>
  <url>http://github.com/miura1729/regexpllvm/commit/c822d2cd3581329834db125a86661120bb5f9438</url>
  <id>c822d2cd3581329834db125a86661120bb5f9438</id>
  <committed-date>2008-10-04T02:19:56-07:00</committed-date>
  <authored-date>2008-10-04T02:19:56-07:00</authored-date>
  <message>Support light ray.rb</message>
  <tree>46b9eb7f1aaa82e9be3553ff784133a4a8636e41</tree>
  <committer>
    <name>U-KOZUE\kozue</name>
    <email>m-72@tf6.so-net.ne.jp</email>
  </committer>
</commit>
