Aizatulin last won the day on August 5
Aizatulin had the most liked content!
Community Reputation
171 ExcellentAbout Aizatulin

Rank
Initiate
Personal Information

Name
Aizatulin
Recent Profile Visitors

If you take the first point as center, you can take the second point to define a radius (for example). The third point should have the same distance from center as the second point, or the arc will not intersect with this point. You can derive the angle and the rotation axis from both direction (P1  P0) and (P2  P0). Now you can just rotate the first point along the angle. If you a have guide axis, you can check if the rotation axis is conform (if not > axis need to be inverted and the angle should be subtracted from 2*PI (360 degrees)) arc_by_center_two_other_points.hipnc

You'll probably need solver or loop for it. Here is a similar example using a solver and letting an object moving along a surface, were the points are projected on the surface and keeping the projected position until a value/counter_maximum is reached. move_walk_fake.hipnc

Extract animated relative inverse transforms?
Aizatulin replied to spf987's topic in Animation & Rigging
Hi, if you have a local orientation on each point of the object being transformed (which is also transformed), you can just apply the inverted transformation (of the point you select on the geometry) on the whole geometry. make_point_static.hipnc 
I don't have an idea at the moment. This one ist only working for two points (with 2 tangents, which are controlled by the 2 other points). I don't think connecting/overlapping works here, because the arc is taking the shorter way. Maybe you can force the arcs to take the right way, if the first two arcs are calculated. But this will depend on user input etc... .

Hi, here is an file (experimental state) using mostly the ideas from Ryan Juckett. Input are 4 points (polycurve) and it calculates the arcs and the necessary attributes. It seems to work in usual cases (but there some cases where it probably fails). It only works, if all points are on a plane. biarc.hipnc

Scatter points uniformly by density
Aizatulin replied to nomojosh's topic in General Houdini Questions
The labs 3d straight skeleton is also a powerful node, which may help here. scatter_around_skeleton.hipnc 
Hi, I think an open surface must contain at least one half edge (unshared edge). You can use the group node to get them. half_edges_in_geo.hipnc

Comparing deformation ignoring translation/rotation
Aizatulin replied to danvenn's topic in General Houdini Questions
Hi, here is an example (taking your idea using the neighbour distances). If you are applying translation or rotation, the length should stay the same, so the delta between both distances is expected to be zero. On other deformations, the delta should be greater zero. the final delta is just the sum over all delta foreach point (detail attribute). sum_over_delta_nei.hipnc 
Transfer normals from geometry to spiral around it then sweep
Aizatulin replied to Elggetto's topic in Modeling
Hi, use the normal of the geometry as up direction (up) for the curve and tangent of the curve as curve normal (N). 20220527_HelpNormals_mod.hipnc 2 replies

 1

 spiral
 attribute transfer

(and 2 more)
Tagged with:

Hi, here is an approach. The formula is similar to your example only the parameter space is bit different. One value should be between 0 and 2 Pi. esher_spiral_mapping.hipnc
 4 replies

 2

 spiral
 mathematics

(and 2 more)
Tagged with:

Volume density based on point position and/or depth
Aizatulin replied to TheDude123's topic in General Houdini Questions
Hi doc, in your wrangle write test >= 0, because 0 is also a valid primitive number. 
How to unify orientation of a Divide SOP?
Aizatulin replied to NoSOPforStupidity's topic in General Houdini Questions
Hi, if you take the idea of Animatrix of expanding prim properties to their neighbours until you reached all primitives. You can create reference lists foreach prim. Once you have the references, you can compare each vertex arrays and calculate the offset and the sum of the offet over all references. This offset(sum) can be used, to shift the vertices. Here is an example using some VEX. The polygons should be all quads and the geometry should be (edge) connected aswell. reorder_vertex_shift.hipnc 
beginner questions re attributes/parameters
Aizatulin replied to thesejm's topic in General Houdini Questions
Hi, I think for this you will need copystamp or foreach. In some cases copytopoints will work with variants aswell. But you pay the price with performance. Copytopoints is much faster. Here is an example comparing three methods, where boxes are copied to sphere points and bended by an point attribute (on the sphere). The variant method is by far the fastest, but it is using a different approach compared to the both other methods (which are equivalent). You can use the performance monitor to visualize the difference. copystamp_alternative_methods.hipnc 
What exactly decides if two primitives are connected?
Aizatulin replied to raincole's topic in General Houdini Questions
It seems, that two prims are connected, if they share a same point (this is less restrictive than sharing an edge). If you want the edge only case you can use the divide sop (dual graph). In your case, clean sop is fusing the points, which makes the geometry connected, if you turn it of (clean sop) you will get two classes and you see, that there are duplicated points (show point numbers). explodeview is just using the name attribute and breaks the points again. connectivity_prims.hipnc 
Hi, here is a simple example using bend in foreach. bend_foreach.hipnc