X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=octave_packages%2Fquaternion-2.0.0%2F%40quaternion%2Fdisplay.m;fp=octave_packages%2Fquaternion-2.0.0%2F%40quaternion%2Fdisplay.m;h=bc63687a1be2123b8b6beb103a8faf740542543f;hb=c880e8788dfc484bf23ce13fa2787f2c6bca4863;hp=0000000000000000000000000000000000000000;hpb=1705066eceaaea976f010f669ce8e972f3734b05;p=CreaPhase.git diff --git a/octave_packages/quaternion-2.0.0/@quaternion/display.m b/octave_packages/quaternion-2.0.0/@quaternion/display.m new file mode 100644 index 0000000..bc63687 --- /dev/null +++ b/octave_packages/quaternion-2.0.0/@quaternion/display.m @@ -0,0 +1,63 @@ +## Copyright (C) 2010, 2011 Lukas F. Reichlin +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see . + +## -*- texinfo -*- +## Display routine for quaternions. Used by Octave internally. + +## Author: Lukas Reichlin +## Created: May 2010 +## Version: 0.2 + +function display (q) + + name = inputname(1); + s = size (q); + + if (length (s) == 2 && all (s == 1)) # scalar quaternion + w = num2str (q.w, 4); + x = __num2str__ (q.x); + y = __num2str__ (q.y); + z = __num2str__ (q.z); + disp ([name, " = ", w, x, "i" y, "j", z, "k"]); + disp (""); + else # non-scalar quaternion + disp ([name, ".w ="]); + disp (q.w); + disp (""); + disp ([name, ".x ="]); + disp (q.x); + disp (""); + disp ([name, ".y ="]); + disp (q.y); + disp (""); + disp ([name, ".z ="]); + disp (q.z); + disp (""); + endif + +endfunction + + +function str = __num2str__ (num) + + if (sign (num) == -1) + str = " - "; + else + str = " + "; + endif + + str = [str, num2str(abs (num), 4)]; + +endfunction