Jump to content

The Impossible Physics of Allomancy


Pagerunner

Recommended Posts

On 1/28/2019 at 0:08 PM, Artemos said:

It looks something like this, where N is the net force, V is an arbitrary constant, and F is the original Allomantic Force.

[[Well, I wrote this up yesterday and forgot to submit. Will do so now even though I haven't been able to read the two most recent posts. :D]]

Ah, I see.

I was imagining we have something like F = F1 * f(v), where F is the equation for force, F1 is all of the non-velocity dependent factors, and f(v) is some function of relative velocity with a range from 0 to 1.

So perhaps that function something along the lines of f(v) = e^-|v|. When v=0 you get F=F1. The more velocity you have, the smaller percentage you get of F1. Of course you'd need to scale it appropriately along the v-axis, as you've done in your equation with the "/V" term, in order to match the descriptions from the book.

If you hold a coin in your hand, you initially experience the full reaction force of F1. But this would only be for a small fraction of a second, as the coin accelerates rapidly to a higher velocity. Then when the coin suddenly stops, you're instantly pushing with a sustained F1. Of course, F1 isn't constant with the distance changing, but I think that gets the idea across.

EDIT:

16 hours ago, Artemos said:

Yeah, I tend to favor the simplicity of the first relationship.

After giving it some brief thought, I'm hesitant to use relative velocity dotted by unit vector pointing at the target, and with that also goes the idea that an object coming towards you doesn't mean you get more force. It would all just boil down to this basic idea that fast moving things are "slippery", such that they are more difficult to Push. Maybe my intuition is wrong on that. I haven't dug into these books with a mind for this whole problem in a while now, so my memory of examples is sparse.

The one thing that does come to mind is that I don't think we ever see anyone stop a projectile that has been Pushed towards them? I would think that if you get "extra" strength to Push something coming towards you then when a coinshot fires a coin at you, it should be relatively trivial to stop the coin mid-air. I don't think that ever happens though. Instead, what we see is Allomancer's merely deflecting in this situation. If you see someone firing a coin at you, you don't try to stop it because that's futile. He can put more energy into it than you can because as the coin gets closer it's already moving fast and will be harder to Push. But you don't have to stop it--you just have to Push it a few inches one way or the other?

I toyed around with the simple problem of using a coin on the ground to Push yourself up. I'm not confident I did the numerical solution right... (what's the best way to do this with acceleration dependent on both position and velocity?) But I think it's close enough.

I used an initial force of F0=1000N. I used F proportional to e^(-|v|/20) and e^(-|r|/15). (not that I'm committed to those equations, especially for position--just something to work with.) I came up with something like this. Raising the scale factor on velocity let's you reach a higher max height. Raising the scale factor on position lets you reach a higher stable height. This is Pushing with full strength the whole time of course.

Capture.PNG

Turns out a bit more sluggish than feels right. I just adjusted the factors to give a stable height of around 30 feet (something around the height of Luthadel's wall, where they can "hover"). Raising the velocity factor gets you up faster, but comes with more "wobble". Hard to say how much of that is "normal", as the characters don't normally do this exact exercise.

I started to apply those same factors to Pushing a coin forwards (and see what happens when we put a wall that makes it suddenly stop at some distance). But as expected you get significant acceleration and velocity. It's too much for me to feel comfortable with the results, but either way I think you'd need to put some drag force in to limit the maximum velocity of the coin. I'm too lazy to do that right now. :) In any case, it does look like the force will become insignificant very quickly. So when it hits a wall 5 meters away and the velocity function suddenly jumps from [basically] 0 to 1 you will feel a sustained 1000 N force until you stop burning.

Edited by Jofwu
Link to comment
Share on other sites

4 hours ago, Jofwu said:

So perhaps that function something along the lines of f(v) = e^-|v|. When v=0 you get F=F1. The more velocity you have, the smaller percentage you get of F1. Of course you'd need to scale it appropriately along the v-axis, as you've done in your equation with the "/V" term, in order to match the descriptions from the book.

The problem with that is that you still need to explain why pushing a light object moves that object, a heavy object moves you and an object of equal masses moves both of you. In other words you are introducing an additional effect that can explain stuff partially, but fails to explain other observations and would need to not interfere with the explanation for them.

4 hours ago, Jofwu said:

The one thing that does come to mind is that I don't think we ever see anyone stop a projectile that has been Pushed towards them? I would think that if you get "extra" strength to Push something coming towards you then when a coinshot fires a coin at you, it should be relatively trivial to stop the coin mid-air.

It is impossible. Remember that you control only the strength of the force, not the vector. An object would have to be aimed exactly at your "allomatic center", you would have to stand absolutely still, no wind would be allowed to blow and gravity would have to be exactly aligned. Such conditions do not arise in reality.
You would always have a component of force away from the connecting line between the allomancers. Every projectile will be deflected, most likely into the ground as it gets slower.

4 hours ago, Jofwu said:

I used an initial force of F0=1000N. I used F proportional to e^(-|v|/20) and e^(-|r|/15). (not that I'm committed to those equations, especially for position--just something to work with.) I came up with something like this. Raising the scale factor on velocity let's you reach a higher max height. Raising the scale factor on position lets you reach a higher stable height. This is Pushing with full strength the whole time of course.

Capture.PNG

And I am quite sure you would come to a similar curve if you left out velocity and tweaked the distance factor a bit. It just complicates things.

Link to comment
Share on other sites

2 hours ago, Oltux72 said:

The problem with that is that you still need to explain why pushing a light object moves that object, a heavy object moves you and an object of equal masses moves both of you. In other words you are introducing an additional effect that can explain stuff partially, but fails to explain other observations and would need to not interfere with the explanation for them.

Regardless of how velocity enters the equation, if the force on the Allomancer and target is equal, whichever one is lighter will accelerate more. That's just Newton's second law. I might be misunderstanding you, though.

(Also, is that last quote field supposed to say "4 hours ago, Jofwu said" ? I'm a bit confused, since I can't find a post of him saying that anywhere)

Regardless, for that final point, we have tried leaving out the velocity factor and have tried tweaking the distance factor. Changing the distance factor won't increase the Push on an anchored target, as seen in the books. Over time, perhaps, but it doesn't account for the discontinuity/sudden increase in force when the coin hits the ground.

Edit: I hadn't refreshed the page, so I hadn't seen Jofwu's edit - hence the confusion.

Edited by Artemos
Link to comment
Share on other sites

56 minutes ago, Oltux72 said:

The problem with that is that you still need to explain why pushing a light object moves that object, a heavy object moves you and an object of equal masses moves both of you.

Because the force is directly proportional to the masses. Beyond that it's simply Newton's 3rd law. F = m1*a1 = m2*a2. If the thing is less massive than you then it will accelerate more (relative to you). If the thing is more massive than you then it will accelerate less (relative to you). The whole argument of a factor that's a function of velocity is irrelevant to that discussion.

1 hour ago, Oltux72 said:

It is impossible.

Right, I'm mostly agreeing with you. The point is simply that it seems you should only be able to Push things a little to the side rather than bring them to a halt. The projectile getting pushed to the ground because the vectors aren't all perfectly aligned is one thing. The ability to stop it before it slides into your foot (and start pushing it away from you) is another.

1 hour ago, Oltux72 said:

And I am quite sure you would come to a similar curve if you left out velocity and tweaked the distance factor a bit. It just complicates things.

You absolutely would, yes. The whole point of the velocity factor in the force equation is explain the sudden force increase when a projectile becomes anchored (and a few other things). I'm not dealing with that in this example.

---

In other news, I happened across Vin's first lesson with Kelsier and she actually comes to a steady maximum height while using a sustained Push.

Seems a little odd that things would be this damped. In a vacuum, with force only a function of distance, you will always go up past the equilibrium point if pushing the whole way. It's simple harmonic motion, with equilibrium at the height where your Push balances with your weight. Perhaps worth noting that the velocity function actually helps damp the equation, which I think we saw earlier in the simulation of two Allomancers in a "Push battle". Probably the same thing happening here. But clearly that alone isn't enough. With the numbers I used above, the Allomancer overshoots the max height by a few meters, which clearly didn't happen with Vin. You argue a little wobble, but not that much.

It seems that using a f(r)=sqrt(1-r/R) gives something more damped, so that would probably be a better approach. Or you could even use a bigger root, to make the function of distance drop off less at first and rapidly towards the max range. (that equation is for 0<r<R of course, with f(r)=0 for r>R.

 

Link to comment
Share on other sites

(I had some confusion earlier because I hadn't refreshed the page after Jofwu's edit.)

12 hours ago, Jofwu said:

Yeah, I tend to favor the simplicity of the first relationship.

I agree that it is elegant in its simplicity, but it doesn't provide the desired effect. Relationships 4/5 and 6/7 are the ones that work well with Pushing duels, which have asymmetry in the velocity relationship. Relationship 4/5 is asymmetric, but 6/7 does have rotational symmetry. In-game, I refer to it as the "Symmetrical" option, since it both adds to and subtracts from the force.

Here's an updated version of the simulation of a coin being pushed into a wall with a couple more options:

5 hours ago, Jofwu said:

Seems a little odd that things would be this damped. In a vacuum, with force only a function of distance, you will always go up past the equilibrium point if pushing the whole way. It's simple harmonic motion, with equilibrium at the height where your Push balances with your weight. Perhaps worth noting that the velocity function actually helps damp the equation, which I think we saw earlier in the simulation of two Allomancers in a "Push battle". Probably the same thing happening here. But clearly that alone isn't enough. With the numbers I used above, the Allomancer overshoots the max height by a few meters, which clearly didn't happen with Vin. You argue a little wobble, but not that much.

Based on this comment and your graph, I'm working on something that should show an Allomancer throwing a coin to the ground and Pushing on it, showing how they rise into the air with different models.

Edited by Artemos
Link to comment
Share on other sites

4 hours ago, Artemos said:

I agree that it is elegant in its simplicity, but it doesn't provide the desired effect.

In which case? Pushing duels? 

Oh, I see what you're saying. We need that velocity for damping, and the Pushing duel works as we saw before, etc. etc.

I think I'm with you.

I wonder if it would be worth considering the use of arcan(v)? That roughly gives the same thing without having to split it into two equations based on domain, which appeals to some part of me. :)

F = (other factors) * (1 - (2/pi)*atan(v/V))

Where v is relative velocity vector dotted as you said. Positive v (away) decreases F, negative v (towards) increases F.

I guess that's not much more elegant, but it's an idea. :) 

4 hours ago, Artemos said:

Here's an updated version of the simulation of a coin being pushed into a wall with a couple more options:

This is using relationships 6/7?

Did you manually un-anchor the wall on the right?

And what's the difference between the initial gif and the one at the end?

Link to comment
Share on other sites

1 minute ago, Jofwu said:

arcan(v)

Fiddling with the constant V makes arctan and 6/7 pretty close. I'd say its a valid option. And it's a definitely a lot prettier than the exponential relationship.

10 minutes ago, Jofwu said:

This is using relationships 6/7?

Did you manually un-anchor the wall on the right?

And what's the difference between the initial gif and the one at the end?

Yes and yes. The "gif at the end" is has no differences, it's just returning the coin and the right wall to their original positions as the simulation partially restarted. I kind of threw that one together as I started working on the new simulation.

Speaking of...

Coin/Ground Simulations

The "Relationship" mentioned in each simulation corresponds to the relationships listed in this graph.

The Allomancer-coin pair on the left begins stationary in the air. The pair on the right begin stationary on the ground. In the center is a coin in free-fall that shows how gravity is affecting the scene.

The time scale is set to 5% until the left coin hits the ground, at which point the time scale is set to 100% (real-time).

Simulation 1 - Symmetrical (velocity constant V = 16, distance constant D = 16)

Spoiler

 

The velocity factor both adds and subtracts from the force to dampen the oscillations, allowing the Allomancer to eventually balance at around 10m.

Simulation 2 - Only Moving Away Decreases

Spoiler

 

 

The velocity factor no longer adds to the force; it only subtracts from it. The dampening is less effective, so the Allomancer takes longer to stabilize.

Simulation 3 - Both Directions Decrease

Spoiler

 

 

The velocity factor subtracts from the force both ways. After the Allomancer reaches their maximum height, they begin falling downwards due to gravity - and that downwards velocity decreases the force more and more. The force just isn't strong enough to beat that - with this constant V, at least.

Simulation 4 - Linear distance relationship

Spoiler

 

 

Changing to a linear distance relationship didn't actually change much. In this case, the "maximum range" (the big R constant) of the Push is 20m, and they stabilize a little closer to the ground.

Simulation 5 - Setting V = 1, Symmetrical

Spoiler

 

 

This might be my favorite. Reducing V makes the velocity factor have a greater impact. Using the same parameters as Simulation 1, the Allomancers can reach their maximum height with no oscillations.

7 hours ago, Jofwu said:

I happened across Vin's first lesson with Kelsier and she actually comes to a steady maximum height while using a sustained Push.

It does do that!

Simulation 6 - V = 1, Both Directions Decrease

Spoiler

 

 

I don't know what really to gleam from this, other than It Feels Good To Look At.

Let me know if there's any other parameters you want me to test this with.

Link to comment
Share on other sites

20 hours ago, Jofwu said:

Because the force is directly proportional to the masses. Beyond that it's simply Newton's 3rd law. F = m1*a1 = m2*a2. If the thing is less massive than you then it will accelerate more (relative to you).


That does not tell us why a change of the remote effective mass changes acceleration. Something like this would:  formel.pdf
F_{1}=F_{0} over 2 + {a_{1}} over {2( a1 + a2 )}

Link to comment
Share on other sites

Awesome simulations @Artemos! These are all using the exponential relationship for distance? (besides the one noted otherwise)

Is it just me or does it seem a little sluggish? Seems like the acceleration upward should be a bit higher, at least at first. Presumably that just requires an increase in the base force, but the velocity relationship will eat up more acceleration.

13 minutes ago, Oltux72 said:

That does not tell us why a change of the remote effective mass changes acceleration. Something like this would:  formel.pdf

I thought we've been over this, so I'm not sure where the confusion is. How did you derive that equation? I can't tell where it's coming from.

With the model we're using here, when you apply force F1 the object and the Allomancer both experience F1 (Newton's 3rd law). The masses don't change, so their accelerations from this force are inversely proportional to their masses. Object accelerates at F1/m_object and Allomancer accelerates at F1/m_allomancer. The ratio of these accelerations is m_allomancer/m_object. If the Allomancer is much more massive than the object, the object will accelerate more relative to the Allomancer. If the Allomancer is much less massive than the object, the Allomancer will accelerate more relative to the object. But that's just speaking relatively. We're interested in the absolute acceleration of the Allomancer and how that changes.

If F1 is unrelated to velocity then a coin hitting a wall and becoming anchored is irrelevant to the Allomancer's acceleration. The force is still F1 because all of the factors that go into calculating F1 have not changed. The Allomancer's mass is still m_allomancer, and thus the acceleration is still F1/m_allomancer.

The only way to cause a sudden change in the Allomancer's acceleration is if the force suddenly increases. Factoring velocity into the force is the only good explanation that anybody has presented which explains this sudden force increase. If there's any way to explain this specific phenomenon by some other means I'd love to hear it. There ARE other explanations. Pagerunner tackled a few in his document, raising specific issues with each that don't match descriptions from the books. Artemos is using a different method in his game which "feels" right. It's practical and not terrible, but I don't think it's quite as elegant as simply modifying the basic function for the Allomantic force. The only opposition I've seen raised against Pagerunner's model is "it's complicated" which while true isn't a very strong argument, especially in lieu of another explanation that solves the same issue and matches all other cases in the books.

---

There IS one other concept I've seen which sort of bypasses this entire issue, presented by u/Phantine on Reddit. It says that the whole idea of a change in acceleration with things being anchored isn't quite accurate. That the characters think of it in these terms maybe, but that's not really what's happening. He argues that the force IS constant (aside from the distance relationship), and the only reason characters don't notice the force is because it is typically applied over very very short durations. Firing a coin gives a recoil sort of like firing a gun. The reason the duration is short (like a gun recoil) is because projectiles are typically "out of range" in a very short period of time. (this does indeed seem to be the case--coins move fast) He argues that when a coin becomes anchored (while it is still "in range) the "recoil" force doesn't quickly taper off. It's still present. And that knocks you over, launches you into the air, etc.

Looking at the math, this seems to be a fairly reasonable explanation, and it doesn't require a velocity term. (which is complicated and messy, yeah) I think this is a great alternate explanation.

Two things leave me torn between this and Pagerunner's model. One is that it entirely relies on an Allomancer "accidentally" Pushing longer than necessary. That's not totally unreasonable, but an actual change in the force they experience seems to fit what they describe better. Second is... Well, the second is slipping my mind right now. :D Seems like Artemos may have tried this in the game and it didn't work out right for some reason? I'm not sure. I guess if nothing else there's this issue we're seeing where the force isn't properly damped without the velocity factor.

Link to comment
Share on other sites

1 hour ago, Jofwu said:

These are all using the exponential relationship for distance?

Yes, as indicated in the bottom-right corner for each one.

1 hour ago, Jofwu said:

Is it just me or does it seem a little sluggish? Seems like the acceleration upward should be a bit higher, at least at first. Presumably that just requires an increase in the base force, but the velocity relationship will eat up more acceleration.

Yeah. Tweaking constants involved would make everything happen quicker. This had just enough tuning of parameters to compare the different models in a reasonably short enough time.

1 hour ago, Jofwu said:

There IS one other concept I've seen which sort of bypasses this entire issue, presented by u/Phantine on Reddit.

...

Seems like Artemos may have tried this in the game and it didn't work out right for some reason?

There will never be a model more elegant than this one. There's no "extra boost" from pushing on a target, simply pushing on a coin that stays relatively close to you will provide more force over time than a coin that flies beyond pushing range in milliseconds. It doesn't not work in the game. I always liked that one, but it just doesn't give the same "impact" or "feel" as getting a boost from an anchored target that the narrative suggests.

1 hour ago, Jofwu said:

I guess if nothing else there's this issue we're seeing where the force isn't properly damped without the velocity factor.

The velocity "drag" force helps to stabilize an Allomancer when they near their maximum height; however, that would be unnecessary if the Allomancer simply pulses their Pushes on/off when nearing their maximum height. They'll stabilize easily in that case, too. Of course, Pushing duels work best with the velocity factor.

I guess the next thing on my to-do list is to go back to experimenting with anchors having no direct affect on the force calculation. Keep things simple. At least it'll help to see if we've been running in circles for the past few weeks.

Link to comment
Share on other sites

  • 4 weeks later...

@Tarnarmour i don't think any of us believe Brandon actually has some kind of logical basis for all of this. He DEFINITELY just wrote what felt right to him and didn't realize the inconsistency. :D It's just that coming up with a logical, consistent in-world explanation is fun. ;)

Welcome to the forums!

Link to comment
Share on other sites

4 hours ago, Chinkoln said:

When Vin completely soothes emotions the person gasps and it is said in the book that they immediately feel terrified and lonely, even though Vin soothes all emotions.

That is not the case. The fear is after the fact. We don't see it from his perspective at the time, but this is how Straff remembers it. 

Quote

Perhaps she really is incapacitated, Straff thought. If we moved in. . . The chill of her touch on his emotions returned. Numbness. Nothingness.

 

Link to comment
Share on other sites

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

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