Jump to content

konstantin magnus

  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


konstantin magnus last won the day on July 14

konstantin magnus had the most liked content!

Community Reputation

161 Excellent


About konstantin magnus

  • Rank

Contact Methods

  • Website URL

Personal Information

  • Name
  • Location
    Stuttgart, Germany

Recent Profile Visitors

4,677 profile views
  1. Volleyball

    Quite straight forward! You could also try copying your grid to an octahedron from platonic solids. However, this requires to handle the orient attribute on the platonic first. vector up = v@N.zxy; // assign swizzled normal vectors to up matrix3 rot = maketransform(v@N, up); // rotation matrix based on normals and up p@orient = quaternion(rot); // convert rotation matrix to quaternion (vector4) copy_grid_to_platonic.hiplc
  2. Volleyball

    Ok, your topology looks more convincing. So I extrude the stripes, as well: Add stripes on a box using relative bounding box coordinates. Spherify by normalizing point coordinates. Split by colours and extrude. Fuse and subdivide. Here is the simplified stripe code: int stripes = chi('stripes'); vector bbox = relbbox(0, @P); vector nml = abs(@N); if( nml.z > 0 ){ bbox.y = 0; } if( nml.y > 0 ){ bbox.x = 0; } if( nml.x > 0 ){ bbox.z = 0; } @Cd = ceil(bbox * stripes) / stripes + @N; volleyball_2.hiplc
  3. Volleyball

    Just take a box and let some sine waves run across its surface. // INPUTS int stripes = chi('stripes'); float diam = chf('diameter'); float bump = chf('bump'); float bend = chf('bend'); // GEOMETRY vector nml = abs(@N); vector bbox = relbbox(0, @P); // SPHERIFY @P = normalize(@P); // SURFACE vector shape = abs( sin(bbox * $PI * stripes) ); shape = pow( sin(shape), bend) * bump; // STRIPES ORIENTATION if( int(nml.z) ){ @P += @N * shape.y; } if( int(nml.y) ){ @P += @N * shape.x; } if( int(nml.x) ){ @P += @N * shape.z; } // GROUP SEAMS i@group_seams = length(@P) < 1.001; // OVERALL SCALE @P *= diam * 0.5; volleyball.hiplc
  4. Brick Tube with a bend

    You can promote the ranged point group to edges and dissolve those. brick_pipe.hiplc
  5. Zahia Hadid Architechture

    Watch Junichiro´s channel to see how surface population can be done in Houdini or optionally in Rhino, as well: https://www.youtube.com/channel/UC5NStd0QmACnWs9DzqJ3vHg/videos
  6. Stairs between two floors?

    Append a polyframe node on your resampled lines, set "Tangent name" to N, set N.y to 0 and copy a box onto these points. stairs_pframe.hipnc
  7. Banding NPR shader

    Here is another cartoon shader based on lambertian shading and a color ramp. And a quick tutorial on it, as well: cartoon_shader_4.hiplc
  8. Solver output time interpolation

    If you really know whats going on inside your solver, it´s probably more working efficient to manipulate time before simulation. VEX functions such as smooth() or simple formulas using @Time can change the speed over time. So inside a solver node, try this: float seconds = 4; float t = 1 - smooth(0, seconds, @Time); @P += @N * t; sim_ease_time.hipnc
  9. HDA | VOP | Bend

    Great work! Some viewport handles would enhance the usability. Regarding the video a technical look inside your tool would have been interesting, as well.
  10. Sum of attributre over ten frames?

    Hi Alex, VEX already supplies a function called spline() for smoothly interpolating values. // INPUT ARRAY FROM 2ND INPUT f[]@heights = detail(1, "heights", 0); int l = len(@heights); // ADD FIRST AND LAST ELEMENTS to be ignored by spline-function insert(@heights, 0, 0.0); append(@heights, 0.0); // INTERPOLATE VALUES int change = chi('change_rate'); float t = (@Frame - 1) / float(change) / l; f@height = spline("cspline", t, @heights); // OUTPUT @P.y *= @height; @Cd = set(@height,0,1); interpolate_array_values.hiplc
  11. Banding NPR shader

    Yes, true. Because I thought thats what you wanted. You can always connect a parameter node with "Cd" to the color input of pbrdiffuse, though.
  12. Meshing Lidar Data on the Farm

    Hi Jordi, could you perhaps re-upload this? The link seems broken. Thank you!
  13. Setting Camera defaults

    Click on the cogwheel and choose "Save as permanent defaults".
  14. Rotate cameras from vector list to degrees

    Thanks to both of your help I was able to make it work: Just one more question: How can I change the matrices so that the cameras are not rolled sideways?
  15. Banding NPR shader

    Hi Philo, its just a start, but I set up a diffuse shader that quantizes lighting using the output of a pbrlighting-node. Make sure to set your render view to the 'cartoon' channel. cartoon_shader.hiplc