明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1231|回复: 5

问你

[复制链接]
发表于 2005-1-11 10:42:00 | 显示全部楼层 |阅读模式
我用VBA编了一个 程序,用作 螺旋桨 画图,但在定义一个用于计算切线的函数时,发生了“除数为零”的现象,在函数内的除数全是“行参”,不存在“定义时赋值为零”的情况,我想问一下大家:是不是在引用时发生的“除数为零”,或还有 其它的什么原因?请各位给我提提建议。祝大家过年快乐!
发表于 2005-1-11 13:09:00 | 显示全部楼层

回复

贴上你的代码.


可能是参数没有正确地传递过来吧!
发表于 2005-2-24 22:32:00 | 显示全部楼层
如果sin(0) 那么sin(360)
发表于 2005-2-25 08:16:00 | 显示全部楼层
houlinbo发表于2005-2-24 22:32:00如果sin(0) 那么sin(360)

Sin函数里面的参数是以弧度表示的,而且0是在Sin的定义域里面,并不回出除0的问题。 360如果是弧度的话算算出来可就不是0了
发表于 2005-2-25 20:32:00 | 显示全部楼层
S = 3.141592654 * (d - t)
TT = S / m
BB = B / (n - 1)
H = 2 * R * Tan(3.141592654 / (180 / (BB / 2)))
aa = 0
For i = 1 To m / 2 + 1
If aa = 0 Then aa = 360
If aa = 90 Then aa = 450
If aa >= 0 And aa <= 90 Or aa = 360 Or aa = 450 Then
ln = (d - 2 * t) * Tan(3.141592654 / (180 / (BB / 2))) * Cos(3.141592654 / (180 / aa)) / 2 + H / 2
End If
If aa > 90 And aa <= 180 Then
ln = d * Tan(3.141592654 / (180 / (BB / 2))) * Cos(3.141592654 / (180 / aa)) / 2 + H / 2
End If
If aa = 360 Then aa = 0
If aa = 450 Then aa = 90
point1(0) = 3 * S + rrr
point1(1) = 0
point1(2) = 0
point2(0) = 3 * S + rrr
point2(1) = ln
point2(2) = 0
Set plineobj = ThisDrawing.ModelSpace.AddLine(point1, point2)
ThisDrawing.Application.ZoomAll
next i 通过以上例子也许你能理解我
发表于 2005-2-26 08:57:00 | 显示全部楼层
Pi的更精确值应为4*atn(1)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 20:37 , Processed in 0.175017 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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