python计算圆柱的体积_圆柱与球相交体体积计算及扩展问题

摘要这篇文章将会画出圆柱与球相交得到的立体的样子和圆柱与圆柱相交得到立体的样子,并求出他们的体积。

文章目录(Table of Contents)

问题来源

最近在一本书上看到要求x^2 + y^2 == 2 x与x^2 + y^2 + z^2 == 4相交得到的立体的体积,即圆柱与球相交得到的立体的体积。看答案需要座标变换之类的,但是想到之后这类问题我可能都会使用mathematica来解决,于是决定用mathematica来求一下,并画出圆柱与球相交得到的立体的形状。

问题解决

我们首先来看一下两个立体相交得到的是什么样子的图像,我们使用ContourPlot3D来画出相交的样子。

ContourPlot3D[{x^2 + y^2 == 2 x, x^2 + y^2 + z^2 == 4}, {x, -2,2}, {y, -2, 2}, {z, -2, 3},

ContourStyle -> {{Opacity[.5]}, {Opacity[0.7]}},

BoundaryStyle -> Directive[Red, Thick],

Mesh->None

]

10|imageslim

可以看到上面的图,但是感觉还是不够形象,我想要把这个相交的立体抠出来。不慌,我们有办法的。

r = RegionPlot3D[ x^2 + y^2 <= 2 x && x^2 + y^2 + z^2 <= 4, {x, -2, 2}, {y, -2,  2}, {z, -2, 3}, Mesh->None]

10|imageslim

可以看到这个就是抠出来的图形的样子。下面我们来求一下这个立体的体积。

Integrate[Boole[x^2 + y^2 <= 2 x && x^2 + y^2 + z^2 <= 4], {x, -2, 2}, {y, -2,2}, {z, -2, 3}];

>>16/9 (-4 + 3 Pi)

通过上面的办法就将体积计算出来了,和答案对了一下,是一样的。恩,以后就可以这么计算立体的体积了。

问题拓展--圆柱与圆柱相交

我们再来看一下圆柱与圆柱相交得到的立体的形状。

ContourPlot3D[{x^2 + y^2 == 4, x^2 + z^2 == 4}, {x, -3, 3}, {y, -3,3}, {z, -3, 3},

ContourStyle -> {{Opacity[.7]}, {Opacity[0.7]}},

BoundaryStyle -> Directive[Red, Thick],

BoxRatios -> {1, 1, 1},

Mesh -> None

]

10|imageslim

这样看还是看不清,我们把这个相交得到的立体抠出来看看。

RegionPlot3D[

x^2 + y^2 <= 4 && x^2 + z^2 <= 4, {x, -3, 3}, {y, -3, 3}, {z, -3, 3},

PerformanceGoal -> "Quality",

PlotPoints -> 50,

Mesh -> None]

10|imageslim

到这里我们就把我觉得比较常见的两种立体相交得到立体的样子画出来了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值