社区
VB基础类
帖子详情
查找在VB中和 atan2(yi,xi)类似的函数.功能:求y/x(弧度表示)的反正切值
gq
2003-09-15 03:59:13
查找在VB中和 atan2(y,x)类似的函数.功能:求y/x(弧度表示)的反正切值
VB中有的是Atn(X),求X的反正切值,不清楚是否有atan2(y,x)函数.
如果没有,atan2(y,x)是否可以通过什么方式来得到.
...全文
930
5
打赏
收藏
查找在VB中和 atan2(yi,xi)类似的函数.功能:求y/x(弧度表示)的反正切值
查找在VB中和 atan2(y,x)类似的函数.功能:求y/x(弧度表示)的反正切值 VB中有的是Atn(X),求X的反正切值,不清楚是否有atan2(y,x)函数. 如果没有,atan2(y,x)是否可以通过什么方式来得到.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
online
2003-09-22
打赏
举报
回复
Option Explicit
Public Enum EErrorMath
eeBaseMath = 13520 ' Math
End Enum
' Derived math functions from language reference Appendix D
' Secant
Function Sec(x As Double) As Double
Sec = 1 / Cos(x)
End Function
' Cosecant
Function CoSec(x As Double) As Double
CoSec = 1 / Sin(x)
End Function
' Cotangent
Function CoTan(x As Double) As Double
CoTan = 1 / Tan(x)
End Function
' Inverse Sine
Function ArcSin(x As Double) As Double
ArcSin = Atn(x / Sqr(-x * x + 1))
End Function
' Inverse Cosine
Function ArcCos(x As Double) As Double
ArcCos = Atn(-x / Sqr(-x * x + 1)) + 2 * Atn(1)
End Function
' Inverse Secant
Function ArcSec(x As Double) As Double
ArcSec = Atn(x / Sqr(x * x - 1)) + Sgn(x - 1) * (2 * Atn(1))
End Function
' Inverse Cosecant
Function ArcCoSec(x As Double) As Double
ArcCoSec = Atn(x / Sqr(x * x - 1)) + (Sgn(x) - 1) * (2 * Atn(1))
End Function
' Inverse Cotangent
Function ArcCoTan(x As Double) As Double
ArcCoTan = Atn(x) + 2 * Atn(1)
End Function
' Hyperbolic Sine
Function HSin(x As Double) As Double
HSin = (Exp(x) - Exp(-x)) / 2
End Function
' Hyperbolic Cosine
Function HCos(x As Double) As Double
HCos = (Exp(x) + Exp(-x)) / 2
End Function
' Hyperbolic Tangent
Function HTan(x As Double) As Double
HTan = (Exp(x) - Exp(-x)) / (Exp(x) + Exp(-x))
End Function
' Hyperbolic Secant
Function HSec(x As Double) As Double
HSec = 2 / (Exp(x) + Exp(-x))
End Function
' Hyperbolic Cosecant
Function HCoSec(x As Double) As Double
HCoSec = 2 / (Exp(x) - Exp(-x))
End Function
' Hyperbolic Cotangent
Function HCotan(x As Double) As Double
HCotan = (Exp(x) + Exp(-x)) / (Exp(x) - Exp(-x))
End Function
' Inverse Hyperbolic Sine
Function HArcSin(x As Double) As Double
HArcSin = Log(x + Sqr(x * x + 1))
End Function
' Inverse Hyperbolic Cosine
Function HArcCos(x As Double) As Double
HArcCos = Log(x + Sqr(x * x - 1))
End Function
' Inverse Hyperbolic Tangent
Function HArcTan(x As Double) As Double
HArcTan = Log((1 + x) / (1 - x)) / 2
End Function
' Inverse Hyperbolic Secant
Function HArcSec(x As Double) As Double
HArcSec = Log((Sqr(-x * x + 1) + 1) / x)
End Function
' Inverse Hyperbolic Cosecant
Function HArcCoSec(x As Double) As Double
HArcCoSec = Log((Sgn(x) * Sqr(x * x + 1) + 1) / x)
End Function
' Inverse Hyperbolic Cotangent
Function HArcCoTan(x As Double) As Double
HArcCoTan = Log((x + 1) / (x - 1)) / 2
End Function
' Logarithm to base N
Function LogN(x As Double, n As Double) As Double
LogN = Log(x) / Log(n)
End Function
lxcc
2003-09-22
打赏
举报
回复
借用ATN完全可以实现,自己编吧!
ATAN2 概念
返回给定的 X 及 Y 坐标值的反正切值。反正切的角度值等于 X 轴与通过原点和给定坐标点(x_num, y_num)的直线之间的夹角。结果以弧度表示并介于 -pi 到 pi 之间(不包括 -pi)。
语法
ATAN2(x_num,y_num)
X_num 点的 X 坐标。
Y_num 点的 Y 坐标。
说明
结果为正表示从 X 轴逆时针旋转的角度,结果为负表示从X 轴顺时针旋转的角度。
ATAN2(a, b) 等于 ATAN(b/a),除非 ATAN2 值为零。
如果 x_num 和 y_num 都为零,ATAN2 返回错误值 #DIV/0!。
如果要用度表示反正切值,需将结果再乘以 180/PI( )。
示例
ATAN2(1, 1) 等于 0.785398 (pi/4弧度)
ATAN2(-1, -1) 等于 -2.35619 (-3*pi/4 弧度)
ATAN2(-1, -1)*180/PI() 等于 -135 (度)
James0001
2003-09-22
打赏
举报
回复
'大概是这样
Function Atan2(numberX As Double, numberY As Double) As Double
Const PI = 3.14159265358979
If numberY < 0 Then
Atan2 = Atn(numberX / numberY) + PI
Else
Atan2 = Atn(numberX / numberY)
End If
End Function
gq
2003-09-22
打赏
举报
回复
VB人气好底哦。
aalei
2003-09-15
打赏
举报
回复
帮你顶
C语言
atan2
()
函数
:
求
y/x的
反正
切值
头文件:#include <math.h>
atan2
()
函数
用于
求
y / x 的
反正
切值
。其原型为: double
atan2
(double y, double x); 【参数】x为坐标的X轴值,y为坐标的Y轴值。如果 x 和 y 的值都为 0,将会导致错误。
atan2
()
求
坐标 x 和 y 的坐标的
反正
切值
。
反正
切的角度值等于 X 轴与通过原点和给定坐标点的直线之间的夹角。结果以
弧度
表示
,并介于 -π 到 π 之间。 在三角
函数
中
,两个参数的
函数
atan2
() 是正切
函数
的一个变种
用c语言坐标正反算,C语言
atan2
()
函数
:计算Y/X的
反正
切值
函数
名:
atan2
头文件:
函数
原型: double
atan2
(double y, double x);功 能: 计算Y/X的
反正
切值
参 数: double y 代表 x 轴坐标的浮点值。double x 代表 y 轴坐标的浮点值。返回值:
atan2
函数
返回的是原点至点(x,y)的方位角,即与 x 轴的夹角。也可以理解为复数 x+
yi
的辐角。返回值的单位为
弧度
,取值范围 为(-π,π]...
atan2
反正
切
atan2
反正
切 实例: tan(θ) = y/x 2.
atan2
(y, x)
功能
:
求
y/x 的
反正
切值
(即 θ)。并且
atan2
() 是 atan() 的增强版,能够确定角度所在的象限。 注意:
反正
切
函数
atan2
() 和正切
函数
tan() 的
功能
恰好相反:tan() 是已知一个角的
弧度
值,
求
该角的正
切值
;而
atan2
() 是已知一个角的正
切值
(也就是 y/x),
求
该角的
弧度
值。 两个point之间的 y / x返回值: 在第一象限,0
c语言atan,C语言atan()
函数
:
求
正
切值
为 x 的
弧度
数
函数
名: atan头文件:
函数
原型: double atan(double x);功 能:
求
正
切值
为 x 的
弧度
数参数: double x 正
切值
,以
弧度
表示
,区间为(-π/2, π/2)返回值: 正
切值
为 x 的角的度数。注意: atan() 是已知一个角的正
切值
y,
求
该角的
弧度
值 x。由于正切的规律本可以有两个角度的但它却只返回一个,因为atan的值域是从-90~90也就是它只...
【c++】
atan2
()和atan()
函数
atan2
(): (1)定义: double
atan2
(double y,double x);
atan2
()
函数
的
功能
是
求
y/x 的
反正
切值
。
atan2
() 是 atan() 的增强版,能够确定角度所在的象限。
反正
切
函数
atan2
() 和正切
函数
tan() 的
功能
恰好相反:tan() 是已知一个角的
弧度
值,
求
该角的正
切值
;而
atan2
() 是已知一个角的正
切值
(也就是 y/x),
求
该角的
弧度
值。 其
中
参数y:
表示
位于 Y 轴上的值;参数x:
表示
位于 X 轴上的值 注意,x 和 y 同时为
VB基础类
7,789
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章