I'm a PhD student in an unrelated field. It's been a very long time since I've done physics, and I've run into a problem in my research which I think is actually a physics problem.
Basically, I have N 3-dimensional points attached to a rigid body. At each of the points, I have a 3-dimensional gradient of an objective function defined over 3D space. I want to find, given these N point gradients, a small transformation which will move the entire rigid body in the direction of the gradient (the "direction of steepest descent" in optimization terms).
I think this problem is the same as finding the net force and torque on an object around its center of mass assuming a uniform mass distribution, but I'm not sure about that. Any thoughts?
Edit More clarification: I have a cost function in 3D space. For all points, its cost is defined, as well as the gradient of the cost function. I want to find a local minimum of the cost function defined on the points attached to a rigid body by gradient descent.
For example, if I have a cube with 8 points, and a cost function that is just 1 over distance from the origin, then descending the gradient of the cost function should push the cube away from the origin. I should be able to somehow compute the way that the cube moves from the point gradients defined at its corners. Translation is easy. I just add up all the point gradients. But what about rotation?
Hope that makes it clearer.
Some math: We have some cost function C. $$ \text{objective:}~~C(x) : \mathbf{R}^3 \to \mathbf{R} $$ $$ \text{gradient:}~~ \nabla C(x) : \mathbf{R}^3 \to \mathbf{R}^3 $$ We can additionally define a gradient over a set of N points, which are rigidly attached to one another. $$ \text{point-set objective:}~~C(\{x_1, \ldots, x_N\}) = \Sigma_i C(x_i)$$ We want to find: $$ \text{goal: }~~ T^* = \text{arg}~\text{min}_{T} C(\{T x_1, \ldots, T x_N\}) $$ Where T is a rigid transformation. We can find a local minimum by descending the gradient with respect to T, which should decompose into a translation part, and a rotation part. $$ \text{translation part: }~~ \nabla_{\text{trans}} C(\{x_1, \ldots x_N\}) = \Sigma_i \nabla C(x_i)$$ $$ \text{rotation part: }~~ \nabla_{\text{rot}} C = ??$$
EDIT: I found the answer to my question in section 4.2 of this paper:
http://www.geometrie.tuwien.ac.at/ig/papers/tr117.pdf
The key is to represent the problem using plucker coordinates, and indeed treat the problem as calculating the net wrench from a bunch of point forces.