Welcome to od|forum

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.


  • Content count

  • Joined

  • Last visited

  • Days Won


Community Reputation

278 Excellent

About petz

  • Rank

Recent Profile Visitors

8,724 profile views
  1. it's just to make sure the number is float. doesn't make much sense in vex tbh. and you should probably use 1.0 instead. but well, old habits die hard ...
  2. 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
  3. ah, yes, cdiv is missing. might be worth an RFE!
  4. if you are using houdini 16, just include complex.h in your vex code. it´s in $HFS/houdini/vex/include.
  5. what if you simply calculate the circumference and divide it by the number of polywire´s division? resample2.hiplc
  6. attached is one way how you can do this ... hth. petz resample1.hiplc
  7. 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
  8. 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
  9. 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
  10. 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 ...
  11. i don´t know this tool but from watching the video i guess that it uses a non-rigid 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 pre-definded 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
  12. well, it is possible to get the curvature, or more precisely the mean curvature with vdbAnalysis but not the curvature-direction. even though you could get a somewhat curvature-related 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.
  13. no, it doesn`t ...
  14. 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
  15. 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 ...