Here's a couple ideas you could explore... It depends what you need really. If you only need the closest position, then that's pretty easy, but if you need to look-up custom attributes, it's a bit more complicated. There is no easy way to find that, but there are two approaches that could be used :

If finding the closest control point of a strand is enough, then I would recommend creating an intermediary point cloud where you create a particle per strand position of the original point cloud and add custom attributes per point that maps back the original point cloud ID and the strand sub-index. Then you can reference back to the original point cloud using ID to Location and a Select in Array using the index.

If you need the exact position between two control points, then you could use ICE modeling to create a mesh from the strands and again, map point ID and strand index to the new mesh points. Then using get closest location on that intermediate mesh and with a bit of math, you can look up the stored IDs and strand index of the locations' polygon points and figure out how much interpolation it is between the two original strand points.

Both techniques are a little complex to set-up, but it is doable.

If it's just the position you need, then just use ICE modeling to create a mesh to use closest location on... something like Create Extrusion Along Strands. Make the strand diameter really small and use that mesh to find closest location.

Hope that helps.

-Mathieu


On 12/03/2014 7:50 PM, gareth bell wrote:
@Alan - yes I think so

I fundamentally want to take some strands and interpolate them between two positions. I'd like the second position to be determined by another strand in another pointcloud.

This is how it works using a curve as the second position. But ideally I'd like to swap the curve for a strand.

http://s30.postimg.org/st7dsynkx/strands.jpg

@Graham - thanks for that but I got totally lost........

Thanks




------------------------------------------------------------------------
From: grahame.ful...@autodesk.com
To: softimage@listproc.autodesk.com
Subject: RE: Get Closest Location...... on Strand
Date: Wed, 12 Mar 2014 20:10:08 +0000

You can’t really get a location on a strand because there’s no underlying geometry.

However, if all you really need is the closest position on the strand (i.e. not a “real” location for looking up other data), and it’s good enough to treat the strand as a polyline (i.e. not smoothed), then you can cook up something using Get Closest Point to Line Segment.

I don’t have a scenario to test this in so there may be errors, but I’m thinking about something along the lines of the attached pic. If you want to do something fancier like get StrandColor at the closest position, then you’d need to figure out which segment contains the closest position, what %age it is between the two neighbouring StrandPosition values, and interpolate between the two corresponding StrandColors based on that.

gray

*From:*softimage-boun...@listproc.autodesk.com [mailto:softimage-boun...@listproc.autodesk.com] *On Behalf Of *Alan Fregtman
*Sent:* Wednesday, March 12, 2014 3:16 PM
*To:* XSI Mailing List
*Subject:* Re: Get Closest Location...... on Strand

If such a thing existed, what are you trying to get from it? Are you trying to find the closest position on a strand to a given point?

On Wed, Mar 12, 2014 at 2:56 PM, gareth bell <garethb...@outlook.com <mailto:garethb...@outlook.com>> wrote:

Hey guys,

Is there an easy way about getting the equivalent of plugging a curve into a "Get Closest Location" - but for a strand instead of the curve?

Cheers

G


Reply via email to