Calculating the force of a collision

In summary, The speaker is working on physics-related code for a game in Unity engine and is using pre-fractured chunks on a wall with different connective strengths. The strength is calculated using the Tensile Strength of the material multiplied by the surface area shared with other chunks. The speaker is trying to determine the force and velocities of objects colliding with the wall, taking into account the energy lost from breaking off chunks. They are also considering the toughness of materials and how it affects collisions. The speaker is facing difficulties with collisions, as digital objects have no "give" and are completely elastic rigidbodies. They are seeking advice on how to remedy this issue. The speaker is also implementing compressive strength for pulverizing chunks into smaller
  • #1
Nanako
39
0
Hi all x I'm doing some physics related code for a game in unity engine. Unity does have a very full featured physics engine, but i can't utilise it in certain circumstances.

I have a wall made up of pre-fractured little chunks, and each chunk has a connective strength which represents how difficult it is to knock loose from the wall. This strength is calculated as the Tensile Strength of the material (MPa) multiplied by the surface area this chunk shares with other chunks (M^2). Therefore i believe this value is in Newtons, and it approximately represents the magnitude of a force required (regardless of direction, or point of application on the surface) to break it loose from the wall and set it free.

Once that part's done i can hand it over to unity's built in physics engine, but while it's still attached to the wall it is an immovable object, and so i need to manually simulate physics in the case of collisions here.

I've been reading up on F=MA, but the problem here is that virtual objects don't stretch and deform like real ones, generally, so collisions generally happen in an instant, between singular points, rather than over any appreciable period of time or surface area. This has left me somewhat confused as to how to apply Newton's laws, I need help.

So, my objectives:
1. When an object hits the wall, i need to determine the force it's going to apply, and see if it goes above the chunk's strength. (but how?)

2. If it does, then the chunk will be knocked loose, and i need to set the new velocities of both the chunk, and the colliding object, taking into account the energy lost from breaking off the chunk. so the collider will be slowed somewhat, depending on it's mass/energy, but not brought to a complete stop.

Step 2 is needed because unity will normally see this collision as between a normal physical rigidbody, and a static/immovable object, which results in the former being brought to a complete halt. manually setting the velocities to what they ought to be is the only way i can think to work around thisIf the force is too low, i'll just have the collider stop, or bounce off. the built in engine can handle this easily
 
Last edited:
Physics news on Phys.org
  • #2
There's a property of materials called toughness. I don't think you can calculate this without insane microscopic simulations, so you'll have to look it up in a table somewhere. Calculate the collision energy and see if it exceeds the toughness (times the volume of impact). If it does, then the material will be damaged. You can probably tweak the damage depending on how much the toughness is exceeded.

The chunks coming out will basically follow from inelastic collision physics. Momentum is conserved. Some energy is absorbed into fracturing the material. This will probably be some fudge factor times the toughness times the volume of wall that was destroyed. Some additional energy is absorbed as heat--depends on some elasticity parameter.

If this is just a game, you don't need super accurate physics.
 
  • #3
Khashishi said:
There's a property of materials called toughness. I don't think you can calculate this without insane microscopic simulations, so you'll have to look it up in a table somewhere.
I really don't want to do this. I originally planned to use shear, and i had to scrap that too. Apparently tensile strength is just about the only durability-related property that everyone can agree on, and for most other properties, its a crap shoot whether any particular source lists them. i couldn't find consistent enough sources for all the materials i want to use.

Can this be done with force?
 
  • #4
Help still needed. I'm making a fair bit of progress, but I'm running ionto the infinite acceleration problem. Digital objects have no "give" and are completely elastic rigidbodies, which means things just stop dead on collision. The impact happens over one frame, and is functionally either framerate dependant, or results in infinite acceleration on impact

i need some advice on remedying this. Since there is no collision time, it can't be measured, but i can assign an arbitrary time to it which would solve problems. I need some ballpark figures of realistic stopping times for hard objects though. Say, blocks of steel, or concrete.
 
  • #5
No, it can't be done with just force.
Note that toughness scales with volume, whereas tensile strength scales with area. But when you are throwing things at walls, a thicker wall is going to stand up to more than a thin wall. Toughness is what you want.
 
  • #6
Khashishi said:
No, it can't be done with just force.
Note that toughness scales with volume, whereas tensile strength scales with area. But when you are throwing things at walls, a thicker wall is going to stand up to more than a thin wall. Toughness is what you want.
a thicker wall is going to have more of each chunk's surface area connected to other chunks, and therefore will scale just fine. i don't see the issue

i am also implementing compressive strength for governing the pulverising of chunks into smaller chunks, but that is actually mostly unrelated
 

FAQ: Calculating the force of a collision

What is the formula for calculating the force of a collision?

The formula for calculating the force of a collision is F = m * a, where F is the force, m is the mass of the object, and a is the acceleration of the object.

How do you determine the mass of an object involved in a collision?

The mass of an object can be determined by weighing it using a scale or by using the object's density and volume to calculate its mass.

Is the force of a collision affected by the velocity of the objects involved?

Yes, the force of a collision is directly proportional to the velocity of the objects involved. This means that the faster the objects are moving, the greater the force of the collision will be.

Can the force of a collision be negative?

No, the force of a collision cannot be negative. It is always a positive value, as it represents the amount of energy transferred from one object to another during the collision.

How can the force of a collision be minimized?

The force of a collision can be minimized by decreasing the velocity of the objects involved or by increasing the time of impact. This can be achieved by implementing safety measures such as airbags, seatbelts, and crumple zones in vehicles.

Similar threads

Back
Top