Mercurial > cortex
comparison thesis/cortex.org @ 471:f14fa9e5b67f
complete first draft of vision.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Fri, 28 Mar 2014 17:31:33 -0400 |
parents | 3401053124b0 |
children | 516a029e0be9 |
comparison
equal
deleted
inserted
replaced
470:3401053124b0 | 471:f14fa9e5b67f |
---|---|
1158 0xFFFFFF means sensitive to all colors equally (gray). | 1158 0xFFFFFF means sensitive to all colors equally (gray). |
1159 | 1159 |
1160 #+caption: This is the core of vision in =CORTEX=. A given eye node | 1160 #+caption: This is the core of vision in =CORTEX=. A given eye node |
1161 #+caption: is converted into a function that returns visual | 1161 #+caption: is converted into a function that returns visual |
1162 #+caption: information from the simulation. | 1162 #+caption: information from the simulation. |
1163 #+name: name | 1163 #+name: vision-kernel |
1164 #+begin_listing clojure | 1164 #+begin_listing clojure |
1165 (defn vision-kernel | 1165 (defn vision-kernel |
1166 "Returns a list of functions, each of which will return a color | 1166 "Returns a list of functions, each of which will return a color |
1167 channel's worth of visual information when called inside a running | 1167 channel's worth of visual information when called inside a running |
1168 simulation." | 1168 simulation." |
1229 concat | 1229 concat |
1230 (for [eye (eyes creature)] | 1230 (for [eye (eyes creature)] |
1231 (vision-kernel creature eye)))) | 1231 (vision-kernel creature eye)))) |
1232 #+end_listing | 1232 #+end_listing |
1233 | 1233 |
1234 | 1234 #+caption: Simulated vision with a test creature and the |
1235 | 1235 #+caption: human-like eye approximation. Notice how each channel |
1236 | 1236 #+caption: of the eye responds differently to the differently |
1237 #+caption: colored balls. | |
1238 #+name: worm-vision-test. | |
1239 #+ATTR_LaTeX: :width 13cm | |
1240 [[./images/worm-vision.png]] | |
1241 | |
1242 The vision code is not much more complicated than the body code, | |
1243 and enables multiple further paths for simulated vision. For | |
1244 example, it is quite easy to create bifocal vision -- you just | |
1245 make two eyes next to each other in blender! It is also possible | |
1246 to encode vision transforms in the retinal files. For example, the | |
1247 human like retina file in figure \ref{retina} approximates a | |
1248 log-polar transform. | |
1249 | |
1250 This vision code has already been absorbed by the jMonkeyEngine | |
1251 community and is now (in modified form) part of a system for | |
1252 capturing in-game video to a file. | |
1237 | 1253 |
1238 ** Hearing is hard; =CORTEX= does it right | 1254 ** Hearing is hard; =CORTEX= does it right |
1239 | 1255 |
1240 ** Touch uses hundreds of hair-like elements | 1256 ** Touch uses hundreds of hair-like elements |
1241 | 1257 |