Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Community Reputation

1 Neutral

About FruehBird

  • Rank

Personal Information

  • Name
    Shawn Frueh
  • Location
    Minneapolis MN
  1. For-Loop within For-Loop

    I was able to get it working. However to do so I had to bypass the first iteration to initialize outputing the mesh that gets added through the copy sop. Curious as to why that happens. For-Loop_Intersection_v05.hip
  2. For-Loop within For-Loop

    Here is a version where I am able to iterate and scale a single copy. I just can't seem to merge the two loops together. For-Loop_Intersection_v04.hip
  3. For-Loop within For-Loop

    Thanks for the link Atom. This is just a simple part of a much larger operation. Eventually I will be placing a prototype on to each point, one at a time and checking for intersections, if one exists I will be rotating/scaling the prototype until no intersections occur and then move on to the next point and do the same.
  4. For-Loop within For-Loop

    I am working on a way to place packed primitives (sphere) onto a point cloud one at a time, detect if there is a collision and shrink the object until there is no collision. I have attached a file I am working on. Currently the scale is set to the iteration of the loop but does not seem to work correctly. For collision I am using the intersection node on feedback of the first for-loop and setting a detail attribute Collision to the just added sphere and from there setting a stopping value for the for-loop is attribute exists. The internal for-loop is then merged into the first and the cycle continues until all the points are filled. Am I going about the right way of setting this up? For-Loop_Intersection.hip
  5. I got it working! In order to apply a pivot to a matrix you need to invert the original matrix before multiplying it by the pivot. After that you will need to invert it again and add the pivot xyz to the position on the matrix. ApplyTransPivWorking.hip
  6. I got closer with setting the pivot as the transform of a second matrix and multiplying the two but something is still off. With the pivot the position becomes (0.42052, 11.0109, 7.3853) With the multiplying it becomes (0.54003, 11.050306, 7.68421) ApplyTransPiv.hip
  7. How does the pivot work when using the make transform Vop node? I am trying break down and figure out the function of the Make Transform node using python (Outside of any 3d software). The Translate is pretty basic as I can just place them into a matrix as they are x = m[3][0], y = m[3][1] and z = m[3][2]. For rotation I am using the following: def EulerToMatrix(Rotation): x, y, z = Rotation XM = M3([[ 1, 0, 0], [0, math.cos(x), -math.sin(x)], [0, math.sin(x), math.cos(x)]]) YM = M3([[math.cos(y), 0, math.sin(y)], [0, 1, 0], [-math.sin(y), 0, math.cos(y)]]) ZM = M3([[math.cos(z), -math.sin(z), 0], [math.sin(z), math.cos(z), 0], [0, 0, 1]]) return (ZM * YM * XM) I can then just pipe this information into the Matrix4. The problem I have now is that I cannot find any information that I can understand on how to apply the pivot to the matrix4. It's not as simple as just adding. I have attached a file that has the make transform that I am using to test against. The pivot seems to be linked to the rotation and so I am guessing it is related to the scale as well. Is there any way to break down how this pivot transforming works? MakeTransPiv.hip
  8. Looks like user error. I forgot to double check my point counts. The resample was distance based. Align_Normal_Fix.hip
  9. I am trying to mimic a rail spline like you would use in Cinema4D. Essentially I would like each point normal to look at the point with the same index on another curve. From what I've found on getting a direction from two vectors is to simply subtract B from A. However, this does not seem to be the case. (See attached file) Is there more to it than simply subtraction? Align_Normal.hip