第1个回答 2013-07-11
arccosx可以表示为Atn(Sqr(1 - x ^ 2) / x)
下面是一个例子:
Const pi = 3.1415926
Private Sub Command1_Click()
Dim i As Single, j As Single
i = 0.5
j = Arccos(i)
Print i, j, j / pi * 180
i = -0.5
j = Arccos(i)
Print i, j, j / pi * 180
i = 0
j = Arccos(i)
Print i, j, j / pi * 180
End Sub
Private Function Arccos(ByVal x As Single) As Single
If x = 0 Then
Arccos = 3.1415926 / 2
Else
Arccos = Atn(Sqr(1 - x ^ 2) / x)
If Arccos < 0 Then '***注意
Arccos = Arccos + 3.1415926
End If
End If
End Function