zoj 2369 Two Cylinders 辛普森积分 几何
2013-07-22 21:53
148 查看
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1345
题意:给两个无限高的圆柱的半径,它们垂直放置,坐标轴相交,求相交部分的体积。
思路:数值积分,用辛普森公式来算。把三重积分转化为一重的。
假设半径为r1的圆柱沿y轴,r2的圆柱沿z轴,那么从x轴看过去,相交部分在yoz平面的切面是个矩形。
矩形在y轴方向的长度为2*y=sqrt(r12 -x2),在z轴方向上的长度为2*sqrt(r22 - x2),这样积分算出来的体积是yoz平面上半部分的体积,还有下半部分的,总的体积要乘以2.
如果是从z方向看过去,则平行于xOy平面所做的切面都是一个矩形,x方向长2*sqrt(r1*r1-z*z),y方向长2*sqrt(r2*r2-z*z),同样总体积需要乘以2.
由高数知识可知: 有下面的三重积分成立
∫∫∫dxdydz =|Ω| (Ω为积分区域,|Ω|为区域Ω的体积) 。所以关键在于把Ω表示出来。参考下面的图形:
View Code
同样可以就几分的还有龙贝格求积分,勒让德-高斯求积分法,以后再去看看这两个。
题意:给两个无限高的圆柱的半径,它们垂直放置,坐标轴相交,求相交部分的体积。
思路:数值积分,用辛普森公式来算。把三重积分转化为一重的。
假设半径为r1的圆柱沿y轴,r2的圆柱沿z轴,那么从x轴看过去,相交部分在yoz平面的切面是个矩形。
矩形在y轴方向的长度为2*y=sqrt(r12 -x2),在z轴方向上的长度为2*sqrt(r22 - x2),这样积分算出来的体积是yoz平面上半部分的体积,还有下半部分的,总的体积要乘以2.
如果是从z方向看过去,则平行于xOy平面所做的切面都是一个矩形,x方向长2*sqrt(r1*r1-z*z),y方向长2*sqrt(r2*r2-z*z),同样总体积需要乘以2.
由高数知识可知: 有下面的三重积分成立
∫∫∫dxdydz =|Ω| (Ω为积分区域,|Ω|为区域Ω的体积) 。所以关键在于把Ω表示出来。参考下面的图形:
double f(double x) { ... } double simpson(double a, doubleb) { return (b-a)*(f(a) + 4.*f((a+b)/2.) + f(b)) / 6.; } double calc(double a, double b, int depth) { double total = simpson(a, b), mid = (a+b) / 2.; double tmp = simpson(a, mid) + simpson(mid, b); if(fabs(total-tmp)<eps && depth > 3) return total; return calc(a, mid, depth + 1) + calc(mid, b, depth + 1); }
View Code
同样可以就几分的还有龙贝格求积分,勒让德-高斯求积分法,以后再去看看这两个。
相关文章推荐
- ZOJ 2369 | SGU 217 | Acdream 1234 自适应辛普森积分
- 【计算几何】【辛普森积分法】UVALive - 7076 - Highway
- zoj 2369 Two Cylinders
- Acdream 1234 Two Cylinders(自适应辛普森积分法)
- BZOJ 1502: [NOI2005]月下柠檬树 [辛普森积分 解析几何 圆]
- 【数值积分】 ZOJ 2369 Two Cylinders
- acdream 1234-Two Cylinders(辛普森积分)
- SPOJ-CIRU 多圆并面积(计算几何-辛普森积分)
- BZOJ 1502 NOI 2005 月下柠檬树 计算几何 自适应辛普森积分
- 自适应辛普森法求积分
- zoj-2559 The Smart Bomb 简单几何
- ZOJ 1081 Within(点是否在多边形内)| 计算几何
- [BZOJ2178]圆的面积并(辛普森积分)
- 辛普森积分
- [BZOJ1502]月下柠檬树(自适应辛普森积分)
- 洛谷.4525.[模板]自适应辛普森法1(Simpson积分)
- ZOJ-3919-Ellipse【简单几何】
- 微分与积分的几何意义
- ZOJ - 3866 Cylinder Candy (数学,积分)
- zoj 3203 Light Bulb(计算几何)