*All you're trying to do is numerically integrate the accelerations over time to get the new position at any given time.*

Okay. Accept by setting mass = 1 (or any other constant), were effectively ignoring the mass; so any "position" derived is at the very best scaled incorrectly. Presumably, the undeclared, set or explained `$scale` in your pseudo-code is there to account for that.

So effectively, `$v` becomes a running accumulation of the consecutive instantaneous force vectors (minus their direction?) scaled by some arbitrary constant. The direction could be retrieved/retained by storing tan^{-1}( F_{y} / F_{x} )

But, F(N) = m(kg) * a(ms^{-2}). Set m = 1, and F(N) = a(ms^{-2}). I'm given F, I want metres, so rearranging m = N * s^{-2}. I have N, but no s. s is undefined and undefinable. If the mechanism is rotating slowly, the time taken to traverse an input step of 1 degree will be longer than if it is running quickly. Perhaps orders of magnitude: 1 rpm versus 1000 rpm.

And if we set the time to some arbitrary constant, then we are equating distance moved with force acting: m = N. If the mechanism was a simple rotation around a single axis, we *might* get away with that. (And I'm unconvinced of even that.)

But as the force we have is acting in a semi-radial direction on a compound (cam) linkage, the force will act for some unspecified time period to 'straighten' the link, at which point it reaches a form of equilibrium. But achieving that position will only require some subset of the force acting. At that point, the rest of the force will simply be expended trying to stretch the link. And as far as I can tell, there is no way to decide what proportion of the force did work, and what was expended in futility.

Since my steps are (can only be) (angular) distance traveled -- and that's what I'm trying to determine -- the next input position is defined as the position resulting from the last integration. The best I can do to achieve my desired "at least 1 simulation for every degree of rotation", is: if the result of a step is substantially greater than one degree, divide the angles I used to establish the position I fed into that step, by 2 or 3 or whatever is appropriate, and re-run the model to obtain the intermediate positions.

~~But that accumulation of intermediate steps will almost certainly result in a different final position, as the forces acting through a degree of movement are definitely non linear.~~

For example, let's assume that the general direction of the preponderance of forces acting is fixed. (They aren't, but bear with me.) And for simplicity, let's assume that direction is the opposite direction of the green force line shown in my diagram. And the X/Y force values I get are F_{x} = 200, F_{y} = 3.

In the first step, the vast majority of that X component will be expended in trying to compress the link A-B. And only the small Y component will cause A to rotate about B, some small amount.

In the next step, the small movement that resulted from the previous step means that the leverage has changed, and the same forces acting will have a bigger effect. Ditto the next step, and the step after that, until eventually, A has rotated far enough around B that A-B is aligned with the resultant force vector. At that point, if the forces acting don't vary, no further rotation would be possible.

My point is, I cannot see how directly equating distance with force can possibly result in anything useful?

Please, I'm an engineer who does a little math. If I missing the purity of the math you are suggesting, (and simply muddying it with all my talk of physical units and motions, I'm sorry :) but since any determination of work done derive from F = ma inevitably requires a known time delta, and there is simply no way to derive one from a static model.

Nor do I see it possible to assume one or allocate one arbitrarily.

Also, and perhaps more importantly, F = ma requires that **all forces** (and masses and accelerations) are taken into account; but, by Newton's 3rd, the reaction force from the solid, fixed and immovable B is unaccountable in the above.

Update:BTW, don't you just love the way a-holes downvote what they don't understand. Amuses me no end :)

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.

In the absence of evidence, opinion is indistinguishable from prejudice.

Comment onRe^4: [OT] Forces.