Welcome to odforum
Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.
petz
Members
Content count
333 
Joined

Last visited

Days Won
33
Community Reputation
270 ExcellentAbout petz

Rank
Illusionist
Recent Profile Visitors
8,526 profile views

this isn't necessarily true and depends on which type of dual you are using. in case of houdins barycentric based dual for instance, it isn't true. if you wanna get voronoi cells you have to compute the circumcentric (voronoi) dual instead. in this case the dual is orthogonal to it's primal triangulation which is one of the key properties of a voronoi. dual1.hipnc
 9 replies

3

 graph theory
 cute ass animals

(and 1 more)
Tagged with:

ah, yes, cdiv is missing. might be worth an RFE!

if you are using houdini 16, just include complex.h in your vex code. it´s in $HFS/houdini/vex/include.

what if you simply calculate the circumference and divide it by the number of polywire´s division? resample2.hiplc

attached is one way how you can do this ... hth. petz resample1.hiplc

well, there are many different ways of doing it. the crude one is to just recursively sample the curve and search for the point with the smallest deviation angle. this should what works for any case. the more elegant method however, would be to use a polynomial and solve it for the position on the curve at which the angle deviation is 0. hth. petz curve_find_point.hipnc

please take a look at the attached file. it´s an example how you could create bezier curves with arbitrary degree and another one relying on beziers in hermite form since you wrote about blending curves... petz curves_vex.hipnc

it wouldn´t be too hard to implement but if you need the actual distance along a mesh it´s most probably the geodesic distance what you want. the advantage of using biharmonic distance is that it´s rather smooth but not necessarily exact ... petz

i don´t think this would be possible to implement as long as vex doesn´t support arbitrary sized matrices. on the other hand, it wouldn´t be much of a problem in python/numpy for which several implementations already exist. performance might be an issue, though ...
 5 replies

 image analysis
 kernel

(and 3 more)
Tagged with:

i don´t know this tool but from watching the video i guess that it uses a nonrigid icp algorithm to match one geometry to another. there is no "out of the box solution" you can use in houdini but it isn´t too hard to wire together something that works in a similar way. please take a look at the attached file. it uses some predefinded points on both geometries to guide the general alignment and deformation. if you want this to work without any user input it might become more tricky but should also be doable ... hth. petz non_rigid_icp.hipnc
 10 replies

11

well, it is possible to get the curvature, or more precisely the mean curvature with vdbAnalysis but not the curvaturedirection. even though you could get a somewhat curvaturerelated vectorfield, if you calculate the curvature first and then the gradient of it (which is possible with vdbAnalysis) it wouldn´t be the same. principal curvature directions are quite different and sometimes they are useful since they have a few special properties.

no, it doesn`t ...

the "zigzags" in the trails are the result of vectors pointing into opposite directions and this is due the way how they are calculated. when you calculate the eigenvectors of the matrix there is no easy way to determine in which direction (+ or ) the vector is pointing because both directions are true. an easy way to handle this problem is to check and reverse neighbouring vectors recursively, starting from one point, or write your own streamline algorithm in vex which ignores opposite vectors based on a given threshold. either way, this is not be a perfect solution but depending on your needs it might be enough. if you want a vectorfield on the mesh which is as smooth as possible, then that´s a completely different story and it becomes much more complicated... in regards to your other question, if you need to fully understand all the things in the file, i would say no. it´s nice and sometimes helpful if you do but this is something you´ll barely need for day to day work. but that is just a personal opinion based on personal experience and not an advice by any means. hth. petz

sincatcher started following petz

thanks eetu but thats pure coincidence. a few years back i had to deal with this kind of stuff day in, day out for a project. so, even if i can´t look at flowlines, fieldlines, streamlines or whatsoever anymore, it seems to be still useful sometimes ...

i´m with szymon. using numpy might be a very good option especially sice you are using python anyways. put all values into an array and save it to disk as binary data. should be fairly fast and easy to read back into python for further processing. that sounds interesting! what are you using machine learning for? training samples for faster solve, building metamodels, setting up a rsm model, ...?