已知半径和y坐标,求其夹角。
Rad = 500 '
DeltaY = 100 '
Alfa = Atn(DeltaY / Rad)
通过画图后发现计算的夹角与计算的夹角有误差。
画图所得值为 0.201357920790331,计算所得值 0.197395559849881
画图所测的角度值 11.5369590328155计算角度0.197395559849881 *180/Pi= 11.3099324740202 →与测量的角度有误差。请问:Atn的应用是否得当。问题在哪里。
谢谢。
Rad = 500 '
DeltaY = 100 '
Alfa = Atn(DeltaY / Rad)
通过画图后发现计算的夹角与计算的夹角有误差。
画图所得值为 0.201357920790331,计算所得值 0.197395559849881
画图所测的角度值 11.5369590328155计算角度0.197395559849881 *180/Pi= 11.3099324740202 →与测量的角度有误差。请问:Atn的应用是否得当。问题在哪里。
谢谢。
解决方案 »
- WebBrowser折腾死我了,求救
- sendmessage为何不能模拟按钮左键单击
- DataCombo控件中,绑定的记录集增加了记录,控件的BoundText为什么不变?
- 发现有人作弊,真是可恶!大家来看啊,有这样倒分的!
- 一个很难搞定的功能
- 如何从一个工程调用另一个工程里的窗体。
- VB注册全局快捷键的问题~~~~~~~~~~~~~~~~~
- VB+SQL,能否作子报表?怎么做?
- 如何在程序中生成Access数据库文件,并在里面生成规定结构的表
- TreeView控件的NodeClick事件问题
- 一些小问题的修改 大侠帮帮忙!
- SetCursorPos移动两处位置,词霸取词dll只获取最后一个坐标数据?
3.14159265358979
Pi=Atn(1)*4
用Atn(y/R)公式用错误了。没有计算x坐标,
DeltaX = Sqr(Rad ^ 2 - DeltaY ^ 2)
Atn(x/y)-------
Sub ls1()
Dim cPt(2) As Double, oArc As AcadArc, oLine As AcadLine
Dim Rad As Double, Alfa1, Alfa2, DeltaX, DeltaY, Pi
Pi = Atn(1) * 4
Rad = 500
DeltaY = 100
DeltaX = Sqr(Rad ^ 2 - DeltaY ^ 2)
Alfa1 = Atn(DeltaX / DeltaY)
Debug.Print
Alfa1 = Pi / 2 - Alfa1
Alfa2 = Pi - Alfa1
With ThisDrawing
Set oArc = .HandleToObject("91")
Set oLine = .HandleToObject("94")
Debug.Print oLine.Angle, Alfa1
Debug.Print oLine.Angle * 180 / Pi, Alfa1 * 180 / Pi
With oArc
.StartAngle = Alfa1
.EndAngle = Alfa2
.Radius = Rad
End With
End With
Dim d As Double
Rad = 500 '
DeltaY = 100
d = DeltaY / Rad
Debug.Print Atn(d / Sqr(-d * d + 1))
Sub ls1()
Dim cPt(2) As Double, oArc As AcadArc, oLine As AcadLine
Dim Rad As Double, Alfa1, Alfa2, Delta, DeltaY, Pi
Pi = Atn(1) * 4
Rad = 500
DeltaY = 100
Delta = DeltaY / Rad
Alfa1 = Atn(Delta / Sqr(-Delta * Delta + 1))
Alfa2 = Pi - Alfa1
With ThisDrawing
Set oArc = .HandleToObject("91")
Set oLine = .HandleToObject("94")
Debug.Print oLine.Angle, Alfa1
Debug.Print oLine.Angle * 180 / Pi, Alfa1 * 180 / Pi
With oArc
.StartAngle = Alfa1
.EndAngle = Alfa2
.Radius = Rad
End With
End With
End Sub