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