jit.phys.body @shape dynamicmesh? [titled edited]

    Aug 10 2018 | 1:03 pm
    Hallo fellow Maxers - it's been a while, I have a fairly simple conceptual question relating to a fairly complex Jitter environment I'm working on at the moment. I am currently developing an interactive synthesizer (for disabled musicians) which is set up as follows: Leap Motion (OSC hand/finger tracking) --> multiple [jit.gl.nurbs], one discrete nurbs instance for each of wrist and 5 fingers (thanks Luke W). Hand and finger motion distorts the centre of each of the 9x9 nurbs meshes (I'll link to two short video demos below).
    In another patch (thanks to Rob R), I'm using [jit.phys.multiple] to create a virtual world of multiple balls resting on a movable platform (whose Y axis movement agitates the balls); each ball's amplitude is mapped to [oscbank~]. I'm sure you've all seen his tutorial.
    The concept is to replace the single moveable floor with the gl.nurbs meshes, such that the user can agitate the balls using their hand and fingers. Which raises the question, can I assign virtual physical properties of mass and restitution to the [jit.gl.nurbs] mesh? I'm guessing No, so my final question is: is there a virtual mesh 'object' in the jit.phys environment?
    Leap to [jit.gl.nurbs] demo https://www.youtube.com/watch?v=ydCCfOFa5HQ
    [jit.phys.multiple] to [oscbank~] example https://www.youtube.com/watch?v=Cj0BjRkE8wQ
    Many thanks Brendan

    • Aug 10 2018 | 1:58 pm
      . . . I guess I'm looking for a deformable jit.phys.body.
    • Aug 10 2018 | 2:10 pm
      hmmm, [jit.phys.body @shape dynamicmesh], never did grasp matrices, now searching for a tutorial. . .
    • Aug 10 2018 | 3:18 pm
      example patch to search for is phys.body.dynamicmesh.maxpat
    • Aug 10 2018 | 6:10 pm
      Thanks Rob, I've looked at the example, tinkered with it (crashed Max a few times), and I'm afraid I have to ask for further guidance. I would like to distort the mesh at specific coordinates and I can't get my head round how the matrix noise is working - Jitter matrices are like magic to me. I would like to specify (fixed) X and Z coords and vary the Y amplitude, within that dynamic mesh (as if placing a hand below a plane or blanket. Attaching an image, because my 180 days just expired ;)
    • Aug 11 2018 | 3:19 am
      Have you considered using jit.phys.multiple to create a ctlmatrix? I am not sure this is what you are looking for but recently I used nubrs to create a plane that could be deformed by objects hitting on it, see image
    • Aug 11 2018 | 3:21 am
      The important attribute here is the @contraint point2point to make the nurb plane move as one thing...
    • Aug 11 2018 | 5:21 am
      Hi thanks for the suggestion Michelez. My main issue is a cognitive one - in the two video examples above, I kinda of understand how/why they work, but the screenshot above, no idea. I can't 'visualise' what is happening, so I can't adapt it for my specific needs. I understand that the voronoi noise is displacing multiple points on the jit.phys.body dynamicmesh (via the jit.op @op + object) but I can't grasp what the jit.matrix is outputting and how it's affecting the jit.phys.body. I'll admit to being a complete Jitter newb.
      Distorting a nurbs mesh sounds appealing, do you have an example patch I could hack?
      Thanks Brendan
    • Aug 11 2018 | 7:49 am
      Maybe this helps?
    • Aug 11 2018 | 5:04 pm
      I've only glanced at this, but it looks very promising and hackable. Love you long time, indeed.
      And thank you Rob, Michelez too.
      If my previous form is anything to go by, I will disappear for a week, and then return with another unsolvable newb-based issue ;)
    • Aug 12 2018 | 11:56 am
      Glad it's useful. Wasn't too sure about it first and although it's been a while if you have any questions feel free to ask.
    • Aug 12 2018 | 12:49 pm
      The challenge I'm struggling with atm is working out how to distort the dynamic mesh plane at a specific point, and not randomly via the bfg noise matrix. The control source will be a single stream of Y axis data from Leap finger point(s).
    • Aug 12 2018 | 1:57 pm
      Definitely not a good solution (can be done entirely in gen as well for example) but just to show how you could selectively distort it.