It was just staying at the edges for a little longer than I was expecting. I had increased the resolution of the mesh and it did smooth out the motion with the higher the polygon count got, but I didn't really understand why it was happening until you explained it. This was never really about moving an object on the surface, but more to help me troubleshoot the vector results I was getting. My next experiment is going to be to try to displace the polygons along this new vector instead of along the point normal, which should be interesting. =)
I've watch through most of week 6 and it's very interesting (I should have been in bed 90 minutes ago). Seeing you rig for explaining vectors helped me visualize more practical uses for vectors other than just using them as a direction and your explanation and rig of the Dot Product really helped me understand something that I could never quite wrap my brain around my just reading about it. I can't wait to watch the rest. From: [email protected] [mailto:[email protected]] On Behalf Of Raffaele Fragapane Sent: Monday, April 15, 2013 12:00 AM To: [email protected] Subject: Re: Creating a vector between 2 objects in ICE? Pause as in it will stay there for longer or as in the evaluation gets laggy? The latter shouldn't happen, the former would simply be that it's very possible that for quite a while in your path the closest point is on the edge and not on either poly. If you were to make the geo a lot denser (say hard subdivide it several times) you would probably notice it more frequently but for shorter, to the point where with an object dense enough that plateau in the rate of change would be shorter than the pixel (or the interaction) and become unnoticeable. No real way around it if you resolve things to a single point. You could work around it by interpolation, like looking up several samples inside a a cone instead of a single point, and averaging those, which would smooth the interaction by effectively smoothing the sampling part. You might or might not want to pay that trade off though, and there are times when it might get quite imprecise (IE: across a ridge) and land the location inside the mesh. You get into sampling and aliasing issues there though, which is a whole different territory. Rather interesting, but can be painful, and like anything requiring multidimensionality and averaging a little bit tricky to get down right in ICE, however not impossible. On Mon, Apr 15, 2013 at 4:50 PM, Enrique Caballero <[email protected]> wrote: the majority of the math is usually quite simple and enjoyable to work with. https://www.khanacademy.org/ this is a great resource On Mon, Apr 15, 2013 at 2:37 PM, Sam <[email protected]> wrote: 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! -- Our users will know fear and cower before our software! Ship it! Ship it and let them flee like the dogs they are!

