KeyTo9_Fans 发表于 2024-12-8 17:30:23

三个圆柱正交后的公共部分的体积

如题,如果三个圆柱直径相同,则求正交后的公共部分的体积是一个经典问题了,可以搜到大量的参考资料:

https://tieba.baidu.com/p/7654784822
https://www.zhihu.com/question/360437591
https://mp.weixin.qq.com/s/Yms8jPQlfKPJhS5AU8hNqw

我想基于此问题来个小题大作:

1、若中轴线两两垂直相交的3个圆柱的直径分别是0.9、1.0和1.1,那么这3个圆柱的公共部分的体积是多少呢?

2、若中轴线两两垂直相交的3个圆柱的直径分别是x、y和z,那么这3个圆柱的公共部分的体积又是多少呢?

倪举鹏 发表于 2024-12-13 14:51:17

本帖最后由 倪举鹏 于 2024-12-13 14:52 编辑

上式不知道能不能积分出来,感觉结果是对的,半径a>b>c

KeyTo9_Fans 发表于 2024-12-16 21:51:20

你上面那张图里的答案是对的:



不知道为什么,你下面那张图里的体积有些许偏差,而且这是个对称的零件,重心理应在(0,0,0)处
他该不会是随机撒点算出来的数据吧?

Jack315 发表于 2024-12-17 11:03:08

【Monte Carlo 实验】
三个圆柱体直径分别为:r1=0.9, r2=1.0, r3=1.1
一次实验包含 30000 个数据点,运行 30 次实验,得 30 个样本数据。统计结果:


均值:0.541571655395289
标准差:0.00277826934355777

补充内容 (2024-12-19 07:07):
【更正】:“r1=0.9, r2=1.0, r3=1.1” 应为 “d1=0.9, d2=1.0, d3=1.1”

Jack315 发表于 2024-12-17 22:54:29

【Mathematica 代码】
定义半径:
{rx, ry, rz} = {0.9, 1.0, 1.1}/2
定义三个圆柱体:
cx = Cylinder[{{-2, 0, 0}, {2, 0, 0}}, rx]
cy = Cylinder[{{0, -2, 0}, {0, 2, 0}}, ry]
cz = Cylinder[{{0, 0, -2}, {0, 0, 2}}, rz]
求三个圆柱体公共部分(交集):
object = RegionIntersection[{cx, cy, cz}]
作图:
Region
计算体积:
RegionMeasure

10位精度的值:
V=0.5427897278

补充内容 (2024-12-23 19:53):
这题积分中的被积函数有点病态……坐等高人出手。
页: [1]
查看完整版本: 三个圆柱正交后的公共部分的体积