If your geometry is quite symmetric, you can calculate the covariance matrix from the points (which can be used for calculating an oriented bounding box), to get candidates for the plane. Once you have the box (or the eigenvectors of the matrix) you can check each plane, if it is a symmetrize plane. Problem is, if an object is not 100% symmetric you have to define some tolerances.
Here is a modification of an example (calculating an oriented bounding box) which uses the center and the normal of each face to count the number of symmetric points and take the face (normal) with the highest count. This example is more a first start and may fail some situations.
Found 475 posts.
Search results Show results as topic list.
Technical Discussion » Find geometry symmetrize plane
- Aizatulin
- 475 posts
- Offline
Technical Discussion » I need to extrude edge loop called "contour_01"
- Aizatulin
- 475 posts
- Offline
You can also use attribute transfer node to get normals from another geometry. But as juejuezi mentioned, in fact it can be any vector attribute and VEX has many advantages doing this (creating, manipulating etc ...).
Technical Discussion » I need to extrude edge loop called "contour_01"
- Aizatulin
- 475 posts
- Offline
Technical Discussion » basic isometric mesh surfacing
- Aizatulin
- 475 posts
- Offline
It looks like, that in your example the density value of the marching-cubes-grid is either zero or one. If you have a guide geometry, the inner points are candidates to be zero. It seems, that the number of neighbours, which are also inside the geometry has influence on this density value. There are 6 neighbours of a grid point (adding this to the point (+X, -X, +Y, -Y, +Z, -Z) scaled by the grid size). If there are 5 or more neighbours also inside the geo, the point itself should have zero density and one if not.
Here is an experimental file using Marching Cubes in VEX.
Here is an experimental file using Marching Cubes in VEX.
Houdini Indie and Apprentice » How to ramp and randomise a carve sop?
- Aizatulin
- 475 posts
- Offline
Houdini Indie and Apprentice » How to make PolyBevel's tension of the roundness higher?
- Aizatulin
- 475 posts
- Offline
You can workaround the flat grid problem by extruding it (it is not nice but is working). Regarding to the angle problem, I have no other idea at the moment than to map every angle onto a different scale factor (using a ramp or a there is probably a function). But I don't know how to apply different scale factors in one bevel node. Using a feedbackloop, where you set for each iteration a group for each single edge.
Here is another file
@edit: it seems that tangent (x -> tan(x)) is doing the job (check the other file)
Here is another file
@edit: it seems that tangent (x -> tan(x)) is doing the job (check the other file)
Edited by Aizatulin - 2024年2月27日 01:21:45
Houdini Indie and Apprentice » How to make PolyBevel's tension of the roundness higher?
- Aizatulin
- 475 posts
- Offline
You can use a second input of the bevel with a profile curve generating a superellipse by a parametric formula. It seems to give quite acceptable result, if you set convexity to zero and scale factor to 2.
Here is an example file
Here is an example file
Technical Discussion » Converting voxels to iso-surface polygons
- Aizatulin
- 475 posts
- Offline
As you have already described, if the voxels are too large, they are not able to determine between thin connections and no connections. If you only have this information, there is no chance to reconstruct a connectivity, because it is not even clear that a connection exists.
Edited by Aizatulin - 2024年2月13日 10:49:48
Houdini Indie and Apprentice » Houdini smart extrude
- Aizatulin
- 475 posts
- Offline
Technical Discussion » Topology-aware attribute transfer (flood fill?)
- Aizatulin
- 475 posts
- Offline
Here is a setup for the color attribute using neighbour information (ignoring black colors) taking the average of all neighbour colors.
Houdini Indie and Apprentice » how using a section of road make a curve road
- Aizatulin
- 475 posts
- Offline
Sure
In the example file the length in "resample1" is 24 (so probably you have already turned it down to something like 1 or less). If you look at your curve, it has now a higher point density and the points are not on a straight line and all points have quite smooth corners, which means, that the angle between tangents of neighbour points are small. This will affect the pathdeformer, because it is using tangents to transform the geometry to the path (very short explanation for sure).
In the example file the length in "resample1" is 24 (so probably you have already turned it down to something like 1 or less). If you look at your curve, it has now a higher point density and the points are not on a straight line and all points have quite smooth corners, which means, that the angle between tangents of neighbour points are small. This will affect the pathdeformer, because it is using tangents to transform the geometry to the path (very short explanation for sure).
Edited by Aizatulin - 2024年2月2日 02:57:49
Houdini Indie and Apprentice » how using a section of road make a curve road
- Aizatulin
- 475 posts
- Offline
The smoothness of the pathdeformer depends on the attributes of the curve. So probably you resample your curve (with subdivisions on) or with more points. Hard to say, maybe you can share your file.
Houdini Indie and Apprentice » how using a section of road make a curve road
- Aizatulin
- 475 posts
- Offline
You can also use the pathdeformer (if not already done). Just copy your segments along a straight line (z-axis) and resample your curve (like you have probably done already).
Technical Discussion » Find Shortest Path - How to make & use its adjacency array?
- Aizatulin
- 475 posts
- Offline
It is working the same way, if you use a cost array. If you want to avoid the path going uphill, set the weight very high, if the y-component of the neighbour point is greater than the y-component of the current point.
Technical Discussion » Transforming a lissajous curve along a given input curve
- Aizatulin
- 475 posts
- Offline
try float cast on i@copynum (like float(i@copynum + 1) / n) and make sure, that copynum attribute exists.
Technical Discussion » Transforming a lissajous curve along a given input curve
- Aizatulin
- 475 posts
- Offline
In your wrangle v@P.z is always zero. Maybe you set v@P.z to @curveu and make sure, that the path deformer has forward direction Z.
Technical Discussion » Transforming a lissajous curve along a given input curve
- Aizatulin
- 475 posts
- Offline
Houdini Indie and Apprentice » Adding a directed Path Cost to Find ShortestPath SOP
- Aizatulin
- 475 posts
- Offline
Here are some ideas:
Each primitive should exactly contain 2 points (start and end). Replace each primtive by two (new) primitives, where both have opposite directions. Now calculate the angle between each primtive direction (endpoint - startpoint) and the given direction. Based on this calculation value, you can set an angle based primitive cost (using a ramp for example). After this remove the "expensive" paths.
Each primitive should exactly contain 2 points (start and end). Replace each primtive by two (new) primitives, where both have opposite directions. Now calculate the angle between each primtive direction (endpoint - startpoint) and the given direction. Based on this calculation value, you can set an angle based primitive cost (using a ramp for example). After this remove the "expensive" paths.
Edited by Aizatulin - 2024年1月16日 10:40:29
Technical Discussion » Find Closest Primitives to a point
- Aizatulin
- 475 posts
- Offline
You can also try to (pre)filter the primitives using their (local) bounding box, because the distance from any point to the bounding box is always less or equal compared to the distance itself. But the prefiltered distances doesn't need to have the same order as the original distances, so if you want to use something like maximum search number, you need more points to be sure to get all (or maybe check the maximum distance to the primtives aswell).
Technical Discussion » PolySplit equivalent of NURBS surface?
- Aizatulin
- 475 posts
- Offline
-
- Quick Links