|
![](/i/fill.gif) |
> In another forum I was pondering about the gravity field of a torus
> (ie. imagine you had eg. a torus-shaped planet: What would be the direction
> and strength of gravity at different points on its surface?)
>
> Two possibilities were suggested: The analytical (and thus exact) way,
> which would require solving a complicated volume (ie. triple) integral,
> and numerical approximation.
>
> The numerical approximation is simpler in principle, but there are some
> difficulties.
>
> One way to numerically approximate the result would be to fill the torus
> with point masses and then sum up their gravity on the tested location.
> If we assume that the torus has even density, filling it up with point
> masses is actually non-trivial.
>
> There are two possibilities:
>
> 1) All the point masses have the same mass (ie. the total mass of the
> torus divided by the number of points) and are distributed evenly inside
> the torus. This is a bit problematic because coming up with an even
> distribution of points inside a torus is not easy. Basically it would
> mean that you would have to divide the torus into polyhedrons of the
> same volume, and put the point masses at their center. However, subdividing
> a torus into polyhedrons of the same volume is not trivial.
>
> 2) Instead, we subdivide the torus into polyhedrons of arbitrary size
> and scale the mass of the points in relation to the volume of the polyhedron.
> (In other words, the masses are scaled according to the local point
> density.)
>
> The second option might be the easiest to do, as it allows for a simple
> distribution function for the points which does not need to be strictly
> even.
>
> The easiest division of the torus would be to divide it into slices,
> each slice is divided into sections (each such section would thus
> effectively be a pyramid with the base on the surface of the torus and
> the apex on the central major-radius circle of the torus), and then each
> section into polyhedrons (from the base towards the apex of the pyramid).
>
> One way to easily achieve this programmatically is to simply create
> points on the surface of toruses of increasing minor radius (the major
> radius being the same as the original torus we are dealing with).
>
> The problem is deciding what the mass of these points should be. As said,
> they can't have equal mass because else you would end up with very uneven
> density (the torus would be significantly denser deep inside and less
> dense closer to the surface).
>
> If we think about the points inside one of the slices, the masses should
> be, if I understand correctly, proportional to the square of the distance
> from the center. This gives you a disc of even density. (However, I'm not
> sure now if there should be a constant factor involved...)
>
> However, that alone is not enough. There's another aspect that has to
> be considered: The points would be distributed less densely on the outer
> rim of the torus and more densely on the inner rim. Thus they have to be
> also scaled according to their distance from the center of the torus.
> I'm not exactly sure what the formula would be.
>
> Since we want the entire torus to have a certain mass m, the sum of
> all the point masses have to be that. However, that's actually trivial:
> Simply use whatever values are most convenient to create the points, and
> then just divide by the sum of the original masses and multiply by m.
>
> However, the exact formulas to determine the masses of the points is
> a bit fuzzy to me. Perhaps someone could help a bit?
>
Some things to consider:
When in the hole of the torus, the gravity is only toward the plane
perpendicular to the major radius. On that plane, the gravity is zero.
Everywhere on the torus surface, gravity is biased toward the major axis.
Gravity is highest at the exterior equator and null at the interior equator.
The athmosphere would take the shape of an oblate sphere. It's thickness
would make the inside areas very dark. The iner "tropical" region could
very well be in perpetual total darkness, but relatively warm.
Alain
Post a reply to this message
|
![](/i/fill.gif) |