It is capable mathematica to plot a solid whose characteristics are
the following : The solid formed by a deformable circle whose center
moves around the periphery of an ellipse. The radius of the circle
measures the distance between the point (x,0) and (x,y), where "y" is
defined as: y=(b / a) Sqrt(a^2 - x^2) (Ellipse)
First look at it in 2D
With[{a = Pi, b = 1},
Graphics[{
{Blue, Table[Circle[{x, b/a Sqrt[a^2 - x^2]}, b Sqrt[1 + x^2/b^2 - x^2/a^2]], {x, -a, a, a/17}]},
{Red, Thick,Circle[{0, 0}, {a, b}]},
{Green, Table[Circle[{x, -b/a Sqrt[a^2 - x^2]}, b Sqrt[1 + x^2/b^2 - x^2/a^2]], {x, -a, a, a/17}]}},
Frame -> True]
]
then produce the solid of revolution. Because analytical calculations can become cumbersome often an visual equivalent procedure is the following: get the contour in 2D of the points depicted and use an interpolating function on it to get the input necessary to run RevolutionPlot3D
. To do so one switches from Circle
to Disk
R = With[{a = 2 \[Pi], b = 1},
BooleanRegion[Or,
Join[Table[Disk[{x, b/a Sqrt[a^2 - x^2]}, b Sqrt[1 + x^2/b^2 - x^2/a^2]], {x, -a, a, a/17}],
Table[Disk[{x, -b/a Sqrt[a^2 - x^2]}, b Sqrt[1 + x^2/b^2 - x^2/a^2]], {x, -a, a, a/17}]
]
]
];
and discretizes it:
DiscretizeRegion[R]
BoundaryDiscretizeRegion[R]
the boundary discretized region is a good candidate to work with in RevolutionPlo3D
.