Function arcsin(ByVal x As Double) As Double
If Abs(x) > 1 Then Exit Function
If Abs(x) = 1 Then arcsin = Sgn(x) * 2 * Atn(1)
If Abs(x) < 1 Then arcsin = Atn(x / Sqr(1 - x * x))
End Function
Function arccos(ByVal x As Double) As Double
If Abs(x) > 1 Then Exit Function
If Abs(x) = 1 Then arccos = 2 * Atn(1) - Sgn(x) * 2 * Atn(1)
If Abs(x) < 1 Then arccos = 2 * Atn(1) - Atn(x / Sqr(1 - x * x))
End Function
Function arcsin(ByVal x As Double) As Double'反正弦
If Abs(x) > 1 Then Exit Function
arcsin = IIf(Abs(x) = 1, Sgn(x) * 2 * Atn(1), Atn(x / Sqr(1 - x * x)))
End Function
Function arccos(ByVal x As Double) As Double'反余弦
If Abs(x) > 1 Then Exit Function
arccos = 2 * Atn(1) - IIf(Abs(x) = 1, Sgn(x) * 2 * Atn(1), Atn(x / Sqr(1 - x * x)))
End Function