I'm a student in my second year of a games programming degree, and our next assignment is to create a rigidbody physics engine. I dislike the standard approach (check every form for intersection against every other form) because it is extremely inefficient; a hundred spheres will produce 10,000 checks every frame (or physics tick, if you have them out of sync).
Instead, I want to implement acceleration as a field and physical interactions as changes to the field; objects would provide repulsions in the field that mirrored their shape and position in the scene at any particular time. Simple collision and torque would then emerge from the interactions between objects and the acceleration at any particular 3D sample of the field.
My problem is that I'm not sure how to represent the field continuously. What I mean is that we can easily represent many figures (spheres, cubes, toruses, discs) as simple mathematical functions (all points on the unit 3D sphere obey the rule $x^2+y^2+z^2 = 1$) that exist independantly of the method you use to rasterize them into a visible medium, and I'm not sure about the equivalent representation for fields.
I need a continuous representation because all of my geometry is galaxy-scale procedural, making it way too expansive to comfortably store in a static 3D texture.
A vector field in 3-space can be represented as a function that takes a point in 3-space, and returns a 3-d vector. Generally, for each object, it would have such a function representing the force it exerts on every point, and so to calculate the acceleration of an object, you'd have to sum over all other objects to get the total force (which is then a vector field), passing in the position of the object, and divide by the mass of the object.
If you have lots of objects, you'll have to approximate it somehow. For example, if your object is far away from a point cloud, you can approximate the force from that point cloud by a single vector from its center of mass.