I tried this already, but it didn't work. Rather, it works but not how I need it to work. So....
I've got two point positions, a vector is derived from these point positions. Because the positions are constantly moving the vector is changing. This vector draws correctly on screen. This vector is derived from global positions and drawing relative to world space. I'm then trying to get the normal of a surface and get the difference in angle of this vector and the previous vector. I originally attempted to get this from a location. But the surface is planar so any normal will do. The problem is that the normal, when acquired, is oriented relative to an object different than self. As a result it seems that ICE then compares it to self and reorients it relative to self. Not sure why. The values are technically correct when looking at everything in local space. But I want the value to be relative to world space. I tried using the technique you suggested for both the object and self's matrix, and neither produce the correct results. I did however solve the problem by manually creating a normal from a cross product of vectors derived from surface points that were converted to global space and this works perfectly. I think the wrench in the comparison is the original derivation of the vector from raw global point positions. This seems to have the effect of providing a vector which is non-relative to anything but global space. Whereas the normal just can't seem to be unassociated with either the object it was derived from or self. If that makes any sense. Thanks -- Joey Ponthieux LaRC Information Technology Enhanced Services (LITES) Mymic Technical Services NASA Langley Research Center __________________________________________________ Opinions stated here-in are strictly those of the author and do not represent the opinions of NASA or any other party. From: [email protected] [mailto:[email protected]] On Behalf Of Alan Fregtman Sent: Tuesday, August 13, 2013 9:49 AM To: XSI Mailing List Subject: Re: just not normal Absolutely possible. What you're experiencing is that self.PointNormal (and I think maybe all or most preexisting iceattributes) are in the object's local space always. If you get a "Multiply vector by matrix" node and feed it your self.PointNormal and a getdata of self.kine.global into the matrix, you should be getting stuff in Global space. Beware that some of the ICE visual debugging when it comes to per-point data can appear to come from the points when that may not be the case, just because it usually draws the vector starting from the point origin when it's a per-point context. You can Build Array From Set from your attribute and visually debug the result, as it will be one big array per object instead of one value per point, and thus won't try to draw it starting from each point. On Tue, Aug 13, 2013 at 9:38 AM, Ponthieux, Joseph G. (LARC-E1A)[LITES] <[email protected]<mailto:[email protected]>> wrote: Howdy, I'm trying to get a vector which is the normal of a surface relative to world space, not local space. The object is moving. I managed to get the vector using both PointNormal and SurfaceGeometricNormal. Sometimes the calculations work and sometimes they don't. It appears when I display the vectors that normal is being reoriented relative to the self object(the object that the ICE tree is on). So from a global perspective the angle is wrong. Its being compared to a normal which is generated from the point position of two objects. What I need is the normal direction of the surface or point on the point relative to world space. Is that possible? -- Joey Ponthieux LaRC Information Technology Enhanced Services (LITES) Mymic Technical Services NASA Langley Research Center __________________________________________________ Opinions stated here-in are strictly those of the author and do not represent the opinions of NASA or any other party.

