Mercurial > cortex
diff org/sense.org @ 201:1c915cc1118b
minor edits for sense.org
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Tue, 07 Feb 2012 07:13:45 -0700 |
parents | 7eb966144dad |
children | d5c597a7aed4 |
line wrap: on
line diff
1.1 --- a/org/sense.org Mon Feb 06 08:26:20 2012 -0700 1.2 +++ b/org/sense.org Tue Feb 07 07:13:45 2012 -0700 1.3 @@ -75,11 +75,11 @@ 1.4 1.5 Blender and jMonkeyEngine already have support for exactly this sort 1.6 of data structure because it is used to "skin" models for games. It is 1.7 -called [[http://wiki.blender.org/index.php/Doc:2.6/Manual/Textures/Mapping/UV][UV-mapping]]. The three-dimensional surface is cut and smooshed 1.8 -until it fits on a two-dimensional image. You paint whatever you want 1.9 -on that image, and when the three-dimensional shape is rendered in a 1.10 -game that image the smooshing and cutting us reversed and the image 1.11 -appears on the three-dimensional object. 1.12 +called [[http://wiki.blender.org/index.php/Doc:2.6/Manual/Textures/Mapping/UV][UV-mapping]]. The three-dimensional surface of a model is cut 1.13 +and smooshed until it fits on a two-dimensional image. You paint 1.14 +whatever you want on that image, and when the three-dimensional shape 1.15 +is rendered in a game the smooshing and cutting us reversed and the 1.16 +image appears on the three-dimensional object. 1.17 1.18 To make a sense, interpret the UV-image as describing the distribution 1.19 of that senses sensors. To get different types of sensors, you can 1.20 @@ -111,7 +111,7 @@ 1.21 pixels so that they can be used to create senses. =(load-image)= finds 1.22 images using jMonkeyEngine's asset-manager, so the image path is 1.23 expected to be relative to the =assets= directory. Thanks to Dylan 1.24 -for the beautiful version of filter-pixels. 1.25 +for the beautiful version of =(filter-pixels)=. 1.26 1.27 #+name: topology-1 1.28 #+begin_src clojure 1.29 @@ -352,7 +352,8 @@ 1.30 (do (println-repl "could not find" parent-name "node") [])))) 1.31 1.32 (defn closest-node 1.33 - "Return the node in creature which is closest to the given node." 1.34 + "Return the physical node in creature which is closest to the given 1.35 + node." 1.36 [#^Node creature #^Node empty] 1.37 (loop [radius (float 0.01)] 1.38 (let [results (CollisionResults.)] 1.39 @@ -425,24 +426,23 @@ 1.40 (com.aurellem.capture RatchetTimer Capture))) 1.41 1.42 (defn test-bind-sense 1.43 - "Show a camera that stays in the same relative position to a blue cube." 1.44 + "Show a camera that stays in the same relative position to a blue 1.45 + cube." 1.46 [] 1.47 - (let [camera-pos (Vector3f. 0 30 0) 1.48 + (let [eye-pos (Vector3f. 0 30 0) 1.49 rock (box 1 1 1 :color ColorRGBA/Blue 1.50 :position (Vector3f. 0 10 0) 1.51 :mass 30) 1.52 - rot (.getWorldRotation rock) 1.53 table (box 3 1 10 :color ColorRGBA/Gray :mass 0 1.54 :position (Vector3f. 0 -3 0))] 1.55 (world 1.56 (nodify [rock table]) 1.57 standard-debug-controls 1.58 - (fn [world] 1.59 - (let 1.60 - [cam (doto (.clone (.getCamera world)) 1.61 - (.setLocation camera-pos) 1.62 - (.lookAt Vector3f/ZERO 1.63 - Vector3f/UNIT_X))] 1.64 + (fn init [world] 1.65 + (let [cam (doto (.clone (.getCamera world)) 1.66 + (.setLocation eye-pos) 1.67 + (.lookAt Vector3f/ZERO 1.68 + Vector3f/UNIT_X))] 1.69 (bind-sense rock cam) 1.70 (.setTimer world (RatchetTimer. 60)) 1.71 (Capture/captureVideo