home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / octa21eb.zip / octave / SCRIPTS.ZIP / scripts / quaternion / qinv.m < prev    next >
Text File  |  1998-10-23  |  283b  |  13 lines

  1. function retval = qinv(q)
  2. # function b = qinv(q)
  3. # return the inverse of a quaternion 
  4. #       q =  [w,x,y,z] = w*i + x*j + y*k + z
  5. #  qmult(q,qinv(q)) = 1 = [0 0 0 1]
  6.  
  7. if(norm(q) != 0)
  8.   retval = qconj(q) /sum(q .* q);
  9. else
  10.   error("qinv: zero quaternion passed!");
  11. end
  12. endfunction
  13.