Jump to content

The Impossible Physics of Allomancy


Pagerunner

Recommended Posts

7 hours ago, Oltux72 said:

It still looks to me like you can get away with one initial force and a single equation. Or a set of equations derived from each other.
One proposal. The allomancer sets a total force. In the static case this is just what both sides feel. If something is moved however, the interaction is governed by conservation of impulse. The constraint is compatible with the static case. In a static case impulse is obviously conserved.

We have to throw out action equals reaction, but we already threw out conservation of energy. So can we derive observed behavior from conservation of impulse? I think so. At least the push on something heavy and you are shifted, push on something light and it is shifted behavior would be the result. What do you think?

What do you mean when you say "conservation of impulse"? What are the variables involved, and what is the equation relating them?

Impulse is a term used for an instantaneous change in momentum (and, correspondingly, velocity). When the coin hits the planet, its velocity drops to basically zero. The planet accelerates from zero to basically zero. Impulse is the integral of an infinite large normal force of the collision over an infinitely small time of the collision, which will work out to be a step change in momentum at that time of contact. But we've already fudged past all that by switching over to the mass of the planet in our equations; it's part of our assumptions, and doesn't provide any additional information to constrain the system. So I'm not sure how it is relevant in this situation.

If you're suggesting that the rate of change of momentum is conserved, then you have an equation where m1a1 - m2a2 = m1a3 - m3a4. But this model breaks down in the same situations as Model 2; there are times, like when Wax pushes the notebook up against the bottom of the table, where there is no addition of momentum to the system. a3=0, and a4=0. But in that situation, since the force balances are more complicated (with normal forces between the allomancer, the ground, the table, and the notebook), there are a range of forces that all result in no momentum added to the system. You can push all the way from "just above the weight of the coin," all the way to "just below the weight of the table," and from a point of view of the system's momentum, they're all indistinguishable. In this situation, we can't come up with a single solution for the allomantic force based on a desired rate of change of momentum; therefore, it's not a strong enough model.

Link to comment
Share on other sites

16 hours ago, Pagerunner said:

Can you think of a new specific relationship or phenomenon that we can evaluate? One that would match all the complex situations presented throughout the books as well or better than the relative velocity correction factor? The other variables you mentioned earlier, like mass of the allomancer and distance to the target, will also have an relationship to the force. But for the sake of the scenarios being discussed, they'll just be constants, so they won't help us algebraically constrain the problem.

This is one of my favorite threads on the Shard, though admittedly the math is a bit beyond me, I haven't used differential equations since high school. I don't know if you have considered this model yet, but to me at least it seems to resolve most of the apparent problems with the physics of Allomancy.

When an Allomancer burns Iron or Steel, perceptible lines extend from the Allomancer's center of mass to the center of mass of all the metal objects that they can apply force to. These are described in text as anchors, and I think this terminology is significant. From the text it seems like when an Allomancer steel pushes, they are applying force to an object through a rigid body linkage connecting their center of mass to the pushed object's center of mass, with the caveat that the rigid body linkage applying the force is itself a magical construct and that the linkage only exists when the Allomancer is actively pushing on the object.

When the Allomancer pushes on an object, the force is applied to the object at the end of the linkage (like the acceleration experienced at the end of a pole when you push it forward). The magic part comes in from the fact this rigid body connecting the Allomancer and the object retains it's rigidity but changes its length based on the positions of the Allomancer's center of mass and the object's center of mass, effectively allowing the full sum of the vectors of force to be transferred along this magical linkage, as if the final force vectors were applied directly to the object's center of mass and the Allomancer's center of mass. When the object's forward motion is resisted, the force of the push cannot impel the object, the energy of the push is instead directed back along this rigid body linkage causing the Allomancer to move.

To describe this in terms that could be programmatically simulated, when an Allomancer burns Steel or Iron, they are creating a linkage with the object being pushed or pulled on, with one fixed point of linkage at the allomancer's center of mass and one pivot point of linkage at the anchor's center of mass. As long as the Allomancer is burning their metals and maintaining the linkage, the force of their push/pull is directed along this linkage.

The benefit of this model is that Allomancy behaves like it does in the books, allowing the otherwise nonsensical mechanics of Vin's horseshoe flight to work, because a push force applied to the rigid body linkage between Vin and a horseshoe in front of her could be continously applied to just balance out the force of gravity allowing Vin's forward momentum to carry her past the Horseshoe until the she could then apply a greater push on that horsehoe to gain altitude and impel herself forward (helping to counteract the retrograde motion of pulling on the trailing horseshoes).

The only other variable that I think would need to be accounted for to give Allomancy the exact behavior that we see in the books, would be the introduction of a force diminishing effect based on the distance between the Allomancer and the anchor being pushed/pulled on, possible using the inverse square law.

 

Link to comment
Share on other sites

40 minutes ago, hoiditthroughthegrapevine said:

This is one of my favorite threads on the Shard, though admittedly the math is a bit beyond me, I haven't used differential equations since high school. I don't know if you have considered this model yet, but to me at least it seems to resolve most of the apparent problems with the physics of Allomancy.

When an Allomancer burns Iron or Steel, perceptible lines extend from the Allomancer's center of mass to the center of mass of all the metal objects that they can apply force to. These are described in text as anchors, and I think this terminology is significant. From the text it seems like when an Allomancer steel pushes, they are applying force to an object through a rigid body linkage connecting their center of mass to the pushed object's center of mass, with the caveat that the rigid body linkage applying the force is itself a magical construct and that the linkage only exists when the Allomancer is actively pushing on the object.

When the Allomancer pushes on an object, the force is applied to the object at the end of the linkage (like the acceleration experienced at the end of a pole when you push it forward). The magic part comes in from the fact this rigid body connecting the Allomancer and the object retains it's rigidity but changes its length based on the positions of the Allomancer's center of mass and the object's center of mass, effectively allowing the full sum of the vectors of force to be transferred along this magical linkage, as if the final force vectors were applied directly to the object's center of mass and the Allomancer's center of mass. When the object's forward motion is resisted, the force of the push cannot impel the object, the energy of the push is instead directed back along this rigid body linkage causing the Allomancer to move.

To describe this in terms that could be programmatically simulated, when an Allomancer burns Steel or Iron, they are creating a linkage with the object being pushed or pulled on, with one fixed point of linkage at the allomancer's center of mass and one pivot point of linkage at the anchor's center of mass. As long as the Allomancer is burning their metals and maintaining the linkage, the force of their push/pull is directed along this linkage.

The benefit of this model is that Allomancy behaves like it does in the books, allowing the otherwise nonsensical mechanics of Vin's horseshoe flight to work, because a push force applied to the rigid body linkage between Vin and a horseshoe in front of her could be continously applied to just balance out the force of gravity allowing Vin's forward momentum to carry her past the Horseshoe until the she could then apply a greater push on that horsehoe to gain altitude and impel herself forward (helping to counteract the retrograde motion of pulling on the trailing horseshoes).

The only other variable that I think would need to be accounted for to give Allomancy the exact behavior that we see in the books, would be the introduction of a force diminishing effect based on the distance between the Allomancer and the anchor being pushed/pulled on, possible using the inverse square law.

 

That is what I describe as Model 2. The major issue with it is that there are situations where the "linkage" is not expanding, or it switches from expanding to contracting when the target contacts a surface. 

Link to comment
Share on other sites

34 minutes ago, hoiditthroughthegrapevine said:

This is one of my favorite threads on the Shard, though admittedly the math is a bit beyond me, I haven't used differential equations since high school. I don't know if you have considered this model yet, but to me at least it seems to resolve most of the apparent problems with the physics of Allomancy.

I believe Pagerunner addresses this in Models 2 in his document.

This is how a lot of people tend to view Allomancy, and I wouldn't be surprised if it's what Brandon had in mind. But there's a technical inconsistency with the idea. Pagerunner can probably explain it more eloquently, but I'll borrow the examples in his document and try.

Mathematically, what you're saying is that the Allomancer mentally controls the rate of displacement between herself and the Pushed object. In other words, you are controlling the relative velocity between yoruself and the thing being Pushed. You could imagine that have a telescoping stick that they can extend or retract at a specific rate which they mentally control. To accelerate something fast, they extend this link fast. To accelerate something slowly, they extend it slowly. When you're pushing something relatively light, little force is required. When it hits a wall you feel a jolt because your "stick" suddenly has no more room to expand without shoving you backwards. You were forcing the coin away from you at X m/s, so when it stops suddenly you get pushed the other direction at X m/s until you consciously let go or ease up on the Push.

Pretty intuitive. But it breaks down in some circumstances

Say you're falling towards the ground. You take out a coin and Push it towards the ground so that it beats you there. Then the coin hits. What happens? Your intuition says that you keep Pushing and use the coin to slow yourself down as you fall. But the model that we just defined is saying that you control your relative velocity. If the coin was falling X m/s faster than you and it suddenly stops, you get pushed at X m/s upward. That's some intense acceleration that you experience, and nothing like that ever happens in the book. You could adjust your rate of Pushing the moment the coin hits to accommodate for the sudden change, but this just doesn't happen in the books.

Your intuition is comparing it to using your hand to push something away, which doesn't work this way. You can push something against a wall and feel a jolt when you make contact. You can fall to the ground arms first and use your arms to ease yourself down.

But that's because you are consciously changing the way you push in each case. Guess what happens when I drop you head first, arms out, with a blindfold on? You're going to break your arms. ;)

The other problem is that there's not always a change of displacement involved. We have a case where Wax Pushes a metal object against a table and holds it in place. So there's a (relatively?) constant force without any relative velocity. This means the model is kind if inadequate. We aren't controlling the rate that our stick extends here, but rather the force that it is pushing with. And that puts us back into the territory of Model 1.

Lastly, you might suppose that perhaps the system is a mix of Models 1 and 2. He addresses this in Model 5 though. Long story short is that the two models are inconsistent with one another, and I don't think there's ever really any evidence to suggest that an Allomancer has to alternate ways that they Push. Could be a subconscious switch that happens... But then you come back around to the "blind" cases. How does it work when you're not looking? Because it doesn't make sense of the system abruptly changes without any information.

Is all of this a bad way of thinking about things? Not necessarily. But the goal is to define something more consistent.

(darn, Page beat me to it)

Link to comment
Share on other sites

4 hours ago, Pagerunner said:

That is what I describe as Model 2. The major issue with it is that there are situations where the "linkage" is not expanding, or it switches from expanding to contracting when the target contacts a surface.

I see your point but it's subtly different because the Allomancer is defining just one thing, namely magnitude of force, the vector component of the force is being defined by the linkage. This is definitely where the magic comes in, because the connection of the Allomancer to his anchor is not actually a rigid body, it's basically a way of treating both Allomancer and anchor as if they were directly pushing against each other while maintaining the direction portion of the vector of force based on their true relative positions. I am going to address some of Jowfu's specifics down below, but just have to say your work is amazing, and I am just talking this out because I'm not completely convinced.

3 hours ago, Jofwu said:

Mathematically, what you're saying is that the Allomancer mentally controls the rate of displacement between herself and the Pushed object. In other words, you are controlling the relative velocity between yoruself and the thing being Pushed.

Not really, I'm saying that the Allomancer controls the magnitude of their force, which is translated through the linkage to their anchor. The mechanics of this at the moment of application of force should be similar to a rigid body linkage, but the connection between the anchor and allomancer is not a physical linkage and is not subject to physics, it's a means of applying force and calculating the directions of the resultant force vectors. Also, I think that for Allomancy to behave as it's depicted in the books the anchor has to also function as a pivot if the allomancer is applying enough force to negate the effects of gravity. It's like the old NES game, Bionic commando, the allomancer defines an anchor which creates a linkage which alters their motion. Then they can choose to apply force to this linakge to either push or pull. So say for instance a lurcher in Era 2 jumps off a building and they burn iron to establish a linkage to a streetlight. To maintain this linkage while swinging from it as the pivot of their swing would require the same force necessary for them if they were using their hands to grab the streetlight to support their body weight and counteract the forces of momentum while their direction of motion is altered. And in the less intuitive case, I think the Allomancer similarly creates a linkage with a pushed object, and if that object is incapable of motion then it functions like a pivot in the rigid body linkage. So really I think that this is one of the properties of the magic that is handled for you, namely the allomancer chooses to establish a linkage with some object which takes actively burning a metal and then this linkage affects their motion like a pivot in 2 point linkage, then the allomancer can choose to exert force along this linkage to alter their relative motion, at which point the Force becomes a vector that is applied based on the constraints of this linkage. But the allomancer can break this linkage at any time.

3 hours ago, Jofwu said:

Say you're falling towards the ground. You take out a coin and Push it towards the ground so that it beats you there. Then the coin hits. What happens? Your intuition says that you keep Pushing and use the coin to slow yourself down as you fall. But the model that we just defined is saying that you control your relative velocity. If the coin was falling X m/s faster than you and it suddenly stops, you get pushed at X m/s upward. That's some intense acceleration that you experience, and nothing like that ever happens in the book. You could adjust your rate of Pushing the moment the coin hits to accommodate for the sudden change, but this just doesn't happen in the books.

So an Allomancer is falling, and they push on their coin to speed it to the ground. Then their coin hits the ground, wouldn't the force of the jolt they experience be the same as the Force of the coin hitting the ground at it's current speed? And then subsequently the force of the change in momentum as they begin their acceleration in the opposite direction? If an allomancer was skydiving, or jumping from the top of Kridek Shaw, and tried the coin trick then the force from the change in momentum seems like it would be substantive enough to cause some serious bodily injury, but if their speed at the point of coin impact is reasonable then the stress of the momentum change could be easily dealt with (and with the more extreme case you have a pewter flare to offset the mechanical stress to the body).

Here's an example, using an admittedly simple case where the acceleration due to gravity experienced by both the Allomancer and the coin is 9.8 m/s^2, just like on earth. An 80 kg Allomancer steps off of a 20 m tall building, dropping a .03 kg coin and applying a push to that coin, giving it an additional acceleration of 8 m/s.

The Allomancer would be exerting a push force of .24 N on the coin to get it to accelerate at a rate of 17.8 m/s^2 (gravity + push). Using the freefall equation for the coin with an acceleration of 17.8 m/s^2, it would take 1.5 seconds to reach the ground, and would be traveling at a speed of 26.7 m/s and would hit the ground with a force of .53 N. The momentum of the coin that would need to be conserved upon impact would be .8 N/s (which is a neglible but noticeable to the allomancer as recoil from impact). The Allomancer while pushing on the coin for the 1.5 seconds that it takes the coin to reach the ground, would be experiencing an acceleration opposite gravity of .003 m/s2 (which is also negligible). But when the coin hits the ground, the Allomancer would still be pushing with the same magnitude of force, and due to the extreme mass of the planet + coin, they would still experience a negligible deceleration, but they would get feedback that the coin had impacted the ground from the negligible decelaration from the conservation of the coin's momentum, at which point (like the dampening effect of a person bending their legs when they land on their feet) the allomancer would begin a logarithmic increase of force applied to their push until they have overcome their downward inertia and then are pushing with the over 784 N of force necessary to fully offset the acceleration due to gravity (1G).  At the moment of coin impact, or t=1.5 s, the Allomancer in freefall (ignoring the negligible deceleration from the coin push) would be traveling at a speed of 14.7 m/s, giving the Allomancer a momentum of 1176 N/s, and the Allomancer would have .5 seconds to overcome this momentum. So since F=dp/dt, they would need to apply a total force of 2352 N over that half second to offset their momentum and after their momentum has been negated they can begin applying greater force to accelerate away from their anchor, but the linkage is maintained and force is directed using the axis of the linkage.

If the momentum was overcome instantaneously that would be 3G's of force to deal with, but the allomancer has half a second to distribute this force, and like any system with feedback, the allomancer would 1) recognize from the recoil of force that the coin has stopped moving, and 2) would use a natural, logarithmic application of force to achieve the desired outcome, minimizing the bodily strain from changing momentums. Feeback would inform magnitude of Force, and there's the fail safe of Pewter if the G forces become too great.

3 hours ago, Jofwu said:

Your intuition is comparing it to using your hand to push something away, which doesn't work this way. You can push something against a wall and feel a jolt when you make contact. You can fall to the ground arms first and use your arms to ease yourself down.

But that's because you are consciously changing the way you push in each case. Guess what happens when I drop you head first, arms out, with a blindfold on? You're going to break your arms.

This is a great analogy, but it's addressed in the above. I think maybe one of the problems in your model is that you are assuming that the force of the push of the coin before the coin contacts the ground is going to be the same as the force necessary to compensate for the Allomancer's momentum and to push against the force of gravity. There would be a negligibly straining feedback that the Allomancer would feel when the coin is no longer free to move unimpeded and the situation has changed. It's not a matter of the Allomancer trying to manipulate the displacement, the distance between them and their anchor (by growing of shrinking their force pole) it's more a matter of the pole being a spiritual construct that transfers force and direction from the Allomancer's center of mass to the anchor's center of mass.

 

Edited by hoiditthroughthegrapevine
Link to comment
Share on other sites

23 hours ago, Pagerunner said:

What do you mean when you say "conservation of impulse"? What are the variables involved, and what is the equation relating them?

Impulse is a term used for an instantaneous change in momentum (and, correspondingly, velocity). When the coin hits the planet, its velocity drops to basically zero. The planet accelerates from zero to basically zero. Impulse is the integral of an infinite large normal force of the collision over an infinitely small time of the collision, which will work out to be a step change in momentum at that time of contact. But we've already fudged past all that by switching over to the mass of the planet in our equations; it's part of our assumptions, and doesn't provide any additional information to constrain the system. So I'm not sure how it is relevant in this situation.

If you're suggesting that the rate of change of momentum is conserved, then you have an equation where m1a1 - m2a2 = m1a3 - m3a4. But this model breaks down in the same situations as Model 2; there are times, like when Wax pushes the notebook up against the bottom of the table, where there is no addition of momentum to the system. a3=0, and a4=0. But in that situation, since the force balances are more complicated (with normal forces between the allomancer, the ground, the table, and the notebook), there are a range of forces that all result in no momentum added to the system. You can push all the way from "just above the weight of the coin," all the way to "just below the weight of the table," and from a point of view of the system's momentum, they're all indistinguishable. In this situation, we can't come up with a single solution for the allomantic force based on a desired rate of change of momentum; therefore, it's not a strong enough model.

Indeed. We cannot drop the premise that the allomancer sets a force. In the case nothing moves, momentum is not changed. Action equals reaction applies.
If something is accelerated we obey Δp = Σmv = 0

Link to comment
Share on other sites

14 hours ago, hoiditthroughthegrapevine said:

Not really, I'm saying that the Allomancer controls the magnitude of their force, which is translated through the linkage to their anchor.

I think you've got a disconnect concerning how this plays out. (one which seems to be very common)

The concept where the Allomancer controls the magnitude of the force is addressed by Model 1. If you Push with a set force, and your own mass doesn't change, then the acceleration you experience never changes regardless of what happens to the coin. In order to to explain the sudden jolt, you basically need to explain why the force changes when the coin hits something.

14 hours ago, hoiditthroughthegrapevine said:

Here's an example, using an admittedly simple case...

I agree with your numbers until the end. (but I'm just nitpicking... Skip to the next bit for the real argument.) Not sure where 0.5 seconds to stop comes from. I'm getting the Allomancer at about 9 meters above the ground when the coin hits. Add up his kinetic and potential energy at this point gives the work required to stop. (15687 N*m) Dividing by height gives the average force required over that distance as about 1750 N. That's an average acceleration of 21.85 m/s. The time to stop depends completely on the shape of the Force-distance curve. Constant 1750 N will make you stop at the ground after 0.67 seconds. But you could wait until the last centimeter and Push with 1.57 kN, which would put you on the ground sooner, after a very intense deceleration. (Of course that all assumes you have such control over the magnitude of the Force, but that's another matter.)

All of that said, I don't have any major issues with what you're describing except this:

14 hours ago, hoiditthroughthegrapevine said:

But when the coin hits the ground, the Allomancer would still be pushing with the same magnitude of force, and due to the extreme mass of the planet + coin, they would still experience a negligible deceleration, but they would get feedback that the coin had impacted the ground from the negligible decelaration from the conservation of the coin's momentum

This is maybe what Oltux72 was trying to get at as well.

I don't see any reason to think the Allomancer can sense the coin hitting the ground under this model. The Allomancer isn't involved with conservation of the coin's momentum. That's between the coin and the ground. The coin hits at the velocity you figured and imparts 0.8 N*s of impulse into the ground. And that's really all there is to say about it.

All the Allomancer actually feels in this model is the reaction force of the Push, and that never changes.

Link to comment
Share on other sites

6 hours ago, Jofwu said:

I don't see any reason to think the Allomancer can sense the coin hitting the ground under this model. The Allomancer isn't involved with conservation of the coin's momentum. That's between the coin and the ground. The coin hits at the velocity you figured and imparts 0.8 N*s of impulse into the ground. And that's really all there is to say about it.

All the Allomancer actually feels in this model is the reaction force of the Push, and that never changes.

I see what you mean, and I completely agree with you on this, though in my example I didn't correctly apply the mechanic that I was primarily considering (kind of embarrassing really). I can see how this quickly gets complicated and beyond my level to theorize on, thanks for the clarifications, they were clearly explained and very helpful. If I have some more time to theorize on this and work out the math a little bit more thoroughly I might try again, but until then you guys do amazing work and it's nice to be able to kind of follow along.

Link to comment
Share on other sites

On 1/20/2019 at 6:34 PM, Jofwu said:

The mass of the thing you Push is irrelevant to how much you are accelerated.

If I push a coin with 1 Newton and I have a mass of 1 kilogram, then I will accelerate at 1 m/s^2.
If I push a house with 1 Newton and I have a mass of 1 kilogram, then I will accelerate at 1 m/s^2.

If my mass doesn't change and I Push with a constant force then the acceleration is constant.

This argues quite convincingly that the allomancer has to experience a change to the circumstances the object pushed against experiences, looking at this as neutrally as possible. Now our task is to derive the law this feedback obeys.

Link to comment
Share on other sites

2 hours ago, hoiditthroughthegrapevine said:

I see what you mean, and I completely agree with you on this, though in my example I didn't correctly apply the mechanic that I was primarily considering (kind of embarrassing really).

It's totally understandable. :)

I think our intuition says, "Oh, it's exactly like pushing out with your arm or legs. No resistance pushing a small thing. Resistance when you push a big thing. Sudden jolt when you bump into something big." It's easy for Allomancy to feel simple, until you start working through the math and realize a consistent explanation is tricky.

2 hours ago, Oltux72 said:

Now our task is to derive the law this feedback obeys.

Pagerunner's conclusion is pretty good, I think. If you make force a function of the relative velocity, you directly translate the sudden velocity change to a sudden change of force.

That's obviously not the only thing that matters of course... On top of velocity, distance is obviously a factor. Mass of the object factors in. Mass of the Allomancer seems to, based on a few statements. Allomancers can have different innate strengths. Maybe they can control the rate of burning to one degree or another for finer control, and if nothing else they can step a discrete amount by flaring.

But all of these factors are basically knowns.

f1(v) = some function of velocity
f2(r) = some function of distance
f3(m1) = some function of the mass of metal
f4(m2) = some function of the mass of Allomancer
f5(strength) = some function of Allomancer's natural strength
f6(burnrate) = some function of the burn rate or whether they're flaring or not.
f7(?) = other things I'm not thinking of?

Force = f1 * f2 * f3 * f4 * f5 * f6 * f7 ....

And that's that. :) 

So they don't control the force in that they get to set a specific value for the force. Some of the variables (e.g. velocity, distance) are just physical realities. Some of the variables can maybe be controlled by the Allomancer (e.g. flaring). So they burn their metal (i.e. turn the force "on"), intuitively adjust anything they have control over, and then the magnitude of the force simply is what it is.

Artemos has a pretty cool game/simulation that lets you try out a few concepts. :) 

Link to comment
Share on other sites

I just have to say this thread is great and I love how you work out the physics. 

I just wanted to add that if I remember correctly in Era 1 Vin doesn't have very fine control over any force/acceleration or else. She either burns or flared steel and those are her two push strenghs. She also remarks about Zanes control and how he can push with not every part of his strengh and realizes that it takes immense concentration. Which is why I don't think any adjustment in the power or force of the push can be used to explain the mechanics in situations Vin is in.

In Wax case with the book he must also have really fine control over the power of his push or this shouldn't be possible (but he had a lot more time to learn subtle pushing than Vin) and we still don't see him do anything similar in combat situations.

So what I mean to say is whatever it is the allomancer has control over I don't think they can quantify as specifically but rather normally can only set 2 strenghts burn or flare normally anything else requires immense concentration and prior training. 

What brought me to this was the description of how an allomancer eases himself down with a coin to the floor by slowly adjusting the force of his push. I don't think Vin could have done that. I always imagined pushing on the coin to slow yourself down like doing short pushes that just so counteract gravity/your initial impuls then letting go of the coin again, falling a bit then pushing again to stop youself again and so on. A bit like letting yourself down with a jetpack that only has one setting. So you would only have to work out the timing of your short pushes which from the description in the books seems easier than adjusting the strengh.

Link to comment
Share on other sites

4 hours ago, Rhapsody said:

What brought me to this was the description of how an allomancer eases himself down with a coin to the floor by slowly adjusting the force of his push. I don't think Vin could have done that. I always imagined pushing on the coin to slow yourself down like doing short pushes that just so counteract gravity/your initial impuls then letting go of the coin again, falling a bit then pushing again to stop youself again and so on. A bit like letting yourself down with a jetpack that only has one setting. So you would only have to work out the timing of your short pushes which from the description in the books seems easier than adjusting the strengh.

This is definitely the case. When I was rereading The Final Empire, I noted that Kelsier instructed Vin to land by pulsing her pushes on the coin.

Link to comment
Share on other sites

5 minutes ago, Artemos said:

This is definitely the case. When I was rereading The Final Empire, I noted that Kelsier instructed Vin to land by pulsing her pushes on the coin.

I think that it's explained as being easier to do and that it makes you less susceptible to reactive forces (like when your coin hits a wall).  

 

4 hours ago, Rhapsody said:

What brought me to this was the description of how an allomancer eases himself down with a coin to the floor by slowly adjusting the force of his push. I don't think Vin could have done that. I always imagined pushing on the coin to slow yourself down like doing short pushes that just so counteract gravity/your initial impuls then letting go of the coin again, falling a bit then pushing again to stop youself again and so on. A bit like letting yourself down with a jetpack that only has one setting. So you would only have to work out the timing of your short pushes which from the description in the books seems easier than adjusting the strengh.

This is how pulse-width modulation works in the real world.  

Link to comment
Share on other sites

Hmm... pulse-width modulation of a steelpush as the mechanism for adjusting the force of a push, while the steelpush has a constant target acceleration, gets around the two-parameter problem I had been bringing up before. This could be an interesting model; Vin was just learning how to pulse, but a skilled allomancer can concentrate and pulse so rapidly that it appears to be a continuous weaker force. A screen flickering so quickly between black and white that it appears to be gray. Let's run it through its paces and see what shakes out.

 

The steelpush will put enough force into the system to create a target relative acceleration at any given time. That TRA is a constant; the steelpush always wants things to go apart that quickly. Based on the circumstances, the force of the steelpush will be set a certain magnitude, which would accomplish the desired effect. When circumstances change, the magnitude of that force changes.

There are other factors (distance, size of anchor, flaring, etc) that limit the maximum magnitude of the force. So that's why you reach your maximum height; the math is saying "PUSH THIS HARD" and the steelpush is saying "I can't push that hard under these conditions, you dope."

But at any time, a skilled allomancer, through pulsing, can weaken the force to any degree they like. They're not saying "accelerate less fast away from me"; they're saying "exert less force." So, when Wax is holding the book underneath the table, the force of the steelpush itself would enough to propel the the table up in the air at the TRA. But, because he is pulsing, the force the book experiences a small fraction of that; not enough to lift the table off the ground at all.

There are cases where there is no way to create acceleration. Two allomancers, each firmly anchored, pushing on a coin between them. They'll push until one of them runs out of energy or metals. To solve that situation, You'll have to divide by zero, which would be an infinite force; but since we're limited to a maximum force, it makes intuitive sense that we settle out with that instead. (Also, PID control, which I'll get to later.)

We're looking pretty good so far. But one thing will come back to bite us, and that's the steelpush physics simulation from a few posts back. When you push against another allomancer, your steelpush calculations will be dependent on one another (the force I push with depends on the force you're pushing with), and you'll get into an infinite force situation (also, PID control, which I'll get to later) that winds up with both allomancers exerting their maximum force. You're not pulsing here, because why would you? From that point, the forces will only vary with distance - and as we've seen, that will produce oscillation. It won't freeze the coin in midair, like is described in the books. First-order effects, a relationship between force and velocity, is what was able to provide the damping we needed. And this model doesn't have any first-order effects, either.

 

So, let's talk about velocity. What if the force of the steelpush is dependent on velocity, not acceleration? When the coin is moving away from you at the TRV, it would require so much force. But when you're moving instead, it requires more force.

It sounds nice. But the math is far less clean; there's no simple relationship between force and velocity. At steady-state, you could look at how much force is required to sustain terminal velocity. But that's not what you're pushing with, because you can drop a coin off the Empire State Building and it will reach terminal velocity without killing someone at the bottom. You need to look at the transient - and there, you have to integrate to relate force and velocity. Your final velocity is the TRV, and your initial velocity is set by circumstances; but how long does it take you to reach that velocity? What happens when you reach that velocity? And a change in velocity over time... the math would work out exactly like the acceleration-based model!

So, let's look at a different relationship. One I've hinted at a few times already; PID control. This is a process controls way of putting the cart before the horse, so to speak. One of the simplest processes to control is the level of liquid in a tank. You want your liquid to stay at a certain level. You've got a drain line with a valve that you can partially open or close to adjust how much liquid is flowing out of your tank. And you've got a whole bunch of disturbances; other pipes flowing into your tank, which are putting in varying amounts of liquid, based on other things going on in other parts of your process. When you think cause-and-effect, you know that the drain valve controls level; the level doesn't control the valve. (And that's kind of what we have with all these kinematic approaches steelpushes; in physics, the force controls the velocity, not the other way around.)

What PID control does, is it takes a feedback of our controlled variable (tank level) and uses it to calculate what should happen with our manipulated variable (the valve). Every moment, the controller evaluates where we are at (are we higher or lower than desired level), and determines what should be changed (open or close the valve). It doesn't care how much is flowing in from the other pipes; all the information it needs is obtained from the tank level. That's the relationship we want between velocity and force; velocity is our goal, force will be adjusted accordingly, and we don't need to directly measure what is happening with normal forces and forces from other steelpushes. We can determine how to control our own steelpush based entirely on the behavior of the target. There are three criteria we compare our velocity to, the three pieces of the acronym "PID."

  1. Proportional. How fast is my current velocity, compared to my target velocity? If I'm going slower, I will exert more force. If I'm going faster, I will exert less force. If I am going the right speed, I will keep exerting the same amount of force.
  2. Integral. The integral of velocity is distance. How far have I gone, compared to how far I would have gone if I had been traveling at my target velocity all along? If I haven't gone as far, I will exert more force. If I have gone farther, I will exert less force. If I am at the right position, I will keep exerting the same amount of force.
  3. Derivative. The derivative of velocity is acceleration. Derivative control is quite frankly not intuitive and stupid, used mostly to smooth out noise in high-variance situations. It's not always needed in application; in my plant, I don't think we have anything using derivative control, we do it all with PI control. But, hey, if I'm taking the time to explain it, I'm gonna do my due diligence.

So, every instant, the "steelpush controller" compares the relative velocity of the system to the target in those ways, and determines a force. When you pulse, you're limiting that force to a fraction of what it should be, which has a corresponding effect on the system. This matches pretty well with all of our edge cases. When you push a coin like Vin, you get an initial burst of force to quickly bring the coin up to TRV, and then you back off to just enough required to sustain it. When it hits the wall and stops moving, your controller ramps up again. When you're pushing under a table like Wax, your controller is ramped all the way up to its max, but by pulsing you're not exerting that much force. When you get into an anchored steelpushing duel, that keeps your controllers all ramped up to their maximum output. (That's why I mentioned it above in the acceleration section; it takes care of your transient behavior in a situation where the math is unsolvable.) And it also provides first-order effects to dampen out duel oscillation.

But, unfortunately, we need to throw out integral control. If you actually wanted to control the velocity, it would be essential, because proportional control does not respond well to disturbances. When a new disturbance is introduced to the system, you'll never be able to get back to your stable control point using just proportional control. It would take a full 75-minute controls lecture to explain why, so for now, just take my word for it. But when we introduce pulsing, that is a disturbance that proportional control will never be able to completely overcome. Integral control, however, will ramp you up to your maximum controller output. It just depends on how quickly it's tuned. It will either have:
   1) A quick response, and whenever you pulse you will go straight to your maximum controller output. This simplifies to Model 1.
   2) A slow response, and will have no discernible effect.
   3) A moderate response, where whenever an allomancer pulses, the steelpush will slowly but noticeably gain strength, something we don't see described.

So, we've thrown out integral control, because it counteracts pulsing. We've thrown out derivative control, because I hate it. And now we have an effect that just reduces the force based on how fast you are moving away from each other. In other words... the relative velocity correction factor. It's a slightly different mathematical relationship, since it's based on a constant target speed. But, meaningfully, it's no different; we could just swap out an exponential equation with something like F = Fmax*(1-V/Vmax). On one hand, I like how the pulsing is an extrapolation on what Kelsier teaches Vin in the books. But on the other hand, an allomantic steelpush PID controller seems less elegant to me.

 

For the sake of thoroughness, let's go back to an acceleration model with PID control. I think it was easier to introduce the concept with a velocity-based controller. But I needed to introduce the missing first-order in an acceleration-based system before I could suggest a velocity-based one. Which is why this may seem a little out of order. But when you look at it, it doesn't solve any of the issues we had (other than giving us a good explanation for how we get to maximum force in mathematically unsolvable situations). This is a slightly different control scheme; instead of a valve controlling level, it's a valve controlling flow rate. You directly measure the flow rate through a valve, and adjust the valve accordingly. The dynamics are much more responsive to pulsing; "pulse" by closing and quickly reopening other valves on the line, and I promise you your valve's gonna fly full open and stay there petulantly while you screw around with all the other valves on your line. So an acceleration-based PID model is going to approach Model 1 behavior quicker, and it still doesn't gain any of the first-order effects that we need.

 

So. All that to say, I don't think pulsing is an improvement over the relative velocity correction factor with regards to the "impossible" physics. I do like it as a mechanism for "strength"; the force is determined by all those other factors, and an allomancer weakens it by learning to rapidly pulse it on and off. It's getting to be a couple years since I've been through the books, so I'm not sure if that contradicts how Kelsier presents that tactic to Vin. (Is pulsing the first step to weakening? Or is it explicitly a separate way that is easier but less effective?)

Link to comment
Share on other sites

I don't think he actually ever says something like pulse or that it was described like that. As far as I remember he only said push on the coin to slow yourself. The pulsing part is just how I imagined it given the description of steelpushes in the first 2 books with how it is really difficult to adjust the strengh of the push. But I also could be remembering wrong but I don't have my novel here to look it up.

Link to comment
Share on other sites

On 1/25/2019 at 4:10 AM, Jofwu said:

Pagerunner's conclusion is pretty good, I think. If you make force a function of the relative velocity, you directly translate the sudden velocity change to a sudden change of force.

That's obviously not the only thing that matters of course...

That I am afraid is just not going to work out. It would mean that two allomancers pushing on each others coins would break harder than they would fly apart when at rest. It would also mean that they would break harder pushing on each others coins than against an object at rest in between them (same mass assumed). And it would make it more efficient to push at two objects at an angle from you to accelerate upwards rather than something right under you, because the relative velocities would rise slower. It would make stopping bullets trivial.

Link to comment
Share on other sites

4 hours ago, Oltux72 said:

It would make stopping bullets trivial.

This reminds me of my biggest gripe with force as a function of velocity: how it handles high-speed projectiles in scenarios other than the ones we've previously discussed. Wax's steel bubble would be useless due to the high negative relative velocity between Wax and the bullets. I also feel like Vin's Horshoe Wheel would be much more difficult (if not impossible) to execute. That could just come down to skill, though.

1 hour ago, Jofwu said:

That very much depends on how the equations shake out. Artemos' quick simulations seem to look about right.

Keep in mind that in Simulation 3 (the good one), the velocity factor is only applied if the Allomancer and target are moving towards each other. If the factor is applied for velocity regardless of its sign, you get (2), which is not the desired effect. Should velocity be applied regardless of the sign? It is another arbitrary decision to make it only apply when the relative velocity is negative.

Link to comment
Share on other sites

43 minutes ago, Artemos said:

This reminds me of my biggest gripe with force as a function of velocity: how it handles high-speed projectiles in scenarios other than the ones we've previously discussed. Wax's steel bubble would be useless due to the high negative relative velocity between Wax and the bullets. I also feel like Vin's Horshoe Wheel would be much more difficult (if not impossible) to execute. That could just come down to skill, though.

Keep in mind that in Simulation 3 (the good one), the velocity factor is only applied if the Allomancer and target are moving towards each other. If the factor is applied for velocity regardless of its sign, you get (2), which is not the desired effect. Should velocity be applied regardless of the sign? It is another arbitrary decision to make it only apply when the relative velocity is negative.

That sounds backwards. I thought the idea was that you could push harder on something coming towards you and weaker on something moving away. Assuming there's a difference at all.

It's hard for me to make assumptions on what this means in practice, because the results heavily depend on what function of velocity you use. All we "know" is that the force for a stationary object should be higher than the force for an object moving away from you. (thus the reason an object suddenly stopping will throw you off balance) Your simulation uses f(v)=e^-v I believe, using positive velocity headed away from you. This would mean your force gets exponentially higher for negative relative velocity, which doesn't work right. I think we proposed that function of velocity before we realized it was important to keep the sign on velocity. Sounds like we want f(v) to be more of a gaussian function centered on zero? But I don't remember all of the details to say for certain.

And to be clear, no, I'm not saying sign should be ignored. I think there was a reason not to drop the sign. It should definitely be applicable in all cases. Either using the absolute value of relative velocity (probably wrong?) or signed relative velocity.

Link to comment
Share on other sites

34 minutes ago, Jofwu said:

his would mean your force gets exponentially higher for negative relative velocity, which doesn't work right.

Velocity is a vector, so I meant that to be the magnitude of velocity - the velocity term e^-v should be reworded as e^-|v|, and it will never be greater than 1. I can talk about the math later.

35 minutes ago, Jofwu said:

That sounds backwards. I thought the idea was that you could push harder on something coming towards you and weaker on something moving away. Assuming there's a difference at all.

Thinking about it, you're right. Still, I don't believe anything is backwards in my code. I'll review some things and come back later.

Link to comment
Share on other sites

6 hours ago, Oltux72 said:

And it would make it more efficient to push at two objects at an angle from you to accelerate upwards rather than something right under you, because the relative velocities would rise slower.

Took a moment to consider this briefly. In this particular case, velocity does increase more slowly relative to two objects at an angle, but the practical difference depends on your horizontal distance from them relative to your height. The higher you get, the less the angle, and the less of a difference there is. But force is also some function of distance, and the objects at an angle are farther away from you. The difference in the two cases will be most exaggerated there when you are at your lowest. So those two factors roughly offset one another. So again, the actual numbers depend entirely on what functions you come up with. You could really make things lean either way.

28 minutes ago, Artemos said:

Thinking about it, you're right. Still, I don't believe anything is backwards in my code. I'll review some things and come back later.

It looks like this is where the discussion began on whether to use signed relative velocity or absolute value of relative velocity.

Or, well, actually it looks like you were originally just using the absolute velocity of the object, and then I argued in favor of using relative velocity. (because that's what Pagerunner's model is using) I don't recall whether we want to maintain the sign of the velocity or not. It seems like you were arguing that an target moving towards you should allow for a stronger Push and a target moving away should allow for a weaker Push. My gut feeling is that it should just use absolute value and these cases are identical.

Seems like perhaps the problem you ran into with that approach is that in the game it became easy to "launch" yourself, but then once you are moving very fast relative to everything else it's hard to do any more Pushes. Everything is moving fast and so your Pushes are weak. Hard to grab something else or even to stop? Maybe I'm imagining this, but I think that was the concern. If it IS an issue... it's possible that simply tweaking the velocity affect would help reduce the problem. The other option I can think of would indeed be to retain the relative velocity's sign (so things moving toward you can be Pushed with more force). This would probably need tweaking though (otherwise you could brush aside coins flying towards you with ease). It would also probably mean that e^-v doesn't work very well, because negative velocities (things coming toward you) are going to give a massive boost to your Push force.

Link to comment
Share on other sites

14 minutes ago, Jofwu said:

It would also probably mean that e^-v doesn't work very well, because negative velocities (things coming toward you) are going to give a massive boost to your Push force.

The way I implemented e^-v, a "positive v" didn't make the -v term positive; it made the entire e^-v term positive. It added something to the force rather than subtracting, but it wasn't a positive exponential relationship (e^x) relationship. It looks something like this, where N is the net force, V is an arbitrary constant, and F is the original Allomantic Force.

A "positive v" or "negative v" is determined by the dot product of velocity and the Allomantic Force.

Edited by Artemos
Link to comment
Share on other sites

On 1/25/2019 at 8:14 PM, Pagerunner said:

We've thrown out derivative control, because I hate it.

I missed this on my first read-though of your post. As someone who's done a lot of work with PID control, Harmony bless this comment. Pushing and Pulling darn better not use PID loops because I'm the idiot who would have to program it.

I think a lot of the confusion came from how I worded things somewhat badly in my simulations/replies on the game thread. Here are clarifications of my interpretation and implementation of the "Exponential with Velocity" model.

Click here to see the formula I used for this model.  Let's start simple and work our way up. Click the circles to the left of each relationship to toggle each one. Feel free to experiment with the numbers.

Relationship 1:

  • N is the Net Force acting on the Allomancer. It is equal and opposite to the Net Force acting on the target.
  • F is the Allomantic Force. In this graph, it's a constant, set to 1. In practice, it's a jumble of other factors including distance, strength, masses, and burn rate.
  • |v| is the magnitude of the velocity of the target relative to the Allomancer, projected onto the line pointing from the Allomancer to the target.
    • The reason this is the relative velocity projected on to the line between the Allomancer and target is to keep everything acting on the single axis between the Allomancer and target. If the target is standing on top of a train moving parallel to the line between the Allomancer and target, I don't think that velocity would affect the Push. If the Allomancer is the camera, compare this image to this one. The velocity in the first image won't affect the force as much as the second.
    • Note that this the magnitude of the velocity. It is not affected by sign.
  • V is an arbitrary constant.

This shows the relationship between the Net Force and velocity in its most basic form. The higher the |v|, the lower the Net Force. This was Simulation 2 in the above post.

Relationship 2 and 3: (toggle both circles)

This relationship defines bounds where the Net Force is equal to the Allomantic Force when v is less than 0, but Relationship 1 when v is above zero. But, what is v? In this context, v is the dot product of the relative velocity (same as above) on the direction of the Allomantic Force acting on the Allomancer. Essentially, if the relative velocity is in the same direction as the Push, v will be positive. If the relative velocity is in the opposite direction of the Push, v will be negative.

Using a well-known example, let's say the Allomancer throws a coin downwards and Pushes it towards the ground. The relative velocity will be pointing towards the ground, but the Allomancer's Push points upwards. The dot product is negative, so the Net Force will be equal to the Allomantic Force. This isn't what we're looking for, of course. This was Simulation 4 above, which is Hot Garbage. Let's swap the bounds.

Relationship 4 and 5:

This is the opposite of the above relationship. When the dot product is negative, the Net Force will be decreased by the velocity factor. When the Allomancer Pushes the coin towards the ground, the Net Force is weak until the coin lands. At this point, the relative velocity suddenly swaps sign, as the coin and Allomancer are getting closer. v is positive, so the Net Force equals the Allomantic Force, much higher than before. This was Simulation 5. 

Relationship 6 and 7:

This is my personal favorite, but I didn't include it in the simulations post because it was too similar to Simulation 5. It has the same effect as Relationship 4, where the Net Force decreases for a negative v. However, when v is positive, the Net Force increases as well. Not only will the Allomancer's Push against a falling coin be weaker, but the Push will also be stronger while the Allomancer is falling towards towards the anchored coin. In the latter case, the relative velocity is pointing in the same direction as the Push on the Allomancer, so v will be positive. This "improved" Net Force will asymptotically approach twice the Allomantic force as the relative velocity approaches infinity.

The result of this is something that feels intuitive to play with. If you Push on a metal block, you'll get some force. But if you Push on that block while digging your feet into the ground and charging towards it, that force will increase. I will leave it as an exercise to the reader's brain to figure out the vectors in that one.

I'm starting to like the velocity factor idea more now, if only for the fact that I've been drafting a theory based off of Pagerunner's Model 3 that has been Rust to program and Ruin to work in Pushing duels.

 

Edited by Artemos
Link to comment
Share on other sites

12 hours ago, Jofwu said:

It looks like this is where the discussion began on whether to use signed relative velocity or absolute value of relative velocity.

Or, well, actually it looks like you were originally just using the absolute velocity of the object, and then I argued in favor of using relative velocity. (because that's what Pagerunner's model is using) I don't recall whether we want to maintain the sign of the velocity or not. It seems like you were arguing that an target moving towards you should allow for a stronger Push and a target moving away should allow for a weaker Push. My gut feeling is that it should just use absolute value and these cases are identical.

Obviously there is a ridiculous case where the positive importance of velocity outweighs distance. If you push hard enough you get to infinite speeds.
Secondly a positive influence of velocity makes it very hard to develop a steady state lifting yourself. As long as you are rising, your allomantic force will be stronger.
If speed lessens allomantic force, you could hover at a higher state just by stepping off a building rather than start from the ground, as you are at rest and if your relative velocity weakens your push you'd have to gradually rise.
Finally any positive influence of speed makes pushing on a fixed anchor LESS efficient than pushing against a moving anchor.

I am sorry, but it is a needless complexity and buys you nothing.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...