Move a curve's points parametrically, how?

   6742   19   0
User Avatar
Member
407 posts
Joined: Aug. 2015
Offline
Hi;

How could I transform a curve's point to a specified position(for example y=10.3), parametrically?

Thanks.
Edited by Masoud - Oct. 8, 2018 07:13:58

Attachments:
Curve.jpg (155.1 KB)

Masoud Saadatmand (MSDVFX)
User Avatar
Member
2038 posts
Joined: Sept. 2015
Offline
What is it you mean/want to do?

In your pic your showing a control handle for a nurbs curve. There are no points on this curve because the curve is calculated, so you can't ‘transform’ any of the ‘points’.

Is it these control handles you want to transform? meaning you want to access and modify the Coordinates parameter directly?

For this, you can maybe do some python work:

https://www.sidefx.com/forum/topic/15022/?page=1#post-71063 [www.sidefx.com]

If it's ‘points’ on the curve though, other than finding out the equation used for making the nurbs curve and working out an equation expression yourself for the x value of your y ;

You could simply use the y value as part of the orig argument of the vex intersect function, and move your point to that location.

http://www.sidefx.com/docs/houdini/vex/functions/intersect.html [www.sidefx.com]
User Avatar
Member
407 posts
Joined: Aug. 2015
Offline
Hi BabaJ;
Thank you for reply.
I want simply select some points (or control handles)on a curve and transform them to a specified position, same as what I can do in other 3d software like Maya,3dsmax ,C4D…
Is there a easier way than using Python or expression…?
Masoud Saadatmand (MSDVFX)
User Avatar
Member
2038 posts
Joined: Sept. 2015
Offline
I guess what you mean is how to find the specific point(handle) in the list of the coordinate parameter quickly and enter it's value there instead of using the mouse? Have a drop down dialogue box for the point(handle) selected in the viewport to quickly enter values?

In such a case I don't know how to do that if it's possible. Thought there was some mention in the H17 presentation about an additon to hom for handles…maybe if it's not possible now, some tool like that could be built with H17.
User Avatar
Staff
3455 posts
Joined: July 2005
Offline
is there a reason you can't just append a Transform SOP and specify the point there?
Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
2038 posts
Joined: Sept. 2015
Offline
“is there a reason you can't just append a Transform SOP and specify the point there?”

I don't know if that's what he wants…but some people would probably prefer not having to do that.

Some might want to ‘non-proceduraly’ modify their initial points on the curve with specific values.

Although selecting a curves control point and moving it will show the changes dynamically in the coordinates parameter box, if you have many of them it won't show(the list would be too long); Meaning you can't quickly spot which one in the list it is and just manually enter the value there. (If you know the value you want, and doing it by mouse is to slow to get the specific value, i.e. sensitive mouse).

Having a single drop down box in the viewport on the selected point(handle) to enter values can speed things up; Say if your doing about 10 changes on different points - that would be going through the process of laying down 10 transform sops( each with its' own specified point number).

I'm guessing something like this could be done with the HDK if not python?
Edited by BabaJ - Oct. 9, 2018 13:04:56
User Avatar
Member
407 posts
Joined: Aug. 2015
Offline
Hello Goldfarb;
As I know, “Transform SOP” moves the curve entirely. I add a “Edit Sop” to modify point by point, but the problem is that “Edit SOP” moves points in local space..!
Edited by Masoud - Oct. 10, 2018 05:52:19

Attachments:
A.jpg (978.6 KB)
B.jpg (1.0 MB)

Masoud Saadatmand (MSDVFX)
User Avatar
Member
2038 posts
Joined: Sept. 2015
Offline
You can use the transform SOP with a curve SOP; You just need to specify ‘Points’ in the group type box.
User Avatar
Member
323 posts
Joined: Jan. 2015
Offline
Hi there,
maybe another solution. create a line and move the points however you like. Now use a fit node to turn it into a curve.

greetings

Olaf
User Avatar
Member
407 posts
Joined: Aug. 2015
Offline
Thanks Guys;
Wow, It seems that Houdini doesn't support such a simple modification..!
The bad thing is there is no Bezier-Handle in Houdini curves
Masoud Saadatmand (MSDVFX)
User Avatar
Member
2038 posts
Joined: Sept. 2015
Offline
The bad thing is there is no Bezier-Handle in Houdini curves

Yes they do, it's the CV point handles in your viewport.
User Avatar
Member
407 posts
Joined: Aug. 2015
Offline
BabaJ
The bad thing is there is no Bezier-Handle in Houdini curves

Yes they do, it's the CV point handles in your viewport.


No they don't. It is Control-Vertex(CV) without handles.
Here is what I mean:

Attachments:
1.JPG (232.1 KB)

Masoud Saadatmand (MSDVFX)
User Avatar
Member
2038 posts
Joined: Sept. 2015
Offline
Yes they do, just not depicted the same way.

In Houdini a line just isn't drawn from the CV to it's control point; but the CV is the Bezier Handle.

Also in Houdini there isn't a visual distinction made for you to see the difference. But you can see it as you move them around.

Just set the curve to Bezier and CV and move the points around - you will see.
Edited by BabaJ - Oct. 11, 2018 04:35:39

Attachments:
Curve-Control-and-CV-Points.jpg (74.6 KB)

User Avatar
Member
340 posts
Joined: June 2017
Offline
I would handle this by starting with add SOPs for each point on the curve, add a merge node that includes all the add nodes, and then specify how these add nodes should be interpreted (b spline, bezier, linear, etc). It is easy to animate a curve that way. I’m away from a computer for a few days but will edit this to give an example file when I get back on Tuesday.
Edited by Island - Oct. 11, 2018 18:04:59
User Avatar
Member
407 posts
Joined: Aug. 2015
Offline
BabaJ
Yes they do, just not depicted the same way.

In Houdini a line just isn't drawn from the CV to it's control point; but the CV is the Bezier Handle.

Also in Houdini there isn't a visual distinction made for you to see the difference. But you can see it as you move them around.

Just set the curve to Bezier and CV and move the points around - you will see.


Ok, thanks you BabaJ.
Edited by Masoud - Oct. 13, 2018 02:44:20
Masoud Saadatmand (MSDVFX)
User Avatar
Member
407 posts
Joined: Aug. 2015
Offline
mestela
or fake it:

https://www.sidefx.com/forum/topic/40929/#post-185858 [www.sidefx.com]

Thank you Mestela; very helpful.
Masoud Saadatmand (MSDVFX)
User Avatar
Member
340 posts
Joined: June 2017
Offline
See attachment
Edited by Island - Oct. 16, 2018 00:30:35

Attachments:
CurveNullsExample.hiplc (805.2 KB)

User Avatar
Member
323 posts
Joined: Jan. 2015
Offline
https://www.sidefx.com/forum/topic/58427/?page=1#post-261910 [www.sidefx.com]
Thomas Bishop made a bezier handle tool for H17
User Avatar
Member
407 posts
Joined: Aug. 2015
Offline
Olaf Finkbeiner
https://www.sidefx.com/forum/topic/58427/?page=1#post-261910 [www.sidefx.com]
Thomas Bishop made a bezier handle tool for H17

Thanks.
Masoud Saadatmand (MSDVFX)
  • Quick Links