- #1
thomasvt
- 7
- 0
Hi,
Imagine: a computer program like 2D Lego with only 1 type of block (a small square one) with which you can create constructions.
Blocks can be placed on an invisible grid. There is gravity, and boxes can't fly, so you need to build any construction from the ground up. Boxes are always "glued" to their immediate neighbours, so you can create anything you like, as long as you abide by some simplified physics that will be explained below.
Blocks have mass, and hence, weight.
Blocks don't leave their gridcell position because of bending or deforming, that does not exist. They only can do a few things for which I need to:
* calculate the pressure for each block due to the mass of blocks that it supports.
* calculate torque or pulling forces due to vertically hanging boxes or horizontal constructions with groundsupport only on one end so the other side causes a torque due to gravity.
For now, I actually would like some directions in reading material that could help solving the mini-problems in this system to combine them in an iterative system with cumulating forces.
Due to a lack of knowing how this physically works in reality, I think, I'm making mistakes in the abstraction of reality to my simplified system because i get some problems.
I have done a lot myself already, but have some anomalies in my algorithm. But because a session time-out deleted my last big attempt to post the entire story, I don't feel like redoing that work unless someone is interested in guiding me through this.
So for now I'm hoping for some magical resource that explains me some questions:
* when creating a construction with boxes resting on one or more supporting walls of boxes, how can I generically (iteratively) find out which block supports which other blocks so each block knows its pressure.
I had a system for this, but it has a flaw when using a supporting pillar of width > 2. Only the left and rightmost columns of boxes of the pillar support almost the entire structure above, the middle columns of boxes does almost nothing.
My system uses a shortest-path-to-ground technique to find out what boxes carry whichother boxes. And if a wide construction is put on a pillar of 3 boxes width, the entire left side of the construction rests on the leftmost column of the pillar, and the right side of the construction rests on the rightmost column op the pillar. Both, because that is their shortest path to the ground. Any middle column of the pillar is ignored and carries almost nothing.
* when creating a horizontal construction, the further you go horizontally, the more weight is wanting to go down which causes a torque on each box which cumulates depending on how many boxes are hanging further down the road. I want to know how to measure this cumulating force by seeing how two boxes that are glued together react on each other in function of gravity. I have a system now that keeps track of forces in the four corners of each box, and deals with most of the problem, but something tells me it's not entirely correct.
So, thanks for reading 'til here, thanks even more for answering :)
Imagine: a computer program like 2D Lego with only 1 type of block (a small square one) with which you can create constructions.
Blocks can be placed on an invisible grid. There is gravity, and boxes can't fly, so you need to build any construction from the ground up. Boxes are always "glued" to their immediate neighbours, so you can create anything you like, as long as you abide by some simplified physics that will be explained below.
Blocks have mass, and hence, weight.
Blocks don't leave their gridcell position because of bending or deforming, that does not exist. They only can do a few things for which I need to:
* calculate the pressure for each block due to the mass of blocks that it supports.
* calculate torque or pulling forces due to vertically hanging boxes or horizontal constructions with groundsupport only on one end so the other side causes a torque due to gravity.
For now, I actually would like some directions in reading material that could help solving the mini-problems in this system to combine them in an iterative system with cumulating forces.
Due to a lack of knowing how this physically works in reality, I think, I'm making mistakes in the abstraction of reality to my simplified system because i get some problems.
I have done a lot myself already, but have some anomalies in my algorithm. But because a session time-out deleted my last big attempt to post the entire story, I don't feel like redoing that work unless someone is interested in guiding me through this.
So for now I'm hoping for some magical resource that explains me some questions:
* when creating a construction with boxes resting on one or more supporting walls of boxes, how can I generically (iteratively) find out which block supports which other blocks so each block knows its pressure.
I had a system for this, but it has a flaw when using a supporting pillar of width > 2. Only the left and rightmost columns of boxes of the pillar support almost the entire structure above, the middle columns of boxes does almost nothing.
My system uses a shortest-path-to-ground technique to find out what boxes carry whichother boxes. And if a wide construction is put on a pillar of 3 boxes width, the entire left side of the construction rests on the leftmost column of the pillar, and the right side of the construction rests on the rightmost column op the pillar. Both, because that is their shortest path to the ground. Any middle column of the pillar is ignored and carries almost nothing.
* when creating a horizontal construction, the further you go horizontally, the more weight is wanting to go down which causes a torque on each box which cumulates depending on how many boxes are hanging further down the road. I want to know how to measure this cumulating force by seeing how two boxes that are glued together react on each other in function of gravity. I have a system now that keeps track of forces in the four corners of each box, and deals with most of the problem, but something tells me it's not entirely correct.
So, thanks for reading 'til here, thanks even more for answering :)