Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by petz

  1. well, in this case there is no smart analytical method i know about. what you could try to do is to interpolate a polynomial and solve for the given “chord” length. but i doubt it would be any faster than iteratively searching for the distance …
  2. with high resolution geometry most probably yes, in the example i’ve posted above i guess not. however, if speed is important it might be best to skip the second wrangle at all and use copyToPoints instead. packing the geo beforehand might also give you some speed improvements (in both cases) ...
  3. here’s another one without relying on an iterative approach geo_along_curve.hipnc
  4. random rotate top face of polygon?

    hey, sorry for my late reply, i didn't check the forum for quite a while … you're right, instead of rotating the prim i did project its points onto the plane given by P (prim centroid) and N (prim normal). this way you don’t have to worry about adjusting size due to the rotation. hth. petz
  5. random rotate top face of polygon?

    not quite sure if that’s what you are after but please take a look at the attached file: rotate_prim.hiplc
  6. Carve Line by UV Attribute (not parametric uvs)

    please take a look at the attached file. one example is using primuvconvert() to cut by distance the other is using an attribute. i didn’t do much testing but it should be relatively fast. hth. petz cut_curve.hipnc
  7. thanks, you're welcome!
  8. How find "Cracked Edge" ?

    isn't doing dissolveFlatEdges a completely different thing, or did i misunderstood the original question? if you'd like to just remove “flat edges” you could also use cusp polygons in a facet sop followed by a divide sop. it might also be faster ...
  9. Carve Line by UV Attribute (not parametric uvs)

    there's also the primuvconvert() function in vex which can be used to carve/cut curves by absolute length.
  10. How find "Cracked Edge" ?

    here's another one. it's not extensively tested but should work quite well. hth. petz clean_geo.hipnc
  11. xyzdist function check

    did you have a look at the file i've attached above? it doesn't use loops but ad hoc groups in the xyzdist() function as well as a max search radius to speed up the search. even though xyzdist() is slower when using groups it shouldn't take ages for 100000 lines ...
  12. xyzdist function check

    you can exclude the current prim in the xyzdist() function by using groups. i've attached an example. hth. petz xyzdist_1.hipnc
  13. it's easy, just reference the original geo. split_curve1.hipnc hth. petz
  14. here's another one: split_curve.hipnc
  15. Fitting a mesh between curves / Bilinear interpolation?

    the attached file shoud do the trick. hth. petz blerp_1.hiplc
  16. Find nearest point once

    not sure if that's what you're after but take a look at the attached file ... connect_points_unique.hipnc
  17. "Make circle" SOP?

    please take a look at the attached file. i've slightly modified the old example and now it should work without problems. hth, petz human1.hiplc
  18. Python: Loop delete geometry

    there are a number of different ways how you could do this. for high polycount meshes, however, python might be fairly slow ... please take a look at the attached file. hth. petz landscape_slice_export_1.hiplc
  19. Heightfield Isolines?

    here's another one which might be faster by avoiding the foreachLoop. hth. petz isolines.hipnc
  20. water drops on bottle

    1) the chopnet is used to procedurally adjust the “flowing” speed of the animated point (droplet). on flatter areas it simply gets slowed down. 2a) the curve (following the animated point) uses pscale as an attribute for fading out the size of droplets towards the tail of the curve. 2b) it’s used to delete all points which distance to the curve is above a given threshold 2c) xyzdist() returns the closest position on the prim in parametric coordinates (primuv). in our case it’s a curve and so it returns just one useful value which is u. in other words, it’s the position along the curve. hth. petz
  21. Recompute topology after projection on a plane

    please take a look at the attached file. hth. petz geo_flatten.hipnc
  22. Curvature field

    not exactly sure what you're after but if you want to calculate the gradient of curvature there is no better and easier way than what toadstorm already mentioned ... curv_gradient.hipnc
  23. Recompute topology after projection on a plane

    can't you use triangulate2d for this?
  24. calculating the edge vector is not a problem but you can't store it on edges since houdini doesn't support edges as regular geometry elements. what you could do instead is to use convertLine and do all the computations on prims which you could then lookup by points from the actual mesh. or you could just write all the edge vectors into a detail array. please take a look at the attached file. hth. petz edge_vec.hipnc
  25. due to the use of "remove shared edges" in the divideSop you got always two coincident polygons for every section. you need to delete duplicates and then make sure the normals of remaining prims are pointing into the same direction. instead, you could also set the output of the booleanSop to "seam" and check the curve direction based on point neighbours ... hth. petz