As it turns out, I wasn't doing the math part wrong, it was something else in my ice tree that was causing the problem. While I was going through my ice tree trying to figure out what I did wrong, I accidentally deleted a node. After undoing it I got this error:
# WARNING : 3000 - **** Cycle breaking point sphere.polymsh.secondaryshapemarker # WARNING : 3000 - Cycle through null.null.ICETree # WARNING : 3000 - Cycle through sphere.polymsh.ICETree # WARNING : 3000 - PROBLEMATIC EVALUATION CYCLES ARE IN THE SPECIFIED GRAPH Undoing the delete should have put everything back to how it was, but now it wasn't working at all. So I started going through and deleting all the excess nodes I had added in the different trees that were for displaying data (set data self.tmp, etc) and all of a sudden it started working as expected. I'm thinking that maybe I had more than one reference to self.temp or something similar, but none of the nodes turned red, so I didn't realize it. The tip to turn on "use global coordinates for display" did solve a lot of my visualization problems. Having what I was doing work for the most part but having the vectors appear to be going in the wrong direction was definitely confusing. Now that it is working I have noticed something else weird. When I move my "controller null" the object that is sliding across the sphere will pause slightly every time it gets to an edge before rotating slightly and moving along the next polygon. Is this a known issue, or should I be using something other than Get Closest Location to stick the null on the sphere? P.S. I will be watching weeks 6 and 7 shortly =) From: [email protected] [mailto:[email protected]] On Behalf Of Raffaele Fragapane Sent: Sunday, April 14, 2013 8:21 PM To: [email protected] Subject: Re: Creating a vector between 2 objects in ICE? get an object's kine.global.pos, and get another object's kine.global.pos Subtract one from the other, that's your displacement vector between two objects. Its direction (from A to B or viceversa) is determined by the order of subtraction, so if it's the wrong way around just plug the other way around in the subtract. A Vector has no such concept of what object it's under. It will be in the space of the object you run the operation from. To display it starting from such object, if the display is what you are using to determine it starts from the origin, then turn on "use global coordinates for display". For that vector to operate on an object other than the one you're hosting the graph on, you might need to add that object's own position to such vector before output. If you need more than just the position, then you have more work to do as you will need to compose a transform from this and additional derivative data. You're hitting a wall again that has nothing to do with ICE or not using the right nodes or operations, and all to do with not quite understanding the math fundamentals of the data and operations you're working with :) Weeks 6 and 7 ;) On Mon, Apr 15, 2013 at 12:17 PM, Sam <[email protected]> wrote: As the subject says, I'm trying to create a vector between 2 objects in ICE? Essentially what I want to do is point a null (which is attached to the closest location on the surface of a mesh) at another object. I've tried several ways, and I just can't seem to get it to work. It seems that no matter what I do, the vector is always coming from the origin (0,0,0). I thought this would be easy, but I'm obviously doing something very wrong. -- Our users will know fear and cower before our software! Ship it! Ship it and let them flee like the dogs they are!

