POV-Ray : Newsgroups : povray.binaries.animations : MegaPOV MechSim: Grouping & Gravity : MegaPOV MechSim: Grouping & Gravity (Test2-3.mpg - 490 KB) Server Time
19 Jul 2024 05:40:29 EDT (-0400)
  MegaPOV MechSim: Grouping & Gravity (Test2-3.mpg - 490 KB)  
From: Mike Williams
Date: 28 Jul 2003 16:58:23
Message: <HuwtVOAb4YJ$EwPD@econym.demon.co.uk>
Wasn't it Tom Bates who wrote:
>In the fourth, Test2-3.mpg, the objects are separated into
>groups, and the objects are connected.  This does not work
>as expected.  For some reason, it seems that this
>arrangement affects the objects response to gravity.

Here are some thoughts about what might be going on.

I've had experience whereby if two connected masses become closer than the sum
of their radii, then they can get stuck in mid air.

When you're using the connections, then these lines try to cause two masses of
radius 0.1 to be 0.1 units apart, and might have something to do with it.

connection { mEnd - 2, mStart+ 2 stiffness Stiff  damping Damp length 0.1}
connection { mEnd - 1, mStart+ 3 stiffness Stiff  damping Damp length 0.1}

I can't seem to fix it by increasing the connection length in your example,
but I can remove the "getting stuck in mid air" effect by reducing the radii
of the masses (including those in the grid) to 0.01 and raising the density to
1000000 to keep their mass the same. Unfortunately, it then seems to miss some
of the collisions, and the bones interpenetrate - I can't help you with that
effect. 

Here's a simple topology that exhibits getting stuck in mid air only if groups
and connections are switched on:

      topology {

         #if (DOGROUP) group { #end
            mass { <0,2,0>, 0, 0.1 density Dense }          
            mass { <1,2,0>, 0, 0.1 density Dense }          
            connection { 0, 1 stiffness Stiff damping Damp }
         #if (DOGROUP) } #end

         #if (DOGROUP) group { #end
            mass { <0,1,1>, 0, 0.1 density Dense }          
            mass { <1,1,1>, 0, 0.1 density Dense }          
            connection { 2, 3 stiffness Stiff damping Damp }
         #if (DOGROUP) } #end

         #if (DOCONNECT)
            connection { 1, 2 stiffness Stiff damping Damp length 0.15}
         #end

        save_file "test2.dat" 3
      }

* All constants as per Tom's original file.
* Because there are no faces, use this to display the object
        MechSim_Show_All_Objects(-1, false, -1, "")

If you vary the length, then at about length 0.184 you'll find that the object
hits the ground before the connection manages to get the masses close enough
to get stuck.

-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.