Efficient representation and derivation of fundamental transformation of relationships using Euler angles and quaternions
Abstract
30196041025
Full text
Efficient Representation and Derivation of fundamental Transformation of Relationships using Euler Angles and Quaternions HANA CHUD ´ A Tomas Bata University in Zlin, Faculty of Applied Informatics Department of Mathematics Nad Str´ anˇ emi 4511,76005 Zlin CZECH REPUBLIC [email protected] Abstract: This paper introduces and defines two principal rotational methods;the Euler angles and the quaternions theories with a brief insight into their definitions and algebraic properties. These methods are widely used in various scientific fields, only marginally in the aircraft industry, the robotics, the quantum mechanics, the electro mechanics, the cameras systems, the computer graphics, the heavy industry and other. The main part of this paper is devoted to the derivation of basic equations of the vector rotation around each rotational x,y,zaxis using both rotational methods. Then, the general three-dimensional rotation matrix and the general operator of the quaternion rotation are derived. Finally the utilization of the matrices and quaternion equations are demonstrated on a simple example. Key–Words: Euler angles, quaternion, rotation matrix, equations of rotation, general operator of quaternion rotation. 1 Introduction A large number of scientific disciplines solve the problem of finding a new object position in space after elementary transformation, briefly in the aircraft industry, the robotics, the quantum mechanics, the electro mechanics, the cameras systems, the computer graphics, the heavy industry, the topology, the differential geometry and other. In this publication, we have focused our attention on two widespread methods; finding a new object position using rotating matrices used by Euler angles and the second method is quaternion theory. The main part is devoted to the derivation of basic equations of the vector rotation around each rotational x,y,zaxis using both rotational methods. The author of the first method of the object rotation used is Leonhard Euler - L. Euler was a Swiss mathematician and physicist, who made key contributions to the fields of infinitesimal calculus and graph theory. Many developments are attributed to him including several designated as the Eulers Theorem. Here, on of the interests highlighted by M.J. Amaruso states: Any two independent orthonormal coordinate frames can be related by a sequence of rotations (not more than three) about coordinate axes, where no two successive rotations may be about the same axis. The angles of these three rotations are commonly defined as the Euler angles and the axes of rotation designated as axes x, y and z. The order in which the axes of rotation are taken is referred to as the Euler rotation twelve sequence. The development of the second used method, quaternions, is attributed to W. R. Hamilton and year 1843. The great mathematician Sir W. R. Hamilton had been interested in complex numbers in the form a+bi, where numbers a, b are real and the unit iis imaginary. The rank of complex numbers in the plane is 2. Some mathematicians sought other mathematical systems over the complex numbers the rank more than 2. Sir Hamilton for over 10 years tried to extend concepts of complex numbers in the plane in order to define a complex volume by searching for the second imaginary axis. And on 16th October 1843 he invented the so-called hyper-complex numbers of the rank 4with 3 imaginary units needed. 2 Euler angles theory We assume the existence of appropriate coordinate systems (x, y, z), which is combination of the inertial coordinate system fixed in the Euclidean space and the body coordinate system attached and moves together with the moving point in the twoand threeWSEAS TRANSACTIONS on SYSTEMS Hana Chuda E-ISSN: 2224-2678 221 Volume 18, 2019
dimensional Euclidean space. Orientation of a moving point in the twoand three-dimensional Euclidean space can be described by utilization, three angles measured from mixed axis of the rotation system known as Euler angles α, β and γ. The Euler angles are three angles describing the orientation of the rigid body with the respect to the given coordinate system. They can represent the orientation of a general basis in the three-dimensional linear algebra. Any orientation can be achieved by composing three elemental rotations, i.e., rotations about the axes of a coordinate system (about z, y and xaxes). The Euler angles can be defined by three of these rotations. They can also be defined by the elemental geometry, and the geometrical definition demonstrates that three rotations are always sufficient to reach any position. A well-known is a fact that the elementary rotations may be extrinsic or intrinsic. The position of the object, according to the given coordinate system, changes. This change is called the transformation. The transformation means changing some position of the object into something else by applying rules. We can have various types of transformations such as the translation, the scaling and the rotation. When the transformation takes place on the two-dimensional plane, it is called the twodimensional transformation, for place on the threedimensional plane, it is called the three-dimensional transformation. Transformations play an important role in the computer graphics to reposition the graphics on the screen and change their size or orientation. 2.1 Two-dimensional rotation This transformations are working with 2coordinations of the objects which are coordination xand coordination y. The objects can be points, line and shapes that are presented on those axis. The basic geometric transformation, the Rotation, is described as below. An object that is repositioned along a circular path in the xy-plane called the rotation. The Figure 2.1 shows that rotation by angle γ. The rotation point or position is description of the origin as A and ris the constant distance of the point from the origin, angle δis the original angular position of the point from the horizontal and γis the added rotation angle. Using the standard trigonometric identities can be express by the transformed coordinates in term of the angles γand δ. We derive the basic transformation equations for the position of the rotated point in two-dimensional Euclidean space, from the basics assumptions: x0=rcos(γ+δ) = rcos γcos δ−rsin γsin δ, y0=rsin(γ+δ) = rsin γcos δ+rcos γsin δ. Fig.1Two-dimensional rotation. The original coordinates of the points on plane are x=rcos δ, y=rsin δ. Then, the final transformation equation for rotating the point at position (x,y) through the angle γfor the finding (x,y) position x0=xcos γ−ysin γ, y0=xsin γ+ycos γ. Therefore, the rotated transformation can be formulated into matrix form "x0 y0#="cos γ−sin γ sin γcos γ#·"x y#.(1) 2.1.1 Homogeneous coordinates As mentioned above, that the three basic geometric transformations are represented as the translation, rotation and scaling that are combinations of the multiplicative and additive equations. Unfortunately, the translation is treated differently (as an addition) by scaling and rotation (as multiplications). As the result, some difficulty occurs when there is need to combine more than one matrix for the transformation. Therefore all three transformations need to be treated in consistent way by expanding them to 3×3matrix. Then, the column of the transformation matrix can be used by the translation term and all transformations can be expressed as the matrix multiplications by homogenous coordinate. The homogeneous coordinate is the standard technique to expand each of the twodimensional coordinate position representation (x,y) to the three-element representation (xh,yh,h) where the homogeneous parameter his a nonzero value to be present in the same coordinate. In order to get two sets of homogenous coordinates (x,y,h) and (x,y,h) representing the same point hand hcoordinate which is nonzero, we can normally divide through the coordinate: (x,y,h) and (x,y,h) represent the same point WSEAS TRANSACTIONS on SYSTEMS Hana Chuda E-ISSN: 2224-2678 222 Volume 18, 2019
as (x/h,y/h,1) and (x/h,y/h,1). The numbers (x/h,y/h) and (x/h,y/h) are called the Cartesian coordinates of the homogeneous point. The points with hand h= 0 are called points at infinity which will not appear very often in the discussion. Therefore, the homogeneous-coordinate approach can be expressed in two-dimensional rotation as the following matrix multiplication: x0 y0 1 = cos γ−sin γ0 sin γcos γ0 0 0 1 · x y 1 .(2) 2.2 Three-dimensional rotation The three-dimensional transformation is additional method of extending of the two-dimensional transformation, where zis added on the coordinates. Using homogeneous coordinates, three-dimensional transformation is presented by the 4×4matrices. Thus, instead of representing a point as (x,y,z), it represents it as (x,y,z,w), where two of these quadruples represent the same point if one is a nonzero multiple of the other one; the quadruple (0,0,0,0) is not allowed as in two-dimensional transformation. The three-dimensional coordinate system can be used in two systems which are right-handed and lefthanded. The right-handed will give the positive rotation from the positive axis towards the origin, a 90◦ counterclockwise rotation will transform one positive axis into the other one. Whereas,the left-handed will give the opposite result, which is clockwise negative rotation from the negative axis towards the origin of 90◦. Fig.2The right-handed system. As already mentioned, any orientation can be achieved by composing three elemental rotations(about z, y and xaxes). The Euler angles can be defined by three of these rotations. Each of these rotations is illustrated with the unique rotation matrix, z-axis rotation with the matrix R(γ)xy,y-axis rotation with the matrix R(β)xz and x-axis rotation Fig.3The left-handed system. with the matrix R(α)yz. The following formulas are valid for the right-hand system, which is the convention used in almost all engineering and physics disciplines. Z-axis rotation equations in homogeneous coordinates are easily extended to three dimensions as: x0 y0 z0 1 = cos γ−sin γ0 0 sin γcos γ0 0 0 0 1 0 0 0 0 1 · x y z 1 .(3) Y-axis rotation equations in homogeneous coordinates are in the following form: x0 y0 z0 1 = cos β0 sin β0 0 1 0 0 −sin β0 cos β0 0 0 0 1 · x y z 1 .(4) X-axis rotation equations in homogeneous coordinates can be expressed in the form bellow: x0 y0 z0 1 = 1 0 0 0 0 cos α−sin α0 0 sin αcos α0 0 0 0 1 · x y z 1 .(5) 2.3 Composition of three-dimensional rotations The Euler angles are a mechanism for creating a rotation through a sequence of three simpler rotations, we called them the roll, pitch, and yaw. Objects are first rotated by the angle γin the xy-plane, then by angle βin the zx-plane, and third by the angle αin the yzplane. The number γis called the yaw,βis called the pitch and αis called the roll. The general matrix T WSEAS TRANSACTIONS on SYSTEMS Hana Chuda E-ISSN: 2224-2678 223 Volume 18, 2019
consist of from the multiplying simplified rotational matrices R(γ)xy,R(β)xz and R(α)yz. T=R(γ)xy ·R(β)zx ·R(α)yz (6) T= cos γ−sin γ0 0 sin γcos γ0 0 0 0 1 0 0 0 0 1 · cos β0 sin β0 0 1 0 0 −sin β0 cos β0 0 0 0 1 · · 1 0 0 0 0 cos α−sin α0 0 sin αcos α0 0 0 0 1 (7) T= cβcγ−cαsγ+sαsβcγsαsγ+cαsβcγ0 cβsγcαcγ+sαsβsγ−sαcγ+cαsβsγ0 −sβsαcβcαcβ0 0 0 0 1 , where c angle represents cos angle and s angle represents sin angle. The angle chose from Euler angles α, β, γ set. 3 Quaternion theory It was mentioned, that the development of quaternions was attributed to W. R. Hamilton on 16th October 1843. He invented the so-called hyper-complex numbers of the rank 4with 3imaginary units needed. 3.1 Algebra of quaternions 3.1.1 Definition of quaternions The definition of the real quaternion is expressed in the form q=q1+q2i+q3j+q4k(8) where q1, q2, q3, q4are real numbers and i,j,kof q are the imaginary units of quaternions, which satisfy the equalities i2=j2=k2=ijk =−1; ij =−ji =k; ki =−ik =j; jk =−kj =i. (9) Set of all quaternions are denoted H. The quaternion, q∈His defined as a pair (S(q),V(q)), where S(q)=q1∈Ris the scalar part of quaternion qand V(q)=q2i+q3j+q4k, is the vector part of the quaternion. q=S(q) + V(q). 3.1.2 Addition of quaternions The addition rule for two quaternions is componentwise addition. This rule preserves the associativity and the commutativity properties of addition: p+q= (p1+p2i+p3j+p4k) + (10) + (q1+q2i+q3j+q4k)=(p1+q1) + +i(p2+q2) + j(p3+q3) + k(p4+q4). 3.1.3 Multiplication of quaternions The multiplication rule for the quaternions is the same as for the polynomials, extended by the multiplicative properties of the elements i,j,kgiven above. We have: p·q= (p1+p2i+p3j+p4k)⊗ ⊗(q1+q2i+q3j+q4k) = = (p1q1−p2q2−p3q3−p4q4) + +i(p1q2+p2q1+p3q4−p4q3) + (11) +j(p1q3+p3q1+p4q2−p2q4) + +k(p1q4+p4q1+p2q3−p3q2). The foregoing term reveals that the commutativity cannot be preserved. The associativity and the distributive property over addition are preserved. 3.1.4 Conjugates of quaternions Consistent with the complex numbers, the definition of the conjugate operation on a given quaternion qis q= (q1+q2i+q3j+q4k) = (12) =q1−q2i−q3j−q4k. As with the complex numbers, note that both (q+q) and (q·q) are the real numbers. Moreover, defining the absolute value or the norm the equation is to be |q|=qq12+q22+q32+q42.(13) Then evidently (q·q)=(q·q) = q2. The conjugate operation is distributive over addition. 3.1.5 Unit quaternion The subspace of the unit quaternions, satisfying the condition |q|= 1, have some important properties. A trivially hold |q|=|q|= 1 and q·q=q·q= 1 WSEAS TRANSACTIONS on SYSTEMS Hana Chuda E-ISSN: 2224-2678 224 Volume 18, 2019
And a very useful form is q=S(q)·cos θ+V(q)·sin θ= cos θ+V(q)·sin θ, where S(q)=(1,0,0,0)is the scalar part of the unit quaternion, V(q)=(0,q2i,q3j,q4k)is the vector part of the unit quaternion and θis the real number. 3.1.6 Inverse quaternions We define the inverse quaternion in the following form: q−1=q1−q2i−q3j−q4k |q|2=q |q|2,(14) where |q|=pq12+q22+q32+q42is absolute value of the quaternion and q=q1−q2i−q3j−q4k is the conjugate quaternion. This expression was introduced by the equation q·q−1=q−1·q= 1. 3.1.7 Vector properties of quaternions The quaternion q=q1+q2i+q3j+q4kcan be interpreted as the scalar part q1∈Rand the vector part q2i+q3j+q4k, where the elements i,jand kare given the added geometric interpretation as the unit vectors along the x,y,zaxes. Therefore, the subspace of the real quaternions may be regarded as being equivalent to the real numbers and subspace of the vector quaternions may be regarded as being equivalent to the ordinary vectors q≡qxi+qyj+qzk.(15) This attribute is further used in our calculations. 3.1.8 Point as quaternion If the point P= (x,y,z) is represented as the position vector, it can be represented as the quaternion q≡0 + xi+yj+zk.(16) 3.1.9 Product of vector quaternions The product of two vector quaternions has an interesting property p·q= (p2i+p3j+p4k)·(q2i+q3j+q4k) = =−(p2q2+p3q3+p4q4) + +i(p3q4−p4q3) + (17) +j(p4q2−p2q4) + +k(p2q3−p3q2) = =−p·q+p×q, where ”.”is an operator of the real part of the quaternion and ”×”is an operator of the vector parts of the quaternions. 3.2 Quaternion rotation The quaternion, which represents the rotation of the θ around the axis n= (n1,n2,n3) is given by q= cos θ+n·sin θ= = cos θ+ (n1i+n2j+n3k)·sin θ, (18) where qis the unit quaternion, also nis the unit vector of the unit quaternion q. For any unit quaternion q= cos θ+n·sin θand for any vector p∈R3he action of the operator Rq(p) = q·p·q(19) may be interpreted geometrically as the rotation of the vector pthrough the angle 2θaround the qas the axis of the rotation. Fig.4Rotation operator geometry. 3.2.1 Quaternion rotation around the z-axis by γ The rotation axis represents the unit quaternion n=0i+ 0 j+ 1 kwhile the rotation operator is given by q= cos γ 2+n·sin γ 2= cos γ 2+k·sin γ 2. Using the rotation operator onto any vector p=xi+yj+zk,p∈R3: Rq(p)z=q·p·q= = (cos γ 2+k·sin γ 2)·(xi+yj+zk)⊗ ⊗(cos γ 2−k·sin γ 2) = =xicos2γ 2+yjcos2γ 2+zkcos2γ 2+ WSEAS TRANSACTIONS on SYSTEMS Hana Chuda E-ISSN: 2224-2678 225 Volume 18, 2019
+xk i sin γ 2cos γ 2+yk j sin γ 2cos γ 2+ +zk k sin γ 2cos γ 2−xi k sin γ 2cos γ 2− −yj k sin γ 2cos γ 2−zk k sin γ 2cos γ 2− −xk i k sin2γ 2−ykjk sin2γ 2− −zk k k sin2γ 2. Equation of the rotation operator Rq(p)z: Rq(p)z=ihxcos2γ 2−sin2γ 2−2ysin γ 2cos γ 2i+ +jhycos2γ 2−sin2γ 2+ 2xsin γ 2cos γ 2i+ +khzcos2γ 2+ sin2γ 2i.(20) 3.2.2 Quaternion rotation around the y-axis by β The rotation axis represents the unit quaternion n=0i+ 1 j+ 0 kwhile the rotation operator is given by q= cos β 2+n·sin β 2= cos β 2+j·sin β 2. Using the rotation operator onto any vector p=xi+yj+zk,p∈R3: Rq(p)y=q·p·q= = (cos β 2+j·sin β 2)·(xi+yj+zk)⊗ ⊗(cos β 2−j·sin β 2) = =xicos2β 2+yjcos2β 2+zkcos2β 2+ +xj i sin β 2cos β 2+yj j sin β 2cos β 2+ +zj k sin β 2cos β 2−xi j sin β 2cos β 2− −yj j sin β 2cos β 2−zk j sin β 2cos β 2− −xj i j sin2β 2−yj j j sin2β 2− −zj k j sin2β 2. Equation of the rotation operator Rq(p)y: Rq(p)y=ixcos2β 2−sin2β 2+ 2zsin β 2cos β 2+ +jycos2β 2+ sin2β 2+(21) +kzcos2β 2−sin2β 2−2xsin β 2cos β 2. 3.2.3 Quaternion rotation around the x-axis by α The rotation axis represents the unit quaternion n=1i+ 0 j+ 0 kwhile the rotation operator is given by q= cos α 2+n·sin α 2= cos α 2+i·sin α 2. Using the rotation operator onto any vector p=xi+yj+zk,p∈R3: Rq(p)x=q·p·q= = (cos α 2+i·sin α 2)·(xi+yj+zk)⊗ ⊗(cos α 2−i·sin α 2) = =xicos2α 2+yjcos2α 2+zkcos2α 2+ +xi i sin α 2cos α 2+yi j sin α 2cos α 2− −zi k sin α 2cos α 2−xi i sin α 2cos α 2− −yj i sin α 2cos α 2−zk i sin α 2cos α 2− −xi i i sin2α 2−yiji sin2α 2 −zi k i sin2α 2. Equation of the rotation operator Rq(p)x: Rq(p)x=ihxcos2α 2+ sin2α 2i+(22) +jhycos2α 2−sin2α 2−2zsin α 2cos α 2i+ +khzcos2α 2−sin2α 2+ 2ysin α 2cos α 2i. 3.2.4 Operator of composition Let qIand qII be two unit quaternions (14). The operator Rq(p)Iis first applied to the vector p. Then we apply the operator Rq(p)II and obtain the operator Rq(p)I, II . Equivalently, the composition RqI◦RqII of the two operators can be applied: Rq(Rq(p)I) = qII ·(qIpqI)·qII = = (qII qI)·p·(qIqII ) = (23) = (qII qI)·p·(qII qI) = =Rq(p)I, II . WSEAS TRANSACTIONS on SYSTEMS Hana Chuda E-ISSN: 2224-2678 226 Volume 18, 2019
Because qIand qII are the unit quaternions, same as the product qII ·qI. Hence the above equation (23) describes the rotation operator defining quaternion is the product of the two quaternions qIand qII . The following equation describes the operator Rq(p)z y x for three unit quaternions qz,qyand qx. These quaternions represent the unit quaternions rotations around the belonging axes x,yand z, respectively, for the general p=xi+yj+zk,p∈R3 Rq(p)z y x = (qzqyqx)·p·(qzqyqx) = = [(cos γ 2+k·sin γ 2)(cos β 2+j·sin β 2)⊗ ⊗(cos α 2+i·sin α 2)] ⊗(24) ⊗(xi+yj+zk)⊗[(cos γ 2−k·sin γ 2)⊗ ⊗(cos β 2−j·sin β 2)(cos α 2−i·sin α 2)]. Compound quaternion: (qzqyqx) = = (cos α 2cos β 2cos γ 2+ sin α 2sin β 2sin γ 2) + +i(sin α 2cos β 2cos γ 2−cos α 2sin β 2sin γ 2)+ +j(cos α 2sin β 2cos γ 2+ sin α 2cos β 2sin γ 2)+ +k(cos α 2cos β 2sin γ 2−sin α 2sin β 2cos γ 2). Conjugated compound quaternion: (qzqyqx) = = (cos α 2cos β 2cos γ 2+ sin α 2sin β 2sin γ 2)− −i(sin α 2cos β 2cos γ 2−cos α 2sin β 2sin γ 2)− −j(cos α 2sin β 2cos γ 2+ sin α 2cos β 2sin γ 2)− −k(cos α 2cos β 2sin γ 2−sin α 2sin β 2cos γ 2). The compound and the conjugated compound quaternions is put into the relationship for the Rq(p)z y x ; and after the substitution (25) for a,b,cand d, following is obtained: a= (sin α 2cos β 2cos γ 2−cos α 2sin β 2sin γ 2), b= (cos α 2sin β 2cos γ 2+ sin α 2cos β 2sin γ 2),(25) c= (cos α 2cos β 2sin γ 2−sin α 2sin β 2cos γ 2), d= (cos α 2cos β 2cos γ 2+ sin α 2sin β 2sin γ 2). Then the general operator of the quaternion rotation is in the form: Rq(p)z y x =i x(a2−b2−c2+d2)+ +2y(a·b−c·d)+ +2z(b·d+a·c) +(26) +j 2x(a·b+c·d)+ +y(−a2+b2−c2+d2)+ +2z(b·c−a·d) + +k 2x(a·c−b·d)+ +2y(b·c+a·d)+ +z(−a2−b2+c2+d2) . 4 Practical using and conclusions of submitted methods In previous sections, both from two principal rotational methods were introduced: one of them is the rotation defined by the Euler angles represented by the rotation matrices, method, that is well known and the other one is defined by the quaternions. In this section, we will describe advantages and disadvantages of these methods. First, the Euler angles are easy to understand and use, compared to the quaternions and rotaional matrices, so can be a good choice for a user interface. Efficient, easy to use with only three components, any rotation can be represented. On the other hand, the most discussed disadvantage is the Gimbal lock and uniqueness for the Euler angles calculations, which miss the inverse rotation in the threedimensional space. Overleaf, the time quaternions are not so easy to be represented mathematically seem to be complicated. The representation of the rotations by the quaternions has several advantages over the other possible representation by the Euler angles. The parametrization of the rotations using the quaternions involve only the angle and the axis of the rotation. In the theory of the quaternions, q and q correspond to the same rotation. Other advantage of this approach is that the quaternion rotation is not influenced by the choice of the coordinate system. Further, the Gimbal lock problem does not appear in the quaternion representation. In conclusion, the quaternions offer the best choice for representation of rotations. For a better understanding of this topis an example is bring forward. For the purpose of simplicity, the theory of Euler angles and quaternions is demonstrated. The calculations are performed with a respect to the presented theory and the mathematical notation. Let have two points, for example, B(200;0;0) and C(100;100;0) of Euclidean space. We want to rotate them by γ= 10,02895 degrees around only the WSEAS TRANSACTIONS on SYSTEMS Hana Chuda E-ISSN: 2224-2678 227 Volume 18, 2019
z-axis. New coordinates, using the theory of Euler angles are presented in the Fig.5and the results obtained with quaternions theory, are depicted in the Fig.6. Fig.5General rotation using Euler angles around zaxis by γangle. Fig.6General operator of quaternion rotation around z-axis rotation by γangle. Acknowledgements: The research was supported by the Grant of TBU in Zlin (grant No. 30196041025). References: [1] A. Watt, M. Watt, Advanced Animation and Rendering Techniques, ACM Press, San Francisco 1992 [2] M. J. Amoruso, Euler angles and quaternions in six degree of freedomsimulations of projectiles, Army Armament Research Developmentand Engineering Center Picatinny Arsenal NJ Armament Engineering Directorate, Tech. Rep., 1996 [3] L. Perumal, Quaternion and Its Application in Rotation Using Sets of Regions, IJETI 1,2011, pp. 35 −52. [4] L. Vicci, Quaternions and Rotations in 3-Space: The Algebra and its Geometric Interpretation, Department of Computer Science UNC Chapel Hill,2001, pp. 1− −11. [5] B.K.P. Horn, Closed-form solution of absolute orientation using unit quaternions, JOSA 4(4), 1987, pp. 629 −642. [6] E.B. Dam, M. Koch, M. Lillholm, Quaternions, Interpolation and Animation, University of Copenhagen Press, Copenhagen 1998 [7] W.R. Hamilton, On quaternions; or on a new system of imagniaries in algebra. London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science 25(3), 1844, pp. 489 −495. [8] J.B. Kuipers, Quaternions and Rotation Sequences, Princeton University Press, Princeton 1999 [9] M. Ben-Ari, A Tutorial on Euler Angles and Quaternions. Available from: < http : //www.weizmann.ac.il/scitea/benari/sites/sci− tea.benari/files/uploads/softwareAndLearning Materials.pdf > [10] Y.B. Jia, Quaternion and Rotation, Com S Notes 477/577 15,2017 [11] J. Vince,Quaternions for Computer Graphics, Springer –Verlag, Berlin–Heidelberg–New York–Tokyo 2011 [12] B. Witten, J. Shragge,Quaternion based Signal Processing, Standford University, New Orleans, 2006 [13] J. Diebel, Representing attitude: Euler angles, unit quaternions, and rotation vectors. Matrix 58, 2006, pp. 1–35 [14] S. Zomorodi, Quaternions Approach in Studying Rotation.Available from: < https : //www.academia.edu/32250200/Quaternions ApproachinStudyingRotation?autodownload > [15] J.G. Campbell,Notes on Mathematics for 2D and 3D Graphics. Available from: < http ://www.jgcampbell.com/msc2d3d/ grmaths.pdf > [16] B. Saleh, Computer GraphicsFundamental: 2D and 3D Affine Transformations.Available from: < https : //s3.amazonaws.com/academia.edu.documents /53228060/CG2Dand3DAffineTransformation .pdf?AWSAccessKeyIdAKIAIWOWY Y GZ2Y 53UL3AExpires1559638120qgQS4aOXi38SRT z5pRKSKUzPv2B43.pdf > WSEAS TRANSACTIONS on SYSTEMS Hana Chuda E-ISSN: 2224-2678 228 Volume 18, 2019