Jump to content
[[Template core/front/profile/profileHeader is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]

Everything posted by Librarian

  1. Volume deform quality issue...

    Don't see those steps in my view port @Masoud maybe you have some issues with G drivers or your display options.
  2. Group hard edges

    @papsphilip Your first resample its making error in Boolean op.... and you have floating points and prim's after for-each .now after zero in resampling you get those Groups Clean with no errors. edges.hiplc
  3. Volume deform quality issue...

    whats your approach on that ? Post a scene @Masoud maybe this gonna Help vD.hiplc
  4. On Growth and Form

    @himedo6979 GC.hiplc
  5. If statements on items in an array

    @GlennimusPrime Just download Fe-Elf from GitHUb.. you have FeE point Cloud Open that have 100000 Possibility ...with many examples..
  6. Heat Transmission Possible?

    I all-ready posted that ...diff to found maybe to make on complex shapes you need to google this "DEC_heat_with_boundaries " Lady that shared have them on google drive ... + you have this Dude that shared this (name---search for "White Dog Houdini twitter"...many files ..Have FUN @xarthur
  7. Potpourri3d and numpy

    thanx to Asia forums potpourri3d_pointCloud node = hou.pwd() geo = node.geometry() import numpy as np import potpourri3d as pp3d P = np.array([geo.pointFloatAttribValues("px"), geo.pointFloatAttribValues("py"), geo.pointFloatAttribValues("pz")]) P = np.stack((P), axis = 1) # = Stateful solves #P = # a Nx3 numpy array of points solver = pp3d.PointCloudHeatSolver(P) # Compute the geodesic distance to point 4 dists = solver.compute_distance(4) geo.setPointFloatAttribValuesFromString("dist", dists.astype(np.float32)) # Extend the value `0.` from point 12 and `1.` from point 17. Any point # geodesically closer to 12. will take the value 0., and vice versa # (plus some slight smoothing) ext = solver.extend_scalar([12, 17, 33], [0.0, 0.5, 1.0]) geo.setPointFloatAttribValuesFromString("ext", ext.astype(np.float32)) # Get the tangent frames which are used by the solver to define tangent data # at each point basisX, basisY, basisN = solver.get_tangent_frames() # Parallel transport a vector along the surface # (and map it to a vector in 3D) sourceP = 0 ext = solver.transport_tangent_vector(sourceP, [1., 0.]) ext3D = ext[:,0,np.newaxis] * basisX + ext[:,1,np.newaxis] * basisY ext3dx = ext3D[:,0] ext3dy = ext3D[:,1] ext3dz = ext3D[:,2] geo.setPointFloatAttribValuesFromString("ext3dx", ext3dx.astype(np.float32)) geo.setPointFloatAttribValuesFromString("ext3dy", ext3dy.astype(np.float32)) geo.setPointFloatAttribValuesFromString("ext3dz", ext3dz.astype(np.float32)) # Compute the logarithmic map logmap = solver.compute_log_map(sourceP) logmapu = logmap[:,0] logmapv = logmap[:,1] geo.setPointFloatAttribValuesFromString("logmapu", logmapu.astype(np.float32)) geo.setPointFloatAttribValuesFromString("logmapv", logmapv.astype(np.float32)) geodesicDistance_pointCloud node = hou.pwd() geo = node.geometry() import numpy as np import potpourri3d as pp3d startpt = geo.intAttribValue("startpt") P = np.array([geo.pointFloatAttribValues("px"), geo.pointFloatAttribValues("py"), geo.pointFloatAttribValues("pz")]) P = np.stack((P), axis = 1) # = Stateful solves #P = # a Nx3 numpy array of points solver = pp3d.PointCloudHeatSolver(P) # Compute the geodesic distance to point 4 dists = solver.compute_distance(startpt) geo.setPointFloatAttribValuesFromString("dist", dists.astype(np.float32)) geodesic_distances_mesh node = hou.pwd() geo = node.geometry() # Add code to modify contents of geo. # Use drop down menu to select examples. import numpy as np import potpourri3d as pp3d # mesh N*3 Array startpt = geo.intAttribValue("startpt") #points' coordinates (P) P = np.array([geo.pointFloatAttribValues("px"), geo.pointFloatAttribValues("py"), geo.pointFloatAttribValues("pz")]) P = np.stack((P), axis = 1) #prims' points - primpoints() F = np.array([geo.primIntAttribValues("vert0"), geo.primIntAttribValues("vert1"), geo.primIntAttribValues("vert2")]) F = np.stack((F), axis = 1) #solve for geodesic distances solver = pp3d.MeshHeatMethodDistanceSolver(P,F) dists = solver.compute_distance(startpt) #write out distance per point into dist-pointattribute geo.setPointFloatAttribValuesFromString("dist", dists.astype(np.float32))
  8. Group hard edges

    @papsphilip if you just somehow change your approach to model that roof... or ? you can use this code.. to take points and promote to edge group.. its messy inside that HIp .. string group_name = chs('group_name'); vector src_dir = chv('direction'); float treshold = chf('tresh'); int nb_pts[] = neighbours(0,@ptnum); foreach ( int pt; nb_pts) { if (@ptnum > pt) continue; vector pos = point(0,'P',pt); vector edge_dir = normalize(@P -pos); if(abs(dot(edge_dir, src_dir)) >= treshold) { setedgegroup(0,group_name,@ptnum,pt,1); } }
  9. Heat Transmission Possible?

    @xarthur if you search on Berlin Math Houdini you gonna find DEC_heat_with_boundaries(solver) Python with SciPy. bdy_d_val = np.array(geo.pointIntAttribValues("bdy_d_val")) bdy_n_val = np.array(geo.pointIntAttribValues("bdy_n_val")) # read time step time_step = geo.attribValue("time_step") # read matrices d0 = cache_node.cachedUserData("d0") star1 = cache_node.cachedUserData("star1") star0 = cache_node.cachedUserData("star0") star0inv = cache_node.cachedUserData("star0inv") # build L = -d0.transpose().dot(star1.dot(d0)) D = star0inv.dot(L) # index slice instructions indB = np.flatnonzero(bdy_d) indI = np.flatnonzero(bdy_d==0) # slice the matrix LI = L[indI,:] LIB = LI[:,indB] LII = LI[:,indI] star0 = star0 + L - L # convert from diag star0I = star0[indI,:] star0IB = star0I[:,indB] star0II = star0I[:,indI] # slice vector uI = u[indI] # solver pre n = LII.shape[0] lhs = star0II - time_step*LII rhs = star0II.dot(uI) + time_step*LIB.dot(bdy_d_val[indB]) + time_step*star0II.dot(bdy_n_val[indI]) # linear solve out = la.cg(lhs,rhs) # assign solution solI = out[0] u[indB] = bdy_d_val[indB] u[indI] = solI # save to attribute hou.Geometry.setPointFloatAttribValues(geo,"u", u )
  10. Tutorial HIP Library

    Jason Harmon.. trig grains audio Chops audiotrigF01.hiplc
  11. Script for Cop FLipbook Cache

    I have script(script SOP- glcache -c)Hscript, that work on Sop level for viewing A Cop images on grid that works.. but after some frames a notice that memory on COP- FlipBook Cache increasing ...is it some script to Slowdown that process or just make after 1 frame to purge memory? ...Hm Cop.hiplc
  12. @Ultraman maybe Pivot Matrixhm.hiplc
  13. Cosmic Web

    @sipi combine those 3 files https://entagma.com/physarum-slime-mold/
  14. Bayer Dithering

    ahaaaa I get it iii.hiplc
  15. Bayer Dithering

    @Alain2131 @sessionbeer hm I don't see anything on my view port. Please someone post a scene
  16. Bayer Dithering

    @sessionbeer You only interested in VOP solution or? I like Topic . theory li2 li1 https://www.sidefx.com/docs/houdini/ref/utils/iquantize.html
  17. @Juangrafista Nice here its something to investigate(that I have in LIB) and just have Fun... i am also curious to know ..How to loooooooop .. here its Theory, Boxess.hiplc
  18. How to use Labs Decal Projector?

    @raincole here You have more in detail in part4
  19. How to use Labs Decal Projector?

    @raincole maybe it Helps! dec.hiplc
  20. For-Each-Loop Question

    @bratro how to use att in foreach _ plus you have Houdini Kitchen for how to use L-system ..you have more Variation in L-system..maybe a little bit slow compering with Sop manipulation but
  21. Selecting polygons based on distance help

    @archisu Try this minmax.hiplc
  22. Importing .blend files to Houdini?

    @JJ FX you have this
  23. Heat Transmission Possible?

    @xarthur http://wordpress.discretization.de/ddg2016/ ____ files on Topic On Growth and Form
×