From Physics - Dynamics - Combined Linear and
Rotational quantities: "I think something is wrong with the
sign since J should produce a greater velocity change if there is
both linear and rotational motion, I assume its something to do
with the direction chosen for positive rotation."
are somewhat right there. The root of the problem is that you have
mismatched equations for impulse torque and the rotational
component of linear speed. J x r for the former produces a
clockwise rotation axis. However, w x r for the latter requires a
counterclockwise one. When combined into (J x r) x r, this
produces a vector in the opposite direction of J.
suggestion is to change the impulse torque to r x J, since
counterclockwise is conventionally the positive direction (think
about the cos and sin functions). This will change the combined
expression to (r x J) x r, which will produce the expected result.
reason that I've got clockwise motion as positive is that I have
tried to standardise on:
1) a left hand coordinate
system (+x to right, +y up and +z toward viewer).
left hand rule for rotation (left thumb points in positive
direction of axis of rotation, curl of fingers gives
So if we are considering rotation
about the z-axis and if our left hand thumb points in the
positive z-direction (toward viewer) then the fingers curl in a
However, if we choose a
right hand rule for both coordinate and rotation (right thumb
away from viewer) then we also get positive clockwise
Its only if we choose left hand
coordinates with right hand rotation, or visa versa, that we get
anticlockwise rotation as positive.
that anticlockwise rotation is usually shown as positive, but I
keep finding cases of conflicting standards and conventions in
this subject, I guess that's what makes it so hard (or should I
say such an interesting challenge) to work out.
think your right about using r x J instead of J x r, because the
corresponding torque equation is usually r x F, although I think
I've seen it the other way round. I guess I could just change it
and make everything fit but having got to this stage I would
really like to clarify these issues.
we need to go back to the equations:
angular momentum of
a particle = L = r x p
torque = T = F x r (or rotational
impulse = J x r)
and find out if they are defined for
left or right hand coordinates and left or right hand
The vector 'x' product itself must
have some left-or-right-handed-ness because we arbitrarily choose
a direction for the result, we could just as easily chosen the
other direction for the result of a cross product.
not quite sure how to take this forward? I would like the site to
clarify exactly what standards and conventions are being
I'll have to think about this a bit
more I would welcome any more ideas.
Oops, A small correction to my last message, the
site actually standardises on right hand coordinates and right
hand screw rule (as does VRML/X3D and OpenGL), but I don't think
that affects the issues discussed.
Sorry, my brain cant be working today! Having
worked it out again, if both coordinates and rotations use right
hand rule then the rotation will be anticlockwise - which is what
you said in the first place!
Where I can, I have put links to Amazon for books that are relevant to
the subject, click on the appropriate country flag to get more details
of the book or to buy it from them.
Game Physics - This book has some useful stuff, its more of a textbook, not
a step by step guide (although it does have a disc with a lot of C++ code).
About the first third of the book is a physics textbook with theoretical exercises,
the middle bit covers physics engine topics, and the last third of the book
covers mathematical topics. I think I would use this book as a reference book
to lookup the theory behind something I might be working on rather than a book
to work through in order.
Commercial Software Shop
Where I can, I have put links to Amazon for commercial software, not
directly related to the software project, but related to the subject being
discussed, click on the appropriate country flag to get more details of
the software or to buy it from them.
Dark Basic Professional Edition - It is better to get this professional
This is a version of basic designed for building games, for example to
rotate a cube you might do the following:
make object cube 1,100
for x=1 to 360
rotate object 1,x,x,0
Game Programming with Darkbasic - book for above software