From 813bdf36e9b4eb17303c80c28e71f325946d5e5b Mon Sep 17 00:00:00 2001 From: Sei Lisa Date: Wed, 25 Jan 2017 19:29:57 +0100 Subject: [PATCH] Comment out Moon Metty's llRotBetween algorithm. --- lslopt/lslbasefuncs.py | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/lslopt/lslbasefuncs.py b/lslopt/lslbasefuncs.py index 7138b1d..2f6bc9d 100644 --- a/lslopt/lslbasefuncs.py +++ b/lslopt/lslbasefuncs.py @@ -1673,27 +1673,27 @@ def llRotBetween(v1, v2): return Quaternion((0., 0., 1., 0.)) # rotate around the Z-axis # Algorithm by Moon Metty (for reference) - dot = mul(v1, v2, f32=False) - cross = mod(v1, v2, f32=False) - csq = mul(cross, cross, f32=False) - - ddc2 = dot*dot + csq - - DenormalStart = float.fromhex('0x1p-149') - if ddc2 >= DenormalStart: - if csq >= DenormalStart: - s = math.sqrt(ddc2) + dot; - m = math.sqrt(csq + s*s); - return Quaternion(F32((cross[0]/m, cross[1]/m, cross[2]/m, s/m))) - - # Deal with degenerate cases here - if dot > 0: - return ZERO_ROTATION - m = math.sqrt(v1[0]*v1[0] + v1[1]*v1[1]) - if m >= DenormalStart: - return Quaternion(F32((v1[1]/m, -v1[0]/m, 0., 0.))) - return Quaternion((1., 0., 0., 0.)) - return ZERO_ROTATION +# dot = mul(v1, v2, f32=False) +# cross = mod(v1, v2, f32=False) +# csq = mul(cross, cross, f32=False) +# +# ddc2 = dot*dot + csq +# +# DenormalStart = float.fromhex('0x1p-149') +# if ddc2 >= DenormalStart: +# if csq >= DenormalStart: +# s = math.sqrt(ddc2) + dot; +# m = math.sqrt(csq + s*s); +# return Quaternion(F32((cross[0]/m, cross[1]/m, cross[2]/m, s/m))) +# +# # Deal with degenerate cases here +# if dot > 0: +# return ZERO_ROTATION +# m = math.sqrt(v1[0]*v1[0] + v1[1]*v1[1]) +# if m >= DenormalStart: +# return Quaternion(F32((v1[1]/m, -v1[0]/m, 0., 0.))) +# return Quaternion((1., 0., 0., 0.)) +# return ZERO_ROTATION def llRound(f): assert isfloat(f)