人休力学-速度合成与分解

一、首先要导入数学 库

Imports System.Math

二、然后大致知道有以下一些函数

VB的math中提供的函数

Sin(x) 正弦
Cos(x) 余弦
Tan(x) 正切

Math 类型公开以下成员。

方法
--------------------------------------------------------------------------------

   名称 说明
     Abs(Decimal)  返回 Decimal 数字的绝对值。 
     Abs(Double)  返回双精度浮点数字的绝对值。 
     Abs(Int16)  返回 16 位有符号整数的绝对值。 
     Abs(Int32)  返回 32 位有符号整数的绝对值。 
     Abs(Int64)  返回 64 位有符号整数的绝对值。 
     Abs(SByte)  返回 8 位有符号整数的绝对值。 
     Abs(Single)  返回单精度浮点数字的绝对值。 
     Acos  返回余弦值为指定数字的角度。 
     Asin  返回正弦值为指定数字的角度。 
     Atan  返回正切值为指定数字的角度。 
     Atan2  返回正切值为两个指定数字的商的角度。 
   BigMul  生成两个 32 位数字的完整乘积。 
   Ceiling(Decimal)  返回大于或等于指定的十进制数的最小整数值。 
     Ceiling(Double)  返回大于或等于指定的双精度浮点数的最小整数值。 
     Cos  返回指定角度的余弦值。 
     Cosh  返回指定角度的双曲余弦值。 
   DivRem(Int32, Int32, Int32)  计算两个 32 位有符号整数的商,并通过输出参数返回余数。 
   DivRem(Int64, Int64, Int64)  计算两个 64 位有符号整数的商,并通过输出参数返回余数。 
     Exp  返回 e 的指定次幂。 
   Floor(Decimal)  返回小于或等于指定小数的最大整数。 
     Floor(Double)  返回小于或等于指定双精度浮点数的最大整数。 
     IEEERemainder  返回一指定数字被另一指定数字相除的余数。 
     Log(Double)  返回指定数字的自然对数(底为 e)。 
    Log(Double, Double)  返回指定数字在使用指定底时的对数。 
     Log10  返回指定数字以 10 为底的对数。 
     Max(Byte, Byte)  返回两个 8 位无符号整数中较大的一个。 
     Max(Decimal, Decimal)  返回两个十进制数中较大的一个。 
     Max(Double, Double)  返回两个双精度浮点数字中较大的一个。 
     Max(Int16, Int16)  返回两个 16 位有符号的整数中较大的一个。 
     Max(Int32, Int32)  返回两个 32 位有符号的整数中较大的一个。 
     Max(Int64, Int64)  返回两个 64 位有符号的整数中较大的一个。 
     Max(SByte, SByte)  返回两个 8 位有符号的整数中较大的一个。 
     Max(Single, Single)  返回两个单精度浮点数字中较大的一个。 
     Max(UInt16, UInt16)  返回两个 16 位无符号整数中较大的一个。 
     Max(UInt32, UInt32)  返回两个 32 位无符号整数中较大的一个。 
     Max(UInt64, UInt64)  返回两个 64 位无符号整数中较大的一个。 
     Min(Byte, Byte)  返回两个 8 位无符号整数中较小的一个。 
     Min(Decimal, Decimal)  返回两个十进制数中较小的一个。 
     Min(Double, Double)  返回两个双精度浮点数字中较小的一个。 
     Min(Int16, Int16)  返回两个 16 位有符号整数中较小的一个。 
     Min(Int32, Int32)  返回两个 32 位有符号整数中较小的一个。 
     Min(Int64, Int64)  返回两个 64 位有符号整数中较小的一个。 
     Min(SByte, SByte)  返回两个 8 位有符号整数中较小的一个。 
     Min(Single, Single)  返回两个单精度浮点数字中较小的一个。 
     Min(UInt16, UInt16)  返回两个 16 位无符号整数中较小的一个。 
     Min(UInt32, UInt32)  返回两个 32 位无符号整数中较小的一个。 
     Min(UInt64, UInt64)  返回两个 64 位无符号整数中较小的一个。 
     Pow  返回指定数字的指定次幂。 
     Round(Decimal)  将小数值舍入到最接近的整数值。 
     Round(Double)  将双精度浮点值舍入为最接近的整数值。 
     Round(Decimal, Int32)  将小数值按指定的小数位数舍入。 
   Round(Decimal, MidpointRounding)  将小数值舍入到最接近的整数。 一个参数,指定当一个值正好处于另两个数中间时如何舍入这个值。 
     Round(Double, Int32)  将双精度浮点值按指定的小数位数舍入。 
   Round(Double, MidpointRounding)  将双精度浮点值舍入为最接近的整数。 一个参数,指定当一个值正好处于另两个数中间时如何舍入这个值。 
   Round(Decimal, Int32, MidpointRounding)  将小数值按指定的小数位数舍入。 一个参数,指定当一个值正好处于另两个数中间时如何舍入这个值。 
   Round(Double, Int32, MidpointRounding)  将双精度浮点值按指定的小数位数舍入。 一个参数,指定当一个值正好处于另两个数中间时如何舍入这个值。 
     Sign(Decimal)  返回表示数字符号的值。 
     Sign(Double)  返回表示双精度浮点数字的符号的值。 
     Sign(Int16)  返回一个值,该值表示 16 位有符号整数的符号。 
     Sign(Int32)  返回一个值,该值表示 32 位有符号整数的符号。 
     Sign(Int64)  返回一个值,表示 64 位有符号整数的符号。 
     Sign(SByte)  返回表示 8 位有符号整数的符号的值。 
     Sign(Single)  返回表示单精度浮点数字的符号的值。 
     Sin  返回指定角度的正弦值。 
     Sinh  返回指定角度的双曲正弦值。 
     Sqrt  返回指定数字的平方根。 
     Tan  返回指定角度的正切值。 
     Tanh  返回指定角度的双曲正切值。 
   Truncate(Decimal)  计算指定小数的整数部分。 
   Truncate(Double)  计算指定双精度浮点数的整数部分。 
另外可由以上函数导出以下函数

由VB基本函数导出公式

 

以下为非基本数学函数的列表,皆可由基本数学函数导出:

函数由基本函数导出之公式

Secant(正割)Sec(X) = 1 / Cos(X)

Cosecant(余割)Cosec(X) = 1 / Sin(X)

Cotangent(余切)Cotan(X) = 1 / Tan(X)

Inverse Sine(反正弦)Arcsin(X) = Atn(X / Sqr(-X * X + 1))

Inverse Cosine(反余弦)Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)

Inverse Secant(反正割)Arcsec(X) = Atn(X / Sqr(X * X - 1)) + Sgn((X) - 1) * (2 * Atn(1))

Inverse Cosecant(反余割)Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1))

Inverse Cotangent(反余切)Arccotan(X) = Atn(X) + 2 * Atn(1)

Hyperbolic Sine(双曲正弦)HSin(X) = (Exp(X) - Exp(-X)) / 2

Hyperbolic Cosine(双曲余弦)HCos(X) = (Exp(X) + Exp(-X)) / 2

Hyperbolic Tangent(双曲正切)HTan(X) = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X))

Hyperbolic Secant(双曲正割)HSec(X) = 2 / (Exp(X) + Exp(-X))

Hyperbolic Cosecant(双曲余割)HCosec(X) = 2 / (Exp(X) - Exp(-X))

Hyperbolic Cotangent(双曲余切)HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X))

Inverse Hyperbolic Sine(反双曲正弦)HArcsin(X) = Log(X + Sqr(X * X + 1))

Inverse Hyperbolic Cosine(反双曲余弦)HArccos(X) = Log(X + Sqr(X * X - 1))

Inverse Hyperbolic Tangent(反双曲正切)HArctan(X) = Log((1 + X) / (1 - X)) / 2

Inverse Hyperbolic Secant(反双曲正割)HArcsec(X) = Log((Sqr(-X * X + 1) + 1) / X)

Inverse Hyperbolic CosecantHArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X)

Inverse Hyperbolic Cotangent(反双曲余切)HArccotan(X) = Log((X + 1) / (X - 1)) / 2

以 N 为底的对数LogN(X) = Log(X) / Log(N)

三、计算

1、定义相关变量

'定义合速度(这个合速度是初速度)

dim v0 as double

'定义 2个运动速度

dim v1 as double

dim v2 as double

'定义平面运动速度方向的夹角

dim a as double

'定义合速度的方向

dim myfang as double

2、计算合速度

1)如果运动方向一致

v0=v1+v2

2)如果运动速度方向成直角

v0=sqrt(v1^2+v2^2)

myfang=Atan(v1/v2)

3)成任何角度

v0=sqrt(v1^2+v2^2+2*v1*v2*cos(a))

myfang=Atan(v1*sina)/(v2+v1*cosa)

3、分解

'vy为垂直速度

'vx为水平速度

vy=v0*sina

vx=v0*cosa

你可能感兴趣的:(数学与计算)