Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Aizatulin last won the day on September 13 2019

Aizatulin had the most liked content!

Community Reputation

63 Excellent

About Aizatulin

  • Rank

Personal Information

  • Name

Recent Profile Visitors

821 profile views
  1. Non-standard Spiral Staircase

    Hi, in addition here is another simple approach using ids for connected primtives to join them together. All primitives with same id will have the same level. stair_example.hipnc
  2. Architecture

    Sure, always a pleasure
  3. Architecture

    Hi, you can use creep for a set of grids for example. These grids can be scaled (in one direction) by a profile ramp. Each grid can have a specific offset in the scale direction. After this you can apply extrude ans use the zscale attribute to define the height. I'm not sure, if this is working directly with the extrude node (for connected components), but you can fake the height using the old point number as attribute for example. Here is an example creep_profile.hipnc creep_profileA.hipnc
  4. Ramp interpolation

    Hi, have you checked "De Boor's algorithm" ? https://en.wikipedia.org/wiki/De_Boor's_algorithm It seem to give similar result if you add 2 additional start and 2 additional end points. The weights are all 1 and the knots uniformly distributed. Here is an experimental file deBoorTestC.hipnc
  5. orientation problem

    You can also accumulate over quaternions (for copy to points), if you are rotating your points. You can use an initial value (representing the identy matrix) and for each interaction you (q)multiply this attribute with the new one. pt_matrix_rot.hipnc
  6. Hi, there is an algorithm (from Carl Hierholzer), which only works, if every point has an even count of neighbours. The rough idea behind is to look for circles until all edges have been visited an merge the circle togeter (where they intersect). Here is a VEXperimental approach (with some workarounds etc.) but only tested for some cases, so there might be bugs. The problem is to find a good way to store the edge neighbour information (there should be arrays of arrays of ints) and to update them during the loop. I would like to see, if there is a more straight forward way ... hierholzer.hipnc
  7. Here is another approach (similar to the previous). rough ideas: use pcfind() to get clusterpoints and add polylines (for connectivity) remove points which are isolated get connectivity classes create dummy points (one for each class), which should be the center points later each point should get all cluster points as vector array attribute (using for each is possible) create average over all vector array for each point to get the center Probably there are faster solutions. CenterOfEachColoni_01.hipnc faster equivalent (avoiding for each)... CenterOfEachColoni_01B.hipnc
  8. [Solved] Grid to sphere with Bend Sop

    I was a bit unclear, v@pt_uv was related to your previous example to avoid the spiral. If you want to use plit points you can use the uv value directly, instead of converting them to point position. This was just to make it usable for the creep sop. uvsample is useful, if your target geometry is non parametric, which has no intrinsic uv values, which can be called with primuv() - to get every point of the surface by a (u,v) pair. uvsample is more an optimizer, which tries to find the best fitting uv-value for your input uvw vector. This uv-value can be for example a vertex/point uv-value (non intrinsic). uvsample will give you the (interpolated) point (or point/vertex attribute) on the geometry, which uv value has the closest distance to the input uvw vector. But the problem is, that there maybe multiple optima or the optimum is far away from the desired uvw vector etc... . https://www.sidefx.com/docs/houdini/vex/functions/uvsample.html or check Konstantins link. Here is another modificaction of your previous example. sphere_pos real uv_flcc.hipnc
  9. [Solved] Grid to sphere with Bend Sop

    @flcc v@pt_uv is working for me and using point split (with vertex uv) to create uv islands. The creep sop may help aswell, if you convert your uv values into points positions. uv_creep.hipnc
  10. Round extruded shape

    you can also try subdivision with vertex/edge crease. Here is an example. bevel_extrude_subdiv.hipnc
  11. Hi, you can use primpoints() for example. remove_prim_by_pointcount.hipnc p.s. or use min_angle threshold ... remove_prim_by_pointcount_minangle.hipnc
  12. carve and nurbs

    You can also use xyzdist() to avoid searching extract_carve_find_center.hipnc
  13. carve and nurbs

    Something like this ? extract_carve.hipnc
  14. China fan

    Hi, You can use the circle with xyzdist() to get uv coordinates. The x coordinate can be used directly (but should be transformed by fit function to match 0 to 1). The y-value should be 0 or 1 (0 if close to circle and 1 if not). On the other hand, if you create the surface parametrically you can set the uv-coordinates directly. One way might be using skin from a set curves (check Konstantins example) another method maybe using two guide curves to interpolate the inbetween values. ChinaFan_Mic_uv.hipnc ChinaFan_Mic_uvA.hipnc P.S: get uvxmin, uvxmax automatically china_fan.hipnc
  15. Align card with vector

    Yes I agree, but using quaternions will have true benefit in performance if you chaining (many) rotations.