免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖

如何计算 x²+y²+2z²≤a 和 0≤x≤y≤z 围成图形的体积?

如何计算$x^2+y^2+2z^2\leqslant a$和$0\leqslant x\leqslant y\leqslant z$围成图形的体积?(其中$a>0$为常数)
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

一般方法不会,只好投个机,先计算:
`x^2+y^2+z^2\leqslant1` 且 `0\leqslant x\leqslant y\leqslant\frac1{\sqrt2}z` 的体积。

记:
平面 1:`x=0`;
平面 2:`y=x`;
平面 3:`z=\sqrt2y`;

显然:
平面 1、2 的夹角为 `45\du`;
平面 1、3 的夹角为 `90\du`;
平面 2、3 的夹角得算一算,平面 2 法向量 `\bm n_2=(-1,1,0)`,平面 3 法向量 `\bm n_3=(0,-\sqrt2,1)`,故夹角为
\[\arccos\frac{\abs{\bm n_2\cdot\bm n_3}}{\abs{\bm n_2}\cdot\abs{\bm n_3}}=\arccos\frac1{\sqrt3}.\]
于是,这三个平面在球 `x^2+y^2+z^2=1` 上截得的球面三角形面积为
\[S=\frac\pi4+\frac\pi2+\arccos\frac1{\sqrt3}-\pi=\arccos\frac1{\sqrt3}-\frac\pi4,\]而所求体积 `V` 满足 `V:V_{\text{球}}=S:S_{\text{球}}`,所以
\[V=\frac43\pi\cdot\frac{\arccos\frac1{\sqrt3}-\frac\pi4}{4\pi}=\frac13\left( \arccos\frac1{\sqrt3}-\frac\pi4 \right).\]

那么对于原题来讲,结论就是
\[V=\frac{a^{3/2}}{3\sqrt2}\left( \arccos\frac1{\sqrt3}-\frac\pi4 \right).\]

TOP

利用 Mathematica 验证上述结果,取 a=4,有:
QQ截图20211028014244.png
2021-10-28 01:43

code:
  1. Integrate[Boole[x^2 + y^2 + 2 z^2 <= 4 && 0 <= x <= y <= z], {x, 0, 2}, {y, 0, 2}, {z, 0, 2}]
  2. N[%]
  3. a^(3/2)/(3 Sqrt[2]) (ArcCos[1/Sqrt[3]] - Pi/4) /. a -> 4 // N
复制代码
PS、MMA 并没继续化简 Pi - 6 ArcCot[Sqrt[2]] + ArcTan[2 Sqrt[2]],用 FullSimplify 也不行,但是
  1. Pi - 6 ArcCot[Sqrt[2]] + ArcTan[2 Sqrt[2]] == 4 ArcCos[1/Sqrt[3]] - Pi // FullSimplify
复制代码
又能得出 True。
冇钱又冇样、冇型又冇款、冇身材又冇文采、冇学历又冇能力、冇高度冇速度冇力度兼夹冇野做!(粤语)
口号:珍爱生命,远离考试。

TOP

回复 2# kuing


我还以为要上三重积分,啧啧啧啧啧啧啧

TOP

本帖最后由 APPSYZY 于 2021-10-28 07:31 编辑

对原题而言,直接用Mathematica的Volume和ImplicitRegion是否可以得到\[V=\frac{a^{3/2}}{3\sqrt2}\left( \arccos\frac1{\sqrt3}-\frac\pi4 \right)\]呢?如果可以的话,相当于软件和证明互相验证了正确性,然而我并不会使用mma

TOP

回复 5# APPSYZY

我用的旧版 MMA 还没有这两个命令……

用 Boole 就好了,用以下命令:
  1. Integrate[Boole[x^2 + y^2 + 2 z^2 <= a && 0 <= x <= y <= z], {x, 0, Sqrt[a]}, {y, 0, Sqrt[a]}, {z, 0, Sqrt[a]}, Assumptions -> a > 0]
复制代码
运行结果是
$\displaystyle\frac{a^{3/2} \left(\pi -6 \text{ArcCot}\left[\sqrt{2}\right]+\text{ArcTan}\left[2 \sqrt{2}\right]\right)}{12 \sqrt{2}}$
然后再
  1. FullSimplify[Pi - 6 ArcCot[Sqrt[2]] + ArcTan[2 Sqrt[2]] - 4 (ArcCos[1/Sqrt[3]] - Pi/4)]
复制代码
运行结果为 0,说明 $\displaystyle\pi -6 \text{ArcCot}\left[\sqrt{2}\right]+\text{ArcTan}\left[2 \sqrt{2}\right] = 4\left(\text{ArcCos}\left[\frac{1}{\sqrt{3}}\right]-\frac{\pi }{4}\right)$,即验证通过。

TOP

回复 2# kuing

啊,其实还可以继续化简,由
\[\tan(\arccos x)=\frac{\sqrt{1-x^2}}x\riff\tan\left( \arccos\frac1{\sqrt3} \right)=\sqrt2,\]得到
\[\tan\left( \arccos\frac1{\sqrt3}-\frac\pi4 \right)=\frac{\sqrt2-1}{\sqrt2+1}=3-2\sqrt2,\]所以最终表达式可以化简为
\[V=\frac{a^{3/2}}{3\sqrt2}\arctan\bigl( 3-2\sqrt2 \bigr).\]

TOP

TOP

回复 8# isee

我也是今天收到这个邀请,所以又看了下,忽然发现表达式还可以化简

TOP

回复 9# kuing

我纯粹路过,不懂的太多了。



PS:哈哈,感觉像是套娃,一个链接到另一个链接,结果又回到论坛了

TOP

回复 10# isee

就本帖的求体积,你应该可以懂的。
首先我是将椭球拉伸为球,变成球面几何,求完后变回去即可。
约束条件就是三个平面围出来,三个平面都过球心,所以在球面上围出一个球面三角形,球面三角形的面积公式你知道吧?只需算三个角,也就是三个平面的夹角,这些其实都是基本东西。

PS、嗯,还有这个:http://kuing.orzweb.net/viewthread.php?tid=8270

TOP

本人复制了 6# 楼的 mathetica 程序代码,但是在我的电脑上运行结果却与  6# 楼的不一样。不是表面形式不一样,是实质上不一样,6# 楼的结果是正确的,我的运行结果是错的,不知错误原因何在?

下面是 6# 楼的程序代码和运行结果:
网友使用的代码及运行结果.png
2021-11-19 17:26


下面是复制了 6# 楼的程序代码,在本人电脑上的运行结果:
使用网友的代码在本人电脑上的运行结果.png
2021-11-19 17:27


为什么说本人的结果不对呢?因为将 a=4 代入上述两个表达式以后,数值分别是 0.320401 和  3.28232,前者正确、后者错。  

错误原因在哪里?

TOP

回复 12# TSC999

那我就不知道了,软件内部怎么算的我也不了解……
我用的是 Mathematica7,改天用别的版本试试……

`\arctan\frac{4\sqrt2}7=\pi-2\arctan(2\sqrt2)`
将分子的 7Pi 改为 3Pi 就一样了……

如果不用 a 直接写 4,结果如何?
或者改用 NIntegrate 试试看?

TOP

回复  TSC999

那我就不知道了,软件内部怎么算的我也不了解……
我用的是 Mathematica7,改天用别的版本 ...
kuing 发表于 2021-11-19 18:01


如果不用 a 直接写 4,结果正确。

TOP

本帖最后由 TSC999 于 2021-11-20 10:29 编辑

我用的是 Mathematica 9.
区别在哪里.png
2021-11-20 10:08

积分一是椭球体的八分之一。积分二是在积分一区域挖去了许多矿以后剩余的部分。
积分二的另一个具体数值不正确,它是先不给 a 赋值,算出字符表达式以后再令 a = 4。这样不行(mathematica 9 版本),但是用 mathematica 7 版本就可以?

TOP

回复 15# TSC999

我用另一台装了 Mathematica 11.2 的电脑上又运行了 6# 的代码,结果是:
QQ截图20211123002716.png
2021-11-23 00:27

又是另一个不同的形式还好这次只是表面不同,实质是一样的,用
  1. FullSimplify[(12 Pi - 50 ArcCot[Sqrt[2]] - ArcTan[(13870 Sqrt[2])/1633])/(96 Sqrt[2]) == (ArcCos[1/Sqrt[3]] - Pi/4)/(3 Sqrt[2])]
复制代码
输出 True。

TOP

返回列表 回复 发帖