Difference between revisions of "GetAngleBetween"
From scripting
(Created page with " Function GetAngleBetween(PtAx As Variant, PtAy As Variant, PtAz As Variant, PtBx As Variant, PtBy As Variant, PtBz As Variant, PtCx As Variant, PtCy As Variant, PtCz As Varia...") |
(No difference)
|
Latest revision as of 05:39, 22 April 2017
Function GetAngleBetween(PtAx As Variant, PtAy As Variant, PtAz As Variant, PtBx As Variant, PtBy As Variant, PtBz As Variant, PtCx As Variant, PtCy As Variant, PtCz As Variant) As Double Dim Vec1() ReDim Vec1(2) Dim Vec2() ReDim Vec2(2) Vec1(0) = PtAx - PtBx Vec1(1) = PtAy - PtBy Vec1(2) = PtAz - PtBz Vec2(0) = PtCx - PtBx Vec2(1) = PtCy - PtBy Vec2(2) = PtCz - PtBz Length1 = Sqr(Vec1(0) * Vec1(0) + Vec1(1) * Vec1(1) + Vec1(2) * Vec1(2)) Length2 = Sqr(Vec2(0) * Vec2(0) + Vec2(1) * Vec2(1) + Vec2(2) * Vec2(2)) DotP = (Vec1(0) * Vec2(0) + Vec1(1) * Vec2(1) + Vec1(2) * Vec2(2)) Calc = DotP / (Length1 * Length2) 'Arccos (77) GetAngleBetween = (Atn(-Calc / Sqr(-Calc * Calc + 1)) + 2 * Atn(1)) * (180 / PI) End Function