This is an automated email from the ASF dual-hosted git repository. erans pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
commit b18117ec0725d6087097e33fd3a8ef0f18347e28 Author: Matt Juntunen <matt.juntu...@hotmail.com> AuthorDate: Sun Dec 23 08:47:07 2018 -0500 updating docs to specify the order of quaternion components; renaming parameters to match component names --- .../commons/numbers/quaternion/Quaternion.java | 48 ++++++++++++---------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/commons-numbers-quaternion/src/main/java/org/apache/commons/numbers/quaternion/Quaternion.java b/commons-numbers-quaternion/src/main/java/org/apache/commons/numbers/quaternion/Quaternion.java index ffc414a..80fee26 100644 --- a/commons-numbers-quaternion/src/main/java/org/apache/commons/numbers/quaternion/Quaternion.java +++ b/commons-numbers-quaternion/src/main/java/org/apache/commons/numbers/quaternion/Quaternion.java @@ -27,7 +27,11 @@ import org.apache.commons.numbers.core.Precision; * This class implements <a href="http://mathworld.wolfram.com/Quaternion.html"> * quaternions</a> (Hamilton's hypercomplex numbers). * - * <p>Instance of this class are guaranteed to be immutable.</p> + * <p>Wherever quaternion components are listed in sequence, this class follows the + * convention of placing the scalar ({@code w}) component first, e.g. [{@code w, x, y, z}]. + * Other libraries and textbooks may place the {@code w} component last.</p> + * + * <p>Instances of this class are guaranteed to be immutable.</p> */ public final class Quaternion implements Serializable { /** Zero quaternion. */ @@ -153,21 +157,21 @@ public final class Quaternion implements Serializable { * Builds a quaternion from its components. * * @param type Quaternion type. - * @param a Scalar component. - * @param b First vector component. - * @param c Second vector component. - * @param d Third vector component. + * @param w Scalar component. + * @param x First vector component. + * @param y Second vector component. + * @param z Third vector component. */ private Quaternion(Type type, - final double a, - final double b, - final double c, - final double d) { + final double w, + final double x, + final double y, + final double z) { this.type = type; - w = a; - x = b; - y = c; - z = d; + this.w = w; + this.x = x; + this.y = y; + this.z = z; } /** @@ -188,18 +192,18 @@ public final class Quaternion implements Serializable { /** * Builds a quaternion from its components. * - * @param a Scalar component. - * @param b First vector component. - * @param c Second vector component. - * @param d Third vector component. + * @param w Scalar component. + * @param x First vector component. + * @param y Second vector component. + * @param z Third vector component. * @return a quaternion instance. */ - public static Quaternion of(final double a, - final double b, - final double c, - final double d) { + public static Quaternion of(final double w, + final double x, + final double y, + final double z) { return new Quaternion(Type.DEFAULT, - a, b, c, d); + w, x, y, z); } /**