Another question:
How do I get the U coordinate of a point on a curve?
U coordinate of a point on a curve
20642 10 2- dinkleberry
- Member
- 48 posts
- Joined: 10月 2009
- Offline
- symek
- Member
- 1390 posts
- Joined: 7月 2005
- Offline
- dinkleberry
- Member
- 48 posts
- Joined: 10月 2009
- Offline
- old_school
- スタッフ
- 2540 posts
- Joined: 7月 2005
- Offline
Depending on what you want, you can also use the primuv() expression to fetch any attribute value at the specific u and v position along the curve. If you query the “P” attribute you get the actual “u” position along the curve.
It is common to wrap primuv() with the pointdist() expression which will return you the closest spot on a primitive from a given point.
It is common to wrap primuv() with the pointdist() expression which will return you the closest spot on a primitive from a given point.
There's at least one school like the old school!
- tjeeds
- Member
- 339 posts
- Joined: 8月 2007
- Offline
- symek
- Member
- 1390 posts
- Joined: 7月 2005
- Offline
tjeeds
I've been looking for a vex version of pointdist, seems like the Primitive Attribute VOP does the same thing as the primuv expression but is there a vex equivalent of pointdist?
I'm afraid there is not. People are asking for this a lot. Looks like a good candidate for a RFE.
Here [forums.odforce.net] you have a discussion on similar issue.
- keyframe
- Member
- 1533 posts
- Joined: 7月 2005
- Offline
- cb
- スタッフ
- 635 posts
- Joined: 7月 2005
- Offline
keyframe
Just for the record, there is another way…
Using an attribcreate sop, create a float point attribute, and set the following as the expression:
fit($PT, 0, $NPT-1, 0, 1)
G
This assumes uniform parameterization and a 0-1 domain, which is not always the case with NURBS and Bezier curves. Also, I am not sure it handles closed curves well. The safest way to access the U coordinate is to use the primuv() expression, as Jeff suggested earlier.
- phtj
- Member
- 224 posts
- Joined: 6月 2009
- Offline
I was trying to do something similar, but I can't get it to work. I want to find the closest point on a curve, but the primuv + pointdist solution does not seem to give the right point. I think it is due to the fact that the curve does not have a domain…
I have tried various things, but no luck…
See attached file
I have tried various things, but no luck…
See attached file
Patrick
- NSDesign
- Member
- 16 posts
- Joined: 9月 2012
- Offline
- mawi
- Member
- 252 posts
- Joined: 1月 2008
- Offline
-
- Quick Links