Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by pusat

  1. Change f@test to v@test.
  2. Use Convert Line SOP and then after the scatter using an attribwrangle, use xyzdist to compute the distance of points to these edges and then using a threshold delete these points.
  3. VEX SIMD vs. Remove coincident primitives

    Hi, This is a fast way: http://www.orbolt.com/asset/animatrix::deleteOverlappingPolygons::1.00 You can see the VEX code inside.
  4. Primitive Split SOP
  5. Replicating circular points around normals

    You can simplify it a bit using sample_circle_uniform and dihedral functions: for(int i = 0; i < points; i++){ float u = i / float(points); vector p = sample_circle_uniform(set(u, ch("r"))); matrix m = dihedral({0,1,0}, @N); addpoint(0, @P + set(p.x, 0, p.y) * m); }
  6. Get max/min two points of each primtive inside a group.

    Ok I assumed you have a different group for each primitive. If not, you can just use the adhoc group syntax like "4" to mean primitive #4, etc.
  7. Get max/min two points of each primtive inside a group.

    Hi, I didn't check your scene but you can use getbbox VEX function that accepts a primitive group, or can use adhoc group syntax. vector pmin = 0; vector pmax = 0; getbbox ( 0, myPrimGroup, pmin, pmax ); // Delete all points except these by checking distance2(@P, pmin/pmax) functions. But this is only for AABB (axis aligned bounding box), if you want OBB (oriented bounding box), then you have to use more involved methods such as PCA, SVD, etc or just use a For Loop SOP network with Bound SOP (OBB=on).
  8. Attribute chooser

    You can check out the attributes parameter of this node to see the script I am using to create a similar menu automatically: https://www.dropbox.com/s/69zed1t2xvn62tb/AttributeFit_SOP_Animatrix.otl?dl=1 I would post the code if I was in front of Houdini.
  9. Houdini 17 Wishlist

    Yes let's just censor any views that opposes yours
  10. You can also PolyExtrude the curves before the Boolean and then blast the new points afterwards using a few Group nodes before and after the Boolean (Credits: Entagma)
  11. Houdini Universal Unique ID (UUID)?

    I created an RFE for having a GUID before. It could be generated automatically by Houdini on demand thus it wouldn't impact anything unless you access the property on a node instance for example. I also think session ids are useless.
  12. Closest point to line

    ptlined will be slow because it's calling sqrt(). You should implement your own pointLineDistanceSquared: vector pointLineDistanceSquared ( vector p; vector linep0; vector linep1 ) { vector dir = linep1 - linep0; vector pp = p - linep0; return length2 ( cross ( dir, p ) ) / length2 ( dir ); } Then you can multi-thread the distance calculation using Run Over Numbers, storing them as detail attributes and then compute the smallest one at the last step.
  13. vop accel attribute

    To compute acceleration, you need to compute the differences between velocities, so you can do: v1-v0 using a TimeShift($F-1).
  14. Simple project to learn Houdini

    You can do all this inside a single AttribWrangle using the intersect() function.
  15. Houdini 17 Wishlist

    I would love to have this as a toggle where the pivot is always set to current selection. Geometry selection over object selection, etc.
  16. Just another laptop question

    I think the just put "pro" GPU in it to justify the price. Otherwise the infinity edge looks identical to XPS 15.
  17. Just another laptop question

    I think the new Dell XPS 15 is also a very good contender. It's more expensive but one can get one with 32GB memory 1050 GFX card, 4K resolution for about 2500 CAD refurbished which is good value IMO as the build and design is top notch. I really like the slim frame aluminum design especially given how light it is. Gaming laptops turn me off also. If only they had 1060 6GB GFX card it would be an amazing laptop.
  18. Simple VEX/Houdini array question

    You can also use len VEX function but both return integers.
  19. select one edge from group ?

    Edge groups are not as easy to work in Houdini as point/prim groups. You can do this using a Python SOP though: edge = geo.findEdgeGroup("edgegroup").edges()[0] newgroup = geo.createEdgeGroup("one") newgroup.add(edge)
  20. Smallest-circle problem to bound points?

    I made this operator when I first started using Houdini. It's from Dave Eberly's library: https://www.dropbox.com/s/ojzptmfpafqjw5n/MinimumCircle_SOP_Animatrix.otl?dl=1 Could be made faster by using least squares methods instead.
  21. Pyro Clustering Tutorial

    You can also do this without a For Loop block using a Volume Wrangle SOP.
  22. Houdini 17 Wishlist

    There are many other kitchen and sink nodes that need to be broken up: Facet SOP, Primitive SOP, Fuse SOP, etc.
  23. For Each Element in Group

    If you loop over the enum attribute, the -1 will only be 1 iteration and you can skip it by using a switch node so it's not costly to do so.
  24. For Each Element in Group

    Enumerate SOP can do this.
  25. Performs PCA (Principal Component Analysis) on a point cloud.