# Solid plot with different transversal section. (Triangles, Square, Etc)

Posted 9 years ago
3969 Views
|
2 Replies
|
0 Total Likes
|
 It´s possible to make a solid plot with different transversal section ?For example, if we have to make a solid of revolution we just take the command "RevolutionPlot3D". But what happen when you need to plot a different solid with different transversal sections like triangles, square, ellipses, Etc. 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)Another example: The solid with circular base whose cross sections perpendicular to the diameter of the circle are square . The side of the square is defined as parallel to the diameter of the rope circumference. ( The side of the square is variable) .So, If Mathematica is able to plot such solids. What kind of command should I use to draw it. Right now i´m using Wólfram Mathematica 10.
2 Replies
Sort By:
Posted 9 years ago
 To continue one uses straightforward Clear[R] R = With[{a = \[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}]]]]; bdr = BoundaryDiscretizeRegion[R]; Clear[g] g = Interpolation[Select[MeshCoordinates[bdr], #[[2]] >= 0 &]]; to produce the wanted solids of revolution RevolutionPlot3D[g[t], {t, -6.28, 6.28}, PerformanceGoal -> "Quality"] RevolutionPlot3D[{g[t], t}, {t, -6.28, 6.28}, PerformanceGoal -> "Quality"] et voilĂ this approach is rather generic because of the usage of mesh algorithms.
Posted 9 years ago
 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.
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.