明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1100|回复: 0

纯数学 计算旋转体 体积!

[复制链接]
发表于 2008-7-18 10:41:00 | 显示全部楼层 |阅读模式

'圆方程(x-a)^2+(y-b)^2=c^2的定积分(圆弧绕x轴旋转的体积)
' a b  为圆心坐标,e  f 表示定积分的上下限 我是先显化为 x=f(y)绕x轴旋转的体积
Public Function dingjf(ByRef a As Double, ByRef b As Double, ByRef c As Double, ByRef e As Double, ByRef f As Double)
Dim pi As Double
pi = 4 * Atn(1)

If a < 0 Then

    dingjf = (f - e) * (pi * (a * a + c * c) - pi * b * b) - (pi / 3#) * ((f - b) * (f - b) * (f - b) - (e - b) * (e - b) * (e - b)) + pi * b * ((f - b) * (f - b) - (e - b) * (e - b)) + 2 * a * pi * (0.5 * (f - b) * Sqr(c * c - (f - b) * (f - b)) + 0.5 * c * c * Arcsin((f - b) / c) - 0.5 * (e - b) * Sqr(c * c - (e - b) * (e - b)) + 0.5 * c * c * Arcsin((e - b) / c))
Else
     dingjf = (f - e) * (pi * (a * a + c * c) - pi * b * b) - (pi / 3#) * ((f - b) * (f - b) * (f - b) - (e - b) * (e - b) * (e - b)) + pi * b * ((f - b) * (f - b) - (e - b) * (e - b)) - 2 * a * pi * (0.5 * (f - b) * Sqr(c * c - (f - b) * (f - b)) + 0.5 * c * c * Arcsin((f - b) / c) - 0.5 * (e - b) * Sqr(c * c - (e - b) * (e - b)) + 0.5 * c * c * Arcsin((e - b) / c))
End If
End Function
'反正炫函数
Public Function Arcsin(ByRef x As Double)
Arcsin = Atn(x / Sqr(-x * x + 1))
End Function

计算结果不对,帮忙分析分析

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-22 05:43 , Processed in 0.151800 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表