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


petz last won the day on August 6

petz had the most liked content!

Community Reputation

295 Excellent

About petz

  • Rank

Recent Profile Visitors

9,043 profile views
  1. you could put the following two lines in a vertex wrangle: setdetailattrib(geoself(), "min_val", @uv.y, "min"); setdetailattrib(geoself(), "max_val", @uv.y, "max");
  2. to write point numbers to an array in detail mode you could just do: i[]@points = expandpointgroup(@OpInput1, "!"); or in point mode: int point[] = array(@ptnum); setdetailattrib(geoself(), "points", point, "append"); however, depending on the number of points, the second method might be slightly slower compared to iterating over points in detail mode ...
  3. i don't think it would be a problem. usually old nodes are hidden but they are still available for backwards compatibility, at least for a couple of years. to see older versions of nodes you can turn on "show all operators" in preferences->shelves and tab menu. for hidden nodes check out the hscript command opunhide. but in case you're feeling uncomfortable using old nodes, i've attached an alternative method. divide1.hipnc hth. petz
  4. take a look a GEO_Closure. or, if you're using GEO_HedgeInterface just get prim edges from vertices and next find prims which are sharing these edge. HERE is an example to a somewhat similar problem ... hth. petz
  5. you can use the old polyBevelSop in point mode for this. please take a look at the file. hth. petz divide.hipnc
  6. here's another one ... CentroidTrippling1.hipnc
  7. not sure if this is what you are after but take a look at the attached file. hth. petz attrib_to_cops.hipnc
  8. 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 ...
  9. 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
  10. ah, yes, cdiv is missing. might be worth an RFE!
  11. if you are using houdini 16, just include complex.h in your vex code. it´s in $HFS/houdini/vex/include.
  12. what if you simply calculate the circumference and divide it by the number of polywire´s division? resample2.hiplc
  13. attached is one way how you can do this ... hth. petz resample1.hiplc
  14. 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
  15. 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