Skip to main content
54 events
when toggle format what by license comment
Feb 24, 2023 at 17:34 history edited kirma CC BY-SA 4.0
A single-letter typo fix.
Feb 22, 2023 at 14:50 history bounty ended bmf
Feb 14, 2023 at 9:20 history edited kirma CC BY-SA 4.0
Small reduction of ambiguity.
Feb 13, 2023 at 20:16 history edited kirma CC BY-SA 4.0
Typo.
Feb 13, 2023 at 6:38 history edited kirma CC BY-SA 4.0
edited body
Feb 13, 2023 at 6:18 history edited kirma CC BY-SA 4.0
Add a warning for potentially failing equality comparisons.
Feb 13, 2023 at 4:19 history edited kirma CC BY-SA 4.0
edited body
Feb 13, 2023 at 3:59 history edited kirma CC BY-SA 4.0
Couple elaborations, added FullSimplify in couple places where this implementation would mysteriously fail with slightly more complicated inputs.
Feb 12, 2023 at 11:24 history edited kirma CC BY-SA 4.0
Little bit better rasterization for the exploded view.
Feb 12, 2023 at 10:22 comment added user64494 @kirma: My colleague presented only the idea and the exact result. He didn't present any calculations.
Feb 12, 2023 at 9:28 history edited kirma CC BY-SA 4.0
edited body
Feb 12, 2023 at 9:11 history edited kirma CC BY-SA 4.0
deleted 10 characters in body
Feb 12, 2023 at 9:05 comment added kirma @user64494 I added a piece of code which speeds up the volume computation by integration in cylindrical coordinates. That alone, though, is not enough to make the handling of the problem in rotated pieces trivially unnecessary.
Feb 12, 2023 at 9:04 history edited kirma CC BY-SA 4.0
Added approach with integration in cylindrical coordinates.
Feb 11, 2023 at 18:20 comment added kirma @user64494 It is certainly easy to constrain volume computation to a symmetric 1/16th of the solid, but change of coordinates on this problem is too much for IntegrateChangeVariables, and this far every possible cylindrical decomposition permutation I've tried on Cartesian coordinates seems to have one or two sub-integrals which Mathematica fails to compute symbolically...
Feb 11, 2023 at 15:15 comment added kirma @user64494 There definitely are alternatives to my method, I'm all ears (or eyes) for other solutions. :) It may be some other integrals are easier to compute by Mathematica, but it's probably not immediately obvious which are and which are not.
Feb 11, 2023 at 14:55 comment added user64494 As I was informed by my collegua, this may be figure out simpler. The solution is based on the symmetry of this body with respect to the coordinate planes, as well as the bisector plane $x=y$. Therefore, it is enough to calculate $1/16$ of this volume. This piece is projected onto the $xOy$ plane. Polar coordinates can be used to calculate double integrals.
Feb 11, 2023 at 8:38 history edited kirma CC BY-SA 4.0
added 10 characters in body
Feb 11, 2023 at 8:33 history edited kirma CC BY-SA 4.0
added 10 characters in body
Feb 11, 2023 at 7:47 history edited kirma CC BY-SA 4.0
deleted 60 characters in body
Feb 11, 2023 at 6:28 history edited kirma CC BY-SA 4.0
deleted 39 characters in body
Feb 11, 2023 at 6:22 history edited kirma CC BY-SA 4.0
Talk of cylinder surfaces instead of boundaries at places, boundary may be a bit confusing terminology at times.
Feb 11, 2023 at 6:15 history edited kirma CC BY-SA 4.0
Tried to make text a bit more understandable and informative.
Feb 10, 2023 at 20:29 history edited kirma CC BY-SA 4.0
deleted 11 characters in body
Feb 10, 2023 at 19:12 history edited kirma CC BY-SA 4.0
added 8 characters in body
Feb 10, 2023 at 18:19 history edited kirma CC BY-SA 4.0
deleted 6 characters in body
Feb 10, 2023 at 18:09 history edited kirma CC BY-SA 4.0
edited body
Feb 10, 2023 at 15:20 history edited kirma CC BY-SA 4.0
added 18 characters in body
Feb 10, 2023 at 14:32 vote accept user64494
Feb 10, 2023 at 14:32 history edited kirma CC BY-SA 4.0
deleted 21 characters in body
Feb 10, 2023 at 13:11 comment added yarchik +1 Excellent solution! This should be the accepted answer.
Feb 10, 2023 at 12:09 history edited kirma CC BY-SA 4.0
added 3300 characters in body
Feb 10, 2023 at 10:48 comment added kirma @user64494 I'll add some visualizations in a while, and consider writing an explanation but maybe that explanation has to wait until tomorrow to brew. :)
Feb 10, 2023 at 10:26 comment added user64494 Thank you. Still over my understanding.
Feb 10, 2023 at 9:53 comment added kirma @user64494 Removing single points or theoretically even empty regions is mostly a convenience; they would definitely be both useless and possibly also problematic on the graph. The graph, in this case, shows points at intersection points of the curves ("corners" in the visual sense of the solid) of the solid as vertices, and cylinder-cylinder intersection curves ("ridges") as edges between them. These edges also correspond with planes intersecting with end vertices of edges and the origin, and can be used to construct these simplified, rotatable subregions for volume computation.
Feb 10, 2023 at 9:35 comment added user64494 Thank you. I sill don't understand the advantage of the result of curves = ...// Simplify // Flatten //(*Filter out dimensionless solutions.*) Select[RegionDimension[ImplicitRegion[#, {x, y, z}]] != 0 &]]. A one more question: what does graph show?
Feb 10, 2023 at 9:32 history edited kirma CC BY-SA 4.0
added 157 characters in body
Feb 10, 2023 at 9:19 history edited kirma CC BY-SA 4.0
deleted 1 character in body
Feb 10, 2023 at 9:07 comment added kirma @user64494 Added some comments on the end of the answer.
Feb 10, 2023 at 9:07 history edited kirma CC BY-SA 4.0
added 1138 characters in body
Feb 10, 2023 at 8:57 comment added kirma @user64494 Ah, nothing to do with cylinders per se, the naming is a coincidence. :) CylindricalDecomposition is a generally useful tool when working with semialgebraic sets, that is Boolean expressions consisting of comparisons of polynomials, take a look at the documentation! In this case its primary use is to guarantee that each curve is continuous and separate from others from the same "cylinder ring." Topological arguments such as "Components" that one can nowadays give to CylindricalDecomposition are quite useful!
Feb 10, 2023 at 8:51 comment added user64494 +1 for your masterpiece. Can you kindly explain what CylindricalDecomposition does? Also "Important hack: avoid arbitrarily oriented cylinders. Use cylinder oriented towards the z axis instead and rotate half-spaces to match. Without this, Mathematica stumbles and fails to compute exact volumes; this is probably an interaction between internal CylindricalDecomposition sub-region result and Integrate over regions" is unclear to me. I have to think about your answer before accepting it.
Feb 10, 2023 at 8:44 history edited kirma CC BY-SA 4.0
deleted 29 characters in body
Feb 10, 2023 at 8:33 history edited kirma CC BY-SA 4.0
deleted 6 characters in body
Feb 10, 2023 at 8:19 history edited kirma CC BY-SA 4.0
added 1 character in body
Feb 10, 2023 at 8:08 history edited kirma CC BY-SA 4.0
deleted 7 characters in body
Feb 10, 2023 at 8:01 history edited kirma CC BY-SA 4.0
added 9 characters in body
Feb 10, 2023 at 7:55 history edited kirma CC BY-SA 4.0
deleted 1 character in body
Feb 10, 2023 at 7:46 history edited kirma CC BY-SA 4.0
added 10 characters in body
Feb 10, 2023 at 7:40 history edited kirma CC BY-SA 4.0
added 208 characters in body
Feb 10, 2023 at 7:25 history edited kirma CC BY-SA 4.0
added 129 characters in body
Feb 10, 2023 at 7:15 history edited kirma CC BY-SA 4.0
added 4 characters in body
Feb 10, 2023 at 7:06 history edited kirma CC BY-SA 4.0
added 3 characters in body
Feb 10, 2023 at 7:00 history answered kirma CC BY-SA 4.0